[PATCH 4/5] wined3d: Refuse pixel shaders declaring POSITION0 inputs.
Matteo Bruni
mbruni at codeweavers.com
Fri Feb 6 08:25:34 CST 2015
---
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;
--
2.0.5
More information about the wine-patches
mailing list