wined3d: Recognize SM4 indexable temporary registers.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia 2016-06-23 12:07:59 +02:00 committed by Alexandre Julliard
parent cdd2469fca
commit 50c090dc15
3 changed files with 7 additions and 1 deletions

View File

@ -1771,6 +1771,10 @@ static void shader_dump_register(struct wined3d_string_buffer *buffer,
shader_addline(buffer, "vThreadIDInGroupFlattened"); shader_addline(buffer, "vThreadIDInGroupFlattened");
break; break;
case WINED3DSPR_IDXTEMP:
shader_addline(buffer, "x");
break;
default: default:
shader_addline(buffer, "<unhandled_rtype(%#x)>", reg->type); shader_addline(buffer, "<unhandled_rtype(%#x)>", reg->type);
break; break;

View File

@ -239,6 +239,7 @@ enum wined3d_sm4_register_type
WINED3D_SM4_RT_TEMP = 0x0, WINED3D_SM4_RT_TEMP = 0x0,
WINED3D_SM4_RT_INPUT = 0x1, WINED3D_SM4_RT_INPUT = 0x1,
WINED3D_SM4_RT_OUTPUT = 0x2, WINED3D_SM4_RT_OUTPUT = 0x2,
WINED3D_SM4_RT_INDEXABLE_TEMP = 0x3,
WINED3D_SM4_RT_IMMCONST = 0x4, WINED3D_SM4_RT_IMMCONST = 0x4,
WINED3D_SM4_RT_SAMPLER = 0x6, WINED3D_SM4_RT_SAMPLER = 0x6,
WINED3D_SM4_RT_RESOURCE = 0x7, WINED3D_SM4_RT_RESOURCE = 0x7,
@ -828,7 +829,7 @@ static const enum wined3d_shader_register_type register_type_table[] =
/* WINED3D_SM4_RT_TEMP */ WINED3DSPR_TEMP, /* WINED3D_SM4_RT_TEMP */ WINED3DSPR_TEMP,
/* WINED3D_SM4_RT_INPUT */ WINED3DSPR_INPUT, /* WINED3D_SM4_RT_INPUT */ WINED3DSPR_INPUT,
/* WINED3D_SM4_RT_OUTPUT */ WINED3DSPR_OUTPUT, /* WINED3D_SM4_RT_OUTPUT */ WINED3DSPR_OUTPUT,
/* UNKNOWN */ ~0u, /* WINED3D_SM4_RT_INDEXABLE_TEMP */ WINED3DSPR_IDXTEMP,
/* WINED3D_SM4_RT_IMMCONST */ WINED3DSPR_IMMCONST, /* WINED3D_SM4_RT_IMMCONST */ WINED3DSPR_IMMCONST,
/* UNKNOWN */ ~0u, /* UNKNOWN */ ~0u,
/* WINED3D_SM4_RT_SAMPLER */ WINED3DSPR_SAMPLER, /* WINED3D_SM4_RT_SAMPLER */ WINED3DSPR_SAMPLER,

View File

@ -392,6 +392,7 @@ enum wined3d_shader_register_type
WINED3DSPR_THREADGROUPID, WINED3DSPR_THREADGROUPID,
WINED3DSPR_LOCALTHREADID, WINED3DSPR_LOCALTHREADID,
WINED3DSPR_LOCALTHREADINDEX, WINED3DSPR_LOCALTHREADINDEX,
WINED3DSPR_IDXTEMP,
}; };
enum wined3d_data_type enum wined3d_data_type