Class CompilerHLSL

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class CompilerHLSL : public SPIRV_CROSS_NAMESPACE::CompilerGLSL

Public Functions

inline explicit CompilerHLSL(std::vector<uint32_t> spirv_)
inline CompilerHLSL(const uint32_t *ir_, size_t size)
inline explicit CompilerHLSL(const ParsedIR &ir_)
inline explicit CompilerHLSL(ParsedIR &&ir_)
inline const Options &get_hlsl_options() const
inline void set_hlsl_options(const Options &opts)
void set_root_constant_layouts(std::vector<RootConstants> layout)
void add_vertex_attribute_remap(const HLSLVertexAttributeRemap &vertex_attributes)
virtual std::string compile() override
VariableID remap_num_workgroups_builtin()
void set_resource_binding_flags(HLSLBindingFlags flags)
void add_hlsl_resource_binding(const HLSLResourceBinding &resource)
bool is_hlsl_resource_binding_used(spv::ExecutionModel model, uint32_t set, uint32_t binding) const
void set_hlsl_force_storage_buffer_as_uav(uint32_t desc_set, uint32_t binding)
void set_hlsl_aux_buffer_binding(HLSLAuxBinding binding, uint32_t register_index, uint32_t register_space)
void unset_hlsl_aux_buffer_binding(HLSLAuxBinding binding)
bool is_hlsl_aux_buffer_binding_used(HLSLAuxBinding binding) const

Public Members

uint32_t register_index = 0
uint32_t register_space = 0
bool explicit_binding = false
bool used = false
struct Options

Public Members

uint32_t shader_model = 30
bool point_size_compat = false
bool point_coord_compat = false
bool support_nonzero_base_vertex_base_instance = false
bool force_storage_buffer_as_uav = false
bool nonwritable_uav_texture_as_srv = false
bool enable_16bit_types = false
bool flatten_matrix_vertex_input_semantics = false
bool use_entry_point_name = false
bool preserve_structured_buffers = false