|
| GPUCodegenCreateInfo (const char *name) |
|
| ~GPUCodegenCreateInfo () |
|
| ShaderCreateInfo (const char *name) |
|
| ~ShaderCreateInfo () |
|
Self & | vertex_in (int slot, Type type, StringRefNull name) |
|
Self & | vertex_out (StageInterfaceInfo &interface) |
|
Self & | geometry_layout (PrimitiveIn prim_in, PrimitiveOut prim_out, int max_vertices, int invocations=-1) |
|
Self & | local_group_size (int local_size_x=-1, int local_size_y=-1, int local_size_z=-1) |
|
Self & | early_fragment_test (bool enable) |
|
Self & | geometry_out (StageInterfaceInfo &interface) |
|
Self & | fragment_out (int slot, Type type, StringRefNull name, DualBlend blend=DualBlend::NONE) |
|
Self & | uniform_buf (int slot, StringRefNull type_name, StringRefNull name, Frequency freq=Frequency::PASS) |
|
Self & | storage_buf (int slot, Qualifier qualifiers, StringRefNull type_name, StringRefNull name, Frequency freq=Frequency::PASS) |
|
Self & | image (int slot, eGPUTextureFormat format, Qualifier qualifiers, ImageType type, StringRefNull name, Frequency freq=Frequency::PASS) |
|
Self & | sampler (int slot, ImageType type, StringRefNull name, Frequency freq=Frequency::PASS, eGPUSamplerState sampler=(eGPUSamplerState) -1) |
|
Self & | vertex_source (StringRefNull filename) |
|
Self & | geometry_source (StringRefNull filename) |
|
Self & | fragment_source (StringRefNull filename) |
|
Self & | compute_source (StringRefNull filename) |
|
Self & | push_constant (Type type, StringRefNull name, int array_size=0) |
|
Self & | define (StringRefNull name, StringRefNull value="") |
|
Self & | do_static_compilation (bool value) |
|
Self & | builtins (BuiltinBits builtin) |
|
Self & | depth_write (DepthWrite value) |
|
Self & | auto_resource_location (bool value) |
|
Self & | legacy_resource_location (bool value) |
|
Self & | additional_info (StringRefNull info_name0, StringRefNull info_name1="", StringRefNull info_name2="", StringRefNull info_name3="", StringRefNull info_name4="", StringRefNull info_name5="", StringRefNull info_name6="") |
|
Self & | typedef_source (StringRefNull filename) |
|
void | finalize () |
|
std::string | check_error () const |
|
void | validate_merge (const ShaderCreateInfo &other_info) |
|
void | validate_vertex_attributes (const ShaderCreateInfo *other_info=nullptr) |
|
bool | operator== (const ShaderCreateInfo &b) |
|
bool | has_resource_type (Resource::BindType bind_type) const |
|
bool | has_resource_image () const |
|
bool | has_resource_storage () const |
|
IMPORTANT: Never add external reference. The GPUMaterial used to create the GPUPass (and its GPUCodegenCreateInfo) can be free before actually compiling. This happens if there is an update before deferred compilation happens and the GPUPass gets picked up by another GPUMaterial (because of GPUPass reuse).
Definition at line 53 of file gpu_codegen.cc.