|
Blender V4.5
|
Public Member Functions | |
| GPUPass (GPUCodegenCreateInfo *info, bool deferred_compilation, bool is_optimization_pass, bool should_optimize) | |
| ~GPUPass () | |
| CompilationPriority | compilation_priority () |
| void | finalize_compilation () |
| void | update (double timestamp) |
| void | update_compilation () |
| void | update_gc_timestamp (double timestamp) |
| bool | should_gc (int gc_collect_rate, double timestamp) |
Public Attributes | |
| GPUCodegenCreateInfo * | create_info = nullptr |
| BatchHandle | compilation_handle = 0 |
| std::atomic< GPUShader * > | shader = nullptr |
| std::atomic< eGPUPassStatus > | status = GPU_PASS_QUEUED |
| std::atomic< int > | refcount = 1 |
| double | gc_timestamp = 0.0f |
| uint64_t | compilation_timestamp = 0 |
| bool | should_optimize = false |
| bool | is_optimization_pass = false |
Static Public Attributes | |
| static std::atomic< uint64_t > | compilation_counts = 0 |
Definition at line 36 of file gpu_pass.cc.
|
inline |
Definition at line 55 of file gpu_pass.cc.
References BLI_assert, compilation_handle, compilation_priority(), create_info, finalize_compilation(), GPU_shader_batch_create_from_infos(), GPU_shader_create_from_info(), is_optimization_pass, shader, and should_optimize.
|
inline |
Definition at line 81 of file gpu_pass.cc.
References BLI_assert, compilation_handle, create_info, GPU_PASS_QUEUED, GPU_shader_batch_cancel(), GPU_SHADER_FREE_SAFE, is_optimization_pass, shader, and status.
|
inline |
Definition at line 93 of file gpu_pass.cc.
References is_optimization_pass, Low, and Medium.
Referenced by GPUPass(), and update_compilation().
|
inline |
Definition at line 98 of file gpu_pass.cc.
References BLI_assert_msg, compilation_counts, compilation_handle, compilation_timestamp, create_info, GPU_PASS_FAILED, GPU_PASS_SUCCESS, gpu_pass_validate(), GPU_shader_batch_finalize(), shader, and status.
Referenced by GPU_pass_ensure_its_ready(), GPUPass(), and update_compilation().
|
inline |
Definition at line 146 of file gpu_pass.cc.
References BLI_assert, compilation_handle, gc_timestamp, GPU_PASS_FAILED, and status.
|
inline |
Definition at line 118 of file gpu_pass.cc.
References update_compilation(), and update_gc_timestamp().
|
inline |
Definition at line 124 of file gpu_pass.cc.
References BLI_assert, compilation_handle, compilation_priority(), create_info, finalize_compilation(), GPU_PASS_QUEUED, GPU_shader_batch_create_from_infos(), GPU_shader_batch_is_ready(), is_optimization_pass, refcount, and status.
Referenced by update().
|
inline |
Definition at line 139 of file gpu_pass.cc.
References gc_timestamp, and refcount.
Referenced by update().
|
inlinestatic |
Definition at line 37 of file gpu_pass.cc.
Referenced by finalize_compilation(), and GPU_pass_global_compilation_count().
| BatchHandle GPUPass::compilation_handle = 0 |
Definition at line 40 of file gpu_pass.cc.
Referenced by finalize_compilation(), GPUPass(), should_gc(), update_compilation(), and ~GPUPass().
| uint64_t GPUPass::compilation_timestamp = 0 |
Definition at line 48 of file gpu_pass.cc.
Referenced by finalize_compilation(), and GPU_pass_compilation_timestamp().
| GPUCodegenCreateInfo* GPUPass::create_info = nullptr |
Definition at line 39 of file gpu_pass.cc.
Referenced by finalize_compilation(), GPUPass(), update_compilation(), and ~GPUPass().
| double GPUPass::gc_timestamp = 0.0f |
Definition at line 46 of file gpu_pass.cc.
Referenced by should_gc(), and update_gc_timestamp().
| bool GPUPass::is_optimization_pass = false |
Definition at line 53 of file gpu_pass.cc.
Referenced by compilation_priority(), GPUPass(), update_compilation(), and ~GPUPass().
| std::atomic<int> GPUPass::refcount = 1 |
Definition at line 44 of file gpu_pass.cc.
Referenced by GPU_generate_pass(), GPU_pass_acquire(), GPU_pass_release(), update_compilation(), and update_gc_timestamp().
| std::atomic<GPUShader *> GPUPass::shader = nullptr |
Definition at line 41 of file gpu_pass.cc.
Referenced by finalize_compilation(), GPU_pass_shader_get(), GPUPass(), and ~GPUPass().
| bool GPUPass::should_optimize = false |
Hint that an optimized variant of this pass should be created. Based on a complexity heuristic from pass code generation.
Definition at line 52 of file gpu_pass.cc.
Referenced by GPU_pass_should_optimize(), and GPUPass().
| std::atomic<eGPUPassStatus> GPUPass::status = GPU_PASS_QUEUED |
Definition at line 42 of file gpu_pass.cc.
Referenced by finalize_compilation(), GPU_pass_ensure_its_ready(), GPU_pass_status(), should_gc(), update_compilation(), and ~GPUPass().