|
Blender V5.0
|
Go to the source code of this file.
Enumerations | |
| enum | GPUPassStatus { GPU_PASS_FAILED = 0 , GPU_PASS_QUEUED , GPU_PASS_SUCCESS } |
Functions | |
| GPUPass * | GPU_generate_pass (GPUMaterial *material, GPUNodeGraph *graph, const char *debug_name, eGPUMaterialEngine engine, bool deferred_compilation, GPUCodegenCallbackFn finalize_source_cb, void *thunk, bool optimize_graph) |
| GPUPassStatus | GPU_pass_status (GPUPass *pass) |
| bool | GPU_pass_should_optimize (GPUPass *pass) |
| void | GPU_pass_ensure_its_ready (GPUPass *pass) |
| blender::gpu::Shader * | GPU_pass_shader_get (GPUPass *pass) |
| void | GPU_pass_acquire (GPUPass *pass) |
| void | GPU_pass_release (GPUPass *pass) |
| uint64_t | GPU_pass_global_compilation_count () |
| uint64_t | GPU_pass_compilation_timestamp (GPUPass *pass) |
| void | GPU_pass_cache_init () |
| void | GPU_pass_cache_update () |
| void | GPU_pass_cache_wait_for_all () |
| void | GPU_pass_cache_free () |
Generate and cache shaders generated from the intermediate node graph.
Definition in file GPU_pass.hh.
| enum GPUPassStatus |
| Enumerator | |
|---|---|
| GPU_PASS_FAILED | |
| GPU_PASS_QUEUED | |
| GPU_PASS_SUCCESS | |
Definition at line 20 of file GPU_pass.hh.
| GPUPass * GPU_generate_pass | ( | GPUMaterial * | material, |
| GPUNodeGraph * | graph, | ||
| const char * | debug_name, | ||
| eGPUMaterialEngine | engine, | ||
| bool | deferred_compilation, | ||
| GPUCodegenCallbackFn | finalize_source_cb, | ||
| void * | thunk, | ||
| bool | optimize_graph ) |
Definition at line 342 of file gpu_pass.cc.
References blender::gpu::shader::GPUCodegen::create_info, blender::gpu::shader::ShaderCreateInfo::finalize(), g_cache, blender::gpu::shader::GPUCodegen::generate_attribs(), blender::gpu::shader::GPUCodegen::generate_cryptomatte(), blender::gpu::shader::GPUCodegen::generate_graphs(), blender::gpu::shader::GPUCodegen::generate_resources(), blender::gpu::shader::GPUCodegen::generate_uniform_buffer(), gpu_node_graph_finalize_uniform_attrs(), gpu_node_graph_optimize(), gpu_node_graph_prune_unused(), blender::gpu::shader::GPUCodegen::hash_get(), blender::gpu::shader::GPUCodegen::output, and GPUPass::refcount.
Referenced by GPU_material_from_callbacks(), and GPU_material_from_nodetree().
| void GPU_pass_acquire | ( | GPUPass * | pass | ) |
Definition at line 180 of file gpu_pass.cc.
References BLI_assert, GPUPass::refcount, and UNUSED_VARS_NDEBUG.
Referenced by GPU_material_from_nodetree().
| void GPU_pass_cache_free | ( | ) |
| void GPU_pass_cache_init | ( | ) |
| void GPU_pass_cache_update | ( | ) |
| void GPU_pass_cache_wait_for_all | ( | ) |
Definition at line 308 of file gpu_pass.cc.
References g_cache, and GPU_shader_batch_wait_for_all().
Referenced by blender::eevee::Instance::light_bake_irradiance().
Definition at line 199 of file gpu_pass.cc.
References GPUPass::compilation_timestamp.
Referenced by GPU_material_compilation_timestamp().
| void GPU_pass_ensure_its_ready | ( | GPUPass * | pass | ) |
Definition at line 288 of file gpu_pass.cc.
References GPUPass::finalize_compilation(), g_cache, GPU_PASS_QUEUED, lock, and GPUPass::status.
Referenced by GPU_material_from_nodetree().
| uint64_t GPU_pass_global_compilation_count | ( | ) |
Definition at line 194 of file gpu_pass.cc.
References GPUPass::compilation_counts.
Referenced by blender::eevee::MaterialModule::begin_sync().
| void GPU_pass_release | ( | GPUPass * | pass | ) |
Definition at line 187 of file gpu_pass.cc.
References BLI_assert, GPUPass::refcount, and UNUSED_VARS_NDEBUG.
Referenced by GPUMaterial::~GPUMaterial().
| blender::gpu::Shader * GPU_pass_shader_get | ( | GPUPass * | pass | ) |
Definition at line 175 of file gpu_pass.cc.
References GPUPass::shader.
Referenced by GPU_material_get_shader(), blender::draw::detail::PassBase< DrawCommandBufType >::material_set(), and blender::eevee::CapturePipeline::surface_material_add().
| bool GPU_pass_should_optimize | ( | GPUPass * | pass | ) |
Definition at line 166 of file gpu_pass.cc.
References GPU_backend_get_type(), GPU_BACKEND_METAL, and GPUPass::should_optimize.
Referenced by GPU_material_from_callbacks(), GPU_material_from_nodetree(), and GPU_material_optimization_status().
| GPUPassStatus GPU_pass_status | ( | GPUPass * | pass | ) |
Definition at line 161 of file gpu_pass.cc.
References GPUPass::status.
Referenced by GPU_material_optimization_status(), and GPU_material_status().