Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- libs/vkd3d-shader/trace.c | 516 +++++++++++++++++++------------------- 1 file changed, 258 insertions(+), 258 deletions(-)
diff --git a/libs/vkd3d-shader/trace.c b/libs/vkd3d-shader/trace.c index 1250503fa..e4a1884cf 100644 --- a/libs/vkd3d-shader/trace.c +++ b/libs/vkd3d-shader/trace.c @@ -29,264 +29,264 @@
static const char * const shader_opcode_names[] = { - /* VKD3DSIH_ABS */ "abs", - /* VKD3DSIH_ADD */ "add", - /* VKD3DSIH_AND */ "and", - /* VKD3DSIH_ATOMIC_AND */ "atomic_and", - /* VKD3DSIH_ATOMIC_CMP_STORE */ "atomic_cmp_store", - /* VKD3DSIH_ATOMIC_IADD */ "atomic_iadd", - /* VKD3DSIH_ATOMIC_IMAX */ "atomic_imax", - /* VKD3DSIH_ATOMIC_IMIN */ "atomic_imin", - /* VKD3DSIH_ATOMIC_OR */ "atomic_or", - /* VKD3DSIH_ATOMIC_UMAX */ "atomic_umax", - /* VKD3DSIH_ATOMIC_UMIN */ "atomic_umin", - /* VKD3DSIH_ATOMIC_XOR */ "atomic_xor", - /* VKD3DSIH_BEM */ "bem", - /* VKD3DSIH_BFI */ "bfi", - /* VKD3DSIH_BFREV */ "bfrev", - /* VKD3DSIH_BREAK */ "break", - /* VKD3DSIH_BREAKC */ "breakc", - /* VKD3DSIH_BREAKP */ "breakp", - /* VKD3DSIH_BUFINFO */ "bufinfo", - /* VKD3DSIH_CALL */ "call", - /* VKD3DSIH_CALLNZ */ "callnz", - /* VKD3DSIH_CASE */ "case", - /* VKD3DSIH_CMP */ "cmp", - /* VKD3DSIH_CND */ "cnd", - /* VKD3DSIH_CONTINUE */ "continue", - /* VKD3DSIH_CONTINUEP */ "continuec", - /* VKD3DSIH_COUNTBITS */ "countbits", - /* VKD3DSIH_CRS */ "crs", - /* VKD3DSIH_CUT */ "cut", - /* VKD3DSIH_CUT_STREAM */ "cut_stream", - /* VKD3DSIH_DADD */ "dadd", - /* VKD3DSIH_DCL */ "dcl", - /* VKD3DSIH_DCL_CONSTANT_BUFFER */ "dcl_constantBuffer", - /* VKD3DSIH_DCL_FUNCTION_BODY */ "dcl_function_body", - /* VKD3DSIH_DCL_FUNCTION_TABLE */ "dcl_function_table", - /* VKD3DSIH_DCL_GLOBAL_FLAGS */ "dcl_globalFlags", - /* VKD3DSIH_DCL_GS_INSTANCES */ "dcl_gs_instances", - /* VKD3DSIH_DCL_HS_FORK_PHASE_INSTANCE_COUNT */ "dcl_hs_fork_phase_instance_count", - /* VKD3DSIH_DCL_HS_JOIN_PHASE_INSTANCE_COUNT */ "dcl_hs_join_phase_instance_count", - /* VKD3DSIH_DCL_HS_MAX_TESSFACTOR */ "dcl_hs_max_tessfactor", - /* VKD3DSIH_DCL_IMMEDIATE_CONSTANT_BUFFER */ "dcl_immediateConstantBuffer", - /* VKD3DSIH_DCL_INDEX_RANGE */ "dcl_index_range", - /* VKD3DSIH_DCL_INDEXABLE_TEMP */ "dcl_indexableTemp", - /* VKD3DSIH_DCL_INPUT */ "dcl_input", - /* VKD3DSIH_DCL_INPUT_CONTROL_POINT_COUNT */ "dcl_input_control_point_count", - /* VKD3DSIH_DCL_INPUT_PRIMITIVE */ "dcl_inputPrimitive", - /* VKD3DSIH_DCL_INPUT_PS */ "dcl_input_ps", - /* VKD3DSIH_DCL_INPUT_PS_SGV */ "dcl_input_ps_sgv", - /* VKD3DSIH_DCL_INPUT_PS_SIV */ "dcl_input_ps_siv", - /* VKD3DSIH_DCL_INPUT_SGV */ "dcl_input_sgv", - /* VKD3DSIH_DCL_INPUT_SIV */ "dcl_input_siv", - /* VKD3DSIH_DCL_INTERFACE */ "dcl_interface", - /* VKD3DSIH_DCL_OUTPUT */ "dcl_output", - /* VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT */ "dcl_output_control_point_count", - /* VKD3DSIH_DCL_OUTPUT_SIV */ "dcl_output_siv", - /* VKD3DSIH_DCL_OUTPUT_TOPOLOGY */ "dcl_outputTopology", - /* VKD3DSIH_DCL_RESOURCE_RAW */ "dcl_resource_raw", - /* VKD3DSIH_DCL_RESOURCE_STRUCTURED */ "dcl_resource_structured", - /* VKD3DSIH_DCL_SAMPLER */ "dcl_sampler", - /* VKD3DSIH_DCL_STREAM */ "dcl_stream", - /* VKD3DSIH_DCL_TEMPS */ "dcl_temps", - /* VKD3DSIH_DCL_TESSELLATOR_DOMAIN */ "dcl_tessellator_domain", - /* VKD3DSIH_DCL_TESSELLATOR_OUTPUT_PRIMITIVE */ "dcl_tessellator_output_primitive", - /* VKD3DSIH_DCL_TESSELLATOR_PARTITIONING */ "dcl_tessellator_partitioning", - /* VKD3DSIH_DCL_TGSM_RAW */ "dcl_tgsm_raw", - /* VKD3DSIH_DCL_TGSM_STRUCTURED */ "dcl_tgsm_structured", - /* VKD3DSIH_DCL_THREAD_GROUP */ "dcl_thread_group", - /* VKD3DSIH_DCL_UAV_RAW */ "dcl_uav_raw", - /* VKD3DSIH_DCL_UAV_STRUCTURED */ "dcl_uav_structured", - /* VKD3DSIH_DCL_UAV_TYPED */ "dcl_uav_typed", - /* VKD3DSIH_DCL_VERTICES_OUT */ "dcl_maxOutputVertexCount", - /* VKD3DSIH_DDIV */ "ddiv", - /* VKD3DSIH_DEF */ "def", - /* VKD3DSIH_DEFAULT */ "default", - /* VKD3DSIH_DEFB */ "defb", - /* VKD3DSIH_DEFI */ "defi", - /* VKD3DSIH_DEQ */ "deq", - /* VKD3DSIH_DFMA */ "dfma", - /* VKD3DSIH_DGE */ "dge", - /* VKD3DSIH_DIV */ "div", - /* VKD3DSIH_DLT */ "dlt", - /* VKD3DSIH_DMAX */ "dmax", - /* VKD3DSIH_DMIN */ "dmin", - /* VKD3DSIH_DMOV */ "dmov", - /* VKD3DSIH_DMOVC */ "dmovc", - /* VKD3DSIH_DMUL */ "dmul", - /* VKD3DSIH_DNE */ "dne", - /* VKD3DSIH_DP2 */ "dp2", - /* VKD3DSIH_DP2ADD */ "dp2add", - /* VKD3DSIH_DP3 */ "dp3", - /* VKD3DSIH_DP4 */ "dp4", - /* VKD3DSIH_DRCP */ "drcp", - /* VKD3DSIH_DST */ "dst", - /* VKD3DSIH_DSX */ "dsx", - /* VKD3DSIH_DSX_COARSE */ "deriv_rtx_coarse", - /* VKD3DSIH_DSX_FINE */ "deriv_rtx_fine", - /* VKD3DSIH_DSY */ "dsy", - /* VKD3DSIH_DSY_COARSE */ "deriv_rty_coarse", - /* VKD3DSIH_DSY_FINE */ "deriv_rty_fine", - /* VKD3DSIH_DTOF */ "dtof", - /* VKD3DSIH_DTOI */ "dtoi", - /* VKD3DSIH_DTOU */ "dtou", - /* VKD3DSIH_ELSE */ "else", - /* VKD3DSIH_EMIT */ "emit", - /* VKD3DSIH_EMIT_STREAM */ "emit_stream", - /* VKD3DSIH_ENDIF */ "endif", - /* VKD3DSIH_ENDLOOP */ "endloop", - /* VKD3DSIH_ENDREP */ "endrep", - /* VKD3DSIH_ENDSWITCH */ "endswitch", - /* VKD3DSIH_EQ */ "eq", - /* VKD3DSIH_EVAL_CENTROID */ "eval_centroid", - /* VKD3DSIH_EVAL_SAMPLE_INDEX */ "eval_sample_index", - /* VKD3DSIH_EXP */ "exp", - /* VKD3DSIH_EXPP */ "expp", - /* VKD3DSIH_F16TOF32 */ "f16tof32", - /* VKD3DSIH_F32TOF16 */ "f32tof16", - /* VKD3DSIH_FCALL */ "fcall", - /* VKD3DSIH_FIRSTBIT_HI */ "firstbit_hi", - /* VKD3DSIH_FIRSTBIT_LO */ "firstbit_lo", - /* VKD3DSIH_FIRSTBIT_SHI */ "firstbit_shi", - /* VKD3DSIH_FRC */ "frc", - /* VKD3DSIH_FTOD */ "ftod", - /* VKD3DSIH_FTOI */ "ftoi", - /* VKD3DSIH_FTOU */ "ftou", - /* VKD3DSIH_GATHER4 */ "gather4", - /* VKD3DSIH_GATHER4_C */ "gather4_c", - /* VKD3DSIH_GATHER4_PO */ "gather4_po", - /* VKD3DSIH_GATHER4_PO_C */ "gather4_po_c", - /* VKD3DSIH_GE */ "ge", - /* VKD3DSIH_HS_CONTROL_POINT_PHASE */ "hs_control_point_phase", - /* VKD3DSIH_HS_DECLS */ "hs_decls", - /* VKD3DSIH_HS_FORK_PHASE */ "hs_fork_phase", - /* VKD3DSIH_HS_JOIN_PHASE */ "hs_join_phase", - /* VKD3DSIH_IADD */ "iadd", - /* VKD3DSIH_IBFE */ "ibfe", - /* VKD3DSIH_IEQ */ "ieq", - /* VKD3DSIH_IF */ "if", - /* VKD3DSIH_IFC */ "ifc", - /* VKD3DSIH_IGE */ "ige", - /* VKD3DSIH_ILT */ "ilt", - /* VKD3DSIH_IMAD */ "imad", - /* VKD3DSIH_IMAX */ "imax", - /* VKD3DSIH_IMIN */ "imin", - /* VKD3DSIH_IMM_ATOMIC_ALLOC */ "imm_atomic_alloc", - /* VKD3DSIH_IMM_ATOMIC_AND */ "imm_atomic_and", - /* VKD3DSIH_IMM_ATOMIC_CMP_EXCH */ "imm_atomic_cmp_exch", - /* VKD3DSIH_IMM_ATOMIC_CONSUME */ "imm_atomic_consume", - /* VKD3DSIH_IMM_ATOMIC_EXCH */ "imm_atomic_exch", - /* VKD3DSIH_IMM_ATOMIC_IADD */ "imm_atomic_iadd", - /* VKD3DSIH_IMM_ATOMIC_IMAX */ "imm_atomic_imax", - /* VKD3DSIH_IMM_ATOMIC_IMIN */ "imm_atomic_imin", - /* VKD3DSIH_IMM_ATOMIC_OR */ "imm_atomic_or", - /* VKD3DSIH_IMM_ATOMIC_UMAX */ "imm_atomic_umax", - /* VKD3DSIH_IMM_ATOMIC_UMIN */ "imm_atomic_umin", - /* VKD3DSIH_IMM_ATOMIC_XOR */ "imm_atomic_xor", - /* VKD3DSIH_IMUL */ "imul", - /* VKD3DSIH_INE */ "ine", - /* VKD3DSIH_INEG */ "ineg", - /* VKD3DSIH_ISHL */ "ishl", - /* VKD3DSIH_ISHR */ "ishr", - /* VKD3DSIH_ITOD */ "itod", - /* VKD3DSIH_ITOF */ "itof", - /* VKD3DSIH_LABEL */ "label", - /* VKD3DSIH_LD */ "ld", - /* VKD3DSIH_LD2DMS */ "ld2dms", - /* VKD3DSIH_LD_RAW */ "ld_raw", - /* VKD3DSIH_LD_STRUCTURED */ "ld_structured", - /* VKD3DSIH_LD_UAV_TYPED */ "ld_uav_typed", - /* VKD3DSIH_LIT */ "lit", - /* VKD3DSIH_LOD */ "lod", - /* VKD3DSIH_LOG */ "log", - /* VKD3DSIH_LOGP */ "logp", - /* VKD3DSIH_LOOP */ "loop", - /* VKD3DSIH_LRP */ "lrp", - /* VKD3DSIH_LT */ "lt", - /* VKD3DSIH_M3x2 */ "m3x2", - /* VKD3DSIH_M3x3 */ "m3x3", - /* VKD3DSIH_M3x4 */ "m3x4", - /* VKD3DSIH_M4x3 */ "m4x3", - /* VKD3DSIH_M4x4 */ "m4x4", - /* VKD3DSIH_MAD */ "mad", - /* VKD3DSIH_MAX */ "max", - /* VKD3DSIH_MIN */ "min", - /* VKD3DSIH_MOV */ "mov", - /* VKD3DSIH_MOVA */ "mova", - /* VKD3DSIH_MOVC */ "movc", - /* VKD3DSIH_MUL */ "mul", - /* VKD3DSIH_NE */ "ne", - /* VKD3DSIH_NOP */ "nop", - /* VKD3DSIH_NOT */ "not", - /* VKD3DSIH_NRM */ "nrm", - /* VKD3DSIH_OR */ "or", - /* VKD3DSIH_PHASE */ "phase", - /* VKD3DSIH_POW */ "pow", - /* VKD3DSIH_RCP */ "rcp", - /* VKD3DSIH_REP */ "rep", - /* VKD3DSIH_RESINFO */ "resinfo", - /* VKD3DSIH_RET */ "ret", - /* VKD3DSIH_RETP */ "retp", - /* VKD3DSIH_ROUND_NE */ "round_ne", - /* VKD3DSIH_ROUND_NI */ "round_ni", - /* VKD3DSIH_ROUND_PI */ "round_pi", - /* VKD3DSIH_ROUND_Z */ "round_z", - /* VKD3DSIH_RSQ */ "rsq", - /* VKD3DSIH_SAMPLE */ "sample", - /* VKD3DSIH_SAMPLE_B */ "sample_b", - /* VKD3DSIH_SAMPLE_C */ "sample_c", - /* VKD3DSIH_SAMPLE_C_LZ */ "sample_c_lz", - /* VKD3DSIH_SAMPLE_GRAD */ "sample_d", - /* VKD3DSIH_SAMPLE_INFO */ "sample_info", - /* VKD3DSIH_SAMPLE_LOD */ "sample_l", - /* VKD3DSIH_SAMPLE_POS */ "sample_pos", - /* VKD3DSIH_SETP */ "setp", - /* VKD3DSIH_SGE */ "sge", - /* VKD3DSIH_SGN */ "sgn", - /* VKD3DSIH_SINCOS */ "sincos", - /* VKD3DSIH_SLT */ "slt", - /* VKD3DSIH_SQRT */ "sqrt", - /* VKD3DSIH_STORE_RAW */ "store_raw", - /* VKD3DSIH_STORE_STRUCTURED */ "store_structured", - /* VKD3DSIH_STORE_UAV_TYPED */ "store_uav_typed", - /* VKD3DSIH_SUB */ "sub", - /* VKD3DSIH_SWAPC */ "swapc", - /* VKD3DSIH_SWITCH */ "switch", - /* VKD3DSIH_SYNC */ "sync", - /* VKD3DSIH_TEX */ "texld", - /* VKD3DSIH_TEXBEM */ "texbem", - /* VKD3DSIH_TEXBEML */ "texbeml", - /* VKD3DSIH_TEXCOORD */ "texcrd", - /* VKD3DSIH_TEXDEPTH */ "texdepth", - /* VKD3DSIH_TEXDP3 */ "texdp3", - /* VKD3DSIH_TEXDP3TEX */ "texdp3tex", - /* VKD3DSIH_TEXKILL */ "texkill", - /* VKD3DSIH_TEXLDD */ "texldd", - /* VKD3DSIH_TEXLDL */ "texldl", - /* VKD3DSIH_TEXM3x2DEPTH */ "texm3x2depth", - /* VKD3DSIH_TEXM3x2PAD */ "texm3x2pad", - /* VKD3DSIH_TEXM3x2TEX */ "texm3x2tex", - /* VKD3DSIH_TEXM3x3 */ "texm3x3", - /* VKD3DSIH_TEXM3x3DIFF */ "texm3x3diff", - /* VKD3DSIH_TEXM3x3PAD */ "texm3x3pad", - /* VKD3DSIH_TEXM3x3SPEC */ "texm3x3spec", - /* VKD3DSIH_TEXM3x3TEX */ "texm3x3tex", - /* VKD3DSIH_TEXM3x3VSPEC */ "texm3x3vspec", - /* VKD3DSIH_TEXREG2AR */ "texreg2ar", - /* VKD3DSIH_TEXREG2GB */ "texreg2gb", - /* VKD3DSIH_TEXREG2RGB */ "texreg2rgb", - /* VKD3DSIH_UBFE */ "ubfe", - /* VKD3DSIH_UDIV */ "udiv", - /* VKD3DSIH_UGE */ "uge", - /* VKD3DSIH_ULT */ "ult", - /* VKD3DSIH_UMAX */ "umax", - /* VKD3DSIH_UMIN */ "umin", - /* VKD3DSIH_UMUL */ "umul", - /* VKD3DSIH_USHR */ "ushr", - /* VKD3DSIH_UTOD */ "utod", - /* VKD3DSIH_UTOF */ "utof", - /* VKD3DSIH_XOR */ "xor", + [VKD3DSIH_ABS ] = "abs", + [VKD3DSIH_ADD ] = "add", + [VKD3DSIH_AND ] = "and", + [VKD3DSIH_ATOMIC_AND ] = "atomic_and", + [VKD3DSIH_ATOMIC_CMP_STORE ] = "atomic_cmp_store", + [VKD3DSIH_ATOMIC_IADD ] = "atomic_iadd", + [VKD3DSIH_ATOMIC_IMAX ] = "atomic_imax", + [VKD3DSIH_ATOMIC_IMIN ] = "atomic_imin", + [VKD3DSIH_ATOMIC_OR ] = "atomic_or", + [VKD3DSIH_ATOMIC_UMAX ] = "atomic_umax", + [VKD3DSIH_ATOMIC_UMIN ] = "atomic_umin", + [VKD3DSIH_ATOMIC_XOR ] = "atomic_xor", + [VKD3DSIH_BEM ] = "bem", + [VKD3DSIH_BFI ] = "bfi", + [VKD3DSIH_BFREV ] = "bfrev", + [VKD3DSIH_BREAK ] = "break", + [VKD3DSIH_BREAKC ] = "breakc", + [VKD3DSIH_BREAKP ] = "breakp", + [VKD3DSIH_BUFINFO ] = "bufinfo", + [VKD3DSIH_CALL ] = "call", + [VKD3DSIH_CALLNZ ] = "callnz", + [VKD3DSIH_CASE ] = "case", + [VKD3DSIH_CMP ] = "cmp", + [VKD3DSIH_CND ] = "cnd", + [VKD3DSIH_CONTINUE ] = "continue", + [VKD3DSIH_CONTINUEP ] = "continuec", + [VKD3DSIH_COUNTBITS ] = "countbits", + [VKD3DSIH_CRS ] = "crs", + [VKD3DSIH_CUT ] = "cut", + [VKD3DSIH_CUT_STREAM ] = "cut_stream", + [VKD3DSIH_DADD ] = "dadd", + [VKD3DSIH_DCL ] = "dcl", + [VKD3DSIH_DCL_CONSTANT_BUFFER ] = "dcl_constantBuffer", + [VKD3DSIH_DCL_FUNCTION_BODY ] = "dcl_function_body", + [VKD3DSIH_DCL_FUNCTION_TABLE ] = "dcl_function_table", + [VKD3DSIH_DCL_GLOBAL_FLAGS ] = "dcl_globalFlags", + [VKD3DSIH_DCL_GS_INSTANCES ] = "dcl_gs_instances", + [VKD3DSIH_DCL_HS_FORK_PHASE_INSTANCE_COUNT] = "dcl_hs_fork_phase_instance_count", + [VKD3DSIH_DCL_HS_JOIN_PHASE_INSTANCE_COUNT] = "dcl_hs_join_phase_instance_count", + [VKD3DSIH_DCL_HS_MAX_TESSFACTOR ] = "dcl_hs_max_tessfactor", + [VKD3DSIH_DCL_IMMEDIATE_CONSTANT_BUFFER ] = "dcl_immediateConstantBuffer", + [VKD3DSIH_DCL_INDEX_RANGE ] = "dcl_index_range", + [VKD3DSIH_DCL_INDEXABLE_TEMP ] = "dcl_indexableTemp", + [VKD3DSIH_DCL_INPUT ] = "dcl_input", + [VKD3DSIH_DCL_INPUT_CONTROL_POINT_COUNT ] = "dcl_input_control_point_count", + [VKD3DSIH_DCL_INPUT_PRIMITIVE ] = "dcl_inputPrimitive", + [VKD3DSIH_DCL_INPUT_PS ] = "dcl_input_ps", + [VKD3DSIH_DCL_INPUT_PS_SGV ] = "dcl_input_ps_sgv", + [VKD3DSIH_DCL_INPUT_PS_SIV ] = "dcl_input_ps_siv", + [VKD3DSIH_DCL_INPUT_SGV ] = "dcl_input_sgv", + [VKD3DSIH_DCL_INPUT_SIV ] = "dcl_input_siv", + [VKD3DSIH_DCL_INTERFACE ] = "dcl_interface", + [VKD3DSIH_DCL_OUTPUT ] = "dcl_output", + [VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT ] = "dcl_output_control_point_count", + [VKD3DSIH_DCL_OUTPUT_SIV ] = "dcl_output_siv", + [VKD3DSIH_DCL_OUTPUT_TOPOLOGY ] = "dcl_outputTopology", + [VKD3DSIH_DCL_RESOURCE_RAW ] = "dcl_resource_raw", + [VKD3DSIH_DCL_RESOURCE_STRUCTURED ] = "dcl_resource_structured", + [VKD3DSIH_DCL_SAMPLER ] = "dcl_sampler", + [VKD3DSIH_DCL_STREAM ] = "dcl_stream", + [VKD3DSIH_DCL_TEMPS ] = "dcl_temps", + [VKD3DSIH_DCL_TESSELLATOR_DOMAIN ] = "dcl_tessellator_domain", + [VKD3DSIH_DCL_TESSELLATOR_OUTPUT_PRIMITIVE] = "dcl_tessellator_output_primitive", + [VKD3DSIH_DCL_TESSELLATOR_PARTITIONING ] = "dcl_tessellator_partitioning", + [VKD3DSIH_DCL_TGSM_RAW ] = "dcl_tgsm_raw", + [VKD3DSIH_DCL_TGSM_STRUCTURED ] = "dcl_tgsm_structured", + [VKD3DSIH_DCL_THREAD_GROUP ] = "dcl_thread_group", + [VKD3DSIH_DCL_UAV_RAW ] = "dcl_uav_raw", + [VKD3DSIH_DCL_UAV_STRUCTURED ] = "dcl_uav_structured", + [VKD3DSIH_DCL_UAV_TYPED ] = "dcl_uav_typed", + [VKD3DSIH_DCL_VERTICES_OUT ] = "dcl_maxOutputVertexCount", + [VKD3DSIH_DDIV ] = "ddiv", + [VKD3DSIH_DEF ] = "def", + [VKD3DSIH_DEFAULT ] = "default", + [VKD3DSIH_DEFB ] = "defb", + [VKD3DSIH_DEFI ] = "defi", + [VKD3DSIH_DEQ ] = "deq", + [VKD3DSIH_DFMA ] = "dfma", + [VKD3DSIH_DGE ] = "dge", + [VKD3DSIH_DIV ] = "div", + [VKD3DSIH_DLT ] = "dlt", + [VKD3DSIH_DMAX ] = "dmax", + [VKD3DSIH_DMIN ] = "dmin", + [VKD3DSIH_DMOV ] = "dmov", + [VKD3DSIH_DMOVC ] = "dmovc", + [VKD3DSIH_DMUL ] = "dmul", + [VKD3DSIH_DNE ] = "dne", + [VKD3DSIH_DP2 ] = "dp2", + [VKD3DSIH_DP2ADD ] = "dp2add", + [VKD3DSIH_DP3 ] = "dp3", + [VKD3DSIH_DP4 ] = "dp4", + [VKD3DSIH_DRCP ] = "drcp", + [VKD3DSIH_DST ] = "dst", + [VKD3DSIH_DSX ] = "dsx", + [VKD3DSIH_DSX_COARSE ] = "deriv_rtx_coarse", + [VKD3DSIH_DSX_FINE ] = "deriv_rtx_fine", + [VKD3DSIH_DSY ] = "dsy", + [VKD3DSIH_DSY_COARSE ] = "deriv_rty_coarse", + [VKD3DSIH_DSY_FINE ] = "deriv_rty_fine", + [VKD3DSIH_DTOF ] = "dtof", + [VKD3DSIH_DTOI ] = "dtoi", + [VKD3DSIH_DTOU ] = "dtou", + [VKD3DSIH_ELSE ] = "else", + [VKD3DSIH_EMIT ] = "emit", + [VKD3DSIH_EMIT_STREAM ] = "emit_stream", + [VKD3DSIH_ENDIF ] = "endif", + [VKD3DSIH_ENDLOOP ] = "endloop", + [VKD3DSIH_ENDREP ] = "endrep", + [VKD3DSIH_ENDSWITCH ] = "endswitch", + [VKD3DSIH_EQ ] = "eq", + [VKD3DSIH_EVAL_CENTROID ] = "eval_centroid", + [VKD3DSIH_EVAL_SAMPLE_INDEX ] = "eval_sample_index", + [VKD3DSIH_EXP ] = "exp", + [VKD3DSIH_EXPP ] = "expp", + [VKD3DSIH_F16TOF32 ] = "f16tof32", + [VKD3DSIH_F32TOF16 ] = "f32tof16", + [VKD3DSIH_FCALL ] = "fcall", + [VKD3DSIH_FIRSTBIT_HI ] = "firstbit_hi", + [VKD3DSIH_FIRSTBIT_LO ] = "firstbit_lo", + [VKD3DSIH_FIRSTBIT_SHI ] = "firstbit_shi", + [VKD3DSIH_FRC ] = "frc", + [VKD3DSIH_FTOD ] = "ftod", + [VKD3DSIH_FTOI ] = "ftoi", + [VKD3DSIH_FTOU ] = "ftou", + [VKD3DSIH_GATHER4 ] = "gather4", + [VKD3DSIH_GATHER4_C ] = "gather4_c", + [VKD3DSIH_GATHER4_PO ] = "gather4_po", + [VKD3DSIH_GATHER4_PO_C ] = "gather4_po_c", + [VKD3DSIH_GE ] = "ge", + [VKD3DSIH_HS_CONTROL_POINT_PHASE ] = "hs_control_point_phase", + [VKD3DSIH_HS_DECLS ] = "hs_decls", + [VKD3DSIH_HS_FORK_PHASE ] = "hs_fork_phase", + [VKD3DSIH_HS_JOIN_PHASE ] = "hs_join_phase", + [VKD3DSIH_IADD ] = "iadd", + [VKD3DSIH_IBFE ] = "ibfe", + [VKD3DSIH_IEQ ] = "ieq", + [VKD3DSIH_IF ] = "if", + [VKD3DSIH_IFC ] = "ifc", + [VKD3DSIH_IGE ] = "ige", + [VKD3DSIH_ILT ] = "ilt", + [VKD3DSIH_IMAD ] = "imad", + [VKD3DSIH_IMAX ] = "imax", + [VKD3DSIH_IMIN ] = "imin", + [VKD3DSIH_IMM_ATOMIC_ALLOC ] = "imm_atomic_alloc", + [VKD3DSIH_IMM_ATOMIC_AND ] = "imm_atomic_and", + [VKD3DSIH_IMM_ATOMIC_CMP_EXCH ] = "imm_atomic_cmp_exch", + [VKD3DSIH_IMM_ATOMIC_CONSUME ] = "imm_atomic_consume", + [VKD3DSIH_IMM_ATOMIC_EXCH ] = "imm_atomic_exch", + [VKD3DSIH_IMM_ATOMIC_IADD ] = "imm_atomic_iadd", + [VKD3DSIH_IMM_ATOMIC_IMAX ] = "imm_atomic_imax", + [VKD3DSIH_IMM_ATOMIC_IMIN ] = "imm_atomic_imin", + [VKD3DSIH_IMM_ATOMIC_OR ] = "imm_atomic_or", + [VKD3DSIH_IMM_ATOMIC_UMAX ] = "imm_atomic_umax", + [VKD3DSIH_IMM_ATOMIC_UMIN ] = "imm_atomic_umin", + [VKD3DSIH_IMM_ATOMIC_XOR ] = "imm_atomic_xor", + [VKD3DSIH_IMUL ] = "imul", + [VKD3DSIH_INE ] = "ine", + [VKD3DSIH_INEG ] = "ineg", + [VKD3DSIH_ISHL ] = "ishl", + [VKD3DSIH_ISHR ] = "ishr", + [VKD3DSIH_ITOD ] = "itod", + [VKD3DSIH_ITOF ] = "itof", + [VKD3DSIH_LABEL ] = "label", + [VKD3DSIH_LD ] = "ld", + [VKD3DSIH_LD2DMS ] = "ld2dms", + [VKD3DSIH_LD_RAW ] = "ld_raw", + [VKD3DSIH_LD_STRUCTURED ] = "ld_structured", + [VKD3DSIH_LD_UAV_TYPED ] = "ld_uav_typed", + [VKD3DSIH_LIT ] = "lit", + [VKD3DSIH_LOD ] = "lod", + [VKD3DSIH_LOG ] = "log", + [VKD3DSIH_LOGP ] = "logp", + [VKD3DSIH_LOOP ] = "loop", + [VKD3DSIH_LRP ] = "lrp", + [VKD3DSIH_LT ] = "lt", + [VKD3DSIH_M3x2 ] = "m3x2", + [VKD3DSIH_M3x3 ] = "m3x3", + [VKD3DSIH_M3x4 ] = "m3x4", + [VKD3DSIH_M4x3 ] = "m4x3", + [VKD3DSIH_M4x4 ] = "m4x4", + [VKD3DSIH_MAD ] = "mad", + [VKD3DSIH_MAX ] = "max", + [VKD3DSIH_MIN ] = "min", + [VKD3DSIH_MOV ] = "mov", + [VKD3DSIH_MOVA ] = "mova", + [VKD3DSIH_MOVC ] = "movc", + [VKD3DSIH_MUL ] = "mul", + [VKD3DSIH_NE ] = "ne", + [VKD3DSIH_NOP ] = "nop", + [VKD3DSIH_NOT ] = "not", + [VKD3DSIH_NRM ] = "nrm", + [VKD3DSIH_OR ] = "or", + [VKD3DSIH_PHASE ] = "phase", + [VKD3DSIH_POW ] = "pow", + [VKD3DSIH_RCP ] = "rcp", + [VKD3DSIH_REP ] = "rep", + [VKD3DSIH_RESINFO ] = "resinfo", + [VKD3DSIH_RET ] = "ret", + [VKD3DSIH_RETP ] = "retp", + [VKD3DSIH_ROUND_NE ] = "round_ne", + [VKD3DSIH_ROUND_NI ] = "round_ni", + [VKD3DSIH_ROUND_PI ] = "round_pi", + [VKD3DSIH_ROUND_Z ] = "round_z", + [VKD3DSIH_RSQ ] = "rsq", + [VKD3DSIH_SAMPLE ] = "sample", + [VKD3DSIH_SAMPLE_B ] = "sample_b", + [VKD3DSIH_SAMPLE_C ] = "sample_c", + [VKD3DSIH_SAMPLE_C_LZ ] = "sample_c_lz", + [VKD3DSIH_SAMPLE_GRAD ] = "sample_d", + [VKD3DSIH_SAMPLE_INFO ] = "sample_info", + [VKD3DSIH_SAMPLE_LOD ] = "sample_l", + [VKD3DSIH_SAMPLE_POS ] = "sample_pos", + [VKD3DSIH_SETP ] = "setp", + [VKD3DSIH_SGE ] = "sge", + [VKD3DSIH_SGN ] = "sgn", + [VKD3DSIH_SINCOS ] = "sincos", + [VKD3DSIH_SLT ] = "slt", + [VKD3DSIH_SQRT ] = "sqrt", + [VKD3DSIH_STORE_RAW ] = "store_raw", + [VKD3DSIH_STORE_STRUCTURED ] = "store_structured", + [VKD3DSIH_STORE_UAV_TYPED ] = "store_uav_typed", + [VKD3DSIH_SUB ] = "sub", + [VKD3DSIH_SWAPC ] = "swapc", + [VKD3DSIH_SWITCH ] = "switch", + [VKD3DSIH_SYNC ] = "sync", + [VKD3DSIH_TEX ] = "texld", + [VKD3DSIH_TEXBEM ] = "texbem", + [VKD3DSIH_TEXBEML ] = "texbeml", + [VKD3DSIH_TEXCOORD ] = "texcrd", + [VKD3DSIH_TEXDEPTH ] = "texdepth", + [VKD3DSIH_TEXDP3 ] = "texdp3", + [VKD3DSIH_TEXDP3TEX ] = "texdp3tex", + [VKD3DSIH_TEXKILL ] = "texkill", + [VKD3DSIH_TEXLDD ] = "texldd", + [VKD3DSIH_TEXLDL ] = "texldl", + [VKD3DSIH_TEXM3x2DEPTH ] = "texm3x2depth", + [VKD3DSIH_TEXM3x2PAD ] = "texm3x2pad", + [VKD3DSIH_TEXM3x2TEX ] = "texm3x2tex", + [VKD3DSIH_TEXM3x3 ] = "texm3x3", + [VKD3DSIH_TEXM3x3DIFF ] = "texm3x3diff", + [VKD3DSIH_TEXM3x3PAD ] = "texm3x3pad", + [VKD3DSIH_TEXM3x3SPEC ] = "texm3x3spec", + [VKD3DSIH_TEXM3x3TEX ] = "texm3x3tex", + [VKD3DSIH_TEXM3x3VSPEC ] = "texm3x3vspec", + [VKD3DSIH_TEXREG2AR ] = "texreg2ar", + [VKD3DSIH_TEXREG2GB ] = "texreg2gb", + [VKD3DSIH_TEXREG2RGB ] = "texreg2rgb", + [VKD3DSIH_UBFE ] = "ubfe", + [VKD3DSIH_UDIV ] = "udiv", + [VKD3DSIH_UGE ] = "uge", + [VKD3DSIH_ULT ] = "ult", + [VKD3DSIH_UMAX ] = "umax", + [VKD3DSIH_UMIN ] = "umin", + [VKD3DSIH_UMUL ] = "umul", + [VKD3DSIH_USHR ] = "ushr", + [VKD3DSIH_UTOD ] = "utod", + [VKD3DSIH_UTOF ] = "utof", + [VKD3DSIH_XOR ] = "xor", };
static const struct
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- libs/vkd3d-shader/dxbc.c | 20 +++++++++++++++++++- libs/vkd3d-shader/trace.c | 16 ++++++++++++++++ libs/vkd3d-shader/vkd3d_shader_private.h | 16 ++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c index be7608661..a8a387bfd 100644 --- a/libs/vkd3d-shader/dxbc.c +++ b/libs/vkd3d-shader/dxbc.c @@ -91,7 +91,7 @@ struct vkd3d_shader_sm4_parser
unsigned int output_map[MAX_REG_OUTPUT];
- struct vkd3d_shader_src_param src_param[5]; + struct vkd3d_shader_src_param src_param[6]; struct vkd3d_shader_dst_param dst_param[2]; struct list src_free; struct list src; @@ -894,6 +894,22 @@ static const struct vkd3d_sm4_opcode_info opcode_table[] = {VKD3D_SM5_OP_DTOU, VKD3DSIH_DTOU, "u", "d"}, {VKD3D_SM5_OP_ITOD, VKD3DSIH_ITOD, "d", "i"}, {VKD3D_SM5_OP_UTOD, VKD3DSIH_UTOD, "d", "u"}, + {VKD3D_SM5_OP_GATHER4_S, VKD3DSIH_GATHER4_S, "uu", "fRS"}, + {VKD3D_SM5_OP_GATHER4_C_S, VKD3DSIH_GATHER4_C_S, "fu", "fRSf"}, + {VKD3D_SM5_OP_GATHER4_PO_S, VKD3DSIH_GATHER4_PO_S, "fu", "fiRS"}, + {VKD3D_SM5_OP_GATHER4_PO_C_S, VKD3DSIH_GATHER4_PO_C_S, "fu", "fiRSf"}, + {VKD3D_SM5_OP_LD_S, VKD3DSIH_LD_S, "uu", "iR"}, + {VKD3D_SM5_OP_LD2DMS_S, VKD3DSIH_LD2DMS_S, "uu", "iRi"}, + {VKD3D_SM5_OP_LD_UAV_TYPED_S, VKD3DSIH_LD_UAV_TYPED_S, "uu", "iU"}, + {VKD3D_SM5_OP_LD_RAW_S, VKD3DSIH_LD_RAW_S, "uu", "iU"}, + {VKD3D_SM5_OP_LD_STRUCTURED_S, VKD3DSIH_LD_STRUCTURED_S, "uu", "iiR"}, + {VKD3D_SM5_OP_SAMPLE_LOD_S, VKD3DSIH_SAMPLE_LOD_S, "uu", "fRSf"}, + {VKD3D_SM5_OP_SAMPLE_C_LZ_S, VKD3DSIH_SAMPLE_C_LZ_S, "fu", "fRSf"}, + {VKD3D_SM5_OP_SAMPLE_CL_S, VKD3DSIH_SAMPLE_CL_S, "uu", "fRSf"}, + {VKD3D_SM5_OP_SAMPLE_B_CL_S, VKD3DSIH_SAMPLE_B_CL_S, "uu", "fRSff"}, + {VKD3D_SM5_OP_SAMPLE_GRAD_CL_S, VKD3DSIH_SAMPLE_GRAD_CL_S, "uu", "fRSfff"}, + {VKD3D_SM5_OP_SAMPLE_C_CL_S, VKD3DSIH_SAMPLE_C_CL_S, "fu", "fRSff"}, + {VKD3D_SM5_OP_CHECK_ACCESS_FULLY_MAPPED, VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED, "u", "u"}, };
static const enum vkd3d_shader_register_type register_type_table[] = @@ -1602,6 +1618,8 @@ static void shader_sm4_read_instruction(struct vkd3d_shader_parser *parser, stru ins->dst = sm4->dst_param; ins->src_count = strlen(opcode_info->src_info); ins->src = sm4->src_param; + assert(ins->dst_count <= ARRAY_SIZE(sm4->dst_param)); + assert(ins->src_count <= ARRAY_SIZE(sm4->src_param)); ins->resource_type = VKD3D_SHADER_RESOURCE_NONE; ins->resource_stride = 0; ins->resource_data_type[0] = VKD3D_DATA_FLOAT; diff --git a/libs/vkd3d-shader/trace.c b/libs/vkd3d-shader/trace.c index e4a1884cf..f6ecf9e27 100644 --- a/libs/vkd3d-shader/trace.c +++ b/libs/vkd3d-shader/trace.c @@ -51,6 +51,7 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_CALL ] = "call", [VKD3DSIH_CALLNZ ] = "callnz", [VKD3DSIH_CASE ] = "case", + [VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED ] = "check_access_fully_mapped", [VKD3DSIH_CMP ] = "cmp", [VKD3DSIH_CND ] = "cnd", [VKD3DSIH_CONTINUE ] = "continue", @@ -155,8 +156,12 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_FTOU ] = "ftou", [VKD3DSIH_GATHER4 ] = "gather4", [VKD3DSIH_GATHER4_C ] = "gather4_c", + [VKD3DSIH_GATHER4_C_S ] = "gather4_c_s", [VKD3DSIH_GATHER4_PO ] = "gather4_po", [VKD3DSIH_GATHER4_PO_C ] = "gather4_po_c", + [VKD3DSIH_GATHER4_PO_C_S ] = "gather4_po_c_s", + [VKD3DSIH_GATHER4_PO_S ] = "gather4_po_s", + [VKD3DSIH_GATHER4_S ] = "gather4_s", [VKD3DSIH_GE ] = "ge", [VKD3DSIH_HS_CONTROL_POINT_PHASE ] = "hs_control_point_phase", [VKD3DSIH_HS_DECLS ] = "hs_decls", @@ -194,9 +199,14 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_LABEL ] = "label", [VKD3DSIH_LD ] = "ld", [VKD3DSIH_LD2DMS ] = "ld2dms", + [VKD3DSIH_LD2DMS_S ] = "ld2dms_s", [VKD3DSIH_LD_RAW ] = "ld_raw", + [VKD3DSIH_LD_RAW_S ] = "ld_raw_s", + [VKD3DSIH_LD_S ] = "ld_s", [VKD3DSIH_LD_STRUCTURED ] = "ld_structured", + [VKD3DSIH_LD_STRUCTURED_S ] = "ld_structured_s", [VKD3DSIH_LD_UAV_TYPED ] = "ld_uav_typed", + [VKD3DSIH_LD_UAV_TYPED_S ] = "ld_uav_typed_s", [VKD3DSIH_LIT ] = "lit", [VKD3DSIH_LOD ] = "lod", [VKD3DSIH_LOG ] = "log", @@ -235,11 +245,17 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_RSQ ] = "rsq", [VKD3DSIH_SAMPLE ] = "sample", [VKD3DSIH_SAMPLE_B ] = "sample_b", + [VKD3DSIH_SAMPLE_B_CL_S ] = "sample_b_cl_s", [VKD3DSIH_SAMPLE_C ] = "sample_c", + [VKD3DSIH_SAMPLE_C_CL_S ] = "sample_c_cl_s", [VKD3DSIH_SAMPLE_C_LZ ] = "sample_c_lz", + [VKD3DSIH_SAMPLE_C_LZ_S ] = "sample_c_lz_s", + [VKD3DSIH_SAMPLE_CL_S ] = "sample_cl_s", [VKD3DSIH_SAMPLE_GRAD ] = "sample_d", + [VKD3DSIH_SAMPLE_GRAD_CL_S ] = "sample_d_cl_s", [VKD3DSIH_SAMPLE_INFO ] = "sample_info", [VKD3DSIH_SAMPLE_LOD ] = "sample_l", + [VKD3DSIH_SAMPLE_LOD_S ] = "sample_l_s", [VKD3DSIH_SAMPLE_POS ] = "sample_pos", [VKD3DSIH_SETP ] = "setp", [VKD3DSIH_SGE ] = "sge", diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h index ec4582739..d59557971 100644 --- a/libs/vkd3d-shader/vkd3d_shader_private.h +++ b/libs/vkd3d-shader/vkd3d_shader_private.h @@ -151,6 +151,7 @@ enum vkd3d_shader_opcode VKD3DSIH_CALL, VKD3DSIH_CALLNZ, VKD3DSIH_CASE, + VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED, VKD3DSIH_CMP, VKD3DSIH_CND, VKD3DSIH_CONTINUE, @@ -255,8 +256,12 @@ enum vkd3d_shader_opcode VKD3DSIH_FTOU, VKD3DSIH_GATHER4, VKD3DSIH_GATHER4_C, + VKD3DSIH_GATHER4_C_S, VKD3DSIH_GATHER4_PO, VKD3DSIH_GATHER4_PO_C, + VKD3DSIH_GATHER4_PO_C_S, + VKD3DSIH_GATHER4_PO_S, + VKD3DSIH_GATHER4_S, VKD3DSIH_GE, VKD3DSIH_HS_CONTROL_POINT_PHASE, VKD3DSIH_HS_DECLS, @@ -294,9 +299,14 @@ enum vkd3d_shader_opcode VKD3DSIH_LABEL, VKD3DSIH_LD, VKD3DSIH_LD2DMS, + VKD3DSIH_LD2DMS_S, VKD3DSIH_LD_RAW, + VKD3DSIH_LD_RAW_S, + VKD3DSIH_LD_S, VKD3DSIH_LD_STRUCTURED, + VKD3DSIH_LD_STRUCTURED_S, VKD3DSIH_LD_UAV_TYPED, + VKD3DSIH_LD_UAV_TYPED_S, VKD3DSIH_LIT, VKD3DSIH_LOD, VKD3DSIH_LOG, @@ -335,11 +345,17 @@ enum vkd3d_shader_opcode VKD3DSIH_RSQ, VKD3DSIH_SAMPLE, VKD3DSIH_SAMPLE_B, + VKD3DSIH_SAMPLE_B_CL_S, VKD3DSIH_SAMPLE_C, + VKD3DSIH_SAMPLE_C_CL_S, VKD3DSIH_SAMPLE_C_LZ, + VKD3DSIH_SAMPLE_C_LZ_S, + VKD3DSIH_SAMPLE_CL_S, VKD3DSIH_SAMPLE_GRAD, + VKD3DSIH_SAMPLE_GRAD_CL_S, VKD3DSIH_SAMPLE_INFO, VKD3DSIH_SAMPLE_LOD, + VKD3DSIH_SAMPLE_LOD_S, VKD3DSIH_SAMPLE_POS, VKD3DSIH_SETP, VKD3DSIH_SGE,
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
On Tue, 11 Jan 2022 at 02:04, Zebediah Figura zfigura@codeweavers.com wrote:
Signed-off-by: Zebediah Figura zfigura@codeweavers.com
libs/vkd3d-shader/dxbc.c | 20 +++++++++++++++++++- libs/vkd3d-shader/trace.c | 16 ++++++++++++++++ libs/vkd3d-shader/vkd3d_shader_private.h | 16 ++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-)
We tend to just split things like this per instruction; it's a little nicer to review.
Signed-off-by: Giovanni Mascellani gmascellani@codeweavers.com
Il 11/01/22 02:03, Zebediah Figura ha scritto:
Signed-off-by: Zebediah Figura zfigura@codeweavers.com
libs/vkd3d-shader/dxbc.c | 20 +++++++++++++++++++- libs/vkd3d-shader/trace.c | 16 ++++++++++++++++ libs/vkd3d-shader/vkd3d_shader_private.h | 16 ++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c index be7608661..a8a387bfd 100644 --- a/libs/vkd3d-shader/dxbc.c +++ b/libs/vkd3d-shader/dxbc.c @@ -91,7 +91,7 @@ struct vkd3d_shader_sm4_parser
unsigned int output_map[MAX_REG_OUTPUT];
- struct vkd3d_shader_src_param src_param[5];
- struct vkd3d_shader_src_param src_param[6]; struct vkd3d_shader_dst_param dst_param[2]; struct list src_free; struct list src;
@@ -894,6 +894,22 @@ static const struct vkd3d_sm4_opcode_info opcode_table[] = {VKD3D_SM5_OP_DTOU, VKD3DSIH_DTOU, "u", "d"}, {VKD3D_SM5_OP_ITOD, VKD3DSIH_ITOD, "d", "i"}, {VKD3D_SM5_OP_UTOD, VKD3DSIH_UTOD, "d", "u"},
{VKD3D_SM5_OP_GATHER4_S, VKD3DSIH_GATHER4_S, "uu", "fRS"},
{VKD3D_SM5_OP_GATHER4_C_S, VKD3DSIH_GATHER4_C_S, "fu", "fRSf"},
{VKD3D_SM5_OP_GATHER4_PO_S, VKD3DSIH_GATHER4_PO_S, "fu", "fiRS"},
{VKD3D_SM5_OP_GATHER4_PO_C_S, VKD3DSIH_GATHER4_PO_C_S, "fu", "fiRSf"},
{VKD3D_SM5_OP_LD_S, VKD3DSIH_LD_S, "uu", "iR"},
{VKD3D_SM5_OP_LD2DMS_S, VKD3DSIH_LD2DMS_S, "uu", "iRi"},
{VKD3D_SM5_OP_LD_UAV_TYPED_S, VKD3DSIH_LD_UAV_TYPED_S, "uu", "iU"},
{VKD3D_SM5_OP_LD_RAW_S, VKD3DSIH_LD_RAW_S, "uu", "iU"},
{VKD3D_SM5_OP_LD_STRUCTURED_S, VKD3DSIH_LD_STRUCTURED_S, "uu", "iiR"},
{VKD3D_SM5_OP_SAMPLE_LOD_S, VKD3DSIH_SAMPLE_LOD_S, "uu", "fRSf"},
{VKD3D_SM5_OP_SAMPLE_C_LZ_S, VKD3DSIH_SAMPLE_C_LZ_S, "fu", "fRSf"},
{VKD3D_SM5_OP_SAMPLE_CL_S, VKD3DSIH_SAMPLE_CL_S, "uu", "fRSf"},
{VKD3D_SM5_OP_SAMPLE_B_CL_S, VKD3DSIH_SAMPLE_B_CL_S, "uu", "fRSff"},
{VKD3D_SM5_OP_SAMPLE_GRAD_CL_S, VKD3DSIH_SAMPLE_GRAD_CL_S, "uu", "fRSfff"},
{VKD3D_SM5_OP_SAMPLE_C_CL_S, VKD3DSIH_SAMPLE_C_CL_S, "fu", "fRSff"},
{VKD3D_SM5_OP_CHECK_ACCESS_FULLY_MAPPED, VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED, "u", "u"}, };
static const enum vkd3d_shader_register_type register_type_table[] =
@@ -1602,6 +1618,8 @@ static void shader_sm4_read_instruction(struct vkd3d_shader_parser *parser, stru ins->dst = sm4->dst_param; ins->src_count = strlen(opcode_info->src_info); ins->src = sm4->src_param;
- assert(ins->dst_count <= ARRAY_SIZE(sm4->dst_param));
- assert(ins->src_count <= ARRAY_SIZE(sm4->src_param)); ins->resource_type = VKD3D_SHADER_RESOURCE_NONE; ins->resource_stride = 0; ins->resource_data_type[0] = VKD3D_DATA_FLOAT;
diff --git a/libs/vkd3d-shader/trace.c b/libs/vkd3d-shader/trace.c index e4a1884cf..f6ecf9e27 100644 --- a/libs/vkd3d-shader/trace.c +++ b/libs/vkd3d-shader/trace.c @@ -51,6 +51,7 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_CALL ] = "call", [VKD3DSIH_CALLNZ ] = "callnz", [VKD3DSIH_CASE ] = "case",
- [VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED ] = "check_access_fully_mapped", [VKD3DSIH_CMP ] = "cmp", [VKD3DSIH_CND ] = "cnd", [VKD3DSIH_CONTINUE ] = "continue",
@@ -155,8 +156,12 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_FTOU ] = "ftou", [VKD3DSIH_GATHER4 ] = "gather4", [VKD3DSIH_GATHER4_C ] = "gather4_c",
- [VKD3DSIH_GATHER4_C_S ] = "gather4_c_s", [VKD3DSIH_GATHER4_PO ] = "gather4_po", [VKD3DSIH_GATHER4_PO_C ] = "gather4_po_c",
- [VKD3DSIH_GATHER4_PO_C_S ] = "gather4_po_c_s",
- [VKD3DSIH_GATHER4_PO_S ] = "gather4_po_s",
- [VKD3DSIH_GATHER4_S ] = "gather4_s", [VKD3DSIH_GE ] = "ge", [VKD3DSIH_HS_CONTROL_POINT_PHASE ] = "hs_control_point_phase", [VKD3DSIH_HS_DECLS ] = "hs_decls",
@@ -194,9 +199,14 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_LABEL ] = "label", [VKD3DSIH_LD ] = "ld", [VKD3DSIH_LD2DMS ] = "ld2dms",
- [VKD3DSIH_LD2DMS_S ] = "ld2dms_s", [VKD3DSIH_LD_RAW ] = "ld_raw",
- [VKD3DSIH_LD_RAW_S ] = "ld_raw_s",
- [VKD3DSIH_LD_S ] = "ld_s", [VKD3DSIH_LD_STRUCTURED ] = "ld_structured",
- [VKD3DSIH_LD_STRUCTURED_S ] = "ld_structured_s", [VKD3DSIH_LD_UAV_TYPED ] = "ld_uav_typed",
- [VKD3DSIH_LD_UAV_TYPED_S ] = "ld_uav_typed_s", [VKD3DSIH_LIT ] = "lit", [VKD3DSIH_LOD ] = "lod", [VKD3DSIH_LOG ] = "log",
@@ -235,11 +245,17 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_RSQ ] = "rsq", [VKD3DSIH_SAMPLE ] = "sample", [VKD3DSIH_SAMPLE_B ] = "sample_b",
- [VKD3DSIH_SAMPLE_B_CL_S ] = "sample_b_cl_s", [VKD3DSIH_SAMPLE_C ] = "sample_c",
- [VKD3DSIH_SAMPLE_C_CL_S ] = "sample_c_cl_s", [VKD3DSIH_SAMPLE_C_LZ ] = "sample_c_lz",
- [VKD3DSIH_SAMPLE_C_LZ_S ] = "sample_c_lz_s",
- [VKD3DSIH_SAMPLE_CL_S ] = "sample_cl_s", [VKD3DSIH_SAMPLE_GRAD ] = "sample_d",
- [VKD3DSIH_SAMPLE_GRAD_CL_S ] = "sample_d_cl_s", [VKD3DSIH_SAMPLE_INFO ] = "sample_info", [VKD3DSIH_SAMPLE_LOD ] = "sample_l",
- [VKD3DSIH_SAMPLE_LOD_S ] = "sample_l_s", [VKD3DSIH_SAMPLE_POS ] = "sample_pos", [VKD3DSIH_SETP ] = "setp", [VKD3DSIH_SGE ] = "sge",
diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h index ec4582739..d59557971 100644 --- a/libs/vkd3d-shader/vkd3d_shader_private.h +++ b/libs/vkd3d-shader/vkd3d_shader_private.h @@ -151,6 +151,7 @@ enum vkd3d_shader_opcode VKD3DSIH_CALL, VKD3DSIH_CALLNZ, VKD3DSIH_CASE,
- VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED, VKD3DSIH_CMP, VKD3DSIH_CND, VKD3DSIH_CONTINUE,
@@ -255,8 +256,12 @@ enum vkd3d_shader_opcode VKD3DSIH_FTOU, VKD3DSIH_GATHER4, VKD3DSIH_GATHER4_C,
- VKD3DSIH_GATHER4_C_S, VKD3DSIH_GATHER4_PO, VKD3DSIH_GATHER4_PO_C,
- VKD3DSIH_GATHER4_PO_C_S,
- VKD3DSIH_GATHER4_PO_S,
- VKD3DSIH_GATHER4_S, VKD3DSIH_GE, VKD3DSIH_HS_CONTROL_POINT_PHASE, VKD3DSIH_HS_DECLS,
@@ -294,9 +299,14 @@ enum vkd3d_shader_opcode VKD3DSIH_LABEL, VKD3DSIH_LD, VKD3DSIH_LD2DMS,
- VKD3DSIH_LD2DMS_S, VKD3DSIH_LD_RAW,
- VKD3DSIH_LD_RAW_S,
- VKD3DSIH_LD_S, VKD3DSIH_LD_STRUCTURED,
- VKD3DSIH_LD_STRUCTURED_S, VKD3DSIH_LD_UAV_TYPED,
- VKD3DSIH_LD_UAV_TYPED_S, VKD3DSIH_LIT, VKD3DSIH_LOD, VKD3DSIH_LOG,
@@ -335,11 +345,17 @@ enum vkd3d_shader_opcode VKD3DSIH_RSQ, VKD3DSIH_SAMPLE, VKD3DSIH_SAMPLE_B,
- VKD3DSIH_SAMPLE_B_CL_S, VKD3DSIH_SAMPLE_C,
- VKD3DSIH_SAMPLE_C_CL_S, VKD3DSIH_SAMPLE_C_LZ,
- VKD3DSIH_SAMPLE_C_LZ_S,
- VKD3DSIH_SAMPLE_CL_S, VKD3DSIH_SAMPLE_GRAD,
- VKD3DSIH_SAMPLE_GRAD_CL_S, VKD3DSIH_SAMPLE_INFO, VKD3DSIH_SAMPLE_LOD,
- VKD3DSIH_SAMPLE_LOD_S, VKD3DSIH_SAMPLE_POS, VKD3DSIH_SETP, VKD3DSIH_SGE,
Signed-off-by: Giovanni Mascellani gmascellani@codeweavers.com --- (but I don't like the spaces between the identifier and the "]" :-P )
Il 11/01/22 02:03, Zebediah Figura ha scritto:
Signed-off-by: Zebediah Figura zfigura@codeweavers.com
libs/vkd3d-shader/trace.c | 516 +++++++++++++++++++------------------- 1 file changed, 258 insertions(+), 258 deletions(-)
diff --git a/libs/vkd3d-shader/trace.c b/libs/vkd3d-shader/trace.c index 1250503fa..e4a1884cf 100644 --- a/libs/vkd3d-shader/trace.c +++ b/libs/vkd3d-shader/trace.c @@ -29,264 +29,264 @@
static const char * const shader_opcode_names[] = {
- /* VKD3DSIH_ABS */ "abs",
- /* VKD3DSIH_ADD */ "add",
- /* VKD3DSIH_AND */ "and",
- /* VKD3DSIH_ATOMIC_AND */ "atomic_and",
- /* VKD3DSIH_ATOMIC_CMP_STORE */ "atomic_cmp_store",
- /* VKD3DSIH_ATOMIC_IADD */ "atomic_iadd",
- /* VKD3DSIH_ATOMIC_IMAX */ "atomic_imax",
- /* VKD3DSIH_ATOMIC_IMIN */ "atomic_imin",
- /* VKD3DSIH_ATOMIC_OR */ "atomic_or",
- /* VKD3DSIH_ATOMIC_UMAX */ "atomic_umax",
- /* VKD3DSIH_ATOMIC_UMIN */ "atomic_umin",
- /* VKD3DSIH_ATOMIC_XOR */ "atomic_xor",
- /* VKD3DSIH_BEM */ "bem",
- /* VKD3DSIH_BFI */ "bfi",
- /* VKD3DSIH_BFREV */ "bfrev",
- /* VKD3DSIH_BREAK */ "break",
- /* VKD3DSIH_BREAKC */ "breakc",
- /* VKD3DSIH_BREAKP */ "breakp",
- /* VKD3DSIH_BUFINFO */ "bufinfo",
- /* VKD3DSIH_CALL */ "call",
- /* VKD3DSIH_CALLNZ */ "callnz",
- /* VKD3DSIH_CASE */ "case",
- /* VKD3DSIH_CMP */ "cmp",
- /* VKD3DSIH_CND */ "cnd",
- /* VKD3DSIH_CONTINUE */ "continue",
- /* VKD3DSIH_CONTINUEP */ "continuec",
- /* VKD3DSIH_COUNTBITS */ "countbits",
- /* VKD3DSIH_CRS */ "crs",
- /* VKD3DSIH_CUT */ "cut",
- /* VKD3DSIH_CUT_STREAM */ "cut_stream",
- /* VKD3DSIH_DADD */ "dadd",
- /* VKD3DSIH_DCL */ "dcl",
- /* VKD3DSIH_DCL_CONSTANT_BUFFER */ "dcl_constantBuffer",
- /* VKD3DSIH_DCL_FUNCTION_BODY */ "dcl_function_body",
- /* VKD3DSIH_DCL_FUNCTION_TABLE */ "dcl_function_table",
- /* VKD3DSIH_DCL_GLOBAL_FLAGS */ "dcl_globalFlags",
- /* VKD3DSIH_DCL_GS_INSTANCES */ "dcl_gs_instances",
- /* VKD3DSIH_DCL_HS_FORK_PHASE_INSTANCE_COUNT */ "dcl_hs_fork_phase_instance_count",
- /* VKD3DSIH_DCL_HS_JOIN_PHASE_INSTANCE_COUNT */ "dcl_hs_join_phase_instance_count",
- /* VKD3DSIH_DCL_HS_MAX_TESSFACTOR */ "dcl_hs_max_tessfactor",
- /* VKD3DSIH_DCL_IMMEDIATE_CONSTANT_BUFFER */ "dcl_immediateConstantBuffer",
- /* VKD3DSIH_DCL_INDEX_RANGE */ "dcl_index_range",
- /* VKD3DSIH_DCL_INDEXABLE_TEMP */ "dcl_indexableTemp",
- /* VKD3DSIH_DCL_INPUT */ "dcl_input",
- /* VKD3DSIH_DCL_INPUT_CONTROL_POINT_COUNT */ "dcl_input_control_point_count",
- /* VKD3DSIH_DCL_INPUT_PRIMITIVE */ "dcl_inputPrimitive",
- /* VKD3DSIH_DCL_INPUT_PS */ "dcl_input_ps",
- /* VKD3DSIH_DCL_INPUT_PS_SGV */ "dcl_input_ps_sgv",
- /* VKD3DSIH_DCL_INPUT_PS_SIV */ "dcl_input_ps_siv",
- /* VKD3DSIH_DCL_INPUT_SGV */ "dcl_input_sgv",
- /* VKD3DSIH_DCL_INPUT_SIV */ "dcl_input_siv",
- /* VKD3DSIH_DCL_INTERFACE */ "dcl_interface",
- /* VKD3DSIH_DCL_OUTPUT */ "dcl_output",
- /* VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT */ "dcl_output_control_point_count",
- /* VKD3DSIH_DCL_OUTPUT_SIV */ "dcl_output_siv",
- /* VKD3DSIH_DCL_OUTPUT_TOPOLOGY */ "dcl_outputTopology",
- /* VKD3DSIH_DCL_RESOURCE_RAW */ "dcl_resource_raw",
- /* VKD3DSIH_DCL_RESOURCE_STRUCTURED */ "dcl_resource_structured",
- /* VKD3DSIH_DCL_SAMPLER */ "dcl_sampler",
- /* VKD3DSIH_DCL_STREAM */ "dcl_stream",
- /* VKD3DSIH_DCL_TEMPS */ "dcl_temps",
- /* VKD3DSIH_DCL_TESSELLATOR_DOMAIN */ "dcl_tessellator_domain",
- /* VKD3DSIH_DCL_TESSELLATOR_OUTPUT_PRIMITIVE */ "dcl_tessellator_output_primitive",
- /* VKD3DSIH_DCL_TESSELLATOR_PARTITIONING */ "dcl_tessellator_partitioning",
- /* VKD3DSIH_DCL_TGSM_RAW */ "dcl_tgsm_raw",
- /* VKD3DSIH_DCL_TGSM_STRUCTURED */ "dcl_tgsm_structured",
- /* VKD3DSIH_DCL_THREAD_GROUP */ "dcl_thread_group",
- /* VKD3DSIH_DCL_UAV_RAW */ "dcl_uav_raw",
- /* VKD3DSIH_DCL_UAV_STRUCTURED */ "dcl_uav_structured",
- /* VKD3DSIH_DCL_UAV_TYPED */ "dcl_uav_typed",
- /* VKD3DSIH_DCL_VERTICES_OUT */ "dcl_maxOutputVertexCount",
- /* VKD3DSIH_DDIV */ "ddiv",
- /* VKD3DSIH_DEF */ "def",
- /* VKD3DSIH_DEFAULT */ "default",
- /* VKD3DSIH_DEFB */ "defb",
- /* VKD3DSIH_DEFI */ "defi",
- /* VKD3DSIH_DEQ */ "deq",
- /* VKD3DSIH_DFMA */ "dfma",
- /* VKD3DSIH_DGE */ "dge",
- /* VKD3DSIH_DIV */ "div",
- /* VKD3DSIH_DLT */ "dlt",
- /* VKD3DSIH_DMAX */ "dmax",
- /* VKD3DSIH_DMIN */ "dmin",
- /* VKD3DSIH_DMOV */ "dmov",
- /* VKD3DSIH_DMOVC */ "dmovc",
- /* VKD3DSIH_DMUL */ "dmul",
- /* VKD3DSIH_DNE */ "dne",
- /* VKD3DSIH_DP2 */ "dp2",
- /* VKD3DSIH_DP2ADD */ "dp2add",
- /* VKD3DSIH_DP3 */ "dp3",
- /* VKD3DSIH_DP4 */ "dp4",
- /* VKD3DSIH_DRCP */ "drcp",
- /* VKD3DSIH_DST */ "dst",
- /* VKD3DSIH_DSX */ "dsx",
- /* VKD3DSIH_DSX_COARSE */ "deriv_rtx_coarse",
- /* VKD3DSIH_DSX_FINE */ "deriv_rtx_fine",
- /* VKD3DSIH_DSY */ "dsy",
- /* VKD3DSIH_DSY_COARSE */ "deriv_rty_coarse",
- /* VKD3DSIH_DSY_FINE */ "deriv_rty_fine",
- /* VKD3DSIH_DTOF */ "dtof",
- /* VKD3DSIH_DTOI */ "dtoi",
- /* VKD3DSIH_DTOU */ "dtou",
- /* VKD3DSIH_ELSE */ "else",
- /* VKD3DSIH_EMIT */ "emit",
- /* VKD3DSIH_EMIT_STREAM */ "emit_stream",
- /* VKD3DSIH_ENDIF */ "endif",
- /* VKD3DSIH_ENDLOOP */ "endloop",
- /* VKD3DSIH_ENDREP */ "endrep",
- /* VKD3DSIH_ENDSWITCH */ "endswitch",
- /* VKD3DSIH_EQ */ "eq",
- /* VKD3DSIH_EVAL_CENTROID */ "eval_centroid",
- /* VKD3DSIH_EVAL_SAMPLE_INDEX */ "eval_sample_index",
- /* VKD3DSIH_EXP */ "exp",
- /* VKD3DSIH_EXPP */ "expp",
- /* VKD3DSIH_F16TOF32 */ "f16tof32",
- /* VKD3DSIH_F32TOF16 */ "f32tof16",
- /* VKD3DSIH_FCALL */ "fcall",
- /* VKD3DSIH_FIRSTBIT_HI */ "firstbit_hi",
- /* VKD3DSIH_FIRSTBIT_LO */ "firstbit_lo",
- /* VKD3DSIH_FIRSTBIT_SHI */ "firstbit_shi",
- /* VKD3DSIH_FRC */ "frc",
- /* VKD3DSIH_FTOD */ "ftod",
- /* VKD3DSIH_FTOI */ "ftoi",
- /* VKD3DSIH_FTOU */ "ftou",
- /* VKD3DSIH_GATHER4 */ "gather4",
- /* VKD3DSIH_GATHER4_C */ "gather4_c",
- /* VKD3DSIH_GATHER4_PO */ "gather4_po",
- /* VKD3DSIH_GATHER4_PO_C */ "gather4_po_c",
- /* VKD3DSIH_GE */ "ge",
- /* VKD3DSIH_HS_CONTROL_POINT_PHASE */ "hs_control_point_phase",
- /* VKD3DSIH_HS_DECLS */ "hs_decls",
- /* VKD3DSIH_HS_FORK_PHASE */ "hs_fork_phase",
- /* VKD3DSIH_HS_JOIN_PHASE */ "hs_join_phase",
- /* VKD3DSIH_IADD */ "iadd",
- /* VKD3DSIH_IBFE */ "ibfe",
- /* VKD3DSIH_IEQ */ "ieq",
- /* VKD3DSIH_IF */ "if",
- /* VKD3DSIH_IFC */ "ifc",
- /* VKD3DSIH_IGE */ "ige",
- /* VKD3DSIH_ILT */ "ilt",
- /* VKD3DSIH_IMAD */ "imad",
- /* VKD3DSIH_IMAX */ "imax",
- /* VKD3DSIH_IMIN */ "imin",
- /* VKD3DSIH_IMM_ATOMIC_ALLOC */ "imm_atomic_alloc",
- /* VKD3DSIH_IMM_ATOMIC_AND */ "imm_atomic_and",
- /* VKD3DSIH_IMM_ATOMIC_CMP_EXCH */ "imm_atomic_cmp_exch",
- /* VKD3DSIH_IMM_ATOMIC_CONSUME */ "imm_atomic_consume",
- /* VKD3DSIH_IMM_ATOMIC_EXCH */ "imm_atomic_exch",
- /* VKD3DSIH_IMM_ATOMIC_IADD */ "imm_atomic_iadd",
- /* VKD3DSIH_IMM_ATOMIC_IMAX */ "imm_atomic_imax",
- /* VKD3DSIH_IMM_ATOMIC_IMIN */ "imm_atomic_imin",
- /* VKD3DSIH_IMM_ATOMIC_OR */ "imm_atomic_or",
- /* VKD3DSIH_IMM_ATOMIC_UMAX */ "imm_atomic_umax",
- /* VKD3DSIH_IMM_ATOMIC_UMIN */ "imm_atomic_umin",
- /* VKD3DSIH_IMM_ATOMIC_XOR */ "imm_atomic_xor",
- /* VKD3DSIH_IMUL */ "imul",
- /* VKD3DSIH_INE */ "ine",
- /* VKD3DSIH_INEG */ "ineg",
- /* VKD3DSIH_ISHL */ "ishl",
- /* VKD3DSIH_ISHR */ "ishr",
- /* VKD3DSIH_ITOD */ "itod",
- /* VKD3DSIH_ITOF */ "itof",
- /* VKD3DSIH_LABEL */ "label",
- /* VKD3DSIH_LD */ "ld",
- /* VKD3DSIH_LD2DMS */ "ld2dms",
- /* VKD3DSIH_LD_RAW */ "ld_raw",
- /* VKD3DSIH_LD_STRUCTURED */ "ld_structured",
- /* VKD3DSIH_LD_UAV_TYPED */ "ld_uav_typed",
- /* VKD3DSIH_LIT */ "lit",
- /* VKD3DSIH_LOD */ "lod",
- /* VKD3DSIH_LOG */ "log",
- /* VKD3DSIH_LOGP */ "logp",
- /* VKD3DSIH_LOOP */ "loop",
- /* VKD3DSIH_LRP */ "lrp",
- /* VKD3DSIH_LT */ "lt",
- /* VKD3DSIH_M3x2 */ "m3x2",
- /* VKD3DSIH_M3x3 */ "m3x3",
- /* VKD3DSIH_M3x4 */ "m3x4",
- /* VKD3DSIH_M4x3 */ "m4x3",
- /* VKD3DSIH_M4x4 */ "m4x4",
- /* VKD3DSIH_MAD */ "mad",
- /* VKD3DSIH_MAX */ "max",
- /* VKD3DSIH_MIN */ "min",
- /* VKD3DSIH_MOV */ "mov",
- /* VKD3DSIH_MOVA */ "mova",
- /* VKD3DSIH_MOVC */ "movc",
- /* VKD3DSIH_MUL */ "mul",
- /* VKD3DSIH_NE */ "ne",
- /* VKD3DSIH_NOP */ "nop",
- /* VKD3DSIH_NOT */ "not",
- /* VKD3DSIH_NRM */ "nrm",
- /* VKD3DSIH_OR */ "or",
- /* VKD3DSIH_PHASE */ "phase",
- /* VKD3DSIH_POW */ "pow",
- /* VKD3DSIH_RCP */ "rcp",
- /* VKD3DSIH_REP */ "rep",
- /* VKD3DSIH_RESINFO */ "resinfo",
- /* VKD3DSIH_RET */ "ret",
- /* VKD3DSIH_RETP */ "retp",
- /* VKD3DSIH_ROUND_NE */ "round_ne",
- /* VKD3DSIH_ROUND_NI */ "round_ni",
- /* VKD3DSIH_ROUND_PI */ "round_pi",
- /* VKD3DSIH_ROUND_Z */ "round_z",
- /* VKD3DSIH_RSQ */ "rsq",
- /* VKD3DSIH_SAMPLE */ "sample",
- /* VKD3DSIH_SAMPLE_B */ "sample_b",
- /* VKD3DSIH_SAMPLE_C */ "sample_c",
- /* VKD3DSIH_SAMPLE_C_LZ */ "sample_c_lz",
- /* VKD3DSIH_SAMPLE_GRAD */ "sample_d",
- /* VKD3DSIH_SAMPLE_INFO */ "sample_info",
- /* VKD3DSIH_SAMPLE_LOD */ "sample_l",
- /* VKD3DSIH_SAMPLE_POS */ "sample_pos",
- /* VKD3DSIH_SETP */ "setp",
- /* VKD3DSIH_SGE */ "sge",
- /* VKD3DSIH_SGN */ "sgn",
- /* VKD3DSIH_SINCOS */ "sincos",
- /* VKD3DSIH_SLT */ "slt",
- /* VKD3DSIH_SQRT */ "sqrt",
- /* VKD3DSIH_STORE_RAW */ "store_raw",
- /* VKD3DSIH_STORE_STRUCTURED */ "store_structured",
- /* VKD3DSIH_STORE_UAV_TYPED */ "store_uav_typed",
- /* VKD3DSIH_SUB */ "sub",
- /* VKD3DSIH_SWAPC */ "swapc",
- /* VKD3DSIH_SWITCH */ "switch",
- /* VKD3DSIH_SYNC */ "sync",
- /* VKD3DSIH_TEX */ "texld",
- /* VKD3DSIH_TEXBEM */ "texbem",
- /* VKD3DSIH_TEXBEML */ "texbeml",
- /* VKD3DSIH_TEXCOORD */ "texcrd",
- /* VKD3DSIH_TEXDEPTH */ "texdepth",
- /* VKD3DSIH_TEXDP3 */ "texdp3",
- /* VKD3DSIH_TEXDP3TEX */ "texdp3tex",
- /* VKD3DSIH_TEXKILL */ "texkill",
- /* VKD3DSIH_TEXLDD */ "texldd",
- /* VKD3DSIH_TEXLDL */ "texldl",
- /* VKD3DSIH_TEXM3x2DEPTH */ "texm3x2depth",
- /* VKD3DSIH_TEXM3x2PAD */ "texm3x2pad",
- /* VKD3DSIH_TEXM3x2TEX */ "texm3x2tex",
- /* VKD3DSIH_TEXM3x3 */ "texm3x3",
- /* VKD3DSIH_TEXM3x3DIFF */ "texm3x3diff",
- /* VKD3DSIH_TEXM3x3PAD */ "texm3x3pad",
- /* VKD3DSIH_TEXM3x3SPEC */ "texm3x3spec",
- /* VKD3DSIH_TEXM3x3TEX */ "texm3x3tex",
- /* VKD3DSIH_TEXM3x3VSPEC */ "texm3x3vspec",
- /* VKD3DSIH_TEXREG2AR */ "texreg2ar",
- /* VKD3DSIH_TEXREG2GB */ "texreg2gb",
- /* VKD3DSIH_TEXREG2RGB */ "texreg2rgb",
- /* VKD3DSIH_UBFE */ "ubfe",
- /* VKD3DSIH_UDIV */ "udiv",
- /* VKD3DSIH_UGE */ "uge",
- /* VKD3DSIH_ULT */ "ult",
- /* VKD3DSIH_UMAX */ "umax",
- /* VKD3DSIH_UMIN */ "umin",
- /* VKD3DSIH_UMUL */ "umul",
- /* VKD3DSIH_USHR */ "ushr",
- /* VKD3DSIH_UTOD */ "utod",
- /* VKD3DSIH_UTOF */ "utof",
- /* VKD3DSIH_XOR */ "xor",
[VKD3DSIH_ABS ] = "abs",
[VKD3DSIH_ADD ] = "add",
[VKD3DSIH_AND ] = "and",
[VKD3DSIH_ATOMIC_AND ] = "atomic_and",
[VKD3DSIH_ATOMIC_CMP_STORE ] = "atomic_cmp_store",
[VKD3DSIH_ATOMIC_IADD ] = "atomic_iadd",
[VKD3DSIH_ATOMIC_IMAX ] = "atomic_imax",
[VKD3DSIH_ATOMIC_IMIN ] = "atomic_imin",
[VKD3DSIH_ATOMIC_OR ] = "atomic_or",
[VKD3DSIH_ATOMIC_UMAX ] = "atomic_umax",
[VKD3DSIH_ATOMIC_UMIN ] = "atomic_umin",
[VKD3DSIH_ATOMIC_XOR ] = "atomic_xor",
[VKD3DSIH_BEM ] = "bem",
[VKD3DSIH_BFI ] = "bfi",
[VKD3DSIH_BFREV ] = "bfrev",
[VKD3DSIH_BREAK ] = "break",
[VKD3DSIH_BREAKC ] = "breakc",
[VKD3DSIH_BREAKP ] = "breakp",
[VKD3DSIH_BUFINFO ] = "bufinfo",
[VKD3DSIH_CALL ] = "call",
[VKD3DSIH_CALLNZ ] = "callnz",
[VKD3DSIH_CASE ] = "case",
[VKD3DSIH_CMP ] = "cmp",
[VKD3DSIH_CND ] = "cnd",
[VKD3DSIH_CONTINUE ] = "continue",
[VKD3DSIH_CONTINUEP ] = "continuec",
[VKD3DSIH_COUNTBITS ] = "countbits",
[VKD3DSIH_CRS ] = "crs",
[VKD3DSIH_CUT ] = "cut",
[VKD3DSIH_CUT_STREAM ] = "cut_stream",
[VKD3DSIH_DADD ] = "dadd",
[VKD3DSIH_DCL ] = "dcl",
[VKD3DSIH_DCL_CONSTANT_BUFFER ] = "dcl_constantBuffer",
[VKD3DSIH_DCL_FUNCTION_BODY ] = "dcl_function_body",
[VKD3DSIH_DCL_FUNCTION_TABLE ] = "dcl_function_table",
[VKD3DSIH_DCL_GLOBAL_FLAGS ] = "dcl_globalFlags",
[VKD3DSIH_DCL_GS_INSTANCES ] = "dcl_gs_instances",
[VKD3DSIH_DCL_HS_FORK_PHASE_INSTANCE_COUNT] = "dcl_hs_fork_phase_instance_count",
[VKD3DSIH_DCL_HS_JOIN_PHASE_INSTANCE_COUNT] = "dcl_hs_join_phase_instance_count",
[VKD3DSIH_DCL_HS_MAX_TESSFACTOR ] = "dcl_hs_max_tessfactor",
[VKD3DSIH_DCL_IMMEDIATE_CONSTANT_BUFFER ] = "dcl_immediateConstantBuffer",
[VKD3DSIH_DCL_INDEX_RANGE ] = "dcl_index_range",
[VKD3DSIH_DCL_INDEXABLE_TEMP ] = "dcl_indexableTemp",
[VKD3DSIH_DCL_INPUT ] = "dcl_input",
[VKD3DSIH_DCL_INPUT_CONTROL_POINT_COUNT ] = "dcl_input_control_point_count",
[VKD3DSIH_DCL_INPUT_PRIMITIVE ] = "dcl_inputPrimitive",
[VKD3DSIH_DCL_INPUT_PS ] = "dcl_input_ps",
[VKD3DSIH_DCL_INPUT_PS_SGV ] = "dcl_input_ps_sgv",
[VKD3DSIH_DCL_INPUT_PS_SIV ] = "dcl_input_ps_siv",
[VKD3DSIH_DCL_INPUT_SGV ] = "dcl_input_sgv",
[VKD3DSIH_DCL_INPUT_SIV ] = "dcl_input_siv",
[VKD3DSIH_DCL_INTERFACE ] = "dcl_interface",
[VKD3DSIH_DCL_OUTPUT ] = "dcl_output",
[VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT ] = "dcl_output_control_point_count",
[VKD3DSIH_DCL_OUTPUT_SIV ] = "dcl_output_siv",
[VKD3DSIH_DCL_OUTPUT_TOPOLOGY ] = "dcl_outputTopology",
[VKD3DSIH_DCL_RESOURCE_RAW ] = "dcl_resource_raw",
[VKD3DSIH_DCL_RESOURCE_STRUCTURED ] = "dcl_resource_structured",
[VKD3DSIH_DCL_SAMPLER ] = "dcl_sampler",
[VKD3DSIH_DCL_STREAM ] = "dcl_stream",
[VKD3DSIH_DCL_TEMPS ] = "dcl_temps",
[VKD3DSIH_DCL_TESSELLATOR_DOMAIN ] = "dcl_tessellator_domain",
[VKD3DSIH_DCL_TESSELLATOR_OUTPUT_PRIMITIVE] = "dcl_tessellator_output_primitive",
[VKD3DSIH_DCL_TESSELLATOR_PARTITIONING ] = "dcl_tessellator_partitioning",
[VKD3DSIH_DCL_TGSM_RAW ] = "dcl_tgsm_raw",
[VKD3DSIH_DCL_TGSM_STRUCTURED ] = "dcl_tgsm_structured",
[VKD3DSIH_DCL_THREAD_GROUP ] = "dcl_thread_group",
[VKD3DSIH_DCL_UAV_RAW ] = "dcl_uav_raw",
[VKD3DSIH_DCL_UAV_STRUCTURED ] = "dcl_uav_structured",
[VKD3DSIH_DCL_UAV_TYPED ] = "dcl_uav_typed",
[VKD3DSIH_DCL_VERTICES_OUT ] = "dcl_maxOutputVertexCount",
[VKD3DSIH_DDIV ] = "ddiv",
[VKD3DSIH_DEF ] = "def",
[VKD3DSIH_DEFAULT ] = "default",
[VKD3DSIH_DEFB ] = "defb",
[VKD3DSIH_DEFI ] = "defi",
[VKD3DSIH_DEQ ] = "deq",
[VKD3DSIH_DFMA ] = "dfma",
[VKD3DSIH_DGE ] = "dge",
[VKD3DSIH_DIV ] = "div",
[VKD3DSIH_DLT ] = "dlt",
[VKD3DSIH_DMAX ] = "dmax",
[VKD3DSIH_DMIN ] = "dmin",
[VKD3DSIH_DMOV ] = "dmov",
[VKD3DSIH_DMOVC ] = "dmovc",
[VKD3DSIH_DMUL ] = "dmul",
[VKD3DSIH_DNE ] = "dne",
[VKD3DSIH_DP2 ] = "dp2",
[VKD3DSIH_DP2ADD ] = "dp2add",
[VKD3DSIH_DP3 ] = "dp3",
[VKD3DSIH_DP4 ] = "dp4",
[VKD3DSIH_DRCP ] = "drcp",
[VKD3DSIH_DST ] = "dst",
[VKD3DSIH_DSX ] = "dsx",
[VKD3DSIH_DSX_COARSE ] = "deriv_rtx_coarse",
[VKD3DSIH_DSX_FINE ] = "deriv_rtx_fine",
[VKD3DSIH_DSY ] = "dsy",
[VKD3DSIH_DSY_COARSE ] = "deriv_rty_coarse",
[VKD3DSIH_DSY_FINE ] = "deriv_rty_fine",
[VKD3DSIH_DTOF ] = "dtof",
[VKD3DSIH_DTOI ] = "dtoi",
[VKD3DSIH_DTOU ] = "dtou",
[VKD3DSIH_ELSE ] = "else",
[VKD3DSIH_EMIT ] = "emit",
[VKD3DSIH_EMIT_STREAM ] = "emit_stream",
[VKD3DSIH_ENDIF ] = "endif",
[VKD3DSIH_ENDLOOP ] = "endloop",
[VKD3DSIH_ENDREP ] = "endrep",
[VKD3DSIH_ENDSWITCH ] = "endswitch",
[VKD3DSIH_EQ ] = "eq",
[VKD3DSIH_EVAL_CENTROID ] = "eval_centroid",
[VKD3DSIH_EVAL_SAMPLE_INDEX ] = "eval_sample_index",
[VKD3DSIH_EXP ] = "exp",
[VKD3DSIH_EXPP ] = "expp",
[VKD3DSIH_F16TOF32 ] = "f16tof32",
[VKD3DSIH_F32TOF16 ] = "f32tof16",
[VKD3DSIH_FCALL ] = "fcall",
[VKD3DSIH_FIRSTBIT_HI ] = "firstbit_hi",
[VKD3DSIH_FIRSTBIT_LO ] = "firstbit_lo",
[VKD3DSIH_FIRSTBIT_SHI ] = "firstbit_shi",
[VKD3DSIH_FRC ] = "frc",
[VKD3DSIH_FTOD ] = "ftod",
[VKD3DSIH_FTOI ] = "ftoi",
[VKD3DSIH_FTOU ] = "ftou",
[VKD3DSIH_GATHER4 ] = "gather4",
[VKD3DSIH_GATHER4_C ] = "gather4_c",
[VKD3DSIH_GATHER4_PO ] = "gather4_po",
[VKD3DSIH_GATHER4_PO_C ] = "gather4_po_c",
[VKD3DSIH_GE ] = "ge",
[VKD3DSIH_HS_CONTROL_POINT_PHASE ] = "hs_control_point_phase",
[VKD3DSIH_HS_DECLS ] = "hs_decls",
[VKD3DSIH_HS_FORK_PHASE ] = "hs_fork_phase",
[VKD3DSIH_HS_JOIN_PHASE ] = "hs_join_phase",
[VKD3DSIH_IADD ] = "iadd",
[VKD3DSIH_IBFE ] = "ibfe",
[VKD3DSIH_IEQ ] = "ieq",
[VKD3DSIH_IF ] = "if",
[VKD3DSIH_IFC ] = "ifc",
[VKD3DSIH_IGE ] = "ige",
[VKD3DSIH_ILT ] = "ilt",
[VKD3DSIH_IMAD ] = "imad",
[VKD3DSIH_IMAX ] = "imax",
[VKD3DSIH_IMIN ] = "imin",
[VKD3DSIH_IMM_ATOMIC_ALLOC ] = "imm_atomic_alloc",
[VKD3DSIH_IMM_ATOMIC_AND ] = "imm_atomic_and",
[VKD3DSIH_IMM_ATOMIC_CMP_EXCH ] = "imm_atomic_cmp_exch",
[VKD3DSIH_IMM_ATOMIC_CONSUME ] = "imm_atomic_consume",
[VKD3DSIH_IMM_ATOMIC_EXCH ] = "imm_atomic_exch",
[VKD3DSIH_IMM_ATOMIC_IADD ] = "imm_atomic_iadd",
[VKD3DSIH_IMM_ATOMIC_IMAX ] = "imm_atomic_imax",
[VKD3DSIH_IMM_ATOMIC_IMIN ] = "imm_atomic_imin",
[VKD3DSIH_IMM_ATOMIC_OR ] = "imm_atomic_or",
[VKD3DSIH_IMM_ATOMIC_UMAX ] = "imm_atomic_umax",
[VKD3DSIH_IMM_ATOMIC_UMIN ] = "imm_atomic_umin",
[VKD3DSIH_IMM_ATOMIC_XOR ] = "imm_atomic_xor",
[VKD3DSIH_IMUL ] = "imul",
[VKD3DSIH_INE ] = "ine",
[VKD3DSIH_INEG ] = "ineg",
[VKD3DSIH_ISHL ] = "ishl",
[VKD3DSIH_ISHR ] = "ishr",
[VKD3DSIH_ITOD ] = "itod",
[VKD3DSIH_ITOF ] = "itof",
[VKD3DSIH_LABEL ] = "label",
[VKD3DSIH_LD ] = "ld",
[VKD3DSIH_LD2DMS ] = "ld2dms",
[VKD3DSIH_LD_RAW ] = "ld_raw",
[VKD3DSIH_LD_STRUCTURED ] = "ld_structured",
[VKD3DSIH_LD_UAV_TYPED ] = "ld_uav_typed",
[VKD3DSIH_LIT ] = "lit",
[VKD3DSIH_LOD ] = "lod",
[VKD3DSIH_LOG ] = "log",
[VKD3DSIH_LOGP ] = "logp",
[VKD3DSIH_LOOP ] = "loop",
[VKD3DSIH_LRP ] = "lrp",
[VKD3DSIH_LT ] = "lt",
[VKD3DSIH_M3x2 ] = "m3x2",
[VKD3DSIH_M3x3 ] = "m3x3",
[VKD3DSIH_M3x4 ] = "m3x4",
[VKD3DSIH_M4x3 ] = "m4x3",
[VKD3DSIH_M4x4 ] = "m4x4",
[VKD3DSIH_MAD ] = "mad",
[VKD3DSIH_MAX ] = "max",
[VKD3DSIH_MIN ] = "min",
[VKD3DSIH_MOV ] = "mov",
[VKD3DSIH_MOVA ] = "mova",
[VKD3DSIH_MOVC ] = "movc",
[VKD3DSIH_MUL ] = "mul",
[VKD3DSIH_NE ] = "ne",
[VKD3DSIH_NOP ] = "nop",
[VKD3DSIH_NOT ] = "not",
[VKD3DSIH_NRM ] = "nrm",
[VKD3DSIH_OR ] = "or",
[VKD3DSIH_PHASE ] = "phase",
[VKD3DSIH_POW ] = "pow",
[VKD3DSIH_RCP ] = "rcp",
[VKD3DSIH_REP ] = "rep",
[VKD3DSIH_RESINFO ] = "resinfo",
[VKD3DSIH_RET ] = "ret",
[VKD3DSIH_RETP ] = "retp",
[VKD3DSIH_ROUND_NE ] = "round_ne",
[VKD3DSIH_ROUND_NI ] = "round_ni",
[VKD3DSIH_ROUND_PI ] = "round_pi",
[VKD3DSIH_ROUND_Z ] = "round_z",
[VKD3DSIH_RSQ ] = "rsq",
[VKD3DSIH_SAMPLE ] = "sample",
[VKD3DSIH_SAMPLE_B ] = "sample_b",
[VKD3DSIH_SAMPLE_C ] = "sample_c",
[VKD3DSIH_SAMPLE_C_LZ ] = "sample_c_lz",
[VKD3DSIH_SAMPLE_GRAD ] = "sample_d",
[VKD3DSIH_SAMPLE_INFO ] = "sample_info",
[VKD3DSIH_SAMPLE_LOD ] = "sample_l",
[VKD3DSIH_SAMPLE_POS ] = "sample_pos",
[VKD3DSIH_SETP ] = "setp",
[VKD3DSIH_SGE ] = "sge",
[VKD3DSIH_SGN ] = "sgn",
[VKD3DSIH_SINCOS ] = "sincos",
[VKD3DSIH_SLT ] = "slt",
[VKD3DSIH_SQRT ] = "sqrt",
[VKD3DSIH_STORE_RAW ] = "store_raw",
[VKD3DSIH_STORE_STRUCTURED ] = "store_structured",
[VKD3DSIH_STORE_UAV_TYPED ] = "store_uav_typed",
[VKD3DSIH_SUB ] = "sub",
[VKD3DSIH_SWAPC ] = "swapc",
[VKD3DSIH_SWITCH ] = "switch",
[VKD3DSIH_SYNC ] = "sync",
[VKD3DSIH_TEX ] = "texld",
[VKD3DSIH_TEXBEM ] = "texbem",
[VKD3DSIH_TEXBEML ] = "texbeml",
[VKD3DSIH_TEXCOORD ] = "texcrd",
[VKD3DSIH_TEXDEPTH ] = "texdepth",
[VKD3DSIH_TEXDP3 ] = "texdp3",
[VKD3DSIH_TEXDP3TEX ] = "texdp3tex",
[VKD3DSIH_TEXKILL ] = "texkill",
[VKD3DSIH_TEXLDD ] = "texldd",
[VKD3DSIH_TEXLDL ] = "texldl",
[VKD3DSIH_TEXM3x2DEPTH ] = "texm3x2depth",
[VKD3DSIH_TEXM3x2PAD ] = "texm3x2pad",
[VKD3DSIH_TEXM3x2TEX ] = "texm3x2tex",
[VKD3DSIH_TEXM3x3 ] = "texm3x3",
[VKD3DSIH_TEXM3x3DIFF ] = "texm3x3diff",
[VKD3DSIH_TEXM3x3PAD ] = "texm3x3pad",
[VKD3DSIH_TEXM3x3SPEC ] = "texm3x3spec",
[VKD3DSIH_TEXM3x3TEX ] = "texm3x3tex",
[VKD3DSIH_TEXM3x3VSPEC ] = "texm3x3vspec",
[VKD3DSIH_TEXREG2AR ] = "texreg2ar",
[VKD3DSIH_TEXREG2GB ] = "texreg2gb",
[VKD3DSIH_TEXREG2RGB ] = "texreg2rgb",
[VKD3DSIH_UBFE ] = "ubfe",
[VKD3DSIH_UDIV ] = "udiv",
[VKD3DSIH_UGE ] = "uge",
[VKD3DSIH_ULT ] = "ult",
[VKD3DSIH_UMAX ] = "umax",
[VKD3DSIH_UMIN ] = "umin",
[VKD3DSIH_UMUL ] = "umul",
[VKD3DSIH_USHR ] = "ushr",
[VKD3DSIH_UTOD ] = "utod",
[VKD3DSIH_UTOF ] = "utof",
[VKD3DSIH_XOR ] = "xor", };
static const struct
On Thu, 13 Jan 2022 at 15:32, Giovanni Mascellani gmascellani@codeweavers.com wrote:
(but I don't like the spaces between the identifier and the "]" :-P )
Me neither.