struct OpcodeHandler

Defined at line 826 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

Used internally to implement various traversals for queries.

Public Members

Compiler & compiler
unordered_map result_types
bool enable_result_types

Public Methods

void OpcodeHandler (Compiler & compiler_)

Defined at line 828 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

bool handle (Op opcode, const uint32_t * args, uint32_t length)

Return true if traversal should continue.

If false, traversal will end immediately.

void ~OpcodeHandler ()

Defined at line 829 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

bool handle_terminator (const SPIRBlock & )

Defined at line 834 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

bool follow_function_call (const SPIRFunction & )

Defined at line 839 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

void set_current_block (const SPIRBlock & )

Defined at line 844 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

void rearm_current_block (const SPIRBlock & )

Called after returning from a function or when entering a block,

can be called multiple times per block,

while set_current_block is only called on block entry.

Defined at line 851 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

bool begin_function_scope (const uint32_t * , uint32_t )

Defined at line 855 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

bool end_function_scope (const uint32_t * , uint32_t )

Defined at line 860 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

template <typename T>
T & get (uint32_t id)

Defined at line 870 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

template <typename T>
const T & get (uint32_t id)

Defined at line 875 of file ../../third_party/spirv-cross/src/spirv_cross.hpp

const SPIRType * get_expression_result_type (uint32_t id)
template <typename T, typename... P>
T & set (uint32_t id, P &&... args)

Defined at line 881 of file ../../third_party/spirv-cross/src/spirv_cross.hpp