=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Implement hull shader vocp register.

Alexandre Julliard julliard at winehq.org
Thu May 25 14:42:16 CDT 2017


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

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Thu May 25 10:22:12 2017 +0200

wined3d: Implement hull shader vocp register.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/glsl_shader.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 1cfc0e6..73ab7a6 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -3066,6 +3066,31 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register *
             sprintf(register_name, "gl_TessCoord");
             break;
 
+        case WINED3DSPR_OUTCONTROLPOINT:
+            if (reg->idx[0].rel_addr)
+            {
+                if (reg->idx[1].rel_addr)
+                    sprintf(register_name, "shader_out[%s + %u].reg[%s + %u]",
+                            rel_param0.param_str, reg->idx[0].offset,
+                            rel_param1.param_str, reg->idx[1].offset);
+                else
+                    sprintf(register_name, "shader_out[%s + %u].reg[%u]",
+                            rel_param0.param_str, reg->idx[0].offset,
+                            reg->idx[1].offset);
+            }
+            else if (reg->idx[1].rel_addr)
+            {
+                sprintf(register_name, "shader_out[%u].reg[%s + %u]",
+                        reg->idx[0].offset, rel_param1.param_str,
+                        reg->idx[1].offset);
+            }
+            else
+            {
+                sprintf(register_name, "shader_out[%u].reg[%u]",
+                        reg->idx[0].offset, reg->idx[1].offset);
+            }
+            break;
+
         case WINED3DSPR_PATCHCONST:
             if (version->type == WINED3D_SHADER_TYPE_HULL)
                 sprintf(register_name, "hs_out[%u]", reg->idx[0].offset);




More information about the wine-cvs mailing list