Blender V4.5
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
38GPUShader *GPU_pass_shader_get(GPUPass *pass);
39void GPU_pass_acquire(GPUPass *pass);
40void GPU_pass_release(GPUPass *pass);
41
44
void(*)(void *thunk, GPUMaterial *mat, struct GPUCodegenOutput *codegen) GPUCodegenCallbackFn
eGPUMaterialEngine
uint64_t GPU_pass_global_compilation_count()
Definition gpu_pass.cc:192
eGPUPassStatus
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
eGPUPassStatus GPU_pass_status(GPUPass *pass)
Definition gpu_pass.cc:154
void GPU_pass_ensure_its_ready(GPUPass *pass)
Definition gpu_pass.cc:311
void GPU_pass_cache_wait_for_all()
Definition gpu_pass.cc:331
void GPU_pass_cache_init()
Definition gpu_pass.cc:321
void GPU_pass_release(GPUPass *pass)
Definition gpu_pass.cc:185
void GPU_pass_acquire(GPUPass *pass)
Definition gpu_pass.cc:178
void GPU_pass_cache_update()
Definition gpu_pass.cc:326
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:365
uint64_t GPU_pass_compilation_timestamp(GPUPass *pass)
Definition gpu_pass.cc:197
bool GPU_pass_should_optimize(GPUPass *pass)
Definition gpu_pass.cc:159
void GPU_pass_cache_free()
Definition gpu_pass.cc:337
GPUShader * GPU_pass_shader_get(GPUPass *pass)
Definition gpu_pass.cc:173
unsigned long long int uint64_t