[PATCH 5/6] wined3d: Recognize SM 4.1 gather4 opcode.
Józef Kucia
jkucia at codeweavers.com
Fri Jun 10 05:07:04 CDT 2016
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
dlls/wined3d/arb_program_shader.c | 1 +
dlls/wined3d/glsl_shader.c | 1 +
dlls/wined3d/shader.c | 1 +
dlls/wined3d/shader_sm4.c | 2 ++
dlls/wined3d/wined3d_private.h | 1 +
5 files changed, 6 insertions(+)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 2c510b7..70d7d34 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -5276,6 +5276,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL
/* WINED3DSIH_FRC */ shader_hw_map2gl,
/* WINED3DSIH_FTOI */ NULL,
/* WINED3DSIH_FTOU */ NULL,
+ /* WINED3DSIH_GATHER4 */ 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 92849db..9bbf461 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -8610,6 +8610,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB
/* WINED3DSIH_FRC */ shader_glsl_map2gl,
/* WINED3DSIH_FTOI */ shader_glsl_to_int,
/* WINED3DSIH_FTOU */ shader_glsl_to_uint,
+ /* WINED3DSIH_GATHER4 */ 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 bd8d55d..f8fdc50 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -108,6 +108,7 @@ static const char * const shader_opcode_names[] =
/* WINED3DSIH_FRC */ "frc",
/* WINED3DSIH_FTOI */ "ftoi",
/* WINED3DSIH_FTOU */ "ftou",
+ /* WINED3DSIH_GATHER4 */ "gather4",
/* 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 ef5fcd2..bff1f27 100644
--- a/dlls/wined3d/shader_sm4.c
+++ b/dlls/wined3d/shader_sm4.c
@@ -200,6 +200,7 @@ enum wined3d_sm4_opcode
WINED3D_SM4_OP_DCL_OUTPUT_SIV = 0x67,
WINED3D_SM4_OP_DCL_TEMPS = 0x68,
WINED3D_SM4_OP_DCL_GLOBAL_FLAGS = 0x6a,
+ WINED3D_SM4_OP_GATHER4 = 0x6d,
WINED3D_SM5_OP_HS_DECLS = 0x71,
WINED3D_SM5_OP_HS_CONTROL_POINT_PHASE = 0x72,
WINED3D_SM5_OP_HS_FORK_PHASE = 0x73,
@@ -733,6 +734,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] =
shader_sm4_read_declaration_count},
{WINED3D_SM4_OP_DCL_GLOBAL_FLAGS, WINED3DSIH_DCL_GLOBAL_FLAGS, "", "",
shader_sm4_read_dcl_global_flags},
+ {WINED3D_SM4_OP_GATHER4, WINED3DSIH_GATHER4, "u", "fRS"},
{WINED3D_SM5_OP_HS_DECLS, WINED3DSIH_HS_DECLS, "", ""},
{WINED3D_SM5_OP_HS_CONTROL_POINT_PHASE, WINED3DSIH_HS_CONTROL_POINT_PHASE, "", ""},
{WINED3D_SM5_OP_HS_FORK_PHASE, WINED3DSIH_HS_FORK_PHASE, "", ""},
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 82d4712..7f45327 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -615,6 +615,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER
WINED3DSIH_FRC,
WINED3DSIH_FTOI,
WINED3DSIH_FTOU,
+ WINED3DSIH_GATHER4,
WINED3DSIH_GE,
WINED3DSIH_HS_CONTROL_POINT_PHASE,
WINED3DSIH_HS_DECLS,
--
2.7.3
More information about the wine-patches
mailing list