17 #ifndef SPIRV_CROSS_COMMON_HPP 18 #define SPIRV_CROSS_COMMON_HPP 33 #include <unordered_map> 34 #include <unordered_set> 41 #ifdef SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS 51 fprintf(stderr,
"There was a compiler error: %s\n",
msg.c_str());
57 #define SPIRV_CROSS_THROW(x) report_and_abort(x) 68 #define SPIRV_CROSS_THROW(x) throw CompilerError(x) 71 #if __cplusplus >= 201402l 72 #define SPIRV_CROSS_DEPRECATED(reason) [[deprecated(reason)]] 73 #elif defined(__GNUC__) 74 #define SPIRV_CROSS_DEPRECATED(reason) __attribute__((deprecated)) 75 #elif defined(_MSC_VER) 76 #define SPIRV_CROSS_DEPRECATED(reason) __declspec(deprecated(reason)) 78 #define SPIRV_CROSS_DEPRECATED(reason) 89 template <
typename T,
typename... Ts>
109 return (
lower & (1ull << bit)) != 0;
111 return higher.count(bit) != 0;
117 lower |= 1ull << bit;
125 lower &= ~(1ull << bit);
144 std::unordered_set<uint32_t> tmp_set;
146 if (other.
higher.count(
v) != 0)
148 higher = std::move(tmp_set);
167 if (other.
higher.count(
v) == 0)
175 return !(*
this == other);
178 template <
typename Op>
184 if (
lower & (1ull << i))
193 std::vector<uint32_t>
bits;
217 template <
typename... Ts>
220 std::ostringstream
stream;
228 for (
auto &elem : list)
231 if (&elem != &list.back())
237 template <
typename T>
244 #ifndef SPIRV_CROSS_FLT_FMT 245 #define SPIRV_CROSS_FLT_FMT "%.32g" 251 #pragma warning(push) 252 #pragma warning(disable : 4996) 476 ,
model(execution_model)
633 std::vector<Instruction>
ops;
753 arguments.push_back({ parameter_type,
id, 0u, 0u, alias_global_variable });
884 for (
unsigned i = 0; i < 4; i++)
899 for (
unsigned i = 0; i < 4; i++)
907 int s = (u16_value >> 15) & 0x1;
908 int e = (u16_value >> 10) & 0x1f;
909 int m = (u16_value >> 0) & 0x3ff;
925 while ((
m & 0x400) == 0)
939 u.u32 = (
uint32_t(
s) << 31) | 0x7f800000u;
944 u.u32 = (
uint32_t(
s) << 31) | 0x7f800000u | (
m << 13);
1012 return m.c[0].vecsize;
1023 m.columns = constant_type_.
columns;
1025 c.vecsize = constant_type_.
vecsize;
1048 m.c[0].r[0].u32 =
v0;
1058 m.c[0].r[0].u64 =
v0;
1073 m.columns = num_elements;
1075 for (
uint32_t i = 0; i < num_elements; i++)
1077 m.c[i] = vector_elements[i]->
m.
c[0];
1079 m.
id[i] = vector_elements[i]->
self;
1084 m.c[0].vecsize = num_elements;
1087 for (
uint32_t i = 0; i < num_elements; i++)
1089 m.c[0].r[i] = vector_elements[i]->
m.
c[0].
r[0];
1091 m.c[0].id[i] = vector_elements[i]->
self;
1118 *
this = std::move(other);
1124 holder = move(other.holder);
1140 template <
typename T>
1147 return *
static_cast<T *
>(
holder.get());
1150 template <
typename T>
1157 return *
static_cast<const T *
>(
holder.get());
1189 template <
typename T>
1192 return var.
get<
T>();
1195 template <
typename T>
1198 return var.
get<
T>();
1201 template <
typename T,
typename...
P>
1204 auto uptr = std::unique_ptr<T>(
new T(std::forward<P>(
args)...));
1205 auto ptr = uptr.get();
1262 old = std::locale::global(std::locale::classic());
1266 std::locale::global(
old);
1278 h = (
h * 0x100000001b3ull) ^
value;
Definition: spirv_common.hpp:390
bool active
Definition: spirv_common.hpp:764
std::vector< uint32_t > local_variables
Definition: spirv_common.hpp:740
uint32_t default_block
Definition: spirv_common.hpp:631
void set(std::unique_ptr< IVariant > val, uint32_t new_type)
Definition: spirv_common.hpp:1131
uint32_t static_expression
Definition: spirv_common.hpp:833
Definition: spirv_common.hpp:302
Definition: spirv_common.hpp:418
GLuint const GLchar * name
Definition: glext.h:6671
void u32(uint32_t value)
Definition: spirv_common.hpp:1276
bool alias_global_variable
Definition: spirv_common.hpp:712
Extension ext
Definition: spirv_common.hpp:465
const GLvoid * ptr
Definition: nx_glsym.h:242
spv::StorageClass storage
Definition: spirv_common.hpp:820
Definition: spirv_common.hpp:333
uint32_t false_block
Definition: spirv_common.hpp:630
T & variant_get(Variant &var)
Definition: spirv_common.hpp:1190
spv::ExecutionModel model
Definition: spirv_common.hpp:494
Definition: spirv_common.hpp:1273
std::string merge(const std::vector< std::string > &list)
Definition: spirv_common.hpp:225
int64_t i64
Definition: spirv_common.hpp:869
Definition: spirv_common.hpp:283
void set(uint32_t bit)
Definition: spirv_common.hpp:114
char * strchr(const char *string, int c)
Definition: compat_ctype.c:102
bool empty() const
Definition: spirv_common.hpp:1168
Definition: spirv_common.hpp:1210
GLuint GLfloat * val
Definition: glext.h:7847
set set set set set set set macro pixldst1 op
Definition: pixman-arm-neon-asm.h:54
uint32_t expression_type
Definition: spirv_common.hpp:518
std::vector< uint32_t > dereference_chain
Definition: spirv_common.hpp:825
Definition: spirv.hpp:146
Definition: spirv_common.hpp:617
void make_null(const SPIRType &constant_type_)
Definition: spirv_common.hpp:1020
std::string join(Ts &&... ts)
Definition: spirv_common.hpp:218
std::string dynamic_index
Definition: spirv_common.hpp:794
#define SPIRV_CROSS_THROW(x)
Definition: spirv_common.hpp:68
uint32_t loaded_from
Definition: spirv_common.hpp:522
Definition: spirv_common.hpp:653
bool is_used_as_array_length
Definition: spirv_common.hpp:1102
Extension
Definition: spirv_common.hpp:450
bool immutable
Definition: spirv_common.hpp:800
bool immutable
Definition: spirv_common.hpp:528
std::vector< Instruction > ops
Definition: spirv_common.hpp:633
Definition: spirv_common.hpp:382
Definition: spirv_common.hpp:538
void add_local_variable(uint32_t id)
Definition: spirv_common.hpp:745
uint32_t specialization_constant_id(uint32_t col) const
Definition: spirv_common.hpp:960
std::string to_string(const T &val)
Definition: Common.h:45
Definition: spirv_common.hpp:454
float scalar_f16(uint32_t col=0, uint32_t row=0) const
Definition: spirv_common.hpp:975
Definition: spirv_common.hpp:470
uint32_t set
Definition: spirv_common.hpp:1220
bool do_combined_parameters
Definition: spirv_common.hpp:766
std::vector< CombinedImageSamplerParameter > combined_parameters
Definition: spirv_common.hpp:743
StorageClass
Definition: spirv.hpp:137
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:8418
Definition: spirv_common.hpp:576
std::unique_ptr< IVariant > holder
Definition: spirv_common.hpp:1184
Definition: spirv_common.hpp:453
float f32
Definition: gctypes.h:43
SPIRUndef(uint32_t basetype_)
Definition: spirv_common.hpp:324
bool empty() const
Definition: spirv_common.hpp:203
std::vector< bool > array_size_literal
Definition: spirv_common.hpp:410
Definition: spirv_common.hpp:369
GLdouble GLdouble GLdouble r
Definition: glext.h:6406
void merge_and(const Bitset &other)
Definition: spirv_common.hpp:141
uint32_t combined_type
Definition: spirv_common.hpp:345
GLdouble GLdouble t
Definition: glext.h:6398
uint32_t continue_block
Definition: spirv_common.hpp:625
spv::StorageClass storage
Definition: spirv_common.hpp:792
Definition: spirv_common.hpp:571
Definition: spirv_common.hpp:314
spv::AccessQualifier access
Definition: spirv_common.hpp:427
#define P(a, b, c, d, k, s, t)
std::unordered_set< std::string > member_name_cache
Definition: spirv_common.hpp:440
bool need_transpose
Definition: spirv_common.hpp:532
bool compat_builtin
Definition: spirv_common.hpp:826
SPIRConstant(uint32_t constant_type_)
Definition: spirv_common.hpp:1028
GLenum GLuint id
Definition: glext.h:6233
uint32_t offset
Definition: spirv_common.hpp:289
bool row_major_matrix
Definition: spirv_common.hpp:799
uint32_t function_type
Definition: spirv_common.hpp:733
Definition: spirv_common.hpp:586
uint32_t get_type() const
Definition: spirv_common.hpp:1160
uint32_t columns() const
Definition: spirv_common.hpp:1015
void clear(uint32_t bit)
Definition: spirv_common.hpp:122
Definition: spirv_common.hpp:635
std::vector< uint32_t > blocks
Definition: spirv_common.hpp:742
ConstantVector c[4]
Definition: spirv_common.hpp:891
GLuint GLenum matrix
Definition: glext.h:10314
Definition: spirv_common.hpp:585
GLdouble s
Definition: glext.h:6390
static const struct @115 elements[]
uint64_t get_lower() const
Definition: spirv_common.hpp:130
uint32_t return_type
Definition: spirv_common.hpp:732
static bool type_is_floating_point(const SPIRType &type)
Definition: spirv_common.hpp:1290
GLsizei const GLvoid * pointer
Definition: glext.h:6488
GLdouble GLdouble z
Definition: glext.h:6514
Definition: spirv_common.hpp:380
uint32_t spec_id
Definition: spirv_common.hpp:1226
Definition: spirv_common.hpp:303
Definition: spirv_common.hpp:497
uint32_t get_id() const
Definition: spirv_common.hpp:1164
GLsizei const GLchar *const * string
Definition: glext.h:6699
uint32_t hlsl_magic_counter_buffer
Definition: spirv_common.hpp:1248
#define fprintf
Definition: file_stream_transforms.h:62
std::vector< Decoration > members
Definition: spirv_common.hpp:1232
uint32_t loop_dominator
Definition: spirv_common.hpp:669
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
std::vector< uint32_t > dependees
Definition: spirv_common.hpp:836
std::string convert_to_string(T &&t)
Definition: spirv_common.hpp:238
bool disable_block_optimization
Definition: spirv_common.hpp:662
uint32_t constant
Definition: spirv_common.hpp:490
bool builtin
Definition: spirv_common.hpp:1228
uint32_t self
Definition: spirv_common.hpp:297
Definition: spirv_common.hpp:567
Variant(Variant &&other)
Definition: spirv_common.hpp:1116
uint32_t vecsize
Definition: spirv_common.hpp:878
uint32_t basevariable
Definition: spirv_common.hpp:823
void for_each_bit(const Op &op) const
Definition: spirv_common.hpp:179
std::vector< uint32_t > member_types
Definition: spirv_common.hpp:416
SPIRVariable(uint32_t basetype_, spv::StorageClass storage_, uint32_t initializer_=0, uint32_t basevariable_=0)
Definition: spirv_common.hpp:811
std::string hlsl_semantic
Definition: spirv_common.hpp:1216
Definition: spirv_common.hpp:452
Definition: spirv_common.hpp:305
std::vector< Parameter > shadow_arguments
Definition: spirv_common.hpp:739
ClassicLocale()
Definition: spirv_common.hpp:1260
BaseType basetype
Definition: spirv_common.hpp:397
void reset()
Definition: spirv_common.hpp:1172
struct spirv_cross::SPIRType::ImageType image
Bitset flags
Definition: spirv_common.hpp:486
const GLubyte * c
Definition: glext.h:9812
Definition: spirv_common.hpp:594
uint32_t basetype
Definition: spirv_common.hpp:366
std::vector< uint32_t > subconstants
Definition: spirv_common.hpp:1108
uint32_t true_block
Definition: spirv_common.hpp:629
std::vector< uint32_t > loop_variables
Definition: spirv_common.hpp:678
uint32_t array_stride
Definition: spirv_common.hpp:1223
void join_helper(std::ostringstream &stream, T &&t)
Definition: spirv_common.hpp:84
std::unordered_set< uint32_t > higher
Definition: spirv_common.hpp:213
int32_t i32
Definition: spirv_common.hpp:865
uint32_t input_attachment
Definition: spirv_common.hpp:1225
Definition: spirv_common.hpp:593
uint32_t vecsize
Definition: spirv_common.hpp:399
GLint location
Definition: glext.h:6690
void reset()
Definition: spirv_common.hpp:135
uint32_t return_type
Definition: spirv_common.hpp:550
Definition: spirv_common.hpp:312
bool is_used_as_lut
Definition: spirv_common.hpp:1105
double f64
Definition: spirv_common.hpp:870
bool global_sampler
Definition: spirv_common.hpp:728
spv::Op opcode
Definition: spirv_common.hpp:364
Definition: spirv_common.hpp:583
bool allow_type_rewrite
Definition: spirv_common.hpp:1186
SPIRFunction(uint32_t return_type_, uint32_t function_type_)
Definition: spirv_common.hpp:693
float f32
Definition: spirv_common.hpp:866
uint64_t h
Definition: spirv_common.hpp:1287
Definition: spirv_common.hpp:584
std::unordered_map< uint32_t, uint32_t > decoration_word_offset
Definition: spirv_common.hpp:1235
GLenum type
Definition: glext.h:6233
T & variant_set(Variant &var, P &&... args)
Definition: spirv_common.hpp:1202
struct spirv_cross::SPIREntryPoint::@146 workgroup_size
Decoration decoration
Definition: spirv_common.hpp:1231
uint32_t dominator
Definition: spirv_common.hpp:845
spv::Dim dim
Definition: spirv_common.hpp:421
uint32_t type
Definition: spirv_common.hpp:420
CompilerError(const std::string &str)
Definition: spirv_common.hpp:62
bool global_image
Definition: spirv_common.hpp:727
uint32_t sampler
Definition: spirv_common.hpp:347
uint32_t base_expression
Definition: spirv_common.hpp:515
uint64_t u64
Definition: spirv_common.hpp:868
Definition: spirv_common.hpp:577
Definition: barrier.hpp:23
Merge
Definition: spirv_common.hpp:574
Definition: spirv_common.hpp:563
Definition: spirv_common.hpp:570
bool specialization
Definition: spirv_common.hpp:1100
Op
Definition: spirv.hpp:714
std::function< void(const SPIRType &type, const std::string &var_name, std::string &name_of_type)> VariableTypeRemapCallback
Definition: spirv_common.hpp:1255
Definition: spirv_common.hpp:722
Definition: spirv_common.hpp:592
spv::ImageFormat format
Definition: spirv_common.hpp:426
Definition: spirv_common.hpp:587
std::string expression
Definition: spirv_common.hpp:517
std::vector< std::pair< uint32_t, uint32_t > > declare_temporary
Definition: spirv_common.hpp:647
std::string hlsl_magic_counter_buffer_name
Definition: spirv_common.hpp:1242
virtual ~IVariant()=default
static float f16_to_f32(uint16_t u16_value)
Definition: spirv_common.hpp:904
bool remapped_variable
Definition: spirv_common.hpp:841
bool complex_continue
Definition: spirv_common.hpp:665
uint32_t u32
Definition: spirv_common.hpp:864
std::vector< uint32_t > expression_dependencies
Definition: spirv_common.hpp:535
Definition: spirv_common.hpp:315
#define fflush
Definition: file_stream_transforms.h:61
uint32_t matrix_stride
Definition: spirv_common.hpp:798
ConstantVector()
Definition: spirv_common.hpp:881
std::vector< uint32_t > interface_variables
Definition: spirv_common.hpp:484
bool depth
Definition: spirv_common.hpp:422
uint32_t write_count
Definition: spirv_common.hpp:704
SPIRConstantOp(uint32_t result_type, spv::Op op, const uint32_t *args, uint32_t length)
Definition: spirv_common.hpp:357
GLfloat v0
Definition: glext.h:6701
SPIRConstant(uint32_t constant_type_, const uint32_t *elements, uint32_t num_elements, bool specialized)
Definition: spirv_common.hpp:1035
bool hlsl_magic_counter_buffer_candidate
Definition: spirv_common.hpp:1243
void add_parameter(uint32_t parameter_type, uint32_t id, bool alias_global_variable=false)
Definition: spirv_common.hpp:750
uint32_t id
Definition: spirv_common.hpp:724
uint32_t type_alias
Definition: spirv_common.hpp:433
std::string alias
Definition: spirv_common.hpp:1214
static const unsigned char msg[]
Definition: ccm.c:375
bool operator!=(const Bitset &other) const
Definition: spirv_common.hpp:173
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glext.h:6305
Definition: spirv_common.hpp:602
int32_t static_index
Definition: spirv_common.hpp:795
uint32_t output_vertices
Definition: spirv_common.hpp:493
bool loop_variable_enable
Definition: spirv_common.hpp:851
Definition: spirv_common.hpp:313
Definition: spirv_common.hpp:566
Definition: spirv_common.hpp:873
GLint GLint GLint GLint GLint GLint y
Definition: glext.h:6295
Definition: spirv_common.hpp:381
Definition: spirv_common.hpp:387
Definition: spirv_common.hpp:304
uint32_t invocations
Definition: spirv_common.hpp:492
bool loop_variable
Definition: spirv_common.hpp:849
uint32_t basetype
Definition: spirv_common.hpp:791
uint32_t remapped_components
Definition: spirv_common.hpp:842
GLint GLint GLint GLint GLint x
Definition: glext.h:6295
bool deferred_declaration
Definition: spirv_common.hpp:839
void merge_or(const Bitset &other)
Definition: spirv_common.hpp:151
uint32_t binding
Definition: spirv_common.hpp:1221
GLenum GLenum GLvoid * row
Definition: glext.h:6316
AccessQualifier
Definition: spirv.hpp:325
dictionary args
Definition: test_shaders.py:20
const ConstantVector & vector() const
Definition: spirv_common.hpp:1005
std::vector< std::string > fixup_statements_out
Definition: spirv_common.hpp:758
std::vector< Parameter > arguments
Definition: spirv_common.hpp:734
int sprintf(char *s, const char *format,...)
Definition: compat_ctype.c:81
SPIRConstant(uint32_t constant_type_, uint64_t v0, bool specialized)
Definition: spirv_common.hpp:1054
Variant & operator=(Variant &&other)
Definition: spirv_common.hpp:1120
Definition: spirv_common.hpp:383
SPIRFunctionPrototype(uint32_t return_type_)
Definition: spirv_common.hpp:545
std::vector< uint32_t > invalidate_expressions
Definition: spirv_common.hpp:683
std::vector< Phi > phi_variables
Definition: spirv_common.hpp:643
uint32_t image
Definition: spirv_common.hpp:346
signed int int32_t
Definition: stdint.h:123
ExecutionModel
Definition: spirv.hpp:68
~ClassicLocale()
Definition: spirv_common.hpp:1264
std::vector< std::string > fixup_statements_in
Definition: spirv_common.hpp:762
uint32_t columns
Definition: spirv_common.hpp:400
Definition: spirv_common.hpp:569
Definition: spirv_common.hpp:318
bool ms
Definition: spirv_common.hpp:424
spv::StorageClass storage
Definition: spirv_common.hpp:414
#define SPIRV_CROSS_FLT_FMT
Definition: spirv_common.hpp:245
Definition: spirv_common.hpp:1257
Definition: spirv_common.hpp:457
Merge merge
Definition: spirv_common.hpp:621
uint32_t id[4]
Definition: spirv_common.hpp:877
std::string name
Definition: spirv_common.hpp:482
Definition: spirv_common.hpp:309
Hints hint
Definition: spirv_common.hpp:622
Constant r[4]
Definition: spirv_common.hpp:875
GLuint index
Definition: glext.h:6671
uint32_t id
Definition: spirv_common.hpp:702
uint32_t length
Definition: spirv_common.hpp:290
std::vector< uint32_t > array
Definition: spirv_common.hpp:403
std::vector< uint32_t > arguments
Definition: spirv_common.hpp:365
bool operator==(const Bitset &other) const
Definition: spirv_common.hpp:158
uint32_t merge_block
Definition: spirv_common.hpp:624
static int sort(lua_State *L)
Definition: ltablib.c:411
std::string orig_name
Definition: spirv_common.hpp:483
Definition: spirv_common.hpp:456
ConstantMatrix m
Definition: spirv_common.hpp:1097
const GLdouble * v
Definition: glext.h:6391
std::vector< Case > cases
Definition: spirv_common.hpp:658
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
Definition: glext.h:11836
uint32_t local_variable
Definition: spirv_common.hpp:637
uint32_t sampled
Definition: spirv_common.hpp:425
Definition: spirv_common.hpp:307
u32 col
Definition: gx_regdef.h:5093
GLuint GLuint stream
Definition: glext.h:8189
bool get(uint32_t bit) const
Definition: spirv_common.hpp:106
Definition: spirv_common.hpp:803
Definition: spirv_common.hpp:385
Definition: spirv_common.hpp:443
uint32_t scalar(uint32_t col=0, uint32_t row=0) const
Definition: spirv_common.hpp:965
uint32_t block
Definition: spirv_common.hpp:656
uint32_t read_count
Definition: spirv_common.hpp:703
ConstantMatrix()
Definition: spirv_common.hpp:897
Definition: spirv_common.hpp:384
Definition: spirv_common.hpp:392
uint16_t op
Definition: spirv_common.hpp:287
Bitset(uint64_t lower_)
Definition: spirv_common.hpp:101
Definition: spirv_common.hpp:605
uint64_t lower
Definition: spirv_common.hpp:212
Definition: spirv_common.hpp:388
Definition: spirv_common.hpp:699
Terminator
Definition: spirv_common.hpp:561
GLint GLint GLsizei width
Definition: glext.h:6293
uint32_t constant_type
Definition: spirv_common.hpp:1096
std::vector< uint32_t > dominated_variables
Definition: spirv_common.hpp:673
SPIRConstant(uint32_t constant_type_, const SPIRConstant *const *vector_elements, uint32_t num_elements, bool specialized)
Definition: spirv_common.hpp:1064
uint16_t count
Definition: spirv_common.hpp:288
bool forwardable
Definition: spirv_common.hpp:837
Definition: spirv_common.hpp:306
uint32_t vector_size() const
Definition: spirv_common.hpp:1010
uint16_t scalar_u16(uint32_t col=0, uint32_t row=0) const
Definition: spirv_common.hpp:970
signed __int64 int64_t
Definition: stdint.h:135
Definition: spirv_common.hpp:308
Definition: spirv_common.hpp:393
uint32_t loaded_from
Definition: spirv_common.hpp:797
uint32_t basetype
Definition: spirv_common.hpp:328
GLenum condition
Definition: glext.h:10162
void set_allow_type_rewrite()
Definition: spirv_common.hpp:1178
bool statically_assigned
Definition: spirv_common.hpp:832
uint64_t get() const
Definition: spirv_common.hpp:1281
uint32_t decoration
Definition: spirv_common.hpp:821
uint32_t columns
Definition: spirv_common.hpp:894
Definition: spirv_common.hpp:97
std::string base
Definition: spirv_common.hpp:793
BaseType
Definition: spirv_common.hpp:376
Definition: spirv_common.hpp:1111
GLsizei const GLfloat * value
Definition: glext.h:6709
SPIREntryPoint(uint32_t self_, spv::ExecutionModel execution_model, const std::string &entry_name)
Definition: spirv_common.hpp:472
Definition: spirv_common.hpp:554
uint32_t basetype
Definition: spirv_common.hpp:819
uint64_t scalar_u64(uint32_t col=0, uint32_t row=0) const
Definition: spirv_common.hpp:1000
uint32_t value
Definition: spirv_common.hpp:655
std::locale old
Definition: spirv_common.hpp:1270
Definition: spirv_common.hpp:378
BuiltIn
Definition: spirv.hpp:402
uint32_t image_id
Definition: spirv_common.hpp:725
Dim
Definition: spirv.hpp:154
uint32_t function_variable
Definition: spirv_common.hpp:639
Definition: spirv_common.hpp:863
static void expr(LexState *ls, expdesc *v)
Definition: lparser.c:1078
uint32_t matrix_stride
Definition: spirv_common.hpp:1224
Definition: spirv_common.hpp:386
uint32_t initializer
Definition: spirv_common.hpp:822
Definition: spirv_common.hpp:769
bool hlsl_is_magic_counter_buffer
Definition: spirv_common.hpp:1246
GLuint GLuint end
Definition: glext.h:6292
bool depth
Definition: spirv_common.hpp:729
SPIRConstant(uint32_t constant_type_, uint32_t v0, bool specialized)
Definition: spirv_common.hpp:1044
Definition: spirv_common.hpp:389
Terminator terminator
Definition: spirv_common.hpp:620
Definition: spirv_common.hpp:686
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:8390
static enum msg_hash_enums new_type
Definition: menu_displaylist.c:99
int64_t scalar_i64(uint32_t col=0, uint32_t row=0) const
Definition: spirv_common.hpp:995
spv::BuiltIn builtin_type
Definition: spirv_common.hpp:1218
std::string qualified_alias
Definition: spirv_common.hpp:1215
GLuint sampler
Definition: glext.h:7950
Definition: spirv_common.hpp:311
GLintptr offset
Definition: glext.h:6560
Definition: spirv_common.hpp:564
Definition: spirv_common.hpp:310
Bitset decoration_flags
Definition: spirv_common.hpp:1217
uint32_t parent_type
Definition: spirv_common.hpp:437
Definition: spirv_common.hpp:350
const T & get() const
Definition: spirv_common.hpp:1151
SPIRExtension(Extension ext_)
Definition: spirv_common.hpp:460
std::vector< std::pair< uint32_t, uint32_t > > potential_declare_temporary
Definition: spirv_common.hpp:651
Definition: spirv_common.hpp:578
Definition: spirv_common.hpp:391
Definition: spirv_common.hpp:455
uint32_t next_block
Definition: spirv_common.hpp:623
uint32_t u32
32bit unsigned integer
Definition: gctypes.h:19
uint32_t type
Definition: spirv_common.hpp:701
Definition: spirv_common.hpp:294
unsigned short uint16_t
Definition: stdint.h:125
void * memset(void *b, int c, size_t len)
Definition: string.c:7
int32_t scalar_i32(uint32_t col=0, uint32_t row=0) const
Definition: spirv_common.hpp:985
ContinueBlockType
Definition: spirv_common.hpp:597
Definition: spirv_common.hpp:1212
unsigned __int64 uint64_t
Definition: stdint.h:136
bool arrayed
Definition: spirv_common.hpp:423
GLenum GLuint GLenum GLsizei length
Definition: glext.h:6233
uint32_t specialization_constant_id(uint32_t col, uint32_t row) const
Definition: spirv_common.hpp:955
Definition: spirv_common.hpp:379
T & get()
Definition: spirv_common.hpp:1141
Definition: spirv_common.hpp:612
unsigned int uint32_t
Definition: stdint.h:126
uint32_t parent
Definition: spirv_common.hpp:638
Definition: spirv_common.hpp:59
Types
Definition: spirv_common.hpp:300
const GLfloat * m
Definition: glext.h:11755
uint32_t self
Definition: spirv_common.hpp:481
SPIRAccessChain(uint32_t basetype_, spv::StorageClass storage_, std::string base_, std::string dynamic_index_, int32_t static_index_)
Definition: spirv_common.hpp:776
uint32_t type
Definition: spirv_common.hpp:1185
Instruction(const std::vector< uint32_t > &spirv, uint32_t &index)
Definition: spirv_common.hpp:889
SPIRFunction::Parameter * parameter
Definition: spirv_common.hpp:853
const char *const str
Definition: portlistingparse.c:18
uint32_t entry_block
Definition: spirv_common.hpp:741
bool flush_undeclared
Definition: spirv_common.hpp:765
ImageFormat
Definition: spirv.hpp:180
char * strcat(char *dest, const char *src)
Definition: compat_ctype.c:91
std::vector< uint32_t > parameter_types
Definition: spirv_common.hpp:551
SPIRExpression(std::string expr, uint32_t expression_type_, bool immutable_)
Definition: spirv_common.hpp:505
Definition: spirv_common.hpp:856
Definition: spirv_common.hpp:608
Method
Definition: spirv_common.hpp:590
uint32_t sampler_id
Definition: spirv_common.hpp:726
float scalar_f32(uint32_t col=0, uint32_t row=0) const
Definition: spirv_common.hpp:980
SPIRCombinedImageSampler(uint32_t type_, uint32_t image_, uint32_t sampler_)
Definition: spirv_common.hpp:339
double scalar_f64(uint32_t col=0, uint32_t row=0) const
Definition: spirv_common.hpp:990
bool phi_variable
Definition: spirv_common.hpp:840
Definition: spirv_common.hpp:599
uint32_t return_value
Definition: spirv_common.hpp:627