1953{
1956
1958
1961
1962
1965
1967
1969 {
1978 break;
1979
1989 break;
1990
1993 break;
1994
1997 break;
1998
2002 break;
2003
2006 break;
2007
2010 break;
2011
2015 break;
2016
2026 break;
2027
2031 break;
2032
2039 break;
2040
2045 break;
2046
2050 break;
2051
2055 break;
2056
2062 break;
2063
2067 break;
2068
2073 break;
2074
2079 break;
2080
2089 break;
2090
2093 break;
2094
2097 break;
2098
2101 break;
2102
2106 break;
2107
2112 break;
2113
2118 break;
2119
2124 break;
2125
2131 break;
2132
2141 break;
2142
2145 ins->
dst[0].reg.idx[0].offset, compiler->
colours.reset);
2150 break;
2151
2154 ins->
dst[0].reg.idx[0].offset, compiler->
colours.reset);
2156 break;
2157
2158 default:
2160
2162 {
2172 }
2173
2175 {
2179 }
2180
2186
2188 {
2191 }
2192
2193
2195 {
2197 }
2198 break;
2199 }
2200
2202}
static void shader_print_bool_literal(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, unsigned int b, const char *suffix)
static void shader_dump_ins_modifiers(struct vkd3d_d3d_asm_compiler *compiler, const struct vkd3d_shader_dst_param *dst)
static void shader_print_subscript(struct vkd3d_d3d_asm_compiler *compiler, unsigned int offset, const struct vkd3d_shader_src_param *rel_addr)
static void shader_dump_register_space(struct vkd3d_d3d_asm_compiler *compiler, unsigned int register_space)
static void shader_print_uint_literal(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, unsigned int i, const char *suffix)
static void shader_print_tessellator_domain(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, enum vkd3d_tessellator_domain d, const char *suffix)
static unsigned int shader_get_float_offset(enum vkd3d_shader_register_type register_type, UINT register_idx)
static void shader_print_dst_param(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, const struct vkd3d_shader_dst_param *param, bool is_declaration, const char *suffix)
static void shader_print_opcode(struct vkd3d_d3d_asm_compiler *compiler, enum vkd3d_shader_opcode opcode)
static void shader_dump_resource_type(struct vkd3d_d3d_asm_compiler *compiler, enum vkd3d_shader_resource_type type)
static void shader_print_register(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, const struct vkd3d_shader_register *reg, bool is_declaration, const char *suffix)
static void shader_print_int_literal(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, int i, const char *suffix)
static void shader_dump_global_flags(struct vkd3d_d3d_asm_compiler *compiler, enum vsir_global_flags global_flags)
static void shader_print_primitive_type(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, const struct vkd3d_shader_primitive_type *p, const char *suffix)
static void shader_print_input_sysval_semantic(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, enum vkd3d_shader_input_sysval_semantic semantic, const char *suffix)
static void shader_print_interpolation_mode(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, enum vkd3d_shader_interpolation_mode m, const char *suffix)
static void shader_print_float_literal(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, float f, const char *suffix)
static void shader_dump_uav_flags(struct vkd3d_d3d_asm_compiler *compiler, uint32_t uav_flags)
static void shader_print_src_param(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, const struct vkd3d_shader_src_param *param, const char *suffix)
static void shader_dump_instruction_flags(struct vkd3d_d3d_asm_compiler *compiler, const struct vkd3d_shader_instruction *ins)
static void shader_print_tessellator_partitioning(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, enum vkd3d_shader_tessellator_partitioning p, const char *suffix)
static void shader_dump_resource_data_type(struct vkd3d_d3d_asm_compiler *compiler, const enum vkd3d_data_type *type)
static void shader_print_dcl_usage(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, const struct vkd3d_shader_semantic *semantic, uint32_t flags, const char *suffix)
static void shader_print_tessellator_output_primitive(struct vkd3d_d3d_asm_compiler *compiler, const char *prefix, enum vkd3d_shader_tessellator_output_primitive p, const char *suffix)
static void shader_dump_icb(struct vkd3d_d3d_asm_compiler *compiler, const struct vkd3d_shader_immediate_constant_buffer *icb)
const struct vkd3d_shader_instruction * current
struct vkd3d_shader_src_param * src
struct vkd3d_shader_sampler sampler
enum vsir_global_flags global_flags
struct vkd3d_shader_constant_buffer cb
const struct vkd3d_shader_src_param * predicate
struct vsir_thread_group_size thread_group_size
const struct vkd3d_shader_immediate_constant_buffer * icb
enum vkd3d_shader_tessellator_partitioning tessellator_partitioning
struct vkd3d_shader_texel_offset texel_offset
struct vkd3d_shader_tgsm_raw tgsm_raw
struct vkd3d_shader_raw_resource raw_resource
struct vkd3d_shader_register_semantic register_semantic
enum vkd3d_shader_tessellator_output_primitive tessellator_output_primitive
unsigned int resource_stride
enum vkd3d_tessellator_domain tessellator_domain
struct vkd3d_shader_indexable_temp indexable_temp
enum vkd3d_shader_resource_type resource_type
float max_tessellation_factor
union vkd3d_shader_instruction::@6020 declaration
struct vkd3d_shader_function_table_pointer fp
struct vkd3d_shader_tgsm_structured tgsm_structured
enum vkd3d_data_type resource_data_type[VKD3D_VEC4_SIZE]
struct vkd3d_shader_semantic semantic
struct vkd3d_shader_structured_resource structured_resource
struct vkd3d_shader_dst_param * dst
struct vkd3d_shader_index_range index_range
struct vkd3d_shader_primitive_type primitive_type
@ VKD3D_SHADER_RESOURCE_NONE
static bool vkd3d_shader_instruction_has_texel_offset(const struct vkd3d_shader_instruction *ins)
static bool vkd3d_shader_ver_ge(const struct vkd3d_shader_version *v, unsigned int major, unsigned int minor)
#define VKD3DSI_INDEXED_DYNAMIC
#define VKD3DSI_SAMPLER_COMPARISON_MODE
@ VKD3DSIH_DCL_IMMEDIATE_CONSTANT_BUFFER
@ VKD3DSIH_DCL_HS_JOIN_PHASE_INSTANCE_COUNT
@ VKD3DSIH_DCL_TESSELLATOR_OUTPUT_PRIMITIVE
@ VKD3DSIH_DCL_INPUT_CONTROL_POINT_COUNT
@ VKD3DSIH_DCL_INPUT_PRIMITIVE
@ VKD3DSIH_DCL_GS_INSTANCES
@ VKD3DSIH_DCL_OUTPUT_SIV
@ VKD3DSIH_DCL_FUNCTION_TABLE
@ VKD3DSIH_DCL_RESOURCE_RAW
@ VKD3DSIH_DCL_VERTICES_OUT
@ VKD3DSIH_DCL_OUTPUT_TOPOLOGY
@ VKD3DSIH_DCL_GLOBAL_FLAGS
@ VKD3DSIH_DCL_FUNCTION_BODY
@ VKD3DSIH_DCL_HS_MAX_TESSFACTOR
@ VKD3DSIH_DCL_UAV_STRUCTURED
@ VKD3DSIH_DCL_INPUT_PS_SIV
@ VKD3DSIH_DCL_HS_FORK_PHASE_INSTANCE_COUNT
@ VKD3DSIH_DCL_THREAD_GROUP
@ VKD3DSIH_DCL_TGSM_STRUCTURED
@ VKD3DSIH_DCL_RESOURCE_STRUCTURED
@ VKD3DSIH_DCL_TESSELLATOR_DOMAIN
@ VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT
@ VKD3DSIH_DCL_INDEX_RANGE
@ VKD3DSIH_DCL_INPUT_PS_SGV
@ VKD3DSIH_DCL_CONSTANT_BUFFER
@ VKD3DSIH_DCL_INDEXABLE_TEMP
@ VKD3DSIH_DCL_TESSELLATOR_PARTITIONING