Matteo Bruni : wined3d: Refuse pixel shaders declaring POSITION0 inputs.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 9 09:54:49 CST 2015


Module: wine
Branch: master
Commit: 1612dc4dc971324e73d8d6e8b6bf2e223580b13a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1612dc4dc971324e73d8d6e8b6bf2e223580b13a

Author: Matteo Bruni <mbruni at codeweavers.com>
Date:   Fri Feb  6 15:25:34 2015 +0100

wined3d: Refuse pixel shaders declaring POSITION0 inputs.

---

 dlls/wined3d/shader.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index e1164db..766e91f 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -690,6 +690,9 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st
                         ERR("Invalid input register index %u.\n", reg_idx);
                         break;
                     }
+                    if (shader_version.type == WINED3D_SHADER_TYPE_PIXEL && shader_version.major == 3
+                            && semantic->usage == WINED3D_DECL_USAGE_POSITION && !semantic->usage_idx)
+                        return WINED3DERR_INVALIDCALL;
                     reg_maps->input_registers |= 1 << reg_idx;
                     shader_signature_from_semantic(&input_signature[reg_idx], semantic);
                     break;




More information about the wine-cvs mailing list