[PATCH 3/7] wined3d: Implement SV_VertexID in GLSL backend.

Józef Kucia jkucia at codeweavers.com
Tue May 17 17:04:37 CDT 2016


Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 dlls/wined3d/glsl_shader.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 4075418..b16aca0 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1914,7 +1914,10 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
         for (i = 0; i < shader->input_signature.element_count; ++i)
         {
             const struct wined3d_shader_signature_element *e = &shader->input_signature.elements[i];
-            if (e->sysval_semantic == WINED3D_SV_INSTANCE_ID)
+            if (e->sysval_semantic == WINED3D_SV_VERTEX_ID)
+                shader_addline(buffer, "vec4 %s_in%u = vec4(intBitsToFloat(gl_VertexID), 0.0, 0.0, 0.0);\n",
+                        prefix, e->register_idx);
+            else if (e->sysval_semantic == WINED3D_SV_INSTANCE_ID)
                 shader_addline(buffer, "vec4 %s_in%u = vec4(intBitsToFloat(gl_InstanceID), 0.0, 0.0, 0.0);\n",
                         prefix, e->register_idx);
             else
-- 
2.7.3




More information about the wine-patches mailing list