wined3d: Recognize the SM4 NULL register type.

This commit is contained in:
Henri Verbeet 2010-10-08 13:12:15 +02:00 committed by Alexandre Julliard
parent 7c7205d90a
commit 0677a67c7b
3 changed files with 15 additions and 2 deletions

View File

@ -1018,6 +1018,10 @@ static void shader_dump_register(const struct wined3d_shader_register *reg,
TRACE("cb");
break;
case WINED3DSPR_NULL:
TRACE("null");
break;
default:
TRACE("unhandled_rtype(%#x)", reg->type);
break;
@ -1044,7 +1048,9 @@ static void shader_dump_register(const struct wined3d_shader_register *reg,
}
TRACE(")");
}
else if (reg->type != WINED3DSPR_RASTOUT && reg->type != WINED3DSPR_MISCTYPE)
else if (reg->type != WINED3DSPR_RASTOUT
&& reg->type != WINED3DSPR_MISCTYPE
&& reg->type != WINED3DSPR_NULL)
{
if (reg->array_idx != ~0U)
{
@ -1077,7 +1083,7 @@ void shader_dump_dst_param(const struct wined3d_shader_dst_param *param,
shader_dump_register(&param->reg, shader_version);
if (write_mask != WINED3DSP_WRITEMASK_ALL)
if (write_mask && write_mask != WINED3DSP_WRITEMASK_ALL)
{
static const char *write_mask_chars = "xyzw";

View File

@ -84,6 +84,7 @@ enum wined3d_sm4_register_type
WINED3D_SM4_RT_OUTPUT = 0x2,
WINED3D_SM4_RT_IMMCONST = 0x4,
WINED3D_SM4_RT_CONSTBUFFER = 0x8,
WINED3D_SM4_RT_NULL = 0xd,
};
enum wined3d_sm4_immconst_type
@ -156,6 +157,11 @@ static const WINED3DSHADER_PARAM_REGISTER_TYPE register_type_table[] =
/* UNKNOWN */ 0,
/* UNKNOWN */ 0,
/* WINED3D_SM4_RT_CONSTBUFFER */ WINED3DSPR_CONSTBUFFER,
/* UNKNOWN */ 0,
/* UNKNOWN */ 0,
/* UNKNOWN */ 0,
/* UNKNOWN */ 0,
/* WINED3D_SM4_RT_NULL */ WINED3DSPR_NULL,
};
static const struct sysval_map sysval_map[] =

View File

@ -308,6 +308,7 @@ typedef enum _WINED3DSHADER_PARAM_REGISTER_TYPE
WINED3DSPR_PREDICATE = 19,
WINED3DSPR_IMMCONST,
WINED3DSPR_CONSTBUFFER,
WINED3DSPR_NULL,
} WINED3DSHADER_PARAM_REGISTER_TYPE;
enum wined3d_immconst_type