Józef Kucia : wined3d: Implement hull shader vocp register.
Module: wine Branch: master Commit: aff0cbb9c707f05d6c67b0c42084b4b1a43c3f6f URL: http://source.winehq.org/git/wine.git/?a=commit;h=aff0cbb9c707f05d6c67b0c420... Author: Józef Kucia <jkucia(a)codeweavers.com> Date: Thu May 25 10:22:12 2017 +0200 wined3d: Implement hull shader vocp register. Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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);
participants (1)
-
Alexandre Julliard