Blender V5.0
GPU_pass.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
10
11#pragma once
12
13#include "GPU_material.hh"
14#include "GPU_shader.hh"
15
16struct GPUNodeGraph;
17
18struct GPUPass;
19
25
27 GPUNodeGraph *graph,
28 const char *debug_name,
29 eGPUMaterialEngine engine,
30 bool deferred_compilation,
31 GPUCodegenCallbackFn finalize_source_cb,
32 void *thunk,
33 bool optimize_graph);
34
39void GPU_pass_acquire(GPUPass *pass);
40void GPU_pass_release(GPUPass *pass);
41
44
eGPUMaterialEngine
void(*)(void *thunk, GPUMaterial *mat, struct GPUCodegenOutput *codegen) GPUCodegenCallbackFn
blender::gpu::Shader * GPU_pass_shader_get(GPUPass *pass)
Definition gpu_pass.cc:175
uint64_t GPU_pass_global_compilation_count()
Definition gpu_pass.cc:194
GPUPassStatus
Definition GPU_pass.hh:20
@ GPU_PASS_FAILED
Definition GPU_pass.hh:21
@ GPU_PASS_QUEUED
Definition GPU_pass.hh:22
@ GPU_PASS_SUCCESS
Definition GPU_pass.hh:23
void GPU_pass_ensure_its_ready(GPUPass *pass)
Definition gpu_pass.cc:288
void GPU_pass_cache_wait_for_all()
Definition gpu_pass.cc:308
GPUPassStatus GPU_pass_status(GPUPass *pass)
Definition gpu_pass.cc:161
void GPU_pass_cache_init()
Definition gpu_pass.cc:298
void GPU_pass_release(GPUPass *pass)
Definition gpu_pass.cc:187
void GPU_pass_acquire(GPUPass *pass)
Definition gpu_pass.cc:180
void GPU_pass_cache_update()
Definition gpu_pass.cc:303
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 gpu_pass.cc:342
uint64_t GPU_pass_compilation_timestamp(GPUPass *pass)
Definition gpu_pass.cc:199
bool GPU_pass_should_optimize(GPUPass *pass)
Definition gpu_pass.cc:166
void GPU_pass_cache_free()
Definition gpu_pass.cc:314
unsigned long long int uint64_t