|
| static enum vkd3d_result | vkd3d_spirv_binary_to_text (const struct vkd3d_shader_code *spirv, enum vkd3d_shader_spirv_environment environment, enum vkd3d_shader_compile_option_formatting_flags formatting, struct vkd3d_shader_code *out) |
| |
| static void | vkd3d_spirv_dump (const struct vkd3d_shader_code *spirv, enum vkd3d_shader_spirv_environment environment) |
| |
| static bool | vkd3d_spirv_validate (struct vkd3d_string_buffer *buffer, const struct vkd3d_shader_code *spirv, enum vkd3d_shader_spirv_environment environment) |
| |
| enum vkd3d_shader_input_sysval_semantic | vkd3d_siv_from_sysval_indexed (enum vkd3d_shader_sysval_semantic sysval, unsigned int index) |
| |
| static void | vkd3d_spirv_stream_init (struct vkd3d_spirv_stream *stream) |
| |
| static void | vkd3d_spirv_stream_clear (struct vkd3d_spirv_stream *stream) |
| |
| static void | vkd3d_spirv_stream_free (struct vkd3d_spirv_stream *stream) |
| |
| static void | vkd3d_shader_code_from_spirv_stream (struct vkd3d_shader_code *code, struct vkd3d_spirv_stream *stream) |
| |
| static size_t | vkd3d_spirv_stream_current_location (struct vkd3d_spirv_stream *stream) |
| |
| static void | vkd3d_spirv_stream_insert (struct vkd3d_spirv_stream *stream, size_t location, const uint32_t *words, unsigned int word_count) |
| |
| static bool | vkd3d_spirv_stream_append (struct vkd3d_spirv_stream *dst_stream, const struct vkd3d_spirv_stream *src_stream) |
| |
| static uint32_t | vkd3d_spirv_alloc_id (struct vkd3d_spirv_builder *builder) |
| |
| static bool | vkd3d_spirv_capability_is_enabled (struct vkd3d_spirv_builder *builder, SpvCapability cap) |
| |
| static void | vkd3d_spirv_enable_capability (struct vkd3d_spirv_builder *builder, SpvCapability cap) |
| |
| static uint32_t | vkd3d_spirv_get_glsl_std450_instr_set (struct vkd3d_spirv_builder *builder) |
| |
| static void | vkd3d_spirv_add_iface_variable (struct vkd3d_spirv_builder *builder, uint32_t id) |
| |
| static void | vkd3d_spirv_set_execution_model (struct vkd3d_spirv_builder *builder, SpvExecutionModel model) |
| |
| static uint32_t | vkd3d_spirv_opcode_word (SpvOp op, unsigned int word_count) |
| |
| static void | vkd3d_spirv_build_word (struct vkd3d_spirv_stream *stream, uint32_t word) |
| |
| static unsigned int | vkd3d_spirv_string_word_count (const char *str) |
| |
| static void | vkd3d_spirv_build_string (struct vkd3d_spirv_stream *stream, const char *str, unsigned int word_count) |
| |
| static uint32_t | vkd3d_spirv_build_once (struct vkd3d_spirv_builder *builder, uint32_t *id, vkd3d_spirv_build_pfn build_pfn) |
| |
| static int | vkd3d_spirv_declaration_compare (const void *key, const struct rb_entry *e) |
| |
| static void | vkd3d_spirv_declaration_free (struct rb_entry *entry, void *context) |
| |
| static void | vkd3d_spirv_insert_declaration (struct vkd3d_spirv_builder *builder, const struct vkd3d_spirv_declaration *declaration) |
| |
| static uint32_t | vkd3d_spirv_build_once1 (struct vkd3d_spirv_builder *builder, SpvOp op, uint32_t operand0, vkd3d_spirv_build1_pfn build_pfn) |
| |
| static uint32_t | vkd3d_spirv_build_once1v (struct vkd3d_spirv_builder *builder, SpvOp op, uint32_t operand0, const uint32_t *operands, unsigned int operand_count, vkd3d_spirv_build1v_pfn build_pfn) |
| |
| static uint32_t | vkd3d_spirv_build_once2 (struct vkd3d_spirv_builder *builder, SpvOp op, uint32_t operand0, uint32_t operand1, vkd3d_spirv_build2_pfn build_pfn) |
| |
| static uint32_t | vkd3d_spirv_build_once7 (struct vkd3d_spirv_builder *builder, SpvOp op, const uint32_t *operands, vkd3d_spirv_build7_pfn build_pfn) |
| |
| static void | vkd3d_spirv_build_op (struct vkd3d_spirv_stream *stream, SpvOp op) |
| |
| static void | vkd3d_spirv_build_op1 (struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand) |
| |
| static void | vkd3d_spirv_build_op1v (struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand0, const uint32_t *operands, unsigned int operand_count) |
| |
| static void | vkd3d_spirv_build_op2v (struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand0, uint32_t operand1, const uint32_t *operands, unsigned int operand_count) |
| |
| static void | vkd3d_spirv_build_op3v (struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand0, uint32_t operand1, uint32_t operand2, const uint32_t *operands, unsigned int operand_count) |
| |
| static void | vkd3d_spirv_build_op2 (struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand0, uint32_t operand1) |
| |
| static void | vkd3d_spirv_build_op3 (struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand0, uint32_t operand1, uint32_t operand2) |
| |
| static uint32_t | vkd3d_spirv_build_op_rv (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, const uint32_t *operands, unsigned int operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_r (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op) |
| |
| static uint32_t | vkd3d_spirv_build_op_r1 (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand0) |
| |
| static uint32_t | vkd3d_spirv_build_op_r2 (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_r1v (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t operand0, const uint32_t *operands, unsigned int operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_trv (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t result_type, const uint32_t *operands, unsigned int operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_tr (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t result_type) |
| |
| static uint32_t | vkd3d_spirv_build_op_tr1 (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t result_type, uint32_t operand0) |
| |
| static uint32_t | vkd3d_spirv_build_op_tr2 (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_tr3 (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t result_type, uint32_t operand0, uint32_t operand1, uint32_t operand2) |
| |
| static uint32_t | vkd3d_spirv_build_op_tr1v (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t result_type, uint32_t operand0, const uint32_t *operands, unsigned int operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_tr2v (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, SpvOp op, uint32_t result_type, uint32_t operand0, uint32_t operand1, const uint32_t *operands, unsigned int operand_count) |
| |
| static void | vkd3d_spirv_begin_function_stream_insertion (struct vkd3d_spirv_builder *builder, size_t location) |
| |
| static void | vkd3d_spirv_end_function_stream_insertion (struct vkd3d_spirv_builder *builder) |
| |
| static void | vkd3d_spirv_build_op_capability (struct vkd3d_spirv_stream *stream, SpvCapability cap) |
| |
| static void | vkd3d_spirv_build_op_extension (struct vkd3d_spirv_stream *stream, const char *name) |
| |
| static void | vkd3d_spirv_build_op_ext_inst_import (struct vkd3d_spirv_stream *stream, uint32_t result_id, const char *name) |
| |
| static uint32_t | vkd3d_spirv_build_op_ext_inst (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t inst_set, uint32_t inst_number, uint32_t *operands, unsigned int operand_count) |
| |
| static void | vkd3d_spirv_build_op_memory_model (struct vkd3d_spirv_stream *stream, SpvAddressingModel addressing_model, SpvMemoryModel memory_model) |
| |
| static void | vkd3d_spirv_build_op_entry_point (struct vkd3d_spirv_stream *stream, SpvExecutionModel model, uint32_t function_id, const char *name, uint32_t *interface_list, unsigned int interface_size) |
| |
| static void | vkd3d_spirv_build_op_execution_mode (struct vkd3d_spirv_stream *stream, uint32_t entry_point, SpvExecutionMode mode, const uint32_t *literals, unsigned int literal_count) |
| |
| static void | vkd3d_spirv_build_op_name (struct vkd3d_spirv_builder *builder, uint32_t id, const char *fmt,...) |
| |
| static void | vkd3d_spirv_build_op_member_name (struct vkd3d_spirv_builder *builder, uint32_t type_id, uint32_t member, const char *fmt,...) |
| |
| static void | vkd3d_spirv_build_op_decorate (struct vkd3d_spirv_builder *builder, uint32_t target_id, SpvDecoration decoration, uint32_t *literals, uint32_t literal_count) |
| |
| static void | vkd3d_spirv_build_op_decorate1 (struct vkd3d_spirv_builder *builder, uint32_t target_id, SpvDecoration decoration, uint32_t operand0) |
| |
| static void | vkd3d_spirv_build_op_member_decorate (struct vkd3d_spirv_builder *builder, uint32_t structure_type_id, uint32_t member_idx, SpvDecoration decoration, uint32_t *literals, uint32_t literal_count) |
| |
| static void | vkd3d_spirv_build_op_member_decorate1 (struct vkd3d_spirv_builder *builder, uint32_t structure_type_id, uint32_t member_idx, SpvDecoration decoration, uint32_t operand0) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_void (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_void (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_bool (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_bool (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_float (struct vkd3d_spirv_builder *builder, uint32_t width) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_float (struct vkd3d_spirv_builder *builder, uint32_t width) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_int (struct vkd3d_spirv_builder *builder, uint32_t width, uint32_t signedness) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_int (struct vkd3d_spirv_builder *builder, uint32_t width, uint32_t signedness) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_vector (struct vkd3d_spirv_builder *builder, uint32_t component_type, uint32_t component_count) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_vector (struct vkd3d_spirv_builder *builder, uint32_t component_type, uint32_t component_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_array (struct vkd3d_spirv_builder *builder, uint32_t element_type, uint32_t length_id) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_array (struct vkd3d_spirv_builder *builder, uint32_t element_type, uint32_t length_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_runtime_array (struct vkd3d_spirv_builder *builder, uint32_t element_type) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_runtime_array (struct vkd3d_spirv_builder *builder, uint32_t element_type) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_struct (struct vkd3d_spirv_builder *builder, uint32_t *members, unsigned int member_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_sampler (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_sampler (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_image (struct vkd3d_spirv_builder *builder, uint32_t sampled_type_id, uint32_t dim, uint32_t depth, uint32_t arrayed, uint32_t ms, uint32_t sampled, uint32_t format) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_image (struct vkd3d_spirv_builder *builder, uint32_t sampled_type_id, SpvDim dim, uint32_t depth, uint32_t arrayed, uint32_t ms, uint32_t sampled, SpvImageFormat format) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_sampled_image (struct vkd3d_spirv_builder *builder, uint32_t image_type_id) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_sampled_image (struct vkd3d_spirv_builder *builder, uint32_t image_type_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_function (struct vkd3d_spirv_builder *builder, uint32_t return_type, const uint32_t *param_types, unsigned int param_count) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_function (struct vkd3d_spirv_builder *builder, uint32_t return_type, const uint32_t *param_types, unsigned int param_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_type_pointer (struct vkd3d_spirv_builder *builder, uint32_t storage_class, uint32_t type_id) |
| |
| static uint32_t | vkd3d_spirv_get_op_type_pointer (struct vkd3d_spirv_builder *builder, uint32_t storage_class, uint32_t type_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_constant_bool (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t value) |
| |
| static uint32_t | vkd3d_spirv_get_op_constant_bool (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t value) |
| |
| static uint32_t | vkd3d_spirv_build_op_constant (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t value) |
| |
| static uint32_t | vkd3d_spirv_get_op_constant (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t value) |
| |
| static uint32_t | vkd3d_spirv_build_op_constant64 (struct vkd3d_spirv_builder *builder, uint32_t result_type, const uint32_t *values, unsigned int value_count) |
| |
| static uint32_t | vkd3d_spirv_get_op_constant64 (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint64_t value) |
| |
| static uint32_t | vkd3d_spirv_build_op_constant_null (struct vkd3d_spirv_builder *builder, uint32_t result_type) |
| |
| static uint32_t | vkd3d_spirv_get_op_constant_null (struct vkd3d_spirv_builder *builder, uint32_t result_type) |
| |
| static uint32_t | vkd3d_spirv_build_op_constant_composite (struct vkd3d_spirv_builder *builder, uint32_t result_type, const uint32_t *constituents, unsigned int constituent_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_spec_constant_composite (struct vkd3d_spirv_builder *builder, uint32_t result_type, const uint32_t *constituents, unsigned int constituent_count) |
| |
| static uint32_t | vkd3d_spirv_get_op_constant_composite (struct vkd3d_spirv_builder *builder, uint32_t result_type, const uint32_t *constituents, unsigned int constituent_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_spec_constant (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t value) |
| |
| static uint32_t | vkd3d_spirv_build_op_variable (struct vkd3d_spirv_builder *builder, struct vkd3d_spirv_stream *stream, uint32_t type_id, uint32_t storage_class, uint32_t initializer) |
| |
| static uint32_t | vkd3d_spirv_build_op_function (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t result_id, uint32_t function_control, uint32_t function_type) |
| |
| static uint32_t | vkd3d_spirv_build_op_function_parameter (struct vkd3d_spirv_builder *builder, uint32_t result_type) |
| |
| static void | vkd3d_spirv_build_op_function_end (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_build_op_function_call (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t function_id, const uint32_t *arguments, unsigned int argument_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_undef (struct vkd3d_spirv_builder *builder, uint32_t type_id) |
| |
| static uint32_t | vkd3d_spirv_get_op_undef (struct vkd3d_spirv_builder *builder, uint32_t type_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_access_chain (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t base_id, uint32_t *indexes, uint32_t index_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_access_chain1 (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t base_id, uint32_t index) |
| |
| static uint32_t | vkd3d_spirv_build_op_in_bounds_access_chain (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t base_id, uint32_t *indexes, uint32_t index_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_in_bounds_access_chain1 (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t base_id, uint32_t index) |
| |
| static uint32_t | vkd3d_spirv_build_op_vector_shuffle (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t vector1_id, uint32_t vector2_id, const uint32_t *components, uint32_t component_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_composite_construct (struct vkd3d_spirv_builder *builder, uint32_t result_type, const uint32_t *constituents, unsigned int constituent_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_composite_extract (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t composite_id, const uint32_t *indexes, unsigned int index_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_composite_extract1 (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t composite_id, uint32_t index) |
| |
| static uint32_t | vkd3d_spirv_build_op_composite_insert (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t object_id, uint32_t composite_id, const uint32_t *indexes, unsigned int index_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_composite_insert1 (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t object_id, uint32_t composite_id, uint32_t index) |
| |
| static uint32_t | vkd3d_spirv_build_op_load (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t pointer_id, uint32_t memory_access) |
| |
| static void | vkd3d_spirv_build_op_store (struct vkd3d_spirv_builder *builder, uint32_t pointer_id, uint32_t object_id, uint32_t memory_access) |
| |
| static void | vkd3d_spirv_build_op_copy_memory (struct vkd3d_spirv_builder *builder, uint32_t target_id, uint32_t source_id, uint32_t memory_access) |
| |
| static uint32_t | vkd3d_spirv_build_op_select (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t condition_id, uint32_t object0_id, uint32_t object1_id) |
| |
| static void | vkd3d_spirv_build_op_kill (struct vkd3d_spirv_builder *builder) |
| |
| static void | vkd3d_spirv_build_op_demote_to_helper_invocation (struct vkd3d_spirv_builder *builder) |
| |
| static void | vkd3d_spirv_build_op_return (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_build_op_label (struct vkd3d_spirv_builder *builder, uint32_t label_id) |
| |
| static void | vkd3d_spirv_build_op_loop_merge (struct vkd3d_spirv_builder *builder, uint32_t merge_block, uint32_t continue_target, SpvLoopControlMask loop_control) |
| |
| static void | vkd3d_spirv_build_op_selection_merge (struct vkd3d_spirv_builder *builder, uint32_t merge_block, uint32_t selection_control) |
| |
| static void | vkd3d_spirv_build_op_branch (struct vkd3d_spirv_builder *builder, uint32_t label) |
| |
| static void | vkd3d_spirv_build_op_branch_conditional (struct vkd3d_spirv_builder *builder, uint32_t condition, uint32_t true_label, uint32_t false_label) |
| |
| static void | vkd3d_spirv_build_op_switch (struct vkd3d_spirv_builder *builder, uint32_t selector, uint32_t default_label, uint32_t *targets, unsigned int target_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_iadd (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_imul (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_udiv (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_isub (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_fdiv (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_fnegate (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_snegate (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_and (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_shift_left_logical (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t base, uint32_t shift) |
| |
| static uint32_t | vkd3d_spirv_build_op_shift_right_logical (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t base, uint32_t shift) |
| |
| static uint32_t | vkd3d_spirv_build_op_logical_and (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_uless_than (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_uless_than_equal (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_is_inf (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_is_nan (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_logical_equal (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_logical_or (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand0, uint32_t operand1) |
| |
| static uint32_t | vkd3d_spirv_build_op_logical_not (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_convert_utof (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t unsigned_value) |
| |
| static uint32_t | vkd3d_spirv_build_op_bitcast (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_texel_pointer (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id, uint32_t coordinate_id, uint32_t sample_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_sampled_image (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id, uint32_t sampler_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_image (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t sampled_image_id) |
| |
| static uint32_t | vkd3d_spirv_build_image_instruction (struct vkd3d_spirv_builder *builder, SpvOp op, uint32_t result_type, const uint32_t *operands, unsigned int operand_count, uint32_t image_operands_mask, const uint32_t *image_operands, unsigned int image_operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_sample (struct vkd3d_spirv_builder *builder, SpvOp op, uint32_t result_type, uint32_t sampled_image_id, uint32_t coordinate_id, uint32_t image_operands_mask, const uint32_t *image_operands, unsigned int image_operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_sample_dref (struct vkd3d_spirv_builder *builder, SpvOp op, uint32_t result_type, uint32_t sampled_image_id, uint32_t coordinate_id, uint32_t dref_id, uint32_t image_operands_mask, const uint32_t *image_operands, unsigned int image_operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_gather (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t sampled_image_id, uint32_t coordinate_id, uint32_t component_id, uint32_t image_operands_mask, const uint32_t *image_operands, unsigned int image_operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_dref_gather (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t sampled_image_id, uint32_t coordinate_id, uint32_t dref_id, uint32_t image_operands_mask, const uint32_t *image_operands, unsigned int image_operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_fetch (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id, uint32_t coordinate_id, uint32_t image_operands_mask, const uint32_t *image_operands, unsigned int image_operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_read (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id, uint32_t coordinate_id, uint32_t image_operands_mask, const uint32_t *image_operands, unsigned int image_operand_count) |
| |
| static void | vkd3d_spirv_build_op_image_write (struct vkd3d_spirv_builder *builder, uint32_t image_id, uint32_t coordinate_id, uint32_t texel_id, uint32_t image_operands, const uint32_t *operands, unsigned int operand_count) |
| |
| static uint32_t | vkd3d_spirv_build_op_array_length (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t struct_id, uint32_t member_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_query_size_lod (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id, uint32_t lod_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_query_size (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_query_levels (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_query_samples (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_image_query_lod (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t image_id, uint32_t coordinate_id) |
| |
| static void | vkd3d_spirv_build_op_emit_vertex (struct vkd3d_spirv_builder *builder) |
| |
| static void | vkd3d_spirv_build_op_end_primitive (struct vkd3d_spirv_builder *builder) |
| |
| static void | vkd3d_spirv_build_op_control_barrier (struct vkd3d_spirv_builder *builder, uint32_t execution_id, uint32_t memory_id, uint32_t memory_semantics_id) |
| |
| static void | vkd3d_spirv_build_op_memory_barrier (struct vkd3d_spirv_builder *builder, uint32_t memory_id, uint32_t memory_semantics_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_scope_subgroup (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_get_op_scope_subgroup (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_build_op_group_nonuniform_quad_swap (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t val_id, uint32_t op_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_group_nonuniform_quad_broadcast (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t val_id, uint32_t index_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_group_nonuniform_ballot (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t val_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_group_nonuniform_ballot_bit_count (struct vkd3d_spirv_builder *builder, uint32_t result_type, SpvGroupOperation group_op, uint32_t val_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_group_nonuniform_elect (struct vkd3d_spirv_builder *builder) |
| |
| static uint32_t | vkd3d_spirv_build_op_group_nonuniform_broadcast (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t val_id, uint32_t lane_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_group_nonuniform_shuffle (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t val_id, uint32_t lane_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_group_nonuniform_broadcast_first (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t val_id) |
| |
| static uint32_t | vkd3d_spirv_build_op_glsl_std450_tr1 (struct vkd3d_spirv_builder *builder, enum GLSLstd450 op, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_glsl_std450_fabs (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_glsl_std450_sin (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_glsl_std450_cos (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t operand) |
| |
| static uint32_t | vkd3d_spirv_build_op_glsl_std450_max (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t x, uint32_t y) |
| |
| static uint32_t | vkd3d_spirv_build_op_glsl_std450_umin (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t x, uint32_t y) |
| |
| static uint32_t | vkd3d_spirv_build_op_glsl_std450_nclamp (struct vkd3d_spirv_builder *builder, uint32_t result_type, uint32_t x, uint32_t min, uint32_t max) |
| |
| static uint32_t | vkd3d_spirv_get_type_id (struct vkd3d_spirv_builder *builder, enum vkd3d_shader_component_type component_type, unsigned int component_count) |
| |
| static uint32_t | vkd3d_spirv_get_type_id_for_data_type (struct vkd3d_spirv_builder *builder, enum vkd3d_data_type data_type, unsigned int component_count) |
| |
| static void | vkd3d_spirv_builder_init (struct vkd3d_spirv_builder *builder, const char *entry_point) |
| |
| static void | vkd3d_spirv_builder_begin_main_function (struct vkd3d_spirv_builder *builder) |
| |
| static void | vkd3d_spirv_builder_free (struct vkd3d_spirv_builder *builder) |
| |
| static bool | vkd3d_spirv_compile_module (struct vkd3d_spirv_builder *builder, struct vkd3d_shader_code *spirv, const char *entry_point, enum vkd3d_shader_spirv_environment environment) |
| |
| static const struct vkd3d_spirv_resource_type * | vkd3d_get_spirv_resource_type (enum vkd3d_shader_resource_type resource_type) |
| |
| static int | vkd3d_symbol_compare (const void *key, const struct rb_entry *entry) |
| |
| static void | vkd3d_symbol_free (struct rb_entry *entry, void *context) |
| |
| static void | vkd3d_symbol_make_register (struct vkd3d_symbol *symbol, const struct vkd3d_shader_register *reg) |
| |
| static void | vkd3d_symbol_make_io (struct vkd3d_symbol *symbol, enum vkd3d_shader_register_type type, unsigned int index) |
| |
| static void | vkd3d_symbol_set_register_info (struct vkd3d_symbol *symbol, uint32_t val_id, SpvStorageClass storage_class, enum vkd3d_shader_component_type component_type, uint32_t write_mask) |
| |
| static void | vkd3d_symbol_make_resource (struct vkd3d_symbol *symbol, const struct vkd3d_shader_register *reg) |
| |
| static void | vkd3d_symbol_make_sampler (struct vkd3d_symbol *symbol, const struct vkd3d_shader_register *reg) |
| |
| static void | vkd3d_symbol_make_combined_sampler (struct vkd3d_symbol *symbol, const struct vkd3d_shader_register *resource_reg, unsigned int sampler_space, unsigned int sampler_index) |
| |
| static struct vkd3d_symbol * | vkd3d_symbol_dup (const struct vkd3d_symbol *symbol) |
| |
| static const char * | debug_vkd3d_symbol (const struct vkd3d_symbol *symbol) |
| |
| static bool | is_in_default_phase (const struct spirv_compiler *compiler) |
| |
| static bool | is_in_control_point_phase (const struct spirv_compiler *compiler) |
| |
| static bool | is_in_fork_or_join_phase (const struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_initial_declarations (struct spirv_compiler *compiler) |
| |
| static size_t | spirv_compiler_get_current_function_location (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_main_prolog (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_io_declarations (struct spirv_compiler *compiler) |
| |
| static const char * | spirv_compiler_get_entry_point_name (const struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_destroy (struct spirv_compiler *compiler) |
| |
| static struct spirv_compiler * | spirv_compiler_create (const struct vsir_program *program, const struct vkd3d_shader_compile_info *compile_info, const struct vkd3d_shader_scan_descriptor_info1 *scan_descriptor_info, struct vkd3d_shader_message_context *message_context, uint64_t config_flags) |
| |
| static bool | spirv_compiler_use_storage_buffer (const struct spirv_compiler *compiler, const struct vkd3d_symbol_resource_data *resource) |
| |
| static enum vkd3d_shader_spirv_environment | spirv_compiler_get_target_environment (const struct spirv_compiler *compiler) |
| |
| static bool | spirv_compiler_is_opengl_target (const struct spirv_compiler *compiler) |
| |
| static bool | spirv_compiler_is_spirv_min_1_3_target (const struct spirv_compiler *compiler) |
| |
| static bool | spirv_compiler_is_target_extension_supported (const struct spirv_compiler *compiler, enum vkd3d_shader_spirv_extension extension) |
| |
| static bool | spirv_compiler_check_shader_visibility (const struct spirv_compiler *compiler, enum vkd3d_shader_visibility visibility) |
| |
| static struct vkd3d_push_constant_buffer_binding * | spirv_compiler_find_push_constant_buffer (const struct spirv_compiler *compiler, const struct vkd3d_shader_register_range *range) |
| |
| static bool | spirv_compiler_has_combined_sampler_for_resource (const struct spirv_compiler *compiler, const struct vkd3d_shader_register_range *range) |
| |
| static bool | spirv_compiler_has_combined_sampler_for_sampler (const struct spirv_compiler *compiler, const struct vkd3d_shader_register_range *range) |
| |
| static void | VKD3D_PRINTF_FUNC (3, 4) |
| |
| static struct vkd3d_string_buffer * | vkd3d_shader_register_range_string (struct spirv_compiler *compiler, const struct vkd3d_shader_register_range *range) |
| |
| static uint32_t | spirv_compiler_get_label_id (struct spirv_compiler *compiler, unsigned int block_id) |
| |
| static struct vkd3d_shader_descriptor_binding | spirv_compiler_get_descriptor_binding (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, const struct vkd3d_shader_register_range *range, enum vkd3d_shader_resource_type resource_type, bool is_uav_counter, struct vkd3d_descriptor_binding_address *binding_address) |
| |
| static void | spirv_compiler_emit_descriptor_binding (struct spirv_compiler *compiler, uint32_t variable_id, const struct vkd3d_shader_descriptor_binding *binding) |
| |
| static void | spirv_compiler_decorate_nonuniform (struct spirv_compiler *compiler, uint32_t expression_id) |
| |
| static const struct vkd3d_symbol * | spirv_compiler_put_symbol (struct spirv_compiler *compiler, const struct vkd3d_symbol *symbol) |
| |
| static uint32_t | spirv_compiler_get_constant (struct spirv_compiler *compiler, enum vkd3d_shader_component_type component_type, unsigned int component_count, const uint32_t *values) |
| |
| static uint32_t | spirv_compiler_get_constant64 (struct spirv_compiler *compiler, enum vkd3d_shader_component_type component_type, unsigned int component_count, const uint64_t *values) |
| |
| static uint32_t | spirv_compiler_get_constant_uint (struct spirv_compiler *compiler, uint32_t value) |
| |
| static uint32_t | spirv_compiler_get_constant_float (struct spirv_compiler *compiler, float value) |
| |
| static uint32_t | spirv_compiler_get_constant_vector (struct spirv_compiler *compiler, enum vkd3d_shader_component_type component_type, unsigned int component_count, uint32_t value) |
| |
| static uint32_t | spirv_compiler_get_constant_uint_vector (struct spirv_compiler *compiler, uint32_t value, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_get_constant_float_vector (struct spirv_compiler *compiler, float value, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_get_constant_double_vector (struct spirv_compiler *compiler, double value, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_get_constant_uint64_vector (struct spirv_compiler *compiler, uint64_t value, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_get_type_id_for_reg (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t write_mask) |
| |
| static uint32_t | spirv_compiler_get_type_id_for_dst (struct spirv_compiler *compiler, const struct vkd3d_shader_dst_param *dst) |
| |
| static bool | spirv_compiler_get_register_name (char *buffer, unsigned int buffer_size, const struct vkd3d_shader_register *reg) |
| |
| static void | spirv_compiler_emit_register_debug_name (struct vkd3d_spirv_builder *builder, uint32_t id, const struct vkd3d_shader_register *reg) |
| |
| static uint32_t | spirv_compiler_emit_array_variable (struct spirv_compiler *compiler, struct vkd3d_spirv_stream *stream, SpvStorageClass storage_class, enum vkd3d_shader_component_type component_type, unsigned int component_count, const unsigned int *array_lengths, unsigned int length_count) |
| |
| static uint32_t | spirv_compiler_emit_variable (struct spirv_compiler *compiler, struct vkd3d_spirv_stream *stream, SpvStorageClass storage_class, enum vkd3d_shader_component_type component_type, unsigned int component_count) |
| |
| static const struct vkd3d_spec_constant_info * | get_spec_constant_info (enum vkd3d_shader_parameter_name name) |
| |
| static uint32_t | spirv_compiler_alloc_spec_constant_id (struct spirv_compiler *compiler, unsigned int count) |
| |
| static uint32_t | spirv_compiler_emit_spec_constant (struct spirv_compiler *compiler, enum vkd3d_shader_parameter_name name, uint32_t spec_id, enum vkd3d_data_type type, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_get_spec_constant (struct spirv_compiler *compiler, enum vkd3d_shader_parameter_name name, uint32_t spec_id, enum vkd3d_data_type type, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_get_buffer_parameter (struct spirv_compiler *compiler, const struct vkd3d_shader_parameter1 *parameter, enum vkd3d_data_type type, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_emit_shader_parameter (struct spirv_compiler *compiler, enum vkd3d_shader_parameter_name name, enum vkd3d_data_type type, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_emit_construct_vector (struct spirv_compiler *compiler, enum vkd3d_shader_component_type component_type, unsigned int component_count, uint32_t val_id, unsigned int val_component_idx, unsigned int val_component_count) |
| |
| static uint32_t | spirv_compiler_emit_load_src (struct spirv_compiler *compiler, const struct vkd3d_shader_src_param *src, uint32_t write_mask) |
| |
| static uint32_t | spirv_compiler_emit_register_addressing (struct spirv_compiler *compiler, const struct vkd3d_shader_register_index *reg_index) |
| |
| static bool | spirv_compiler_get_register_info (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, struct vkd3d_shader_register_info *register_info) |
| |
| static bool | spirv_compiler_enable_descriptor_indexing (struct spirv_compiler *compiler, enum vkd3d_shader_register_type reg_type, enum vkd3d_shader_resource_type resource_type) |
| |
| static uint32_t | spirv_compiler_get_descriptor_index (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, const struct vkd3d_symbol *array_symbol, unsigned int binding_base_idx, enum vkd3d_shader_resource_type resource_type) |
| |
| static void | spirv_compiler_emit_dereference_register (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, struct vkd3d_shader_register_info *register_info) |
| |
| static uint32_t | spirv_compiler_get_register_id (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg) |
| |
| static bool | vkd3d_swizzle_is_equal (uint32_t dst_write_mask, uint32_t swizzle, uint32_t write_mask) |
| |
| static bool | vkd3d_swizzle_is_scalar (uint32_t swizzle, const struct vkd3d_shader_register *reg) |
| |
| static uint32_t | spirv_compiler_emit_swizzle (struct spirv_compiler *compiler, uint32_t val_id, uint32_t val_write_mask, enum vkd3d_shader_component_type component_type, uint32_t swizzle, uint32_t write_mask) |
| |
| static uint32_t | spirv_compiler_emit_vector_shuffle (struct spirv_compiler *compiler, uint32_t vector1_id, uint32_t vector2_id, uint32_t swizzle, uint32_t write_mask, enum vkd3d_shader_component_type component_type, unsigned int component_count) |
| |
| static uint32_t | spirv_compiler_emit_int_to_bool (struct spirv_compiler *compiler, enum vkd3d_shader_conditional_op condition, enum vkd3d_data_type data_type, unsigned int component_count, uint32_t val_id) |
| |
| static uint32_t | spirv_compiler_emit_bool_to_int (struct spirv_compiler *compiler, unsigned int component_count, uint32_t val_id, bool signedness) |
| |
| static uint32_t | spirv_compiler_emit_bool_to_int64 (struct spirv_compiler *compiler, unsigned int component_count, uint32_t val_id, bool signedness) |
| |
| static uint32_t | spirv_compiler_emit_bool_to_float (struct spirv_compiler *compiler, unsigned int component_count, uint32_t val_id, bool signedness) |
| |
| static uint32_t | spirv_compiler_emit_bool_to_double (struct spirv_compiler *compiler, unsigned int component_count, uint32_t val_id, bool signedness) |
| |
| static uint32_t | half_to_float (uint16_t value) |
| |
| static uint32_t | convert_raw_constant32 (enum vkd3d_data_type data_type, unsigned int uint_value) |
| |
| static uint32_t | spirv_compiler_emit_load_constant (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t swizzle, uint32_t write_mask) |
| |
| static uint32_t | spirv_compiler_emit_load_constant64 (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t swizzle, uint32_t write_mask) |
| |
| static uint32_t | spirv_compiler_emit_load_undef (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t write_mask) |
| |
| static uint32_t | spirv_compiler_emit_load_scalar (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t swizzle, uint32_t write_mask, const struct vkd3d_shader_register_info *reg_info) |
| |
| static uint32_t | spirv_compiler_emit_constant_array (struct spirv_compiler *compiler, const struct vkd3d_shader_immediate_constant_buffer *icb, uint32_t *type_id_out) |
| |
| static const struct ssa_register_info * | spirv_compiler_get_ssa_register_info (const struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg) |
| |
| static void | spirv_compiler_set_ssa_register_info (const struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t val_id) |
| |
| static uint32_t | spirv_compiler_emit_load_ssa_reg (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, enum vkd3d_shader_component_type component_type, uint32_t swizzle) |
| |
| static uint32_t | spirv_compiler_emit_load_reg (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t swizzle, uint32_t write_mask) |
| |
| static void | spirv_compiler_emit_execution_mode (struct spirv_compiler *compiler, SpvExecutionMode mode, const uint32_t *literals, unsigned int literal_count) |
| |
| static void | spirv_compiler_emit_execution_mode1 (struct spirv_compiler *compiler, SpvExecutionMode mode, const uint32_t literal) |
| |
| static uint32_t | spirv_compiler_emit_abs (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t write_mask, uint32_t val_id) |
| |
| static uint32_t | spirv_compiler_emit_neg (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t write_mask, uint32_t val_id) |
| |
| static uint32_t | spirv_compiler_emit_src_modifier (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t write_mask, enum vkd3d_shader_src_modifier modifier, uint32_t val_id) |
| |
| static uint32_t | spirv_compiler_emit_load_src_with_type (struct spirv_compiler *compiler, const struct vkd3d_shader_src_param *src, uint32_t write_mask, enum vkd3d_shader_component_type component_type) |
| |
| static void | spirv_compiler_emit_store_scalar (struct spirv_compiler *compiler, uint32_t dst_id, uint32_t dst_write_mask, enum vkd3d_shader_component_type component_type, SpvStorageClass storage_class, uint32_t write_mask, uint32_t val_id) |
| |
| static void | spirv_compiler_emit_store (struct spirv_compiler *compiler, uint32_t dst_id, uint32_t dst_write_mask, enum vkd3d_shader_component_type component_type, SpvStorageClass storage_class, uint32_t write_mask, uint32_t val_id) |
| |
| static void | spirv_compiler_emit_store_reg (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t write_mask, uint32_t val_id) |
| |
| static uint32_t | spirv_compiler_emit_sat (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, uint32_t write_mask, uint32_t val_id) |
| |
| static void | spirv_compiler_emit_store_dst (struct spirv_compiler *compiler, const struct vkd3d_shader_dst_param *dst, uint32_t val_id) |
| |
| static void | spirv_compiler_emit_store_dst_swizzled (struct spirv_compiler *compiler, const struct vkd3d_shader_dst_param *dst, uint32_t val_id, enum vkd3d_shader_component_type component_type, uint32_t swizzle) |
| |
| static void | spirv_compiler_emit_store_dst_components (struct spirv_compiler *compiler, const struct vkd3d_shader_dst_param *dst, enum vkd3d_shader_component_type component_type, uint32_t *component_ids) |
| |
| static void | spirv_compiler_emit_store_dst_scalar (struct spirv_compiler *compiler, const struct vkd3d_shader_dst_param *dst, uint32_t val_id, enum vkd3d_shader_component_type component_type, uint32_t swizzle) |
| |
| static void | spirv_compiler_decorate_builtin (struct spirv_compiler *compiler, uint32_t target_id, SpvBuiltIn builtin) |
| |
| static void | spirv_compiler_emit_interpolation_decorations (struct spirv_compiler *compiler, enum vkd3d_shader_component_type component_type, uint32_t id, enum vkd3d_shader_interpolation_mode mode) |
| |
| static uint32_t | spirv_compiler_emit_draw_parameter_fixup (struct spirv_compiler *compiler, uint32_t index_id, SpvBuiltIn base) |
| |
| static uint32_t | sv_vertex_id_fixup (struct spirv_compiler *compiler, uint32_t vertex_index_id) |
| |
| static uint32_t | sv_instance_id_fixup (struct spirv_compiler *compiler, uint32_t instance_index_id) |
| |
| static uint32_t | sv_front_face_fixup (struct spirv_compiler *compiler, uint32_t front_facing_id) |
| |
| static uint32_t | frag_coord_fixup (struct spirv_compiler *compiler, uint32_t frag_coord_id) |
| |
| static void | spirv_compiler_emit_register_execution_mode (struct spirv_compiler *compiler, enum vkd3d_shader_register_type type) |
| |
| static const struct vkd3d_spirv_builtin * | get_spirv_builtin_for_sysval (const struct spirv_compiler *compiler, enum vkd3d_shader_sysval_semantic sysval) |
| |
| static const struct vkd3d_spirv_builtin * | get_spirv_builtin_for_register (enum vkd3d_shader_register_type reg_type) |
| |
| static const struct vkd3d_spirv_builtin * | vkd3d_get_spirv_builtin (const struct spirv_compiler *compiler, enum vkd3d_shader_register_type reg_type, enum vkd3d_shader_sysval_semantic sysval) |
| |
| static uint32_t | spirv_compiler_get_invocation_id (struct spirv_compiler *compiler) |
| |
| static uint32_t | spirv_compiler_emit_load_invocation_id (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_shader_phase_name (struct spirv_compiler *compiler, uint32_t id, const char *suffix) |
| |
| static const struct vkd3d_shader_phase * | spirv_compiler_get_current_shader_phase (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_decorate_xfb_output (struct spirv_compiler *compiler, uint32_t id, unsigned int component_count, const struct signature_element *signature_element) |
| |
| static uint32_t | spirv_compiler_emit_builtin_variable_v (struct spirv_compiler *compiler, const struct vkd3d_spirv_builtin *builtin, SpvStorageClass storage_class, const unsigned int *array_sizes, unsigned int size_count) |
| |
| static uint32_t | spirv_compiler_emit_builtin_variable (struct spirv_compiler *compiler, const struct vkd3d_spirv_builtin *builtin, SpvStorageClass storage_class, unsigned int array_size) |
| |
| static bool | needs_private_io_variable (const struct vkd3d_spirv_builtin *builtin) |
| |
| static unsigned int | shader_signature_next_location (const struct shader_signature *signature) |
| |
| static uint32_t | spirv_compiler_emit_input (struct spirv_compiler *compiler, enum vkd3d_shader_register_type reg_type, unsigned int element_idx) |
| |
| static void | spirv_compiler_emit_input_register (struct spirv_compiler *compiler, const struct vkd3d_shader_dst_param *dst) |
| |
| static unsigned int | get_shader_output_swizzle (const struct spirv_compiler *compiler, unsigned int register_idx) |
| |
| static bool | is_dual_source_blending (const struct spirv_compiler *compiler) |
| |
| static void | calculate_clip_or_cull_distance_mask (const struct signature_element *e, uint32_t *mask) |
| |
| static void | spirv_compiler_emit_shader_signature_outputs (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_output_register (struct spirv_compiler *compiler, const struct vkd3d_shader_dst_param *dst) |
| |
| static uint32_t | spirv_compiler_emit_shader_phase_builtin_variable (struct spirv_compiler *compiler, const struct vkd3d_spirv_builtin *builtin, const unsigned int *array_sizes, unsigned int size_count) |
| |
| static void | spirv_compiler_emit_output (struct spirv_compiler *compiler, enum vkd3d_shader_register_type reg_type, unsigned int element_idx) |
| |
| static uint32_t | spirv_compiler_get_output_array_index (struct spirv_compiler *compiler, const struct signature_element *e) |
| |
| static void | spirv_compiler_emit_store_shader_output (struct spirv_compiler *compiler, const struct shader_signature *signature, const struct signature_element *output, const struct vkd3d_shader_output_info *output_info, uint32_t output_index_id, uint32_t val_id, uint32_t write_mask) |
| |
| static void | spirv_compiler_emit_shader_epilogue_function (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_hull_shader_builtins (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_global_flags (struct spirv_compiler *compiler, enum vsir_global_flags flags) |
| |
| static void | spirv_compiler_emit_temps (struct spirv_compiler *compiler, uint32_t count) |
| |
| static void | spirv_compiler_allocate_ssa_register_ids (struct spirv_compiler *compiler, unsigned int count) |
| |
| static void | spirv_compiler_emit_dcl_indexable_temp (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_push_constant_buffers (struct spirv_compiler *compiler) |
| |
| static const struct vkd3d_shader_descriptor_info1 * | spirv_compiler_get_descriptor_info (struct spirv_compiler *compiler, enum vkd3d_shader_descriptor_type type, const struct vkd3d_shader_register_range *range) |
| |
| static void | spirv_compiler_decorate_descriptor (struct spirv_compiler *compiler, uint32_t var_id, bool write_only, bool coherent) |
| |
| static uint32_t | spirv_compiler_build_descriptor_variable (struct spirv_compiler *compiler, SpvStorageClass storage_class, uint32_t type_id, const struct vkd3d_shader_register *reg, const struct vkd3d_shader_register_range *range, enum vkd3d_shader_resource_type resource_type, const struct vkd3d_shader_descriptor_info1 *descriptor, bool is_uav_counter, struct vkd3d_descriptor_variable_info *var_info) |
| |
| static void | spirv_compiler_emit_cbv_declaration (struct spirv_compiler *compiler, const struct vkd3d_shader_register_range *range, const struct vkd3d_shader_descriptor_info1 *descriptor) |
| |
| static void | spirv_compiler_emit_dcl_immediate_constant_buffer (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_sampler_declaration (struct spirv_compiler *compiler, const struct vkd3d_shader_register_range *range, const struct vkd3d_shader_descriptor_info1 *descriptor) |
| |
| static const struct vkd3d_spirv_resource_type * | spirv_compiler_enable_resource_type (struct spirv_compiler *compiler, enum vkd3d_shader_resource_type resource_type, bool is_uav) |
| |
| static SpvImageFormat | image_format_for_image_read (enum vkd3d_shader_component_type data_type) |
| |
| static uint32_t | spirv_compiler_get_image_type_id (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, const struct vkd3d_shader_register_range *range, const struct vkd3d_spirv_resource_type *resource_type_info, enum vkd3d_shader_component_type data_type, bool raw_structured) |
| |
| static void | spirv_compiler_emit_combined_sampler_declarations (struct spirv_compiler *compiler, const struct vkd3d_shader_register *resource, const struct vkd3d_shader_register_range *resource_range, enum vkd3d_shader_resource_type resource_type, enum vkd3d_shader_component_type sampled_type, unsigned int structure_stride, bool raw, const struct vkd3d_spirv_resource_type *resource_type_info) |
| |
| static void | spirv_compiler_emit_resource_declaration (struct spirv_compiler *compiler, const struct vkd3d_shader_register_range *range, const struct vkd3d_shader_descriptor_info1 *descriptor) |
| |
| static void | spirv_compiler_emit_workgroup_memory (struct spirv_compiler *compiler, const struct vkd3d_shader_register *reg, unsigned int alignment, unsigned int size, unsigned int structure_stride, bool zero_init) |
| |
| static void | spirv_compiler_emit_dcl_tgsm_raw (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_dcl_tgsm_structured (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_dcl_input (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_dcl_output (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_dcl_stream (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_output_vertex_count (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_dcl_input_primitive (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_point_size (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_dcl_output_topology (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_dcl_gs_instances (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_dcl_tessellator_domain (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_tessellator_output_primitive (struct spirv_compiler *compiler, enum vkd3d_shader_tessellator_output_primitive primitive) |
| |
| static void | spirv_compiler_emit_tessellator_partitioning (struct spirv_compiler *compiler, enum vkd3d_shader_tessellator_partitioning partitioning) |
| |
| static void | spirv_compiler_emit_thread_group_size (struct spirv_compiler *compiler, const struct vsir_thread_group_size *group_size) |
| |
| static void | spirv_compiler_emit_default_control_point_phase (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_leave_shader_phase (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_enter_shader_phase (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_initialise_block (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_barrier (struct spirv_compiler *compiler, SpvScope execution_scope, SpvScope memory_scope, SpvMemorySemanticsMask semantics) |
| |
| static void | spirv_compiler_emit_hull_shader_barrier (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_shader_epilogue_invocation (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_hull_shader_main (struct spirv_compiler *compiler) |
| |
| static SpvOp | spirv_compiler_map_alu_instruction (const struct vkd3d_shader_instruction *instruction) |
| |
| static SpvOp | spirv_compiler_map_logical_instruction (const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_bool_cast (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static enum vkd3d_result | spirv_compiler_emit_alu_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_isfinite (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static enum GLSLstd450 | spirv_compiler_map_ext_glsl_instruction (const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_ext_glsl_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_mov (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_movc (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_swapc (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_dot (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_rcp (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_sincos (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_imul (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_imad (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_int_div (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_ftoi (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_ftou (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_bitfield_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_f16tof32 (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_f32tof16 (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_comparison_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_orderedness_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_float_comparison_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static uint32_t | spirv_compiler_emit_conditional_branch (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction, uint32_t target_block_id) |
| |
| static void | spirv_compiler_end_invocation_interlock (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_return (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_retc (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static uint32_t | spirv_compiler_get_discard_function_id (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_discard_function (struct spirv_compiler *compiler) |
| |
| static void | spirv_compiler_emit_discard (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static bool | spirv_compiler_init_blocks (struct spirv_compiler *compiler, unsigned int block_count) |
| |
| static void | spirv_compiler_emit_label (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_merge (struct spirv_compiler *compiler, uint32_t merge_block_id, uint32_t continue_block_id) |
| |
| static void | spirv_compiler_emit_branch (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_switch (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_deriv_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static const struct vkd3d_symbol * | spirv_compiler_find_resource (struct spirv_compiler *compiler, const struct vkd3d_shader_register *resource_reg) |
| |
| static const struct vkd3d_symbol * | spirv_compiler_find_combined_sampler (struct spirv_compiler *compiler, const struct vkd3d_shader_register *resource_reg, const struct vkd3d_shader_register *sampler_reg) |
| |
| static void | spirv_compiler_prepare_image (struct spirv_compiler *compiler, struct vkd3d_shader_image *image, const struct vkd3d_shader_register *resource_reg, const struct vkd3d_shader_register *sampler_reg, unsigned int flags) |
| |
| static uint32_t | spirv_compiler_emit_texel_offset (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction, const struct vkd3d_spirv_resource_type *resource_type_info) |
| |
| static void | spirv_compiler_emit_ld (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_lod (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_sample (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_sample_c (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_gather4 (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static uint32_t | spirv_compiler_emit_raw_structured_addressing (struct spirv_compiler *compiler, uint32_t type_id, unsigned int stride, const struct vkd3d_shader_src_param *src0, uint32_t src0_mask, const struct vkd3d_shader_src_param *src1, uint32_t src1_mask) |
| |
| static void | spirv_compiler_emit_ld_raw_structured_srv_uav (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_ld_tgsm (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_ld_raw_structured (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_store_uav_raw_structured (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_store_tgsm (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_store_raw_structured (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_ld_uav_typed (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_store_uav_typed (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_uav_counter_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static SpvOp | spirv_compiler_map_atomic_instruction (const struct vkd3d_shader_instruction *instruction) |
| |
| static bool | is_imm_atomic_instruction (enum vkd3d_shader_opcode opcode) |
| |
| static void | spirv_compiler_emit_atomic_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_bufinfo (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_resinfo (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static uint32_t | spirv_compiler_emit_query_sample_count (struct spirv_compiler *compiler, const struct vkd3d_shader_src_param *src) |
| |
| static void | spirv_compiler_emit_sample_info (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_sample_position (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_eval_attrib (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_sync (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_emit_stream (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_cut_stream (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static uint32_t | map_quad_read_across_direction (enum vkd3d_shader_opcode opcode) |
| |
| static void | spirv_compiler_emit_quad_read_across (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_quad_read_lane_at (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static SpvOp | map_wave_bool_op (enum vkd3d_shader_opcode opcode) |
| |
| static void | spirv_compiler_emit_wave_bool_op (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static uint32_t | spirv_compiler_emit_group_nonuniform_ballot (struct spirv_compiler *compiler, const struct vkd3d_shader_src_param *src) |
| |
| static void | spirv_compiler_emit_wave_active_ballot (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static SpvOp | map_wave_alu_op (enum vkd3d_shader_opcode opcode, bool is_float) |
| |
| static void | spirv_compiler_emit_wave_alu_op (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_wave_bit_count (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_wave_is_first_lane (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_wave_read_lane_at (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_wave_read_lane_first (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static int | spirv_compiler_handle_instruction (struct spirv_compiler *compiler, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | spirv_compiler_emit_descriptor_declarations (struct spirv_compiler *compiler) |
| |
| static int | spirv_compiler_generate_spirv (struct spirv_compiler *compiler, struct vsir_program *program, const struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_code *spirv) |
| |
| 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) |
| |