Ivan Gyurdiev : wined3d: Fix faulty DCL trace.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jul 3 05:23:04 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 0111e15e1f43c33a2ff2268424efbe83f0b57945
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=0111e15e1f43c33a2ff2268424efbe83f0b57945
Author: Ivan Gyurdiev <ivg231 at gmail.com>
Date: Mon Jul 3 00:03:47 2006 -0600
wined3d: Fix faulty DCL trace.
---
dlls/wined3d/baseshader.c | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 93eb367..a1b987f 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -432,20 +432,22 @@ void shader_get_registers_used(
}
static void shader_dump_decl_usage(
+ IWineD3DBaseShaderImpl* This,
DWORD decl,
DWORD param) {
DWORD regtype = shader_get_regtype(param);
- TRACE("dcl_");
+
+ TRACE("dcl");
if (regtype == D3DSPR_SAMPLER) {
DWORD ttype = decl & D3DSP_TEXTURETYPE_MASK;
switch (ttype) {
- case D3DSTT_2D: TRACE("2d"); break;
- case D3DSTT_CUBE: TRACE("cube"); break;
- case D3DSTT_VOLUME: TRACE("volume"); break;
- default: TRACE("unknown_ttype(%08lx)", ttype);
+ case D3DSTT_2D: TRACE("_2d"); break;
+ case D3DSTT_CUBE: TRACE("_cube"); break;
+ case D3DSTT_VOLUME: TRACE("_volume"); break;
+ default: TRACE("_unknown_ttype(%08lx)", ttype);
}
} else {
@@ -453,6 +455,13 @@ static void shader_dump_decl_usage(
DWORD usage = decl & D3DSP_DCL_USAGE_MASK;
DWORD idx = (decl & D3DSP_DCL_USAGEINDEX_MASK) >> D3DSP_DCL_USAGEINDEX_SHIFT;
+ /* Pixel shaders 3.0 don't have usage semantics */
+ char pshader = shader_is_pshader_version(This->baseShader.hex_version);
+ if (pshader && This->baseShader.hex_version < D3DPS_VERSION(3,0))
+ return;
+ else
+ TRACE("_");
+
switch(usage) {
case D3DDECLUSAGE_POSITION:
TRACE("%s%ld", "position", idx);
@@ -884,7 +893,7 @@ void shader_trace_init(
DWORD usage = *pToken;
DWORD param = *(pToken + 1);
- shader_dump_decl_usage(usage, param);
+ shader_dump_decl_usage(This, usage, param);
shader_dump_ins_modifiers(param);
TRACE(" ");
shader_dump_param(iface, param, 0, 0);
More information about the wine-cvs
mailing list