[PATCH 3/7] wined3d: Recognize SM4 imad opcode.
Józef Kucia
jkucia at codeweavers.com
Mon Jan 11 04:53:22 CST 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 e54fc24..5aa5669 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -5259,6 +5259,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL
/* WINED3DSIH_IFC */ shader_hw_ifc,
/* WINED3DSIH_IGE */ NULL,
/* WINED3DSIH_ILT */ NULL,
+ /* WINED3DSIH_IMAD */ NULL,
/* WINED3DSIH_IMAX */ NULL,
/* WINED3DSIH_IMIN */ NULL,
/* WINED3DSIH_IMUL */ NULL,
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index fa02ed8..218585c 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -7907,6 +7907,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB
/* WINED3DSIH_IFC */ shader_glsl_ifc,
/* WINED3DSIH_IGE */ shader_glsl_relop,
/* WINED3DSIH_ILT */ NULL,
+ /* WINED3DSIH_IMAD */ NULL,
/* WINED3DSIH_IMAX */ shader_glsl_map2gl,
/* WINED3DSIH_IMIN */ shader_glsl_map2gl,
/* WINED3DSIH_IMUL */ shader_glsl_imul,
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index d3482fc..ef6b141 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -87,6 +87,7 @@ static const char * const shader_opcode_names[] =
/* WINED3DSIH_IFC */ "ifc",
/* WINED3DSIH_IGE */ "ige",
/* WINED3DSIH_ILT */ "ilt",
+ /* WINED3DSIH_IMAD */ "imad",
/* WINED3DSIH_IMAX */ "imax",
/* WINED3DSIH_IMIN */ "imin",
/* WINED3DSIH_IMUL */ "imul",
diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c
index acc1b4b..91db7da 100644
--- a/dlls/wined3d/shader_sm4.c
+++ b/dlls/wined3d/shader_sm4.c
@@ -100,6 +100,7 @@ enum wined3d_sm4_opcode
WINED3D_SM4_OP_IEQ = 0x20,
WINED3D_SM4_OP_IGE = 0x21,
WINED3D_SM4_OP_ILT = 0x22,
+ WINED3D_SM4_OP_IMAD = 0x23,
WINED3D_SM4_OP_IMAX = 0x24,
WINED3D_SM4_OP_IMIN = 0x25,
WINED3D_SM4_OP_IMUL = 0x26,
@@ -273,6 +274,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] =
{WINED3D_SM4_OP_IEQ, WINED3DSIH_IEQ, "U", "II"},
{WINED3D_SM4_OP_IGE, WINED3DSIH_IGE, "U", "II"},
{WINED3D_SM4_OP_ILT, WINED3DSIH_ILT, "U", "II"},
+ {WINED3D_SM4_OP_IMAD, WINED3DSIH_IMAD, "I", "II"},
{WINED3D_SM4_OP_IMAX, WINED3DSIH_IMAX, "I", "II"},
{WINED3D_SM4_OP_IMIN, WINED3DSIH_IMIN, "I", "II"},
{WINED3D_SM4_OP_IMUL, WINED3DSIH_IMUL, "II", "II"},
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index d603898..8274a98 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -502,6 +502,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER
WINED3DSIH_IFC,
WINED3DSIH_IGE,
WINED3DSIH_ILT,
+ WINED3DSIH_IMAD,
WINED3DSIH_IMAX,
WINED3DSIH_IMIN,
WINED3DSIH_IMUL,
--
2.4.10
More information about the wine-patches
mailing list