[WINED3D 9] Trace ABS/ABSNEG modifiers.
Ivan Gyurdiev
ivg231 at gmail.com
Fri Jul 7 01:29:39 CDT 2006
-------------- next part --------------
>From 1b775501b10c55446ac6ddc786805303e1b893ea Mon Sep 17 00:00:00 2001
From: root <root at shark.bluenet>
Date: Thu, 6 Jul 2006 23:32:07 -0600
Subject: [PATCH] Trace ABS/ABSNEG modifiers.
---
dlls/wined3d/baseshader.c | 26 ++++++++++++++++----------
1 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index b7aa45f..84c86c7 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -436,6 +436,7 @@ void shader_dump_param(
DWORD reg = param & D3DSP_REGNUM_MASK;
DWORD regtype = shader_get_regtype(param);
+ DWORD modifier = param & D3DSP_SRCMOD_MASK;
/* There are some minor differences between pixel and vertex shaders */
char pshader = shader_is_pshader_version(This->baseShader.hex_version);
@@ -449,15 +450,19 @@ void shader_dump_param(
swizzle_reg_chars[3] = pshader? 'a': 'w';
if (input) {
- if ( ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_NEG) ||
- ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_BIASNEG) ||
- ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_SIGNNEG) ||
- ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_X2NEG) )
+ if ( (modifier == D3DSPSM_NEG) ||
+ (modifier == D3DSPSM_BIASNEG) ||
+ (modifier == D3DSPSM_SIGNNEG) ||
+ (modifier == D3DSPSM_X2NEG) ||
+ (modifier == D3DSPSM_ABSNEG) )
TRACE("-");
- else if ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_COMP)
+ else if (modifier == D3DSPSM_COMP)
TRACE("1-");
- else if ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_NOT)
+ else if (modifier == D3DSPSM_NOT)
TRACE("!");
+
+ if (modifier == D3DSPSM_ABS || modifier == D3DSPSM_ABSNEG)
+ TRACE("abs(");
}
switch (regtype) {
@@ -546,9 +551,8 @@ void shader_dump_param(
DWORD swizzle_b = (swizzle >> 4) & 0x03;
DWORD swizzle_a = (swizzle >> 6) & 0x03;
- if (0 != (param & D3DSP_SRCMOD_MASK)) {
- DWORD mask = param & D3DSP_SRCMOD_MASK;
- switch (mask) {
+ if (0 != modifier) {
+ switch (modifier) {
case D3DSPSM_NONE: break;
case D3DSPSM_NEG: break;
case D3DSPSM_NOT: break;
@@ -561,8 +565,10 @@ void shader_dump_param(
case D3DSPSM_X2NEG: TRACE("_x2"); break;
case D3DSPSM_DZ: TRACE("_dz"); break;
case D3DSPSM_DW: TRACE("_dw"); break;
+ case D3DSPSM_ABSNEG: TRACE(")"); break;
+ case D3DSPSM_ABS: TRACE(")"); break;
default:
- TRACE("_unknown_modifier(%#lx)", mask >> D3DSP_SRCMOD_SHIFT);
+ TRACE("_unknown_modifier(%#lx)", modifier >> D3DSP_SRCMOD_SHIFT);
}
}
--
1.4.0
More information about the wine-patches
mailing list