Blender  V3.3
gpu_codegen.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2005 Blender Foundation. All rights reserved. */
3 
10 #pragma once
11 
12 #include "GPU_material.h"
13 #include "GPU_shader.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 struct GPUNodeGraph;
20 
21 typedef struct GPUPass GPUPass;
22 
23 /* Pass */
24 
26  struct GPUNodeGraph *graph,
27  GPUCodegenCallbackFn finalize_source_cb,
28  void *thunk);
30 bool GPU_pass_compile(GPUPass *pass, const char *shname);
31 void GPU_pass_release(GPUPass *pass);
32 
33 /* Module */
34 
35 void gpu_codegen_init(void);
36 void gpu_codegen_exit(void);
37 
38 #ifdef __cplusplus
39 }
40 #endif
void(* GPUCodegenCallbackFn)(void *thunk, GPUMaterial *mat, GPUCodegenOutput *codegen)
Definition: GPU_material.h:137
struct GPUShader GPUShader
Definition: GPU_shader.h:20
Depsgraph * graph
Material material
GPUPass * GPU_generate_pass(GPUMaterial *material, struct GPUNodeGraph *graph, GPUCodegenCallbackFn finalize_source_cb, void *thunk)
Definition: gpu_codegen.cc:585
void GPU_pass_release(GPUPass *pass)
Definition: gpu_codegen.cc:738
void gpu_codegen_init(void)
Definition: gpu_codegen.cc:808
bool GPU_pass_compile(GPUPass *pass, const char *shname)
Definition: gpu_codegen.cc:706
GPUShader * GPU_pass_shader_get(GPUPass *pass)
Definition: gpu_codegen.cc:733
void gpu_codegen_exit(void)
Definition: gpu_codegen.cc:812