Henri Verbeet : wined3d: Skip SM4 source register modifiers.
Alexandre Julliard
julliard at winehq.org
Tue Oct 12 11:27:00 CDT 2010
Module: wine
Branch: master
Commit: 0e4e19697908b0cc39d79310fb0fa2314984a303
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0e4e19697908b0cc39d79310fb0fa2314984a303
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Tue Oct 12 13:40:04 2010 +0200
wined3d: Skip SM4 source register modifiers.
---
dlls/wined3d/shader_sm4.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c
index 2bcd3d3..d893b05 100644
--- a/dlls/wined3d/shader_sm4.c
+++ b/dlls/wined3d/shader_sm4.c
@@ -28,6 +28,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d_shader);
#define WINED3D_SM4_OPCODE_MASK 0xff
+#define WINED3D_SM4_REGISTER_MODIFIER (1 << 31)
+
#define WINED3D_SM4_REGISTER_ORDER_SHIFT 20
#define WINED3D_SM4_REGISTER_ORDER_MASK (0x3 << WINED3D_SM4_REGISTER_ORDER_SHIFT)
@@ -345,6 +347,12 @@ static void shader_sm4_read_src_param(void *data, const DWORD **ptr, struct wine
src_param->reg.type = register_type_table[register_type];
}
+ if (token & WINED3D_SM4_REGISTER_MODIFIER)
+ {
+ DWORD modifier = *(*ptr)++;
+ FIXME("Skipping modifier 0x%08x.\n", modifier);
+ }
+
order = (token & WINED3D_SM4_REGISTER_ORDER_MASK) >> WINED3D_SM4_REGISTER_ORDER_SHIFT;
if (order < 1) src_param->reg.idx = ~0U;
More information about the wine-cvs
mailing list