Blender
V3.3
|
Go to the source code of this file.
Typedefs | |
typedef struct GPUPass | GPUPass |
Functions | |
GPUPass * | GPU_generate_pass (GPUMaterial *material, struct GPUNodeGraph *graph, GPUCodegenCallbackFn finalize_source_cb, void *thunk) |
GPUShader * | GPU_pass_shader_get (GPUPass *pass) |
bool | GPU_pass_compile (GPUPass *pass, const char *shname) |
void | GPU_pass_release (GPUPass *pass) |
void | gpu_codegen_init (void) |
void | gpu_codegen_exit (void) |
Generate shader code from the intermediate node graph.
Definition in file gpu_codegen.h.
Definition at line 1 of file gpu_codegen.h.
Definition at line 812 of file gpu_codegen.cc.
References BKE_material_defaults_free_gpu(), and GPU_shader_free_builtin_shaders().
Referenced by GPU_exit().
Definition at line 808 of file gpu_codegen.cc.
Referenced by GPU_init().
GPUPass* GPU_generate_pass | ( | GPUMaterial * | material, |
struct GPUNodeGraph * | graph, | ||
GPUCodegenCallbackFn | finalize_source_cb, | ||
void * | thunk | ||
) |
Definition at line 585 of file gpu_codegen.cc.
References BLI_spin_lock(), BLI_spin_unlock(), GPUPass::compiled, GPUCodegenOutput::create_info, GPUPass::create_info, GPUCodegen::create_info, GPUCodegen::generate_attribs(), GPUCodegen::generate_graphs(), GPUCodegen::generate_library(), GPUCodegen::generate_resources(), GPUCodegen::generate_uniform_buffer(), gpu_node_graph_finalize_uniform_attrs(), gpu_node_graph_prune_unused(), gpu_pass_cache_insert_after(), gpu_pass_cache_lookup(), gpu_pass_cache_resolve_collision(), gpu_pass_is_valid(), graph, GPUPass::hash, GPUCodegen::hash_get(), material, MEM_callocN, GPUPass::next, GPUCodegen::output, pass_cache_spin, GPUPass::refcount, and GPUPass::shader.
Referenced by GPU_material_from_nodetree().
Definition at line 706 of file gpu_codegen.cc.
References GPUPass::compiled, GPUPass::create_info, gpu_pass_shader_validate(), GPU_shader_create_from_info(), GPU_shader_free(), blender::gpu::shader::ShaderCreateInfo::name_, and GPUPass::shader.
Referenced by GPU_material_compile().
Definition at line 738 of file gpu_codegen.cc.
References BLI_assert, BLI_spin_lock(), BLI_spin_unlock(), pass_cache_spin, and GPUPass::refcount.
Referenced by GPU_material_compile(), and gpu_material_free_single().
Definition at line 733 of file gpu_codegen.cc.
References GPUPass::shader.
Referenced by DRW_shgroup_material_create(), drw_shgroup_material_create_ex(), GPU_material_compile(), GPU_material_from_nodetree(), and GPU_material_get_shader().