|
| static int | convert_parameter_info (const struct vkd3d_shader_compile_info *compile_info, unsigned int *ret_count, const struct vkd3d_shader_parameter1 **ret_parameters) |
| |
| 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) |
| |
| void | vsir_program_cleanup (struct vsir_program *program) |
| |
| const struct vkd3d_shader_parameter1 * | vsir_program_get_parameter (const struct vsir_program *program, enum vkd3d_shader_parameter_name name) |
| |
| static struct signature_element * | vsir_signature_find_element_by_name (const struct shader_signature *signature, const char *semantic_name, unsigned int semantic_index) |
| |
| bool | vsir_signature_find_sysval (const struct shader_signature *signature, enum vkd3d_shader_sysval_semantic sysval, unsigned int semantic_index, unsigned int *element_index) |
| |
| 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) |
| |
| static bool | shader_register_is_phase_instance_id (const struct vkd3d_shader_register *reg) |
| |
| 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) |
| |
| static void | src_param_init_const_uint (struct vkd3d_shader_src_param *src, uint32_t value) |
| |
| void | vsir_src_param_init_label (struct vkd3d_shader_src_param *param, unsigned int label_id) |
| |
| static void | src_param_init_parameter (struct vkd3d_shader_src_param *src, uint32_t idx, enum vkd3d_data_type type) |
| |
| static void | vsir_src_param_init_resource (struct vkd3d_shader_src_param *src, unsigned int id, unsigned int idx) |
| |
| static void | vsir_src_param_init_sampler (struct vkd3d_shader_src_param *src, unsigned int id, unsigned int idx) |
| |
| static void | src_param_init_ssa_bool (struct vkd3d_shader_src_param *src, unsigned int idx) |
| |
| static void | src_param_init_ssa_float (struct vkd3d_shader_src_param *src, unsigned int idx) |
| |
| static void | src_param_init_temp_bool (struct vkd3d_shader_src_param *src, unsigned int idx) |
| |
| static void | src_param_init_temp_float (struct vkd3d_shader_src_param *src, unsigned int idx) |
| |
| static void | src_param_init_temp_float4 (struct vkd3d_shader_src_param *src, unsigned int idx) |
| |
| static void | src_param_init_temp_uint (struct vkd3d_shader_src_param *src, unsigned int idx) |
| |
| 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) |
| |
| static void | dst_param_init_ssa_bool (struct vkd3d_shader_dst_param *dst, unsigned int idx) |
| |
| static void | dst_param_init_ssa_float (struct vkd3d_shader_dst_param *dst, unsigned int idx) |
| |
| static void | dst_param_init_temp_bool (struct vkd3d_shader_dst_param *dst, unsigned int idx) |
| |
| static void | dst_param_init_temp_float4 (struct vkd3d_shader_dst_param *dst, unsigned int idx) |
| |
| static void | dst_param_init_temp_uint (struct vkd3d_shader_dst_param *dst, unsigned int idx) |
| |
| static void | dst_param_init_output (struct vkd3d_shader_dst_param *dst, enum vkd3d_data_type data_type, uint32_t idx, uint32_t write_mask) |
| |
| void | vsir_instruction_init (struct vkd3d_shader_instruction *ins, const struct vkd3d_shader_location *location, enum vkd3d_shader_opcode opcode) |
| |
| 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) |
| |
| static bool | vsir_instruction_init_label (struct vkd3d_shader_instruction *ins, const struct vkd3d_shader_location *location, unsigned int label_id, struct vsir_program *program) |
| |
| static bool | vsir_instruction_is_dcl (const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vkd3d_shader_instruction_make_nop (struct vkd3d_shader_instruction *ins) |
| |
| static bool | get_opcode_from_rel_op (enum vkd3d_shader_rel_op rel_op, enum vkd3d_data_type data_type, enum vkd3d_shader_opcode *opcode, bool *requires_swap) |
| |
| static enum vkd3d_result | vsir_program_lower_ifc (struct vsir_program *program, struct vkd3d_shader_instruction *ifc, unsigned int *tmp_idx, struct vkd3d_shader_message_context *message_context) |
| |
| static enum vkd3d_result | vsir_program_lower_texkill (struct vsir_program *program, struct vkd3d_shader_instruction *texkill, unsigned int *tmp_idx) |
| |
| static enum vkd3d_result | vsir_program_lower_precise_mad (struct vsir_program *program, struct vkd3d_shader_instruction *mad, unsigned int *tmp_idx) |
| |
| static enum vkd3d_result | vsir_program_lower_sm1_sincos (struct vsir_program *program, struct vkd3d_shader_instruction *sincos) |
| |
| static enum vkd3d_result | vsir_program_lower_tex (struct vsir_program *program, struct vkd3d_shader_instruction *tex) |
| |
| static enum vkd3d_result | vsir_program_lower_texldd (struct vsir_program *program, struct vkd3d_shader_instruction *texldd) |
| |
| static enum vkd3d_result | vsir_program_lower_instructions (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static void | shader_register_eliminate_phase_addressing (struct vkd3d_shader_register *reg, unsigned int instance_id) |
| |
| static void | shader_instruction_eliminate_phase_instance_id (struct vkd3d_shader_instruction *ins, unsigned int instance_id) |
| |
| static enum vkd3d_result | vsir_program_ensure_ret (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static enum vkd3d_result | vsir_program_add_diffuse_output (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static enum vkd3d_result | vsir_program_ensure_diffuse (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static const struct vkd3d_shader_varying_map * | find_varying_map (const struct vkd3d_shader_varying_map_info *varying_map, unsigned int signature_idx) |
| |
| static bool | target_allows_subset_masks (const struct vkd3d_shader_compile_info *info) |
| |
| static void | remove_unread_output_components (const struct shader_signature *signature, struct vkd3d_shader_instruction *ins, struct vkd3d_shader_dst_param *dst) |
| |
| static enum vkd3d_result | vsir_program_remap_output_signature (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static bool | flattener_is_in_fork_or_join_phase (const struct hull_flattener *flattener) |
| |
| static void | flattener_eliminate_phase_related_dcls (struct hull_flattener *normaliser, unsigned int index, struct shader_phase_location_array *locations) |
| |
| static enum vkd3d_result | flattener_flatten_phases (struct hull_flattener *normaliser, struct shader_phase_location_array *locations) |
| |
| static enum vkd3d_result | vsir_program_flatten_hull_shader_phases (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static bool | control_point_normaliser_is_in_control_point_phase (const struct control_point_normaliser *normaliser) |
| |
| struct vkd3d_shader_src_param * | vsir_program_create_outpointid_param (struct vsir_program *program) |
| |
| static void | shader_dst_param_normalise_outpointid (struct vkd3d_shader_dst_param *dst_param, struct control_point_normaliser *normaliser) |
| |
| static void | shader_dst_param_io_init (struct vkd3d_shader_dst_param *param, const struct signature_element *e, enum vkd3d_shader_register_type reg_type, unsigned int idx_count) |
| |
| static enum vkd3d_result | control_point_normaliser_emit_hs_input (struct control_point_normaliser *normaliser, const struct shader_signature *s, unsigned int input_control_point_count, unsigned int dst, const struct vkd3d_shader_location *location) |
| |
| static enum vkd3d_result | instruction_array_normalise_hull_shader_control_point_io (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static bool | io_normaliser_is_in_fork_or_join_phase (const struct io_normaliser *normaliser) |
| |
| static bool | io_normaliser_is_in_control_point_phase (const struct io_normaliser *normaliser) |
| |
| static bool | shader_signature_find_element_for_reg (const struct shader_signature *signature, unsigned int reg_idx, unsigned int write_mask, unsigned int *element_idx) |
| |
| struct signature_element * | vsir_signature_find_element_for_reg (const struct shader_signature *signature, unsigned int reg_idx, unsigned int write_mask) |
| |
| static unsigned int | range_map_get_register_count (uint8_t range_map[][VKD3D_VEC4_SIZE], unsigned int register_idx, uint32_t write_mask) |
| |
| static void | range_map_set_register_range (uint8_t range_map[][VKD3D_VEC4_SIZE], unsigned int register_idx, unsigned int register_count, uint32_t write_mask, bool is_dcl_indexrange) |
| |
| static void | io_normaliser_add_index_range (struct io_normaliser *normaliser, const struct vkd3d_shader_instruction *ins) |
| |
| static int | signature_element_mask_compare (const void *a, const void *b) |
| |
| static bool | sysval_semantics_should_merge (const struct signature_element *e, const struct signature_element *f) |
| |
| static void | shader_signature_map_patch_constant_index_ranges (struct shader_signature *s, uint8_t range_map[][VKD3D_VEC4_SIZE]) |
| |
| static int | signature_element_register_compare (const void *a, const void *b) |
| |
| static int | signature_element_index_compare (const void *a, const void *b) |
| |
| static unsigned int | signature_element_range_expand_mask (struct signature_element *e, unsigned int register_count, uint8_t range_map[][VKD3D_VEC4_SIZE]) |
| |
| static bool | shader_signature_merge (struct shader_signature *s, uint8_t range_map[][VKD3D_VEC4_SIZE], bool is_patch_constant) |
| |
| static unsigned int | shader_register_normalise_arrayed_addressing (struct vkd3d_shader_register *reg, unsigned int id_idx, unsigned int register_index) |
| |
| static bool | shader_dst_param_io_normalise (struct vkd3d_shader_dst_param *dst_param, bool is_io_dcl, struct io_normaliser *normaliser) |
| |
| static void | shader_src_param_io_normalise (struct vkd3d_shader_src_param *src_param, struct io_normaliser *normaliser) |
| |
| static void | shader_instruction_normalise_io_params (struct vkd3d_shader_instruction *ins, struct io_normaliser *normaliser) |
| |
| static enum vkd3d_result | vsir_program_normalise_io_registers (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static bool | get_flat_constant_register_type (const struct vkd3d_shader_register *reg, enum vkd3d_shader_d3dbc_constant_register *set, uint32_t *index) |
| |
| static void | shader_register_normalise_flat_constants (struct vkd3d_shader_src_param *param, const struct flat_constants_normaliser *normaliser) |
| |
| static enum vkd3d_result | vsir_program_normalise_flat_constants (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static enum vkd3d_result | vsir_program_remove_dead_code (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static void | cf_flattener_set_error (struct cf_flattener *flattener, enum vkd3d_result error) |
| |
| static struct vkd3d_shader_instruction * | cf_flattener_require_space (struct cf_flattener *flattener, size_t count) |
| |
| static bool | cf_flattener_copy_instruction (struct cf_flattener *flattener, const struct vkd3d_shader_instruction *instruction) |
| |
| static unsigned int | cf_flattener_alloc_block_id (struct cf_flattener *flattener) |
| |
| static struct vkd3d_shader_src_param * | instruction_src_params_alloc (struct vkd3d_shader_instruction *ins, unsigned int count, struct cf_flattener *flattener) |
| |
| static void | cf_flattener_emit_label (struct cf_flattener *flattener, unsigned int label_id) |
| |
| static struct vkd3d_shader_src_param * | cf_flattener_emit_branch (struct cf_flattener *flattener, unsigned int merge_block_id, unsigned int continue_block_id, const struct vkd3d_shader_src_param *condition, unsigned int true_id, unsigned int false_id, unsigned int flags) |
| |
| static void | cf_flattener_emit_conditional_branch_and_merge (struct cf_flattener *flattener, const struct vkd3d_shader_src_param *condition, unsigned int true_id, unsigned int flags) |
| |
| static void | cf_flattener_emit_unconditional_branch (struct cf_flattener *flattener, unsigned int target_block_id) |
| |
| static struct cf_flattener_info * | cf_flattener_push_control_flow_level (struct cf_flattener *flattener) |
| |
| static void | cf_flattener_pop_control_flow_level (struct cf_flattener *flattener) |
| |
| static struct cf_flattener_info * | cf_flattener_find_innermost_loop (struct cf_flattener *flattener) |
| |
| static struct cf_flattener_info * | cf_flattener_find_innermost_breakable_cf_construct (struct cf_flattener *flattener) |
| |
| static void | VKD3D_PRINTF_FUNC (3, 4) |
| |
| static enum vkd3d_result | cf_flattener_iterate_instruction_array (struct cf_flattener *flattener, struct vkd3d_shader_message_context *message_context) |
| |
| static enum vkd3d_result | vsir_program_flatten_control_flow_constructs (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static unsigned int | label_from_src_param (const struct vkd3d_shader_src_param *param) |
| |
| static bool | reserve_instructions (struct vkd3d_shader_instruction **instructions, size_t *capacity, size_t count) |
| |
| static bool | lower_switch_to_if_ladder_add_block_mapping (struct lower_switch_to_if_ladder_block_mapping **block_map, size_t *map_capacity, size_t *map_count, unsigned int switch_label, unsigned int if_label, unsigned int target_label) |
| |
| static enum vkd3d_result | vsir_program_lower_switch_to_selection_ladder (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static bool | ssas_to_temps_alloc_init (struct ssas_to_temps_alloc *alloc, unsigned int ssa_count, unsigned int temp_count) |
| |
| static void | materialize_ssas_to_temps_process_reg (struct vsir_program *program, struct ssas_to_temps_alloc *alloc, struct vkd3d_shader_register *reg) |
| |
| static void | ssas_to_temps_block_info_cleanup (struct ssas_to_temps_block_info *block_info, size_t count) |
| |
| static enum vkd3d_result | vsir_program_materialise_phi_ssas_to_temps (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static void | vsir_block_list_init (struct vsir_block_list *list) |
| |
| static void | vsir_block_list_cleanup (struct vsir_block_list *list) |
| |
| static enum vkd3d_result | vsir_block_list_add_checked (struct vsir_block_list *list, struct vsir_block *block) |
| |
| static enum vkd3d_result | vsir_block_list_add (struct vsir_block_list *list, struct vsir_block *block) |
| |
| static void | vsir_block_list_remove_index (struct vsir_block_list *list, size_t idx) |
| |
| static enum vkd3d_result | vsir_block_init (struct vsir_block *block, unsigned int label, size_t block_count) |
| |
| static void | vsir_block_cleanup (struct vsir_block *block) |
| |
| static int | block_compare (const void *ptr1, const void *ptr2) |
| |
| static void | vsir_block_list_sort (struct vsir_block_list *list) |
| |
| static bool | vsir_block_list_search (struct vsir_block_list *list, struct vsir_block *block) |
| |
| static void | vsir_cfg_structure_init (struct vsir_cfg_structure *structure, enum vsir_cfg_structure_type type) |
| |
| static void | vsir_cfg_structure_cleanup (struct vsir_cfg_structure *structure) |
| |
| static void | vsir_cfg_structure_list_cleanup (struct vsir_cfg_structure_list *list) |
| |
| static struct vsir_cfg_structure * | vsir_cfg_structure_list_append (struct vsir_cfg_structure_list *list, enum vsir_cfg_structure_type type) |
| |
| static enum vkd3d_result | vsir_cfg_structure_list_append_from_region (struct vsir_cfg_structure_list *list, struct vsir_cfg_structure *begin, size_t size) |
| |
| static void | vsir_cfg_cleanup (struct vsir_cfg *cfg) |
| |
| static enum vkd3d_result | vsir_cfg_add_loop_interval (struct vsir_cfg *cfg, unsigned int begin, unsigned int end, bool synthetic) |
| |
| static bool | vsir_block_dominates (struct vsir_block *b1, struct vsir_block *b2) |
| |
| static enum vkd3d_result | vsir_cfg_add_edge (struct vsir_cfg *cfg, struct vsir_block *block, struct vkd3d_shader_src_param *successor_param) |
| |
| static void | vsir_cfg_dump_dot (struct vsir_cfg *cfg) |
| |
| static void | vsir_cfg_structure_list_dump (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list) |
| |
| static void | vsir_cfg_structure_dump (struct vsir_cfg *cfg, struct vsir_cfg_structure *structure) |
| |
| static void | vsir_cfg_dump_structured_program (struct vsir_cfg *cfg) |
| |
| static enum vkd3d_result | vsir_cfg_init (struct vsir_cfg *cfg, struct vsir_program *program, struct vkd3d_shader_message_context *message_context, struct vsir_cfg_emit_target *target, size_t *pos) |
| |
| static void | vsir_cfg_compute_dominators_recurse (struct vsir_block *current, struct vsir_block *reference) |
| |
| static void | vsir_cfg_compute_dominators (struct vsir_cfg *cfg) |
| |
| static enum vkd3d_result | vsir_cfg_scan_loop (struct vsir_block_list *loop, struct vsir_block *block, struct vsir_block *header) |
| |
| static enum vkd3d_result | vsir_cfg_compute_loops (struct vsir_cfg *cfg) |
| |
| static enum vkd3d_result | vsir_cfg_sort_nodes (struct vsir_cfg *cfg) |
| |
| static int | compare_loop_intervals (const void *ptr1, const void *ptr2) |
| |
| static enum vkd3d_result | vsir_cfg_generate_synthetic_loop_intervals (struct vsir_cfg *cfg) |
| |
| static void | vsir_cfg_compute_edge_action (struct vsir_cfg *cfg, struct vsir_block *block, struct vsir_block *successor, struct vsir_cfg_edge_action *action) |
| |
| static enum vkd3d_result | vsir_cfg_build_structured_program (struct vsir_cfg *cfg) |
| |
| static void | vsir_cfg_remove_trailing_continue (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list, unsigned int target) |
| |
| static struct vsir_cfg_structure * | vsir_cfg_get_trailing_break (struct vsir_cfg_structure_list *list) |
| |
| static enum vkd3d_result | vsir_cfg_move_breaks_out_of_selections (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list) |
| |
| static enum vkd3d_result | vsir_cfg_move_breaks_out_of_selections_recursively (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list) |
| |
| static enum vkd3d_result | vsir_cfg_synthesize_selections (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list) |
| |
| static enum vkd3d_result | vsir_cfg_append_loop (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *new_list, struct vsir_cfg_structure *loop) |
| |
| static enum vkd3d_result | vsir_cfg_optimize_recurse (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list) |
| |
| static void | vsir_cfg_count_targets (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list) |
| |
| static void | vsir_cfg_mark_trampolines (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list, struct vsir_cfg_structure *loop) |
| |
| static void | vsir_cfg_mark_launchers (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list, struct vsir_cfg_structure *loop) |
| |
| static enum vkd3d_result | vsir_cfg_optimize (struct vsir_cfg *cfg) |
| |
| static enum vkd3d_result | vsir_cfg_structure_list_emit (struct vsir_cfg *cfg, struct vsir_cfg_structure_list *list, unsigned int loop_idx) |
| |
| static enum vkd3d_result | vsir_cfg_structure_list_emit_block (struct vsir_cfg *cfg, struct vsir_block *block) |
| |
| static enum vkd3d_result | vsir_cfg_structure_list_emit_loop (struct vsir_cfg *cfg, struct vsir_cfg_structure_loop *loop, unsigned int loop_idx) |
| |
| static enum vkd3d_result | vsir_cfg_structure_list_emit_selection (struct vsir_cfg *cfg, struct vsir_cfg_structure_selection *selection, unsigned int loop_idx) |
| |
| static enum vkd3d_result | vsir_cfg_structure_list_emit_jump (struct vsir_cfg *cfg, struct vsir_cfg_structure_jump *jump, unsigned int loop_idx) |
| |
| static enum vkd3d_result | vsir_cfg_emit_structured_program (struct vsir_cfg *cfg) |
| |
| static enum vkd3d_result | vsir_program_structurize_function (struct vsir_program *program, struct vkd3d_shader_message_context *message_context, struct vsir_cfg_emit_target *target, size_t *pos) |
| |
| static enum vkd3d_result | vsir_program_structurize (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static void | register_map_undominated_use (struct vkd3d_shader_register *reg, struct ssas_to_temps_alloc *alloc, struct vsir_block *block, struct vsir_block **origin_blocks) |
| |
| static enum vkd3d_result | vsir_cfg_materialize_undominated_ssas_to_temps (struct vsir_cfg *cfg) |
| |
| static enum vkd3d_result | vsir_program_materialize_undominated_ssas_to_temps_in_function (struct vsir_program *program, struct vkd3d_shader_message_context *message_context, size_t *pos) |
| |
| static enum vkd3d_result | vsir_program_materialize_undominated_ssas_to_temps (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static bool | use_flat_interpolation (const struct vsir_program *program, struct vkd3d_shader_message_context *message_context, bool *flat) |
| |
| static enum vkd3d_result | vsir_program_apply_flat_interpolation (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static enum vkd3d_result | insert_alpha_test_before_ret (struct vsir_program *program, const struct vkd3d_shader_instruction *ret, enum vkd3d_shader_comparison_func compare_func, const struct vkd3d_shader_parameter1 *ref, uint32_t colour_signature_idx, uint32_t colour_temp, size_t *ret_pos, struct vkd3d_shader_message_context *message_context) |
| |
| static enum vkd3d_result | vsir_program_insert_alpha_test (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static enum vkd3d_result | insert_clip_planes_before_ret (struct vsir_program *program, const struct vkd3d_shader_instruction *ret, uint32_t mask, uint32_t position_signature_idx, uint32_t position_temp, uint32_t low_signature_idx, uint32_t high_signature_idx, size_t *ret_pos) |
| |
| static enum vkd3d_result | vsir_program_insert_clip_planes (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static bool | is_pre_rasterization_shader (enum vkd3d_shader_type type) |
| |
| static enum vkd3d_result | insert_point_size_before_ret (struct vsir_program *program, const struct vkd3d_shader_instruction *ret, size_t *ret_pos) |
| |
| static enum vkd3d_result | vsir_program_insert_point_size (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static enum vkd3d_result | vsir_program_insert_point_size_clamp (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static bool | has_texcoord_signature_element (const struct shader_signature *signature) |
| |
| static bool | replace_texcoord_with_point_coord (struct vsir_program *program, struct vkd3d_shader_src_param *src, unsigned int coord_temp) |
| |
| static enum vkd3d_result | vsir_program_insert_point_coord (struct vsir_program *program, struct vsir_transformation_context *ctx) |
| |
| static void | vsir_validate_register_without_indices (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_io_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_temp_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_rastout_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_misctype_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_label_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_sampler_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_resource_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_uav_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_ssa_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_src_param (struct validation_context *ctx, const struct vkd3d_shader_src_param *src) |
| |
| static void | vsir_validate_register (struct validation_context *ctx, const struct vkd3d_shader_register *reg) |
| |
| static void | vsir_validate_dst_param (struct validation_context *ctx, const struct vkd3d_shader_dst_param *dst) |
| |
| static void | vsir_validate_dst_count (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction, unsigned int count) |
| |
| static void | vsir_validate_src_count (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction, unsigned int count) |
| |
| static bool | vsir_validate_src_min_count (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction, unsigned int count) |
| |
| static bool | vsir_validate_src_max_count (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction, unsigned int count) |
| |
| static void | vsir_validate_signature_element (struct validation_context *ctx, const struct shader_signature *signature, enum vsir_signature_type signature_type, unsigned int idx) |
| |
| static void | vsir_validate_signature (struct validation_context *ctx, const struct shader_signature *signature, enum vsir_signature_type signature_type) |
| |
| static const char * | name_from_cf_type (enum vsir_control_flow_type type) |
| |
| static void | vsir_validate_cf_type (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction, enum vsir_control_flow_type expected_type) |
| |
| static void | vsir_validator_push_block (struct validation_context *ctx, enum vkd3d_shader_opcode opcode) |
| |
| static void | vsir_validate_hull_shader_phase (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_branch (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_gs_instances (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_hs_max_tessfactor (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_input_primitive (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_output_control_point_count (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_output_topology (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_temps (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_tessellator_domain (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_tessellator_output_primitive (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_tessellator_partitioning (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_dcl_vertices_out (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_else (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_endif (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_endloop (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_endrep (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_endswitch (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_if (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_ifc (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_label (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_loop (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_nop (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_phi (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_rep (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_ret (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_switch (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_switch_monolithic (struct validation_context *ctx, const struct vkd3d_shader_instruction *instruction) |
| |
| static void | vsir_validate_instruction (struct validation_context *ctx) |
| |
| 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) |
| |
| static void | vsir_transform_ (struct vsir_transformation_context *ctx, const char *step_name, enum vkd3d_result(*step)(struct vsir_program *program, struct vsir_transformation_context *ctx)) |
| |
| 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) |
| |
| 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) |
| |