private:
virtual void compile(SL::Compiler &) = 0;
+
+ SL::Features create_features() const;
};
/**
UNIFORM_CONSTANT = 0,
INPUT = 1,
UNIFORM = 2,
- OUTPUT = 3
+ OUTPUT = 3,
+ PUSH_CONSTANT = 9
};
enum BuiltinSemantic
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;
BuiltinSemantic builtin = NOT_BUILTIN;
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 descriptor_set = 0;
int binding = -1;
BuiltinSemantic builtin = NOT_BUILTIN;
{
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);