RetroArch
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
spirv_cross::SPIRConstant Struct Reference

#include <spirv_common.hpp>

Inheritance diagram for spirv_cross::SPIRConstant:
[legend]
Collaboration diagram for spirv_cross::SPIRConstant:
[legend]

Classes

union  Constant
 
struct  ConstantMatrix
 
struct  ConstantVector
 

Public Types

enum  { type = TypeConstant }
 

Public Member Functions

uint32_t specialization_constant_id (uint32_t col, uint32_t row) const
 
uint32_t specialization_constant_id (uint32_t col) const
 
uint32_t scalar (uint32_t col=0, uint32_t row=0) const
 
uint16_t scalar_u16 (uint32_t col=0, uint32_t row=0) const
 
float scalar_f16 (uint32_t col=0, uint32_t row=0) const
 
float scalar_f32 (uint32_t col=0, uint32_t row=0) const
 
int32_t scalar_i32 (uint32_t col=0, uint32_t row=0) const
 
double scalar_f64 (uint32_t col=0, uint32_t row=0) const
 
int64_t scalar_i64 (uint32_t col=0, uint32_t row=0) const
 
uint64_t scalar_u64 (uint32_t col=0, uint32_t row=0) const
 
const ConstantVectorvector () const
 
uint32_t vector_size () const
 
uint32_t columns () const
 
void make_null (const SPIRType &constant_type_)
 
 SPIRConstant (uint32_t constant_type_)
 
 SPIRConstant ()=default
 
 SPIRConstant (uint32_t constant_type_, const uint32_t *elements, uint32_t num_elements, bool specialized)
 
 SPIRConstant (uint32_t constant_type_, uint32_t v0, bool specialized)
 
 SPIRConstant (uint32_t constant_type_, uint64_t v0, bool specialized)
 
 SPIRConstant (uint32_t constant_type_, const SPIRConstant *const *vector_elements, uint32_t num_elements, bool specialized)
 
- Public Member Functions inherited from spirv_cross::IVariant
virtual ~IVariant ()=default
 

Static Public Member Functions

static float f16_to_f32 (uint16_t u16_value)
 

Public Attributes

uint32_t constant_type
 
ConstantMatrix m
 
bool specialization = false
 
bool is_used_as_array_length = false
 
bool is_used_as_lut = false
 
std::vector< uint32_tsubconstants
 
- Public Attributes inherited from spirv_cross::IVariant
uint32_t self = 0
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
type 

Constructor & Destructor Documentation

◆ SPIRConstant() [1/6]

spirv_cross::SPIRConstant::SPIRConstant ( uint32_t  constant_type_)
inlineexplicit

◆ SPIRConstant() [2/6]

spirv_cross::SPIRConstant::SPIRConstant ( )
default

◆ SPIRConstant() [3/6]

spirv_cross::SPIRConstant::SPIRConstant ( uint32_t  constant_type_,
const uint32_t elements,
uint32_t  num_elements,
bool  specialized 
)
inline

◆ SPIRConstant() [4/6]

spirv_cross::SPIRConstant::SPIRConstant ( uint32_t  constant_type_,
uint32_t  v0,
bool  specialized 
)
inline

◆ SPIRConstant() [5/6]

spirv_cross::SPIRConstant::SPIRConstant ( uint32_t  constant_type_,
uint64_t  v0,
bool  specialized 
)
inline

◆ SPIRConstant() [6/6]

spirv_cross::SPIRConstant::SPIRConstant ( uint32_t  constant_type_,
const SPIRConstant *const vector_elements,
uint32_t  num_elements,
bool  specialized 
)
inline

Member Function Documentation

◆ columns()

uint32_t spirv_cross::SPIRConstant::columns ( ) const
inline

◆ f16_to_f32()

static float spirv_cross::SPIRConstant::f16_to_f32 ( uint16_t  u16_value)
inlinestatic
Here is the caller graph for this function:

◆ make_null()

void spirv_cross::SPIRConstant::make_null ( const SPIRType constant_type_)
inline
Here is the caller graph for this function:

◆ scalar()

uint32_t spirv_cross::SPIRConstant::scalar ( uint32_t  col = 0,
uint32_t  row = 0 
) const
inline

◆ scalar_f16()

float spirv_cross::SPIRConstant::scalar_f16 ( uint32_t  col = 0,
uint32_t  row = 0 
) const
inline
Here is the call graph for this function:

◆ scalar_f32()

float spirv_cross::SPIRConstant::scalar_f32 ( uint32_t  col = 0,
uint32_t  row = 0 
) const
inline

◆ scalar_f64()

double spirv_cross::SPIRConstant::scalar_f64 ( uint32_t  col = 0,
uint32_t  row = 0 
) const
inline

◆ scalar_i32()

int32_t spirv_cross::SPIRConstant::scalar_i32 ( uint32_t  col = 0,
uint32_t  row = 0 
) const
inline

◆ scalar_i64()

int64_t spirv_cross::SPIRConstant::scalar_i64 ( uint32_t  col = 0,
uint32_t  row = 0 
) const
inline

◆ scalar_u16()

uint16_t spirv_cross::SPIRConstant::scalar_u16 ( uint32_t  col = 0,
uint32_t  row = 0 
) const
inline
Here is the caller graph for this function:

◆ scalar_u64()

uint64_t spirv_cross::SPIRConstant::scalar_u64 ( uint32_t  col = 0,
uint32_t  row = 0 
) const
inline

◆ specialization_constant_id() [1/2]

uint32_t spirv_cross::SPIRConstant::specialization_constant_id ( uint32_t  col,
uint32_t  row 
) const
inline

◆ specialization_constant_id() [2/2]

uint32_t spirv_cross::SPIRConstant::specialization_constant_id ( uint32_t  col) const
inline

◆ vector()

const ConstantVector& spirv_cross::SPIRConstant::vector ( ) const
inline

◆ vector_size()

uint32_t spirv_cross::SPIRConstant::vector_size ( ) const
inline

Member Data Documentation

◆ constant_type

uint32_t spirv_cross::SPIRConstant::constant_type

◆ is_used_as_array_length

bool spirv_cross::SPIRConstant::is_used_as_array_length = false

◆ is_used_as_lut

bool spirv_cross::SPIRConstant::is_used_as_lut = false

◆ m

ConstantMatrix spirv_cross::SPIRConstant::m

◆ specialization

bool spirv_cross::SPIRConstant::specialization = false

◆ subconstants

std::vector<uint32_t> spirv_cross::SPIRConstant::subconstants

The documentation for this struct was generated from the following file: