|
| | GPUCodegenCreateInfo (const char *name) |
| |
| | ~GPUCodegenCreateInfo () |
| |
| Vector< Resource > & | resources_get_ (Frequency freq) |
| |
| Vector< Resource > | resources_get_all_ () const |
| |
| | 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, int raster_order_group=-1) |
| |
| Self & | subpass_in (int slot, Type type, StringRefNull name, int raster_order_group=-1) |
| |
| Self & | specialization_constant (Type type, StringRefNull name, double default_value) |
| |
| 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, GPUSamplerState sampler=GPUSamplerState::internal_sampler()) |
| |
| 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 & | metal_backend_only (bool flag) |
| |
| Self & | additional_info (StringRefNull info_name) |
| |
| template<typename... Args> |
| Self & | additional_info (StringRefNull info_name, Args... args) |
| |
| Self & | typedef_source (StringRefNull filename) |
| |
| Self & | transform_feedback_mode (eGPUShaderTFBType tf_mode) |
| |
| Self & | transform_feedback_output_name (const char *name) |
| |
| Self & | mtl_max_total_threads_per_threadgroup (ushort max_total_threads_per_threadgroup) |
| |
| void | finalize (const bool recursive=false) |
| |
| std::string | check_error () const |
| |
| bool | is_vulkan_compatible () const |
| |
| void | validate_merge (const ShaderCreateInfo &other_info) |
| |
| void | validate_vertex_attributes (const ShaderCreateInfo *other_info=nullptr) |
| |
| bool | operator== (const ShaderCreateInfo &b) const |
| |
| bool | has_resource_type (Resource::BindType bind_type) const |
| |
| bool | has_resource_image () 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 58 of file gpu_codegen.cc.