|
| | Compiler (std::vector< uint32_t > ir) |
| |
| | Compiler (const uint32_t *ir, size_t word_count) |
| |
| virtual | ~Compiler ()=default |
| |
| virtual std::string | compile () |
| |
| const std::string & | get_name (uint32_t id) const |
| |
| void | set_decoration (uint32_t id, spv::Decoration decoration, uint32_t argument=0) |
| |
| void | set_decoration_string (uint32_t id, spv::Decoration decoration, const std::string &argument) |
| |
| void | set_name (uint32_t id, const std::string &name) |
| |
| uint64_t | get_decoration_mask (uint32_t id) const |
| |
| const Bitset & | get_decoration_bitset (uint32_t id) const |
| |
| bool | has_decoration (uint32_t id, spv::Decoration decoration) const |
| |
| uint32_t | get_decoration (uint32_t id, spv::Decoration decoration) const |
| |
| const std::string & | get_decoration_string (uint32_t id, spv::Decoration decoration) const |
| |
| void | unset_decoration (uint32_t id, spv::Decoration decoration) |
| |
| const SPIRType & | get_type (uint32_t id) const |
| |
| const SPIRType & | get_type_from_variable (uint32_t id) const |
| |
| uint32_t | get_non_pointer_type_id (uint32_t type_id) const |
| |
| const SPIRType & | get_non_pointer_type (const SPIRType &type) const |
| |
| const SPIRType & | get_non_pointer_type (uint32_t type_id) const |
| |
| spv::StorageClass | get_storage_class (uint32_t id) const |
| |
| virtual const std::string | get_fallback_name (uint32_t id) const |
| |
| virtual const std::string | get_block_fallback_name (uint32_t id) const |
| |
| const std::string & | get_member_name (uint32_t id, uint32_t index) const |
| |
| uint32_t | get_member_decoration (uint32_t id, uint32_t index, spv::Decoration decoration) const |
| |
| const std::string & | get_member_decoration_string (uint32_t id, uint32_t index, spv::Decoration decoration) const |
| |
| void | set_member_name (uint32_t id, uint32_t index, const std::string &name) |
| |
| const std::string & | get_member_qualified_name (uint32_t type_id, uint32_t index) const |
| |
| void | set_member_qualified_name (uint32_t type_id, uint32_t index, const std::string &name) |
| |
| uint64_t | get_member_decoration_mask (uint32_t id, uint32_t index) const |
| |
| const Bitset & | get_member_decoration_bitset (uint32_t id, uint32_t index) const |
| |
| bool | has_member_decoration (uint32_t id, uint32_t index, spv::Decoration decoration) const |
| |
| void | set_member_decoration (uint32_t id, uint32_t index, spv::Decoration decoration, uint32_t argument=0) |
| |
| void | set_member_decoration_string (uint32_t id, uint32_t index, spv::Decoration decoration, const std::string &argument) |
| |
| void | unset_member_decoration (uint32_t id, uint32_t index, spv::Decoration decoration) |
| |
| virtual const std::string | get_fallback_member_name (uint32_t index) const |
| |
| std::vector< BufferRange > | get_active_buffer_ranges (uint32_t id) const |
| |
| size_t | get_declared_struct_size (const SPIRType &struct_type) const |
| |
| virtual size_t | get_declared_struct_member_size (const SPIRType &struct_type, uint32_t index) const |
| |
| | SPIRV_CROSS_DEPRECATED ("Please use flatten_buffer_block instead.") void flatten_interface_block(uint32_t id) |
| |
| std::unordered_set< uint32_t > | get_active_interface_variables () const |
| |
| void | set_enabled_interface_variables (std::unordered_set< uint32_t > active_variables) |
| |
| ShaderResources | get_shader_resources () const |
| |
| ShaderResources | get_shader_resources (const std::unordered_set< uint32_t > &active_variables) const |
| |
| void | set_remapped_variable_state (uint32_t id, bool remap_enable) |
| |
| bool | get_remapped_variable_state (uint32_t id) const |
| |
| void | set_subpass_input_remapped_components (uint32_t id, uint32_t components) |
| |
| uint32_t | get_subpass_input_remapped_components (uint32_t id) const |
| |
| std::vector< std::string > | get_entry_points () const |
| |
| void | set_entry_point (const std::string &name) |
| |
| SPIREntryPoint & | get_entry_point (const std::string &name) |
| |
| void | set_entry_point (const std::string &entry, spv::ExecutionModel execution_model) |
| |
| void | rename_entry_point (const std::string &old_name, const std::string &new_name, spv::ExecutionModel execution_model) |
| |
| const SPIREntryPoint & | get_entry_point (const std::string &name, spv::ExecutionModel execution_model) const |
| |
| SPIREntryPoint & | get_entry_point (const std::string &name, spv::ExecutionModel execution_model) |
| |
| const std::string & | get_cleansed_entry_point_name (const std::string &name, spv::ExecutionModel execution_model) const |
| |
| uint64_t | get_execution_mode_mask () const |
| |
| const Bitset & | get_execution_mode_bitset () const |
| |
| void | unset_execution_mode (spv::ExecutionMode mode) |
| |
| void | set_execution_mode (spv::ExecutionMode mode, uint32_t arg0=0, uint32_t arg1=0, uint32_t arg2=0) |
| |
| uint32_t | get_execution_mode_argument (spv::ExecutionMode mode, uint32_t index=0) const |
| |
| spv::ExecutionModel | get_execution_model () const |
| |
| uint32_t | get_work_group_size_specialization_constants (SpecializationConstant &x, SpecializationConstant &y, SpecializationConstant &z) const |
| |
| uint32_t | build_dummy_sampler_for_combined_images () |
| |
| void | build_combined_image_samplers () |
| |
| const std::vector< CombinedImageSampler > & | get_combined_image_samplers () const |
| |
| void | set_variable_type_remap_callback (VariableTypeRemapCallback cb) |
| |
| std::vector< SpecializationConstant > | get_specialization_constants () const |
| |
| SPIRConstant & | get_constant (uint32_t id) |
| |
| const SPIRConstant & | get_constant (uint32_t id) const |
| |
| uint32_t | get_current_id_bound () const |
| |
| uint32_t | type_struct_member_offset (const SPIRType &type, uint32_t index) const |
| |
| uint32_t | type_struct_member_array_stride (const SPIRType &type, uint32_t index) const |
| |
| uint32_t | type_struct_member_matrix_stride (const SPIRType &type, uint32_t index) const |
| |
| bool | get_binary_offset_for_decoration (uint32_t id, spv::Decoration decoration, uint32_t &word_offset) const |
| |
| bool | buffer_is_hlsl_counter_buffer (uint32_t id) const |
| |
| bool | buffer_get_hlsl_counter_buffer (uint32_t id, uint32_t &counter_id) const |
| |
| const std::vector< spv::Capability > & | get_declared_capabilities () const |
| |
| const std::vector< std::string > & | get_declared_extensions () const |
| |
| std::string | get_remapped_declared_block_name (uint32_t id) const |
| |
| Bitset | get_buffer_block_flags (uint32_t id) const |
| |
|
| const uint32_t * | stream (const Instruction &instr) const |
| |
| template<typename T , typename... P> |
| T & | set (uint32_t id, P &&... args) |
| |
| template<typename T > |
| T & | get (uint32_t id) |
| |
| template<typename T > |
| T * | maybe_get (uint32_t id) |
| |
| template<typename T > |
| const T & | get (uint32_t id) const |
| |
| template<typename T > |
| const T * | maybe_get (uint32_t id) const |
| |
| const SPIREntryPoint & | get_entry_point () const |
| |
| SPIREntryPoint & | get_entry_point () |
| |
| virtual std::string | to_name (uint32_t id, bool allow_alias=true) const |
| |
| bool | is_builtin_variable (const SPIRVariable &var) const |
| |
| bool | is_hidden_variable (const SPIRVariable &var, bool include_builtins=false) const |
| |
| bool | is_immutable (uint32_t id) const |
| |
| bool | is_member_builtin (const SPIRType &type, uint32_t index, spv::BuiltIn *builtin) const |
| |
| bool | is_scalar (const SPIRType &type) const |
| |
| bool | is_vector (const SPIRType &type) const |
| |
| bool | is_matrix (const SPIRType &type) const |
| |
| bool | is_array (const SPIRType &type) const |
| |
| uint32_t | expression_type_id (uint32_t id) const |
| |
| const SPIRType & | expression_type (uint32_t id) const |
| |
| bool | expression_is_lvalue (uint32_t id) const |
| |
| bool | variable_storage_is_aliased (const SPIRVariable &var) |
| |
| SPIRVariable * | maybe_get_backing_variable (uint32_t chain) |
| |
| void | mark_used_as_array_length (uint32_t id) |
| |
| void | register_read (uint32_t expr, uint32_t chain, bool forwarded) |
| |
| void | register_write (uint32_t chain) |
| |
| bool | is_continue (uint32_t next) const |
| |
| bool | is_single_block_loop (uint32_t next) const |
| |
| bool | is_break (uint32_t next) const |
| |
| bool | is_loop_break (uint32_t next) const |
| |
| bool | is_conditional (uint32_t next) const |
| |
| void | flush_dependees (SPIRVariable &var) |
| |
| void | flush_all_active_variables () |
| |
| void | flush_control_dependent_expressions (uint32_t block) |
| |
| void | flush_all_atomic_capable_variables () |
| |
| void | flush_all_aliased_variables () |
| |
| void | register_global_read_dependencies (const SPIRBlock &func, uint32_t id) |
| |
| void | register_global_read_dependencies (const SPIRFunction &func, uint32_t id) |
| |
| void | update_name_cache (std::unordered_set< std::string > &cache, std::string &name) |
| |
| bool | function_is_pure (const SPIRFunction &func) |
| |
| bool | block_is_pure (const SPIRBlock &block) |
| |
| bool | block_is_outside_flow_control_from_block (const SPIRBlock &from, const SPIRBlock &to) |
| |
| bool | execution_is_branchless (const SPIRBlock &from, const SPIRBlock &to) const |
| |
| bool | execution_is_noop (const SPIRBlock &from, const SPIRBlock &to) const |
| |
| SPIRBlock::ContinueBlockType | continue_block_type (const SPIRBlock &continue_block) const |
| |
| bool | block_is_loop_candidate (const SPIRBlock &block, SPIRBlock::Method method) const |
| |
| uint32_t | increase_bound_by (uint32_t incr_amount) |
| |
| bool | types_are_logically_equivalent (const SPIRType &a, const SPIRType &b) const |
| |
| void | inherit_expression_dependencies (uint32_t dst, uint32_t source) |
| |
| bool | interface_variable_exists_in_entry_point (uint32_t id) const |
| |
| void | remap_variable_type_name (const SPIRType &type, const std::string &var_name, std::string &type_name) const |
| |
| void | parse () |
| |
| void | parse (const Instruction &i) |
| |
| bool | traverse_all_reachable_opcodes (const SPIRBlock &block, OpcodeHandler &handler) const |
| |
| bool | traverse_all_reachable_opcodes (const SPIRFunction &block, OpcodeHandler &handler) const |
| |
| ShaderResources | get_shader_resources (const std::unordered_set< uint32_t > *active_variables) const |
| |
| Bitset | get_buffer_block_flags (const SPIRVariable &var) const |
| |
| bool | get_common_basic_type (const SPIRType &type, SPIRType::BaseType &base_type) |
| |
| void | update_active_builtins () |
| |
| bool | has_active_builtin (spv::BuiltIn builtin, spv::StorageClass storage) |
| |
| void | analyze_parameter_preservation (SPIRFunction &entry, const CFG &cfg, const std::unordered_map< uint32_t, std::unordered_set< uint32_t >> &variable_to_blocks, const std::unordered_map< uint32_t, std::unordered_set< uint32_t >> &complete_write_blocks) |
| |
| void | analyze_image_and_sampler_usage () |
| |
| void | build_function_control_flow_graphs_and_analyze () |
| |
| void | analyze_variable_scope (SPIRFunction &function, AnalyzeVariableScopeAccessHandler &handler) |
| |
| void | find_function_local_luts (SPIRFunction &function, const AnalyzeVariableScopeAccessHandler &handler) |
| |
| void | make_constant_null (uint32_t id, uint32_t type) |
| |
| bool | instruction_to_result_type (uint32_t &result_type, uint32_t &result_id, spv::Op op, const uint32_t *args, uint32_t length) |
| |
| Bitset | combined_decoration_for_member (const SPIRType &type, uint32_t index) const |
| |
| bool | image_is_comparison (const SPIRType &type, uint32_t id) const |
| |