- DataType type;
- const Structure *struct_type;
- unsigned offset;
- unsigned array_size;
- unsigned array_stride;
- unsigned matrix_stride;
-
- StructMember();
+ DataType type = VOID;
+ const Structure *struct_type = 0;
+ unsigned offset = 0;
+ unsigned array_size = 0;
+ const Constant *array_size_spec = 0;
+ unsigned array_stride = 0;
+ unsigned matrix_stride = 0;
- StorageClass storage;
- DataType type;
- const Structure *struct_type;
- unsigned array_size;
- int location;
- int descriptor_set;
- int binding;
-
- Variable();
+ StorageClass storage = static_cast<StorageClass>(-1);
+ DataType type = VOID;
+ const Structure *struct_type = 0;
+ const Constant *array_size_spec = 0;
+ unsigned array_size = 0;
+ int location = -1;
+ int descriptor_set = -1;
+ int binding = -1;
- DataType type;
- const Structure *struct_type;
- unsigned array_size;
- unsigned array_stride;
- StorageClass storage;
-
- TypeInfo();
+ DataType type = VOID;
+ const Structure *struct_type = 0;
+ const Constant *array_size_spec = 0;
+ unsigned array_size = 0;
+ unsigned array_stride = 0;
+ StorageClass storage = static_cast<StorageClass>(-1);
std::map<unsigned, TypeInfo> types;
std::map<unsigned, EntryPoint> entry_points;
std::map<unsigned, Structure> structs;
std::map<unsigned, Variable> variables;
std::map<unsigned, TypeInfo> types;
std::map<unsigned, EntryPoint> entry_points;
std::map<unsigned, Structure> structs;
std::map<unsigned, Variable> variables;
static CodeIterator get_op_end(const CodeIterator &);
static std::string read_string(CodeIterator &, const CodeIterator &);
static CodeIterator get_op_end(const CodeIterator &);
static std::string read_string(CodeIterator &, const CodeIterator &);
void reflect_name(CodeIterator);
void reflect_member_name(CodeIterator);
void reflect_entry_point(CodeIterator);
void reflect_name(CodeIterator);
void reflect_member_name(CodeIterator);
void reflect_entry_point(CodeIterator);
void reflect_struct_type(CodeIterator);
void reflect_pointer_type(CodeIterator);
void reflect_constant(CodeIterator);
void reflect_struct_type(CodeIterator);
void reflect_pointer_type(CodeIterator);
void reflect_constant(CodeIterator);
void reflect_variable(CodeIterator);
void reflect_decorate(CodeIterator);
void reflect_member_decorate(CodeIterator);
};
void reflect_variable(CodeIterator);
void reflect_decorate(CodeIterator);
void reflect_member_decorate(CodeIterator);
};
std::vector<EntryPoint> entry_points;
std::vector<Structure> structs;
std::vector<Variable> variables;
std::vector<EntryPoint> entry_points;
std::vector<Structure> structs;
std::vector<Variable> variables;
const std::vector<EntryPoint> &get_entry_points() const { return entry_points; }
const std::vector<Variable> &get_variables() const { return variables; }
const std::vector<EntryPoint> &get_entry_points() const { return entry_points; }
const std::vector<Variable> &get_variables() const { return variables; }