|
ReactOS 0.4.17-dev-934-g091855f
|
#include "vkd3d_common.h"#include "vkd3d_memory.h"#include "vkd3d_shader.h"#include "wine/list.h"#include <inttypes.h>#include <limits.h>#include <stdbool.h>#include <string.h>

Go to the source code of this file.
| #define DXBC_MAX_SECTION_COUNT 7 |
Definition at line 1943 of file vkd3d_shader_private.h.
| #define MAX_REG_OUTPUT 32 |
Definition at line 883 of file vkd3d_shader_private.h.
| #define NONAMELESSUNION |
Definition at line 48 of file vkd3d_shader_private.h.
| #define SIGNATURE_TARGET_LOCATION_UNUSED (~0u) |
Definition at line 1077 of file vkd3d_shader_private.h.
| #define SM1_COLOR_REGISTER_OFFSET 8 |
Definition at line 1074 of file vkd3d_shader_private.h.
| #define SM1_RASTOUT_REGISTER_OFFSET 10 |
Definition at line 1075 of file vkd3d_shader_private.h.
| #define SPIRV_MAX_SRC_COUNT 6 |
Definition at line 1652 of file vkd3d_shader_private.h.
| #define VKD3D_DVEC2_SIZE 2 |
Definition at line 60 of file vkd3d_shader_private.h.
Definition at line 1941 of file vkd3d_shader_private.h.
Definition at line 1940 of file vkd3d_shader_private.h.
Definition at line 1925 of file vkd3d_shader_private.h.
| #define VKD3D_SHADER_COMPONENT_TYPE_COUNT (VKD3D_SHADER_COMPONENT_UINT64 + 1) |
Definition at line 62 of file vkd3d_shader_private.h.
| #define vkd3d_shader_message_context_trace_messages | ( | context | ) | vkd3d_shader_message_context_trace_messages_(context, __FUNCTION__) |
Definition at line 1601 of file vkd3d_shader_private.h.
| #define VKD3D_SHADER_MINIMUM_PRECISION_COUNT (VKD3D_SHADER_MINIMUM_PRECISION_UINT_16 + 1) |
Definition at line 63 of file vkd3d_shader_private.h.
| #define vkd3d_shader_trace_text | ( | text, | |
| size | |||
| ) | vkd3d_shader_trace_text_(text, size, __FUNCTION__) |
Definition at line 1616 of file vkd3d_shader_private.h.
| #define vkd3d_string_buffer_trace | ( | buffer | ) | vkd3d_string_buffer_trace_(buffer, __FUNCTION__) |
Definition at line 1546 of file vkd3d_shader_private.h.
| #define VKD3D_VEC4_SIZE 4 |
Definition at line 59 of file vkd3d_shader_private.h.
| #define VKD3DSI_INDEXED_DYNAMIC 0x4 |
Definition at line 851 of file vkd3d_shader_private.h.
| #define VKD3DSI_NONE 0x0 |
Definition at line 848 of file vkd3d_shader_private.h.
| #define VKD3DSI_PRECISE_SHIFT 8 |
Definition at line 865 of file vkd3d_shader_private.h.
| #define VKD3DSI_PRECISE_W 0x800 |
Definition at line 862 of file vkd3d_shader_private.h.
| #define VKD3DSI_PRECISE_X 0x100 |
Definition at line 859 of file vkd3d_shader_private.h.
| #define VKD3DSI_PRECISE_XYZW |
Definition at line 863 of file vkd3d_shader_private.h.
| #define VKD3DSI_PRECISE_Y 0x200 |
Definition at line 860 of file vkd3d_shader_private.h.
| #define VKD3DSI_PRECISE_Z 0x400 |
Definition at line 861 of file vkd3d_shader_private.h.
| #define VKD3DSI_RESINFO_RCP_FLOAT 0x1 |
Definition at line 852 of file vkd3d_shader_private.h.
| #define VKD3DSI_RESINFO_UINT 0x2 |
Definition at line 853 of file vkd3d_shader_private.h.
| #define VKD3DSI_SAMPLE_INFO_UINT 0x1 |
Definition at line 854 of file vkd3d_shader_private.h.
| #define VKD3DSI_SAMPLER_COMPARISON_MODE 0x1 |
Definition at line 855 of file vkd3d_shader_private.h.
| #define VKD3DSI_SHIFT_UNMASKED 0x1 |
Definition at line 856 of file vkd3d_shader_private.h.
| #define VKD3DSI_TEXLD_BIAS 0x2 |
Definition at line 850 of file vkd3d_shader_private.h.
| #define VKD3DSI_TEXLD_PROJECT 0x1 |
Definition at line 849 of file vkd3d_shader_private.h.
| #define VKD3DSI_WAVE_PREFIX 0x1 |
Definition at line 857 of file vkd3d_shader_private.h.
Definition at line 750 of file vkd3d_shader_private.h.
Definition at line 751 of file vkd3d_shader_private.h.
Definition at line 752 of file vkd3d_shader_private.h.
Definition at line 753 of file vkd3d_shader_private.h.
| #define VKD3DSP_WRITEMASK_ALL 0xfu /* all */ |
Definition at line 754 of file vkd3d_shader_private.h.
Definition at line 680 of file vkd3d_shader_private.h.
Definition at line 1019 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3D_MD5_STANDARD | |
| VKD3D_MD5_DXBC | |
Definition at line 1664 of file vkd3d_shader_private.h.
Definition at line 1207 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3DARF_SEQ_CST | |
| VKD3DARF_VOLATILE | |
Definition at line 831 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3D_SHADER_CONDITIONAL_OP_NZ | |
| VKD3D_SHADER_CONDITIONAL_OP_Z | |
Definition at line 877 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3D_SHADER_CONFIG_FLAG_FORCE_VALIDATION | |
Definition at line 1390 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3DSPDM_NONE | |
| VKD3DSPDM_SATURATE | |
| VKD3DSPDM_PARTIALPRECISION | |
| VKD3DSPDM_MSAMPCENTROID | |
| VKD3DSPDM_MASK | |
Definition at line 756 of file vkd3d_shader_private.h.
Definition at line 65 of file vkd3d_shader_private.h.
Definition at line 1047 of file vkd3d_shader_private.h.
Definition at line 765 of file vkd3d_shader_private.h.
Definition at line 261 of file vkd3d_shader_private.h.
Definition at line 667 of file vkd3d_shader_private.h.
Definition at line 592 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3D_SHADER_REL_OP_GT | |
| VKD3D_SHADER_REL_OP_EQ | |
| VKD3D_SHADER_REL_OP_GE | |
| VKD3D_SHADER_REL_OP_LT | |
| VKD3D_SHADER_REL_OP_NE | |
| VKD3D_SHADER_REL_OP_LE | |
Definition at line 867 of file vkd3d_shader_private.h.
Definition at line 731 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3DSSF_THREAD_GROUP | |
| VKD3DSSF_GROUP_SHARED_MEMORY | |
| VKD3DSSF_THREAD_GROUP_UAV | |
| VKD3DSSF_GLOBAL_UAV | |
Definition at line 816 of file vkd3d_shader_private.h.
Definition at line 885 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3DSUF_GLOBALLY_COHERENT | |
| VKD3DSUF_RASTERISER_ORDERED_VIEW | |
| VKD3DSUF_ORDER_PRESERVING_COUNTER | |
Definition at line 824 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VKD3D_TESSELLATOR_DOMAIN_INVALID | |
| VKD3D_TESSELLATOR_DOMAIN_LINE | |
| VKD3D_TESSELLATOR_DOMAIN_TRIANGLE | |
| VKD3D_TESSELLATOR_DOMAIN_QUAD | |
| VKD3D_TESSELLATOR_DOMAIN_COUNT | |
Definition at line 837 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VSIR_ASM_FLAG_NONE | |
| VSIR_ASM_FLAG_DUMP_TYPES | |
| VSIR_ASM_FLAG_DUMP_ALL_INDICES | |
Definition at line 1525 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VSIR_CF_STRUCTURED | |
| VSIR_CF_BLOCKS | |
Definition at line 1395 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VSIR_DIMENSION_NONE | |
| VSIR_DIMENSION_SCALAR | |
| VSIR_DIMENSION_VEC4 | |
| VSIR_DIMENSION_COUNT | |
Definition at line 722 of file vkd3d_shader_private.h.
Definition at line 779 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VSIR_NOT_NORMALISED | |
| VSIR_NORMALISED_HULL_CONTROL_POINT_IO | |
| VSIR_FULLY_NORMALISED_IO | |
Definition at line 1401 of file vkd3d_shader_private.h.
| Enumerator | |
|---|---|
| VSIR_RASTOUT_POSITION | |
| VSIR_RASTOUT_FOG | |
| VSIR_RASTOUT_POINT_SIZE | |
Definition at line 660 of file vkd3d_shader_private.h.
| size_t bytecode_align | ( | struct vkd3d_bytecode_buffer * | buffer | ) |
Definition at line 370 of file vkd3d_shader_main.c.
Referenced by add_section(), bytecode_put_bytes(), bytecode_reserve_bytes(), shader_write_root_parameters(), vkd3d_shader_serialize_dxbc(), write_sm1_type(), write_sm1_uniforms(), write_sm4_rdef(), and write_sm4_type().
|
inlinestatic |
Definition at line 1582 of file vkd3d_shader_private.h.
Referenced by get_chunk_offset(), shader_write_root_signature_header(), tpf_write_shdr(), vkd3d_shader_serialize_dxbc(), vkd3d_shader_serialize_root_signature(), and write_sm4_instruction().
| size_t bytecode_put_bytes | ( | struct vkd3d_bytecode_buffer * | buffer, |
| const void * | bytes, | ||
| size_t | size | ||
| ) |
Definition at line 402 of file vkd3d_shader_main.c.
Referenced by d3dbc_compile(), hlsl_fx_2_write(), hlsl_fx_4_write(), hlsl_fx_5_write(), put_f32(), put_string(), put_u32(), vkd3d_shader_serialize_dxbc(), write_fx_2_object_initializer(), and write_fx_2_string().
| size_t bytecode_put_bytes_unaligned | ( | struct vkd3d_bytecode_buffer * | buffer, |
| const void * | bytes, | ||
| size_t | size | ||
| ) |
Definition at line 385 of file vkd3d_shader_main.c.
Referenced by bytecode_put_bytes(), hlsl_fx_4_write(), hlsl_fx_5_write(), put_u32_unaligned(), write_fx_2_string(), and write_fx_4_string().
| size_t bytecode_reserve_bytes | ( | struct vkd3d_bytecode_buffer * | buffer, |
| size_t | size | ||
| ) |
Definition at line 408 of file vkd3d_shader_main.c.
Referenced by write_sm1_uniforms(), and write_sm4_rdef().
|
inlinestatic |
Definition at line 1750 of file vkd3d_shader_private.h.
Referenced by spirv_compiler_emit_load_reg().
| enum vkd3d_result d3d_asm_compile | ( | const struct vsir_program * | program, |
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| struct vkd3d_shader_code * | out, | ||
| enum vsir_asm_flags | flags | ||
| ) |
Definition at line 2370 of file d3d_asm.c.
Referenced by vsir_program_compile(), and vsir_program_trace().
| int d3dbc_parse | ( | const struct vkd3d_shader_compile_info * | compile_info, |
| uint64_t | config_flags, | ||
| struct vkd3d_shader_message_context * | message_context, | ||
| struct vsir_program * | program | ||
| ) |
Definition at line 1349 of file d3dbc.c.
Referenced by hlsl_compile_shader(), and vsir_parse().
|
inlinestatic |
Definition at line 717 of file vkd3d_shader_private.h.
Referenced by register_is_scalar_constant_zero(), shader_print_dst_param(), shader_print_src_param(), shader_sm4_read_src_param(), sm6_parser_emit_dx_cbuffer_load(), spirv_compiler_emit_load_reg(), spirv_compiler_emit_mov(), spirv_compiler_emit_store_reg(), src_param_init_scalar(), vkd3d_swizzle_is_scalar(), and vsir_validate_ssa_register().
|
inlinestatic |
Definition at line 707 of file vkd3d_shader_private.h.
Referenced by register_get_uint_value().
|
inlinestatic |
Definition at line 712 of file vkd3d_shader_private.h.
Referenced by register_get_float_value(), spirv_compiler_emit_abs(), spirv_compiler_emit_neg(), spirv_compiler_emit_sat(), and spirv_compiler_emit_wave_alu_op().
|
inlinestatic |
Definition at line 701 of file vkd3d_shader_private.h.
Referenced by register_get_uint64_value(), register_get_uint_value(), and spirv_compiler_emit_neg().
| void dxbc_writer_add_section | ( | struct dxbc_writer * | dxbc, |
| uint32_t | tag, | ||
| const void * | data, | ||
| size_t | size | ||
| ) |
Definition at line 41 of file dxbc.c.
Referenced by add_section(), and tpf_write_sfi0().
| void dxbc_writer_init | ( | struct dxbc_writer * | dxbc | ) |
Definition at line 36 of file dxbc.c.
Referenced by tpf_compile().
| int dxbc_writer_write | ( | struct dxbc_writer * | dxbc, |
| struct vkd3d_shader_code * | code | ||
| ) |
Definition at line 100 of file dxbc.c.
Referenced by tpf_compile().
| int dxil_parse | ( | const struct vkd3d_shader_compile_info * | compile_info, |
| uint64_t | config_flags, | ||
| struct vkd3d_shader_message_context * | message_context, | ||
| struct vsir_program * | program | ||
| ) |
Definition at line 10606 of file dxil.c.
Referenced by vsir_parse().
| void free_dxbc_shader_desc | ( | struct dxbc_shader_desc * | desc | ) |
Definition at line 573 of file dxbc.c.
Referenced by dxil_parse(), shader_extract_from_dxbc(), and tpf_parse().
| int fx_parse | ( | const struct vkd3d_shader_compile_info * | compile_info, |
| struct vkd3d_shader_code * | out, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 3789 of file fx.c.
Referenced by vkd3d_shader_compile().
| int glsl_compile | ( | struct vsir_program * | program, |
| uint64_t | config_flags, | ||
| const struct vkd3d_shader_scan_descriptor_info1 * | descriptor_info, | ||
| const struct vkd3d_shader_scan_combined_resource_sampler_info * | combined_sampler_info, | ||
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| struct vkd3d_shader_code * | out, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 2467 of file glsl.c.
Referenced by vsir_program_compile().
| int hlsl_compile_shader | ( | const struct vkd3d_shader_code * | hlsl, |
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| struct vkd3d_shader_code * | out, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 4496 of file hlsl.c.
Referenced by compile_hlsl().
| int msl_compile | ( | struct vsir_program * | program, |
| uint64_t | config_flags, | ||
| const struct vkd3d_shader_scan_descriptor_info1 * | descriptor_info, | ||
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| struct vkd3d_shader_code * | out, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 879 of file msl.c.
Referenced by vsir_program_compile().
| int preproc_lexer_parse | ( | const struct vkd3d_shader_compile_info * | compile_info, |
| struct vkd3d_shader_code * | out, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Referenced by compile_hlsl(), and vkd3d_shader_preprocess().
|
inlinestatic |
Definition at line 1572 of file vkd3d_shader_private.h.
Referenced by d3dbc_write_vsir_def(), and shader_write_static_samplers().
|
inlinestatic |
Definition at line 1577 of file vkd3d_shader_private.h.
Referenced by tpf_write_signature(), write_sm1_type(), write_sm1_uniforms(), write_sm4_rdef(), and write_sm4_type().
|
inlinestatic |
Definition at line 1567 of file vkd3d_shader_private.h.
|
inlinestatic |
Definition at line 1297 of file vkd3d_shader_private.h.
Referenced by register_get_float_value(), register_get_uint64_value(), register_get_uint_value(), register_is_constant_or_undef(), register_is_scalar_constant_zero(), shader_sm4_read_src_param(), sm4_encode_register(), sm6_parser_emit_reg_composite_construct(), sm6_value_is_constant(), and vsir_validate_switch_monolithic().
|
inlinestatic |
Definition at line 1307 of file vkd3d_shader_private.h.
Referenced by spirv_compiler_emit_load_scalar(), spirv_compiler_emit_mov(), spirv_compiler_emit_quad_read_lane_at(), spirv_compiler_emit_store_reg(), spirv_compiler_emit_wave_read_lane_at(), spirv_compiler_get_register_info(), and vsir_validate_phi().
|
inlinestatic |
Definition at line 1318 of file vkd3d_shader_private.h.
Referenced by sm6_value_is_numeric_array().
|
inlinestatic |
Definition at line 1312 of file vkd3d_shader_private.h.
Referenced by sm6_value_is_constant_zero().
|
inlinestatic |
Definition at line 1329 of file vkd3d_shader_private.h.
Referenced by register_init_ssa_vector(), register_map_undominated_use(), sm6_value_is_ssa(), spirv_compiler_emit_resinfo(), vsir_cfg_materialize_undominated_ssas_to_temps(), and vsir_validate_phi().
|
inlinestatic |
Definition at line 1302 of file vkd3d_shader_private.h.
Referenced by register_is_constant_or_undef().
| void set_string | ( | struct vkd3d_bytecode_buffer * | buffer, |
| size_t | offset, | ||
| const char * | string, | ||
| size_t | length | ||
| ) |
Definition at line 441 of file vkd3d_shader_main.c.
| void set_u32 | ( | struct vkd3d_bytecode_buffer * | buffer, |
| size_t | offset, | ||
| uint32_t | value | ||
| ) |
Definition at line 436 of file vkd3d_shader_main.c.
Referenced by hlsl_fx_2_write(), hlsl_fx_4_write(), hlsl_fx_5_write(), shader_write_root_parameters(), shader_write_root_signature(), tpf_write_shdr(), tpf_write_signature(), vkd3d_shader_serialize_dxbc(), vkd3d_shader_serialize_root_signature(), write_fx_2_annotations(), write_fx_2_technique(), write_fx_4_annotations(), write_fx_4_buffer(), write_fx_4_numeric_variable(), write_fx_4_state_assignment(), write_fx_4_state_block(), write_fx_4_technique(), write_group(), write_sm1_uniforms(), write_sm4_instruction(), and write_sm4_rdef().
|
inlinestatic |
Definition at line 1358 of file vkd3d_shader_private.h.
Referenced by shader_instruction_array_clone_dst_params(), and vsir_program_get_dst_params().
| int shader_extract_from_dxbc | ( | const struct vkd3d_shader_code * | dxbc, |
| struct vkd3d_shader_message_context * | message_context, | ||
| const char * | source_name, | ||
| struct dxbc_shader_desc * | desc | ||
| ) |
Definition at line 580 of file dxbc.c.
Referenced by dxil_parse(), and tpf_parse().
| const char * shader_get_type_prefix | ( | enum vkd3d_shader_type | type | ) |
Definition at line 1737 of file d3d_asm.c.
Referenced by d3d_asm_compile().
| bool shader_instruction_array_add_icb | ( | struct vkd3d_shader_instruction_array * | instructions, |
| struct vkd3d_shader_immediate_constant_buffer * | icb | ||
| ) |
Definition at line 2171 of file vkd3d_shader_main.c.
Referenced by shader_sm4_read_shader_data(), and value_allocate_constant_array().
| bool shader_instruction_array_clone_instruction | ( | struct vkd3d_shader_instruction_array * | instructions, |
| unsigned int | dst, | ||
| unsigned int | src | ||
| ) |
Definition at line 2244 of file vkd3d_shader_main.c.
Referenced by flattener_flatten_phases().
| void shader_instruction_array_destroy | ( | struct vkd3d_shader_instruction_array * | instructions | ) |
Definition at line 2259 of file vkd3d_shader_main.c.
Referenced by spirv_compiler_generate_spirv(), and vsir_program_cleanup().
| bool shader_instruction_array_init | ( | struct vkd3d_shader_instruction_array * | instructions, |
| unsigned int | reserve | ||
| ) |
Definition at line 2132 of file vkd3d_shader_main.c.
Referenced by vsir_program_init().
| bool shader_instruction_array_insert_at | ( | struct vkd3d_shader_instruction_array * | instructions, |
| unsigned int | idx, | ||
| unsigned int | count | ||
| ) |
Definition at line 2154 of file vkd3d_shader_main.c.
Referenced by insert_alpha_test_before_ret(), insert_clip_planes_before_ret(), insert_point_size_before_ret(), vsir_program_ensure_diffuse(), vsir_program_ensure_ret(), vsir_program_insert_point_coord(), vsir_program_insert_point_size_clamp(), vsir_program_lower_ifc(), vsir_program_lower_precise_mad(), vsir_program_lower_sm1_sincos(), vsir_program_lower_texkill(), and vsir_program_remap_output_signature().
| bool shader_instruction_array_reserve | ( | struct vkd3d_shader_instruction_array * | instructions, |
| unsigned int | reserve | ||
| ) |
Definition at line 2143 of file vkd3d_shader_main.c.
Referenced by control_point_normaliser_emit_hs_input(), d3dbc_parse(), flattener_flatten_phases(), generate_vsir_add_program_instruction(), shader_instruction_array_init(), shader_instruction_array_insert_at(), sm1_generate_vsir_constant_defs(), sm1_generate_vsir_sampler_dcls(), sm6_parser_require_space(), tpf_parse(), and vsir_program_flatten_hull_shader_phases().
| void * shader_param_allocator_get | ( | struct vkd3d_shader_param_allocator * | allocator, |
| unsigned int | count | ||
| ) |
Definition at line 2106 of file vkd3d_shader_main.c.
Referenced by shader_dst_param_allocator_get(), and shader_src_param_allocator_get().
| int shader_parse_input_signature | ( | const struct vkd3d_shader_code * | dxbc, |
| struct vkd3d_shader_message_context * | message_context, | ||
| struct shader_signature * | signature | ||
| ) |
Definition at line 493 of file dxbc.c.
Referenced by vkd3d_shader_parse_input_signature().
| void shader_signature_cleanup | ( | struct shader_signature * | signature | ) |
Definition at line 1846 of file vkd3d_shader_main.c.
Referenced by free_dxbc_shader_desc(), isgn_handler(), sm6_parser_init(), sm6_parser_read_signature(), spirv_compiler_destroy(), tpf_parse(), vkd3d_shader_parse_input_signature(), and vsir_program_cleanup().
| bool shader_sm4_is_scalar_register | ( | const struct vkd3d_shader_register * | reg | ) |
Definition at line 2238 of file tpf.c.
Referenced by shader_sm4_read_dst_param(), sm4_generate_vsir_instr_dcl_semantic(), and sm4_register_from_deref().
|
inlinestatic |
Definition at line 1351 of file vkd3d_shader_private.h.
Referenced by shader_instruction_array_clone_src_params(), vsir_program_create_outpointid_param(), vsir_program_get_src_params(), vsir_program_lower_tex(), and vsir_program_lower_texldd().
| bool sm1_register_from_semantic_name | ( | const struct vkd3d_shader_version * | version, |
| const char * | semantic_name, | ||
| unsigned int | semantic_index, | ||
| bool | output, | ||
| enum vkd3d_shader_register_type * | type, | ||
| unsigned int * | reg | ||
| ) |
Definition at line 1401 of file d3dbc.c.
Referenced by allocate_semantic_register(), d3dbc_write_semantic_dcl(), generate_vsir_signature_entry(), sm1_generate_vsir_init_dst_param_from_deref(), and sm1_generate_vsir_init_src_param_from_deref().
| bool sm1_usage_from_semantic_name | ( | const char * | semantic_name, |
| uint32_t | semantic_index, | ||
| enum vkd3d_decl_usage * | usage, | ||
| uint32_t * | usage_idx | ||
| ) |
Definition at line 1469 of file d3dbc.c.
Referenced by allocate_semantic_register(), d3dbc_write_semantic_dcl(), and generate_vsir_signature_entry().
| bool sm4_register_from_semantic_name | ( | const struct vkd3d_shader_version * | version, |
| const char * | semantic_name, | ||
| bool | output, | ||
| enum vkd3d_shader_register_type * | type, | ||
| bool * | has_idx | ||
| ) |
Definition at line 2998 of file tpf.c.
Referenced by allocate_semantic_register(), generate_vsir_signature_entry(), sm4_generate_vsir_instr_dcl_semantic(), and sm4_register_from_deref().
| bool sm4_sysval_semantic_from_semantic_name | ( | enum vkd3d_shader_sysval_semantic * | sysval_semantic, |
| const struct vkd3d_shader_version * | version, | ||
| bool | semantic_compat_mapping, | ||
| enum vkd3d_tessellator_domain | domain, | ||
| const char * | semantic_name, | ||
| unsigned int | semantic_idx, | ||
| bool | output, | ||
| bool | is_patch_constant_func | ||
| ) |
Definition at line 3100 of file tpf.c.
Referenced by allocate_semantic_register(), generate_vsir_signature_entry(), and sm4_generate_vsir_instr_dcl_semantic().
| int spirv_compile | ( | struct vsir_program * | program, |
| uint64_t | config_flags, | ||
| const struct vkd3d_shader_scan_descriptor_info1 * | scan_descriptor_info, | ||
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| struct vkd3d_shader_code * | out, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 10835 of file spirv.c.
Referenced by vsir_program_compile().
| int tpf_parse | ( | const struct vkd3d_shader_compile_info * | compile_info, |
| uint64_t | config_flags, | ||
| struct vkd3d_shader_message_context * | message_context, | ||
| struct vsir_program * | program | ||
| ) |
Definition at line 2900 of file tpf.c.
Referenced by hlsl_compile_shader(), and vsir_parse().
Definition at line 1878 of file vkd3d_shader_private.h.
Referenced by vkd3d_swizzle_is_equal().
|
inlinestatic |
Definition at line 1678 of file vkd3d_shader_private.h.
Referenced by spirv_compiler_emit_bitfield_instruction(), spirv_compiler_emit_constant_array(), spirv_compiler_emit_dcl_immediate_constant_buffer(), spirv_compiler_emit_dcl_indexable_temp(), spirv_compiler_emit_dot(), spirv_compiler_emit_f16tof32(), spirv_compiler_emit_f32tof16(), spirv_compiler_emit_ftoi(), spirv_compiler_emit_load_constant(), spirv_compiler_emit_load_constant64(), spirv_compiler_emit_load_reg(), spirv_compiler_emit_load_scalar(), spirv_compiler_emit_load_ssa_reg(), spirv_compiler_emit_shader_parameter(), spirv_compiler_emit_spec_constant(), spirv_compiler_emit_store_reg(), spirv_compiler_generate_spirv(), spirv_compiler_get_buffer_parameter(), spirv_compiler_get_type_id_for_reg(), and vkd3d_spirv_get_type_id_for_data_type().
|
inlinestatic |
Definition at line 1726 of file vkd3d_shader_private.h.
Referenced by shader_glsl_generate_sampler_declaration(), shader_glsl_generate_uav_declaration(), shader_glsl_ld(), shader_glsl_load_uav_typed(), shader_glsl_sample(), shader_glsl_store_uav_typed(), and spirv_compiler_emit_resource_declaration().
| void vkd3d_compute_md5 | ( | const void * | dxbc, |
| size_t | size, | ||
| uint32_t | checksum[4], | ||
| enum vkd3d_md5_variant | variant | ||
| ) |
Definition at line 305 of file checksum.c.
Referenced by compute_dxbc_checksum(), and fill_shader_dump_data().
|
inlinestatic |
Definition at line 1707 of file vkd3d_shader_private.h.
Referenced by dst_param_io_init(), msl_generate_entrypoint_epilogue(), msl_generate_entrypoint_prologue(), shader_dst_param_io_init(), shader_glsl_ld(), shader_glsl_load_uav_typed(), shader_glsl_sample(), shader_glsl_store_uav_typed(), spirv_compiler_emit_load_src_with_type(), and spirv_compiler_emit_store_dst_swizzled().
|
inlinestatic |
Definition at line 37 of file vkd3d_shader_main.c.
| void vkd3d_shader_code_from_string_buffer | ( | struct vkd3d_shader_code * | code, |
| struct vkd3d_string_buffer * | buffer | ||
| ) |
Definition at line 235 of file vkd3d_shader_main.c.
Referenced by d3d_asm_compile(), fx_parse(), and msl_generator_generate().
| void vkd3d_shader_error | ( | struct vkd3d_shader_message_context * | context, |
| const struct vkd3d_shader_location * | location, | ||
| enum vkd3d_shader_error | error, | ||
| const char * | format, | ||
| ... | |||
| ) |
Definition at line 592 of file vkd3d_shader_main.c.
Referenced by hlsl_compile_shader(), hlsl_emit_bytecode(), vkd3d_shader_compile(), and vkd3d_shader_scan().
|
inlinestatic |
Definition at line 1292 of file vkd3d_shader_private.h.
Referenced by shader_dump_instruction(), shader_glsl_ld(), shader_glsl_sample(), spirv_compiler_emit_gather4(), spirv_compiler_emit_ld(), spirv_compiler_emit_sample(), and spirv_compiler_emit_sample_c().
| void vkd3d_shader_message_context_cleanup | ( | struct vkd3d_shader_message_context * | context | ) |
Definition at line 252 of file vkd3d_shader_main.c.
Referenced by vkd3d_shader_compile(), vkd3d_shader_parse_dxbc(), vkd3d_shader_parse_input_signature(), vkd3d_shader_parse_root_signature(), vkd3d_shader_preprocess(), vkd3d_shader_scan(), and vkd3d_shader_serialize_root_signature().
| bool vkd3d_shader_message_context_copy_messages | ( | struct vkd3d_shader_message_context * | context, |
| char ** | out | ||
| ) |
Definition at line 263 of file vkd3d_shader_main.c.
Referenced by vkd3d_shader_compile(), vkd3d_shader_parse_dxbc(), vkd3d_shader_parse_input_signature(), vkd3d_shader_parse_root_signature(), vkd3d_shader_preprocess(), vkd3d_shader_scan(), and vkd3d_shader_serialize_root_signature().
| void vkd3d_shader_message_context_init | ( | struct vkd3d_shader_message_context * | context, |
| enum vkd3d_shader_log_level | log_level | ||
| ) |
Definition at line 245 of file vkd3d_shader_main.c.
Referenced by vkd3d_shader_compile(), vkd3d_shader_parse_dxbc(), vkd3d_shader_parse_input_signature(), vkd3d_shader_parse_root_signature(), vkd3d_shader_preprocess(), vkd3d_shader_scan(), and vkd3d_shader_serialize_root_signature().
| void vkd3d_shader_message_context_trace_messages_ | ( | const struct vkd3d_shader_message_context * | context, |
| const char * | function | ||
| ) |
Definition at line 257 of file vkd3d_shader_main.c.
| void vkd3d_shader_parser_error | ( | struct vkd3d_shader_parser * | parser, |
| enum vkd3d_shader_error | error, | ||
| const char * | format, | ||
| ... | |||
| ) |
Referenced by add_signature_element_from_register(), d3dbc_parse(), dxil_record_to_string(), dxil_record_validate_operand_min_count(), instruction_dst_params_alloc(), instruction_src_params_alloc(), map_binary_op(), map_dx_atomic_binop(), metadata_value_create_node(), resolve_forward_initialiser(), resolve_forward_zero_initialiser(), resources_load_additional_values(), shader_sm1_read_comment(), shader_sm1_read_dst_param(), shader_sm1_read_immconst(), shader_sm1_read_instruction(), shader_sm1_read_param(), shader_sm1_read_semantic(), shader_sm1_read_src_param(), shader_sm4_parser_validate_signature(), shader_sm4_read_case_condition(), shader_sm4_read_dcl_index_range(), shader_sm4_read_dcl_input_ps(), shader_sm4_read_dcl_input_ps_siv(), shader_sm4_read_dst_param(), shader_sm4_read_instruction(), shader_sm4_read_param(), shader_sm4_read_shader_data(), shader_sm4_read_src_param(), shader_sm4_set_descriptor_register_range(), shader_sm4_validate_default_phase_index_ranges(), shader_sm4_validate_input_output_register(), signature_element_read_additional_element_values(), sm6_block_phi_require_space(), sm6_dx_map_wave_bit_op(), sm6_dx_map_wave_op(), sm6_function_emit_blocks(), sm6_function_get_block(), sm6_function_resolve_phi_incomings(), sm6_map_cast_op(), sm6_parser_constants_init(), sm6_parser_declare_global(), sm6_parser_declare_tgsm_raw(), sm6_parser_declare_tgsm_structured(), sm6_parser_decode_dx_op(), sm6_parser_descriptor_type_init(), sm6_parser_ds_properties_init(), sm6_parser_emit_alloca(), sm6_parser_emit_atomicrmw(), sm6_parser_emit_br(), sm6_parser_emit_call(), sm6_parser_emit_cmp2(), sm6_parser_emit_cmpxchg(), sm6_parser_emit_dcl_max_tessellation_factor(), sm6_parser_emit_dcl_tessellator_domain(), sm6_parser_emit_dcl_tessellator_output_primitive(), sm6_parser_emit_dcl_tessellator_partitioning(), sm6_parser_emit_dx_buffer_store(), sm6_parser_emit_dx_buffer_update_counter(), sm6_parser_emit_dx_create_handle(), sm6_parser_emit_dx_domain_location(), sm6_parser_emit_dx_load_input(), sm6_parser_emit_dx_quad_op(), sm6_parser_emit_dx_raw_buffer_load(), sm6_parser_emit_dx_raw_buffer_store(), sm6_parser_emit_dx_sample_index(), sm6_parser_emit_dx_store_output(), sm6_parser_emit_dx_stream(), sm6_parser_emit_dx_texture_gather(), sm6_parser_emit_dx_texture_store(), sm6_parser_emit_extractval(), sm6_parser_emit_gep(), sm6_parser_emit_global_flags(), sm6_parser_emit_phi(), sm6_parser_emit_switch(), sm6_parser_emit_thread_group(), sm6_parser_entry_point_init(), sm6_parser_function_init(), sm6_parser_get_type(), sm6_parser_get_value_index(), sm6_parser_get_value_safe(), sm6_parser_globals_init(), sm6_parser_gs_properties_init(), sm6_parser_hs_properties_init(), sm6_parser_init(), sm6_parser_init_constexpr_gep(), sm6_parser_metadata_attachment_block_init(), sm6_parser_metadata_init(), sm6_parser_read_signature(), sm6_parser_resources_init(), sm6_parser_resources_load_cbv(), sm6_parser_resources_load_common_info(), sm6_parser_resources_load_sampler(), sm6_parser_resources_load_srv(), sm6_parser_resources_load_uav(), sm6_parser_signatures_init(), sm6_parser_validate_control_point_count(), sm6_parser_validate_dx_op(), sm6_value_validate_is_backward_ref(), sm6_value_validate_is_bool(), sm6_value_validate_is_handle(), sm6_value_validate_is_i32(), sm6_value_validate_is_numeric(), sm6_value_validate_is_pointer(), sm6_value_validate_is_pointer_to_i32(), sm6_value_validate_is_register(), sm6_value_validate_is_sampler_handle(), sm6_value_validate_is_texture_2dms_handle(), sm6_value_validate_is_texture_handle(), tpf_parse(), value_allocate_constant_array(), and vkd3d_data_type_from_dxil_component_type().
| void void vkd3d_shader_parser_init | ( | struct vkd3d_shader_parser * | parser, |
| struct vsir_program * | program, | ||
| struct vkd3d_shader_message_context * | message_context, | ||
| const char * | source_name | ||
| ) |
Definition at line 606 of file vkd3d_shader_main.c.
Referenced by shader_sm1_init(), shader_sm4_init(), and sm6_parser_init().
| void vkd3d_shader_parser_warning | ( | struct vkd3d_shader_parser * | parser, |
| enum vkd3d_shader_error | error, | ||
| const char * | format, | ||
| ... | |||
| ) |
Referenced by add_signature_mask(), dxil_record_validate_operand_max_count(), map_binary_op(), metadata_attachment_record_apply(), metadata_node_get_unary_uint(), resources_load_additional_values(), shader_sm1_validate_instruction(), shader_sm4_parser_validate_signature(), shader_sm4_read_dst_param(), shader_sm4_read_src_param(), signature_element_read_additional_element_values(), sm6_block_emit_terminator(), sm6_function_resolve_phi_incomings(), sm6_parser_constants_init(), sm6_parser_ds_properties_init(), sm6_parser_emit_binop(), sm6_parser_emit_call(), sm6_parser_emit_cmp2(), sm6_parser_emit_dx_atomic_binop(), sm6_parser_emit_dx_barrier(), sm6_parser_emit_dx_buffer_load(), sm6_parser_emit_dx_buffer_store(), sm6_parser_emit_dx_buffer_update_counter(), sm6_parser_emit_dx_get_dimensions(), sm6_parser_emit_dx_load_input(), sm6_parser_emit_dx_raw_buffer_store(), sm6_parser_emit_dx_sample(), sm6_parser_emit_gep(), sm6_parser_emit_load(), sm6_parser_emit_store(), sm6_parser_emit_switch(), sm6_parser_entry_point_init(), sm6_parser_find_named_metadata(), sm6_parser_function_init(), sm6_parser_get_value_idx_by_ref(), sm6_parser_gs_properties_init(), sm6_parser_hs_properties_init(), sm6_parser_init(), sm6_parser_init_constexpr_gep(), sm6_parser_metadata_attachment_block_init(), sm6_parser_metadata_init(), sm6_parser_read_signature(), sm6_parser_resources_load_cbv(), sm6_parser_resources_load_register_range(), sm6_parser_resources_load_sampler(), sm6_parser_resources_load_srv(), and sm6_parser_resources_load_uav().
Definition at line 169 of file vkd3d_shader_main.c.
Referenced by vkd3d_string_buffer_trace_().
|
inlinestatic |
Definition at line 1279 of file vkd3d_shader_private.h.
Referenced by shader_dump_instruction(), shader_dump_instruction_flags(), shader_dump_register_space(), shader_print_dcl_usage(), shader_print_register(), shader_sm1_get_opcode_info(), shader_sm1_get_opcode_info_from_vsir(), sm4_register_from_deref(), tpf_write_shdr(), vkd3d_shader_scan_combined_sampler_usage(), write_sm4_dcl_textures(), and write_sm4_gather().
|
inlinestatic |
Definition at line 1284 of file vkd3d_shader_private.h.
Referenced by shader_sm1_get_opcode_info(), shader_sm1_get_opcode_info_from_vsir(), and shader_sm1_init().
| void void vkd3d_shader_verror | ( | struct vkd3d_shader_message_context * | context, |
| const struct vkd3d_shader_location * | location, | ||
| enum vkd3d_shader_error | error, | ||
| const char * | format, | ||
| va_list | args | ||
| ) |
Definition at line 336 of file vkd3d_shader_main.c.
Referenced by hlsl_error(), VKD3D_PRINTF_FUNC(), and vkd3d_shader_error().
| void vkd3d_shader_vnote | ( | struct vkd3d_shader_message_context * | context, |
| const struct vkd3d_shader_location * | location, | ||
| enum vkd3d_shader_log_level | level, | ||
| const char * | format, | ||
| va_list | args | ||
| ) |
Definition at line 282 of file vkd3d_shader_main.c.
Referenced by hlsl_note().
| void void vkd3d_shader_vwarning | ( | struct vkd3d_shader_message_context * | context, |
| const struct vkd3d_shader_location * | location, | ||
| enum vkd3d_shader_error | error, | ||
| const char * | format, | ||
| va_list | args | ||
| ) |
Definition at line 302 of file vkd3d_shader_main.c.
Referenced by hlsl_warning(), and vkd3d_shader_warning().
| void vkd3d_shader_warning | ( | struct vkd3d_shader_message_context * | context, |
| const struct vkd3d_shader_location * | location, | ||
| enum vkd3d_shader_error | error, | ||
| const char * | format, | ||
| ... | |||
| ) |
|
inlinestatic |
Definition at line 1758 of file vkd3d_shader_private.h.
Referenced by control_point_normaliser_emit_hs_input().
| enum vkd3d_shader_input_sysval_semantic vkd3d_siv_from_sysval_indexed | ( | enum vkd3d_shader_sysval_semantic | sysval, |
| unsigned int | index | ||
| ) |
Definition at line 199 of file spirv.c.
Referenced by sm4_generate_vsir_instr_dcl_semantic(), and vkd3d_siv_from_sysval().
| void vkd3d_string_buffer_cache_cleanup | ( | struct vkd3d_string_buffer_cache * | list | ) |
Definition at line 191 of file vkd3d_shader_main.c.
Referenced by hlsl_ctx_cleanup(), msl_generator_cleanup(), msl_generator_init(), spirv_compiler_destroy(), and vkd3d_glsl_generator_cleanup().
| void vkd3d_string_buffer_cache_init | ( | struct vkd3d_string_buffer_cache * | list | ) |
Definition at line 186 of file vkd3d_shader_main.c.
Referenced by hlsl_ctx_init(), msl_generator_init(), spirv_compiler_create(), vkd3d_glsl_generator_init(), and vkd3d_string_buffer_cache_cleanup().
| void vkd3d_string_buffer_cleanup | ( | struct vkd3d_string_buffer * | buffer | ) |
Definition at line 67 of file vkd3d_shader_main.c.
Referenced by d3d_asm_compile(), hlsl_dump_function(), hlsl_dump_var_default_values(), spirv_compiler_generate_spirv(), trace_signature(), vkd3d_shader_message_context_cleanup(), vkd3d_string_buffer_cache_cleanup(), and vsir_cfg_cleanup().
| void vkd3d_string_buffer_clear | ( | struct vkd3d_string_buffer * | buffer | ) |
Definition at line 72 of file vkd3d_shader_main.c.
Referenced by declare_predefined_types(), trace_signature(), vkd3d_string_buffer_get(), vsir_cfg_compute_dominators(), vsir_cfg_compute_loops(), and vsir_cfg_sort_nodes().
| struct vkd3d_string_buffer * vkd3d_string_buffer_get | ( | struct vkd3d_string_buffer_cache * | list | ) |
Definition at line 204 of file vkd3d_shader_main.c.
Referenced by glsl_dst_init(), glsl_src_init(), hlsl_get_string_buffer(), msl_dst_init(), msl_generator_init(), msl_src_init(), shader_glsl_intrinsic(), shader_glsl_ld(), shader_glsl_load_uav_typed(), shader_glsl_print_src(), shader_glsl_sample(), shader_glsl_store_uav_typed(), vkd3d_glsl_generator_init(), and vkd3d_shader_register_range_string().
| void vkd3d_string_buffer_init | ( | struct vkd3d_string_buffer * | buffer | ) |
Definition at line 58 of file vkd3d_shader_main.c.
Referenced by d3d_asm_compile(), fx_parse(), hlsl_dump_function(), hlsl_dump_var_default_values(), spirv_compiler_generate_spirv(), trace_signature(), VKD3D_PRINTF_FUNC(), vkd3d_shader_message_context_init(), vkd3d_string_buffer_get(), and vsir_cfg_init().
| int vkd3d_string_buffer_print_f32 | ( | struct vkd3d_string_buffer * | buffer, |
| float | f | ||
| ) |
Definition at line 134 of file vkd3d_shader_main.c.
Referenced by shader_print_float_literal().
| int vkd3d_string_buffer_print_f64 | ( | struct vkd3d_string_buffer * | buffer, |
| double | d | ||
| ) |
Definition at line 149 of file vkd3d_shader_main.c.
Referenced by shader_print_double_literal().
| int vkd3d_string_buffer_printf | ( | struct vkd3d_string_buffer * | buffer, |
| const char * | format, | ||
| ... | |||
| ) |
| int void vkd3d_string_buffer_release | ( | struct vkd3d_string_buffer_cache * | list, |
| struct vkd3d_string_buffer * | buffer | ||
| ) |
Definition at line 227 of file vkd3d_shader_main.c.
Referenced by glsl_dst_cleanup(), glsl_src_cleanup(), hlsl_release_string_buffer(), msl_dst_cleanup(), msl_generator_cleanup(), msl_src_cleanup(), shader_glsl_intrinsic(), shader_glsl_ld(), shader_glsl_load_uav_typed(), shader_glsl_print_src(), shader_glsl_sample(), shader_glsl_store_uav_typed(), spirv_compiler_get_descriptor_binding(), and vkd3d_glsl_generator_cleanup().
| void vkd3d_string_buffer_trace_ | ( | const struct vkd3d_string_buffer * | buffer, |
| const char * | function | ||
| ) |
Definition at line 164 of file vkd3d_shader_main.c.
Referenced by vkd3d_shader_message_context_trace_messages_().
| void vkd3d_string_buffer_truncate | ( | struct vkd3d_string_buffer * | buffer, |
| size_t | size | ||
| ) |
Definition at line 77 of file vkd3d_shader_main.c.
Referenced by vkd3d_string_buffer_clear(), and vsir_cfg_structure_list_dump().
| int vkd3d_string_buffer_vprintf | ( | struct vkd3d_string_buffer * | buffer, |
| const char * | format, | ||
| va_list | args | ||
| ) |
Definition at line 99 of file vkd3d_shader_main.c.
Referenced by hlsl_fixme(), hlsl_sprintf_alloc(), VKD3D_PRINTF_FUNC(), vkd3d_shader_verror(), vkd3d_shader_vnote(), vkd3d_shader_vwarning(), and vkd3d_string_buffer_printf().
|
inlinestatic |
Definition at line 1785 of file vkd3d_shader_private.h.
Referenced by allocate_register(), shader_glsl_ld(), shader_glsl_load_uav_typed(), shader_glsl_print_shadow_coord(), shader_glsl_sample(), shader_glsl_store_uav_typed(), sm6_parser_read_signature(), spirv_compiler_emit_dcl_immediate_constant_buffer(), spirv_compiler_emit_dcl_indexable_temp(), spirv_compiler_emit_input(), spirv_compiler_emit_input_register(), spirv_compiler_emit_output_register(), vkd3d_glsl_handle_instruction(), vsir_program_insert_clip_planes(), and write_sm4_resource_store().
| void vsir_dst_param_init | ( | struct vkd3d_shader_dst_param * | param, |
| enum vkd3d_shader_register_type | reg_type, | ||
| enum vkd3d_data_type | data_type, | ||
| unsigned int | idx_count | ||
| ) |
Definition at line 272 of file ir.c.
Referenced by dst_param_init_output(), dst_param_init_ssa_bool(), dst_param_init_ssa_float(), dst_param_init_temp_bool(), dst_param_init_temp_float4(), dst_param_init_temp_uint(), insert_alpha_test_before_ret(), insert_clip_planes_before_ret(), insert_point_size_before_ret(), instruction_dst_param_init_temp_vector(), remove_unread_output_components(), sm4_generate_vsir_expr_with_two_destinations(), spirv_compiler_emit_io_declarations(), vsir_dst_from_hlsl_node(), vsir_program_ensure_diffuse(), vsir_program_insert_point_size_clamp(), and vsir_program_lower_sm1_sincos().
| void vsir_instruction_init | ( | struct vkd3d_shader_instruction * | ins, |
| const struct vkd3d_shader_location * | location, | ||
| enum vkd3d_shader_opcode | opcode | ||
| ) |
Definition at line 321 of file ir.c.
Referenced by cf_flattener_emit_branch(), cf_flattener_iterate_instruction_array(), control_point_normaliser_emit_hs_input(), instruction_init_with_resource(), shader_sm1_read_instruction(), shader_sm4_read_instruction(), sm6_parser_add_instruction(), sm6_parser_declare_indexable_temp(), sm6_parser_emit_atomicrmw(), sm6_parser_emit_binop(), sm6_parser_emit_cast(), sm6_parser_emit_cmp2(), sm6_parser_emit_cmpxchg(), sm6_parser_emit_dx_atomic_binop(), sm6_parser_emit_dx_barrier(), sm6_parser_emit_dx_binary(), sm6_parser_emit_dx_buffer_store(), sm6_parser_emit_dx_buffer_update_counter(), sm6_parser_emit_dx_calculate_lod(), sm6_parser_emit_dx_cbuffer_load(), sm6_parser_emit_dx_compute_builtin(), sm6_parser_emit_dx_discard(), sm6_parser_emit_dx_domain_location(), sm6_parser_emit_dx_dot(), sm6_parser_emit_dx_fabs(), sm6_parser_emit_dx_get_dimensions(), sm6_parser_emit_dx_get_sample_count(), sm6_parser_emit_dx_get_sample_pos(), sm6_parser_emit_dx_input_register_mov(), sm6_parser_emit_dx_load_input(), sm6_parser_emit_dx_ma(), sm6_parser_emit_dx_make_double(), sm6_parser_emit_dx_quad_op(), sm6_parser_emit_dx_raw_buffer_store(), sm6_parser_emit_dx_sample_index(), sm6_parser_emit_dx_saturate(), sm6_parser_emit_dx_sincos(), sm6_parser_emit_dx_split_double(), sm6_parser_emit_dx_store_output(), sm6_parser_emit_dx_stream(), sm6_parser_emit_dx_tertiary(), sm6_parser_emit_dx_texture_store(), sm6_parser_emit_dx_unary(), sm6_parser_emit_dx_void(), sm6_parser_emit_dx_wave_active_ballot(), sm6_parser_emit_dx_wave_active_bit(), sm6_parser_emit_dx_wave_op(), sm6_parser_emit_extractval(), sm6_parser_emit_load(), sm6_parser_emit_reg_composite_construct(), sm6_parser_emit_store(), sm6_parser_emit_vselect(), sm6_parser_resources_load_cbv(), sm6_parser_resources_load_sampler(), sm6_parser_resources_load_srv(), sm6_parser_resources_load_uav(), vkd3d_shader_instruction_make_nop(), vsir_cfg_structure_list_emit_loop(), vsir_cfg_structure_list_emit_selection(), vsir_instruction_init_label(), vsir_instruction_init_with_params(), vsir_program_ensure_ret(), and vsir_program_flatten_hull_shader_phases().
| bool vsir_instruction_init_with_params | ( | struct vsir_program * | program, |
| struct vkd3d_shader_instruction * | ins, | ||
| const struct vkd3d_shader_location * | location, | ||
| enum vkd3d_shader_opcode | opcode, | ||
| unsigned int | dst_count, | ||
| unsigned int | src_count | ||
| ) |
Definition at line 329 of file ir.c.
Referenced by generate_vsir_add_program_instruction(), insert_alpha_test_before_ret(), insert_clip_planes_before_ret(), insert_point_size_before_ret(), sm1_generate_vsir_constant_defs(), sm1_generate_vsir_sampler_dcls(), vsir_cfg_structure_list_emit_jump(), vsir_cfg_structure_list_emit_loop(), vsir_cfg_structure_list_emit_selection(), vsir_program_ensure_diffuse(), vsir_program_insert_point_coord(), vsir_program_insert_point_size_clamp(), vsir_program_lower_ifc(), vsir_program_lower_precise_mad(), vsir_program_lower_sm1_sincos(), vsir_program_lower_switch_to_selection_ladder(), vsir_program_lower_texkill(), vsir_program_materialise_phi_ssas_to_temps(), and vsir_program_remap_output_signature().
| void vsir_program_cleanup | ( | struct vsir_program * | program | ) |
Definition at line 105 of file ir.c.
Referenced by d3dbc_parse(), hlsl_compile_shader(), hlsl_emit_bytecode(), sm6_parser_init(), tpf_parse(), vkd3d_shader_compile(), vkd3d_shader_scan(), and vsir_parse().
| int vsir_program_compile | ( | struct vsir_program * | program, |
| uint64_t | config_flags, | ||
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| struct vkd3d_shader_code * | out, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 1640 of file vkd3d_shader_main.c.
Referenced by hlsl_compile_shader(), and vkd3d_shader_compile().
| struct vkd3d_shader_src_param * vsir_program_create_outpointid_param | ( | struct vsir_program * | program | ) |
Definition at line 1336 of file ir.c.
Referenced by instruction_array_normalise_hull_shader_control_point_io(), and sm6_parser_init_signature().
|
inlinestatic |
Definition at line 1460 of file vkd3d_shader_private.h.
Referenced by instruction_dst_params_alloc(), shader_sm1_read_instruction(), shader_sm4_read_instruction(), sm6_parser_init(), and vsir_instruction_init_with_params().
| const struct vkd3d_shader_parameter1 * vsir_program_get_parameter | ( | const struct vsir_program * | program, |
| enum vkd3d_shader_parameter_name | name | ||
| ) |
Definition at line 120 of file ir.c.
Referenced by spirv_compiler_emit_shader_parameter(), use_flat_interpolation(), and vsir_program_insert_alpha_test().
|
inlinestatic |
Definition at line 1466 of file vkd3d_shader_private.h.
Referenced by instruction_src_params_alloc(), register_index_address_init(), shader_sm1_read_dst_param(), shader_sm1_read_instruction(), shader_sm1_read_src_param(), shader_sm4_read_instruction(), shader_sm4_read_reg_idx(), vsir_instruction_init_label(), and vsir_instruction_init_with_params().
| bool vsir_program_init | ( | struct vsir_program * | program, |
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| const struct vkd3d_shader_version * | version, | ||
| unsigned int | reserve, | ||
| enum vsir_control_flow_type | cf_type, | ||
| enum vsir_normalisation_level | normalisation_level | ||
| ) |
Definition at line 76 of file ir.c.
Referenced by shader_sm1_init(), shader_sm4_init(), sm1_generate_vsir(), sm4_generate_vsir(), and sm6_parser_init().
| void vsir_program_trace | ( | const struct vsir_program * | program | ) |
Definition at line 2550 of file d3d_asm.c.
Referenced by vsir_parse(), vsir_program_scan(), and vsir_program_transform().
| enum vkd3d_result vsir_program_transform | ( | struct vsir_program * | program, |
| uint64_t | config_flags, | ||
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 8324 of file ir.c.
Referenced by glsl_compile(), msl_compile(), and spirv_compiler_generate_spirv().
| enum vkd3d_result vsir_program_transform_early | ( | struct vsir_program * | program, |
| uint64_t | config_flags, | ||
| const struct vkd3d_shader_compile_info * | compile_info, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 8305 of file ir.c.
Referenced by vsir_parse().
| enum vkd3d_result vsir_program_validate | ( | struct vsir_program * | program, |
| uint64_t | config_flags, | ||
| const char * | source_name, | ||
| struct vkd3d_shader_message_context * | message_context | ||
| ) |
Definition at line 8169 of file ir.c.
Referenced by vsir_parse(), and vsir_transform_().
| void vsir_register_init | ( | struct vkd3d_shader_register * | reg, |
| enum vkd3d_shader_register_type | reg_type, | ||
| enum vkd3d_data_type | data_type, | ||
| unsigned int | idx_count | ||
| ) |
Definition at line 164 of file ir.c.
Referenced by dst_param_io_init(), generate_vsir_instr_swizzle(), init_resource_declaration(), register_init_with_id(), register_make_constant_uint(), shader_dst_param_io_init(), shader_instruction_eliminate_phase_instance_id(), shader_sm1_parse_dst_param(), shader_sm1_parse_src_param(), shader_sm4_read_param(), sm1_generate_vsir_constant_defs(), sm1_generate_vsir_init_dst_param_from_deref(), sm1_generate_vsir_init_src_param_from_deref(), sm1_generate_vsir_instr_constant(), sm1_generate_vsir_instr_expr_per_component_instr_op(), sm1_generate_vsir_instr_expr_sincos(), sm1_generate_vsir_instr_jump(), sm1_generate_vsir_instr_load(), sm1_generate_vsir_instr_resource_load(), sm1_generate_vsir_sampler_dcls(), sm4_generate_vsir_instr_dcl_semantic(), sm6_parser_constants_init(), sm6_parser_dcl_register_builtin(), sm6_parser_emit_binop(), sm6_parser_emit_dx_compute_builtin(), sm6_parser_emit_dx_create_handle(), sm6_parser_emit_dx_domain_location(), sm6_parser_emit_dx_get_sample_count(), sm6_parser_emit_dx_get_sample_pos(), sm6_parser_emit_dx_input_register_mov(), sm6_parser_emit_dx_sincos(), sm6_parser_emit_reg_composite_construct(), sm6_parser_emit_unhandled(), sm6_parser_resources_load_cbv(), sm6_parser_resources_load_sampler(), spirv_compiler_emit_cbv_declaration(), spirv_compiler_emit_dcl_immediate_constant_buffer(), spirv_compiler_emit_dcl_indexable_temp(), spirv_compiler_emit_default_control_point_phase(), spirv_compiler_emit_hull_shader_builtins(), spirv_compiler_emit_input(), spirv_compiler_emit_resource_declaration(), spirv_compiler_emit_sampler_declaration(), spirv_compiler_get_invocation_id(), vsir_dst_param_init(), vsir_program_create_outpointid_param(), vsir_program_lower_ifc(), vsir_program_lower_precise_mad(), vsir_program_lower_texkill(), vsir_src_from_hlsl_node(), and vsir_src_param_init().
|
inlinestatic |
Definition at line 965 of file vkd3d_shader_private.h.
Referenced by shader_sm4_read_param(), and spirv_compiler_emit_dereference_register().
|
inlinestatic |
Definition at line 1324 of file vkd3d_shader_private.h.
Referenced by spirv_compiler_emit_branch(), vsir_cfg_build_structured_program(), vsir_cfg_dump_dot(), vsir_cfg_init(), vsir_validate_branch(), vsir_validate_label(), vsir_validate_phi(), and vsir_validate_switch_monolithic().
| struct signature_element * vsir_signature_find_element_for_reg | ( | const struct shader_signature * | signature, |
| unsigned int | reg_idx, | ||
| unsigned int | write_mask | ||
| ) |
Definition at line 1573 of file ir.c.
Referenced by io_normaliser_add_index_range(), remove_unread_output_components(), shader_sm4_read_dcl_index_range(), shader_sm4_read_dcl_input_ps(), and shader_sm4_read_dcl_input_ps_siv().
| bool vsir_signature_find_sysval | ( | const struct shader_signature * | signature, |
| enum vkd3d_shader_sysval_semantic | sysval, | ||
| unsigned int | semantic_index, | ||
| unsigned int * | element_index | ||
| ) |
Definition at line 145 of file ir.c.
Referenced by sm6_parser_emit_dx_sample_index(), vsir_program_insert_alpha_test(), and vsir_program_insert_clip_planes().
| void vsir_src_param_init | ( | struct vkd3d_shader_src_param * | param, |
| enum vkd3d_shader_register_type | reg_type, | ||
| enum vkd3d_data_type | data_type, | ||
| unsigned int | idx_count | ||
| ) |
Definition at line 190 of file ir.c.
Referenced by cf_flattener_iterate_instruction_array(), sm4_generate_vsir_rasterizer_sample_count(), sm6_block_emit_terminator(), src_param_init_const_uint(), src_param_init_parameter(), src_param_init_ssa_bool(), src_param_init_ssa_float(), src_param_init_temp_bool(), src_param_init_temp_float(), src_param_init_temp_float4(), src_param_init_temp_uint(), vsir_program_ensure_diffuse(), vsir_program_insert_point_coord(), vsir_program_remap_output_signature(), vsir_src_from_hlsl_constant_value(), vsir_src_param_init_label(), vsir_src_param_init_resource(), and vsir_src_param_init_sampler().
| void vsir_src_param_init_label | ( | struct vkd3d_shader_src_param * | param, |
| unsigned int | label_id | ||
| ) |
Definition at line 204 of file ir.c.
Referenced by cf_flattener_emit_branch(), cf_flattener_iterate_instruction_array(), sm6_block_emit_phi(), sm6_block_emit_terminator(), sm6_parser_emit_label(), vsir_instruction_init_label(), and vsir_program_lower_switch_to_selection_ladder().
Definition at line 1851 of file vkd3d_shader_private.h.
Referenced by shader_print_src_param(), spirv_compiler_emit_load_reg(), and spirv_compiler_emit_mov().
Definition at line 1829 of file vkd3d_shader_private.h.
Referenced by shader_sm4_read_src_param(), and sm6_parser_emit_dx_cbuffer_load().
Definition at line 1894 of file vkd3d_shader_private.h.
Referenced by sm1_generate_vsir_instr_expr_per_component_instr_op(), and vsir_program_lower_precise_mad().
Definition at line 1873 of file vkd3d_shader_private.h.
Referenced by is_inconsequential_instr(), mask_from_swizzle(), msl_print_swizzle(), replace_texcoord_with_point_coord(), shader_glsl_print_swizzle(), shader_glsl_sample(), shader_print_src_param(), shader_src_param_io_normalise(), sm1_generate_vsir_instr_expr_per_component_instr_op(), spirv_compiler_emit_gather4(), spirv_compiler_emit_ld_raw_structured_srv_uav(), spirv_compiler_emit_ld_tgsm(), spirv_compiler_emit_load_constant(), spirv_compiler_emit_load_constant64(), spirv_compiler_emit_load_scalar(), spirv_compiler_emit_load_ssa_reg(), spirv_compiler_emit_mov(), spirv_compiler_emit_store_dst_scalar(), spirv_compiler_emit_swizzle(), spirv_compiler_emit_vector_shuffle(), swizzle_from_vsir(), swizzle_to_sm4(), vkd3d_compact_swizzle(), vkd3d_swizzle_is_scalar(), vsir_program_lower_sm1_sincos(), and vsir_validate_src_param().
|
inlinestatic |
Definition at line 1115 of file vkd3d_shader_private.h.
Referenced by shader_sm4_read_dcl_index_range(), and spirv_compiler_emit_input().
|
inlinestatic |
Definition at line 1109 of file vkd3d_shader_private.h.
Referenced by shader_dst_param_io_normalise(), shader_sm4_read_dcl_index_range(), shader_src_param_io_normalise(), sm6_parser_init_signature(), spirv_compiler_emit_input(), spirv_compiler_emit_output(), and vsir_validate_io_register().
Definition at line 1810 of file vkd3d_shader_private.h.
Referenced by shader_print_dst_param(), spirv_compiler_emit_load_reg(), spirv_compiler_emit_mov(), and spirv_compiler_emit_store_reg().
Definition at line 1791 of file vkd3d_shader_private.h.
Referenced by shader_sm4_read_dst_param(), and spirv_compiler_emit_mov().
Definition at line 1778 of file vkd3d_shader_private.h.
Referenced by range_map_set_register_range(), shader_glsl_cast(), shader_glsl_dot(), shader_glsl_movc(), shader_glsl_relop(), signature_element_range_expand_mask(), sm6_parser_emit_dx_buffer_store(), sm6_parser_emit_dx_raw_buffer_load(), sm6_parser_emit_dx_raw_buffer_store(), sm6_parser_emit_dx_store_output(), sm6_parser_emit_dx_texture_store(), spirv_compiler_emit_alu_instruction(), spirv_compiler_emit_comparison_instruction(), spirv_compiler_emit_default_control_point_phase(), spirv_compiler_emit_dereference_register(), spirv_compiler_emit_dot(), spirv_compiler_emit_eval_attrib(), spirv_compiler_emit_ext_glsl_instruction(), spirv_compiler_emit_float_comparison_instruction(), spirv_compiler_emit_ftoi(), spirv_compiler_emit_ftou(), spirv_compiler_emit_imad(), spirv_compiler_emit_input(), spirv_compiler_emit_int_div(), spirv_compiler_emit_load_constant(), spirv_compiler_emit_load_constant64(), spirv_compiler_emit_load_reg(), spirv_compiler_emit_load_scalar(), spirv_compiler_emit_load_undef(), spirv_compiler_emit_mov(), spirv_compiler_emit_movc(), spirv_compiler_emit_output(), spirv_compiler_emit_quad_read_across(), spirv_compiler_emit_quad_read_lane_at(), spirv_compiler_emit_rcp(), spirv_compiler_emit_sat(), spirv_compiler_emit_store(), spirv_compiler_emit_store_dst_components(), spirv_compiler_emit_store_dst_scalar(), spirv_compiler_emit_store_reg(), spirv_compiler_emit_store_scalar(), spirv_compiler_emit_store_shader_output(), spirv_compiler_emit_store_tgsm(), spirv_compiler_emit_store_uav_raw_structured(), spirv_compiler_emit_swapc(), spirv_compiler_emit_swizzle(), spirv_compiler_emit_wave_alu_op(), spirv_compiler_emit_wave_read_lane_at(), spirv_compiler_emit_wave_read_lane_first(), spirv_compiler_get_type_id_for_reg(), and vsir_validate_signature_element().
Definition at line 1763 of file vkd3d_shader_private.h.
Referenced by calculate_clip_or_cull_distance_mask(), range_map_get_register_count(), range_map_set_register_range(), shader_src_param_io_normalise(), signature_element_range_expand_mask(), sm6_parser_emit_dx_store_output(), spirv_compiler_emit_input(), spirv_compiler_emit_load_scalar(), spirv_compiler_emit_output(), spirv_compiler_emit_store(), spirv_compiler_emit_store_dst_scalar(), spirv_compiler_emit_store_scalar(), spirv_compiler_emit_store_shader_output(), and spirv_compiler_emit_swizzle().