wined3d: Recognize SM 5 gather4_c opcode. Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 70d7d34..5ac70ad 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c
@@ -5277,6 +5277,7 @@ /* WINED3DSIH_FTOI */ NULL, /* WINED3DSIH_FTOU */ NULL, /* WINED3DSIH_GATHER4 */ NULL, + /* WINED3DSIH_GATHER4_C */ NULL, /* WINED3DSIH_GE */ NULL, /* WINED3DSIH_HS_CONTROL_POINT_PHASE */ NULL, /* WINED3DSIH_HS_DECLS */ NULL,
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 9bbf461..55affc1 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c
@@ -8611,6 +8611,7 @@ /* WINED3DSIH_FTOI */ shader_glsl_to_int, /* WINED3DSIH_FTOU */ shader_glsl_to_uint, /* WINED3DSIH_GATHER4 */ NULL, + /* WINED3DSIH_GATHER4_C */ NULL, /* WINED3DSIH_GE */ shader_glsl_relop, /* WINED3DSIH_HS_CONTROL_POINT_PHASE */ NULL, /* WINED3DSIH_HS_DECLS */ shader_glsl_nop,
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index f8fdc50..55de679 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c
@@ -109,6 +109,7 @@ /* WINED3DSIH_FTOI */ "ftoi", /* WINED3DSIH_FTOU */ "ftou", /* WINED3DSIH_GATHER4 */ "gather4", + /* WINED3DSIH_GATHER4_C */ "gather4_c", /* WINED3DSIH_GE */ "ge", /* WINED3DSIH_HS_CONTROL_POINT_PHASE */ "hs_control_point_phase", /* WINED3DSIH_HS_DECLS */ "hs_decls",
diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index bff1f27..45a3d04 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c
@@ -209,6 +209,7 @@ WINED3D_SM5_OP_DERIV_RTX_FINE = 0x7b, WINED3D_SM5_OP_DERIV_RTY_COARSE = 0x7c, WINED3D_SM5_OP_DERIV_RTY_FINE = 0x7d, + WINED3D_SM5_OP_GATHER4_C = 0x7e, WINED3D_SM5_OP_DCL_INPUT_CONTROL_POINT_COUNT = 0x93, WINED3D_SM5_OP_DCL_OUTPUT_CONTROL_POINT_COUNT = 0x94, WINED3D_SM5_OP_DCL_TESSELLATOR_DOMAIN = 0x95, @@ -743,6 +744,7 @@ {WINED3D_SM5_OP_DERIV_RTX_FINE, WINED3DSIH_DSX_FINE, "f", "f"}, {WINED3D_SM5_OP_DERIV_RTY_COARSE, WINED3DSIH_DSY_COARSE, "f", "f"}, {WINED3D_SM5_OP_DERIV_RTY_FINE, WINED3DSIH_DSY_FINE, "f", "f"}, + {WINED3D_SM5_OP_GATHER4_C, WINED3DSIH_GATHER4_C, "f", "fRSf"}, {WINED3D_SM5_OP_DCL_INPUT_CONTROL_POINT_COUNT, WINED3DSIH_DCL_INPUT_CONTROL_POINT_COUNT, "", "", shader_sm5_read_control_point_count}, {WINED3D_SM5_OP_DCL_OUTPUT_CONTROL_POINT_COUNT, WINED3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT, "", "",
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 7f45327..7207523 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h
@@ -616,6 +616,7 @@ WINED3DSIH_FTOI, WINED3DSIH_FTOU, WINED3DSIH_GATHER4, + WINED3DSIH_GATHER4_C, WINED3DSIH_GE, WINED3DSIH_HS_CONTROL_POINT_PHASE, WINED3DSIH_HS_DECLS,