From 42e8cbb92176bc37ff6bce98b5cf663f0937b1b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cle=CC=81ment=20Foucault?= Date: Sat, 5 Oct 2024 10:17:30 +0200 Subject: [PATCH] GPU: Make use of the C++ stubs in some shaders --- .../engines/workbench/shaders/workbench_shadow_caps_vert.glsl | 2 ++ .../draw/engines/workbench/shaders/workbench_shadow_lib.glsl | 2 ++ source/blender/draw/intern/shaders/common_math_lib.glsl | 2 ++ source/blender/draw/intern/shaders/draw_model_lib.glsl | 2 +- .../draw/intern/shaders/draw_resource_finalize_comp.glsl | 2 ++ source/blender/draw/intern/shaders/draw_view_finalize_comp.glsl | 2 ++ source/blender/draw/intern/shaders/draw_view_lib.glsl | 2 ++ source/blender/draw/intern/shaders/draw_visibility_comp.glsl | 2 ++ source/blender/gpu/shaders/common/gpu_shader_math_base_lib.glsl | 2 ++ 9 files changed, 17 insertions(+), 1 deletion(-) diff --git a/source/blender/draw/engines/workbench/shaders/workbench_shadow_caps_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_shadow_caps_vert.glsl index f5ed4795d2e..41ffec7f8b6 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_shadow_caps_vert.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_shadow_caps_vert.glsl @@ -18,6 +18,8 @@ #include "workbench_shadow_lib.glsl" +VERTEX_SHADER_CREATE_INFO(workbench_shadow_fail_manifold_caps) + void emit_cap(bool front, bool invert, VertOut geom_in_0, diff --git a/source/blender/draw/engines/workbench/shaders/workbench_shadow_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_shadow_lib.glsl index b2965a20e02..f43bbe479b5 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_shadow_lib.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_shadow_lib.glsl @@ -10,6 +10,8 @@ #include "gpu_shader_math_vector_lib.glsl" #include "gpu_shader_utildefines_lib.glsl" +SHADER_LIBRARY_CREATE_INFO(workbench_shadow_common) + struct VertIn { /* Local position. */ vec3 lP; diff --git a/source/blender/draw/intern/shaders/common_math_lib.glsl b/source/blender/draw/intern/shaders/common_math_lib.glsl index b385169c98e..59936d5ccfc 100644 --- a/source/blender/draw/intern/shaders/common_math_lib.glsl +++ b/source/blender/draw/intern/shaders/common_math_lib.glsl @@ -4,6 +4,8 @@ #pragma once +#include "gpu_glsl_cpp_stubs.hh" + /* WORKAROUND: to guard against double include in EEVEE. */ #ifndef COMMON_MATH_LIB_GLSL # define COMMON_MATH_LIB_GLSL diff --git a/source/blender/draw/intern/shaders/draw_model_lib.glsl b/source/blender/draw/intern/shaders/draw_model_lib.glsl index 00feba1e2f1..73a01a0f474 100644 --- a/source/blender/draw/intern/shaders/draw_model_lib.glsl +++ b/source/blender/draw/intern/shaders/draw_model_lib.glsl @@ -6,7 +6,7 @@ #include "draw_view_lib.glsl" -#ifndef DRAW_MODELMAT_CREATE_INFO +#if !defined(DRAW_MODELMAT_CREATE_INFO) && !defined(GLSL_CPP_STUBS) # error Missing draw_modelmat additional create info on shader create info #endif diff --git a/source/blender/draw/intern/shaders/draw_resource_finalize_comp.glsl b/source/blender/draw/intern/shaders/draw_resource_finalize_comp.glsl index f3a96e5777c..f23a1639769 100644 --- a/source/blender/draw/intern/shaders/draw_resource_finalize_comp.glsl +++ b/source/blender/draw/intern/shaders/draw_resource_finalize_comp.glsl @@ -9,6 +9,8 @@ #include "gpu_shader_math_matrix_lib.glsl" #include "gpu_shader_math_vector_lib.glsl" +COMPUTE_SHADER_CREATE_INFO(draw_resource_finalize) + void main() { uint resource_id = gl_GlobalInvocationID.x; diff --git a/source/blender/draw/intern/shaders/draw_view_finalize_comp.glsl b/source/blender/draw/intern/shaders/draw_view_finalize_comp.glsl index b5050fdd23c..4eba15ad499 100644 --- a/source/blender/draw/intern/shaders/draw_view_finalize_comp.glsl +++ b/source/blender/draw/intern/shaders/draw_view_finalize_comp.glsl @@ -8,6 +8,8 @@ #include "common_math_lib.glsl" +COMPUTE_SHADER_CREATE_INFO(draw_view_finalize) + void projmat_dimensions(mat4 winmat, out float r_left, out float r_right, diff --git a/source/blender/draw/intern/shaders/draw_view_lib.glsl b/source/blender/draw/intern/shaders/draw_view_lib.glsl index 18bc535d727..2063de31038 100644 --- a/source/blender/draw/intern/shaders/draw_view_lib.glsl +++ b/source/blender/draw/intern/shaders/draw_view_lib.glsl @@ -4,6 +4,8 @@ #pragma once +#include "gpu_glsl_cpp_stubs.hh" + #if !defined(DRAW_VIEW_CREATE_INFO) && !defined(GLSL_CPP_STUBS) # error Missing draw_view additional create info on shader create info #endif diff --git a/source/blender/draw/intern/shaders/draw_visibility_comp.glsl b/source/blender/draw/intern/shaders/draw_visibility_comp.glsl index 5a1d09ed30e..ff1584d1232 100644 --- a/source/blender/draw/intern/shaders/draw_visibility_comp.glsl +++ b/source/blender/draw/intern/shaders/draw_visibility_comp.glsl @@ -11,6 +11,8 @@ #include "common_math_lib.glsl" #include "common_view_lib.glsl" +COMPUTE_SHADER_CREATE_INFO(draw_visibility_compute) + void mask_visibility_bit(uint view_id) { if (view_len > 1) { diff --git a/source/blender/gpu/shaders/common/gpu_shader_math_base_lib.glsl b/source/blender/gpu/shaders/common/gpu_shader_math_base_lib.glsl index 3e8b90e4154..eaae4b3f6cd 100644 --- a/source/blender/gpu/shaders/common/gpu_shader_math_base_lib.glsl +++ b/source/blender/gpu/shaders/common/gpu_shader_math_base_lib.glsl @@ -4,6 +4,8 @@ #pragma once +#include "gpu_glsl_cpp_stubs.hh" + /* WORKAROUND: to guard against double include in EEVEE. */ #ifndef GPU_SHADER_MATH_BASE_LIB_GLSL # define GPU_SHADER_MATH_BASE_LIB_GLSL