[Bf-blender-cvs] [a5a947190ae] tmp-gpu-shader-descriptor-2: Migrated shaders.

Jeroen Bakker noreply at git.blender.org
Fri Jan 7 12:06:06 CET 2022


Commit: a5a947190aeef9e7c668aef21d27687ee2f99f61
Author: Jeroen Bakker
Date:   Fri Jan 7 12:05:59 2022 +0100
Branches: tmp-gpu-shader-descriptor-2
https://developer.blender.org/rBa5a947190aeef9e7c668aef21d27687ee2f99f61

Migrated shaders.

===================================================================

M	source/blender/gpu/CMakeLists.txt
M	source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl
M	source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl
M	source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl
M	source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_image_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl
A	source/blender/gpu/shaders/infos/gpu_interface_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_diag_stripes_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_flat_color_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_image_color_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_image_desaturate_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_image_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_image_overlays_merge_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_image_overlays_stereo_merge_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_image_shuffle_color_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_smooth_color_info.hh
A	source/blender/gpu/shaders/infos/gpu_shader_2D_uniform_color_info.hh
M	source/blender/gpu/shaders/infos/gpu_shader_3D_flat_color_info.hh
M	source/blender/gpu/shaders/infos/gpu_shader_3D_image_modulate_alpha_info.hh

===================================================================

diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index 1b535408226..fe631e30d35 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -418,10 +418,20 @@ set(SHADER_CREATE_INFOS
 
 shaders/infos/gpu_clip_planes_info.hh
 shaders/infos/gpu_srgb_to_framebuffer_space_info.hh
-#shaders/infos/gpu_shader_3D_flat_color_info.hh
+#shaders/infos/gpu_shader_3D_flat_color_info.hh !Disabled due to failing compilation.
 shaders/infos/gpu_shader_3D_image_modulate_alpha_info.hh
+#shaders/infos/gpu_shader_simple_lighting_info.hh !TODO
 shaders/infos/gpu_shader_2D_checker_info.hh
-#shaders/infos/gpu_shader_simple_lighting_info.hh
+shaders/infos/gpu_shader_2D_diag_stripes_info.hh
+shaders/infos/gpu_shader_2D_uniform_color_info.hh
+shaders/infos/gpu_shader_2D_flat_color_info.hh
+shaders/infos/gpu_shader_2D_smooth_color_info.hh
+shaders/infos/gpu_shader_2D_image_overlays_merge_info.hh
+shaders/infos/gpu_shader_2D_image_overlays_stereo_merge_info.hh
+shaders/infos/gpu_shader_2D_image_info.hh
+shaders/infos/gpu_shader_2D_image_color_info.hh
+shaders/infos/gpu_shader_2D_image_desaturate_info.hh
+shaders/infos/gpu_shader_2D_image_shuffle_color_info.hh
 shaders/infos/gpu_shader_text_info.hh
 shaders/infos/gpu_shader_keyframe_shape_info.hh
 )
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl
index df2507c0dc9..494ef8d888e 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl
@@ -1,10 +1,11 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 uniform mat4 ModelViewProjectionMatrix;
 
 in vec2 pos;
 in vec4 color;
 
 flat out vec4 finalColor;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl
index cdb066c9c52..0b5e3759dfb 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl
@@ -1,10 +1,11 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 uniform mat4 ModelViewProjectionMatrix;
 
 /* Keep in sync with intern/opencolorio/gpu_shader_display_transform_vertex.glsl */
 in vec2 texCoord;
 in vec2 pos;
 out vec2 texCoord_interp;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl
index 1333c00682c..4d887a37807 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl
@@ -1,6 +1,7 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 noperspective in vec4 finalColor;
 out vec4 fragColor;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl
index fcf436d50af..5d19aea9168 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl
@@ -1,10 +1,11 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 uniform mat4 ModelViewProjectionMatrix;
 
 in vec2 pos;
 in vec4 color;
 
 noperspective out vec4 finalColor;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl b/source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl
index 48979af4ad0..a4a24ed8e46 100644
--- a/source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl
@@ -1,10 +1,11 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 uniform vec4 color1;
 uniform vec4 color2;
 uniform int size1;
 uniform int size2;
 
 out vec4 fragColor;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl
index 6dc7a1618e1..1846dae346a 100644
--- a/source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl
@@ -1,9 +1,10 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 in vec2 texCoord_interp;
 out vec4 fragColor;
 
 uniform vec4 color;
 uniform sampler2D image;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl
index dfbaaeda7b5..ad52b9819ab 100644
--- a/source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl
@@ -1,10 +1,11 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 uniform float factor;
 in vec2 texCoord_interp;
 out vec4 fragColor;
 
 uniform vec4 color;
 uniform sampler2D image;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_image_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_frag.glsl
index aff6ddf01bf..befd6b57bf8 100644
--- a/source/blender/gpu/shaders/gpu_shader_image_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_image_frag.glsl
@@ -1,8 +1,9 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 in vec2 texCoord_interp;
 out vec4 fragColor;
 
 uniform sampler2D image;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl
index 7f3fe2f5252..2314dbbc5d5 100644
--- a/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl
@@ -1,6 +1,7 @@
 
 /* Merge overlays texture on top of image texture and transform to display space (assume sRGB) */
 
+#ifndef USE_GPU_SHADER_CREATE_INFO
 uniform sampler2D image_texture;
 uniform sampler2D overlays_texture;
 uniform bool display_transform;
@@ -9,6 +10,7 @@ uniform bool overlay;
 in vec2 texCoord_interp;
 
 out vec4 fragColor;
+#endif
 
 float linearrgb_to_srgb(float c)
 {
diff --git a/source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl
index c6e9860d940..9b1e6fe9d23 100644
--- a/source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl
@@ -7,18 +7,20 @@
 
 /* Composite stereo textures */
 
+#ifndef USE_GPU_SHADER_CREATE_INFO
 uniform sampler2D imageTexture;
 uniform sampler2D overlayTexture;
 
 uniform int stereoDisplaySettings;
 
+layout(location = 0) out vec4 imageColor;
+layout(location = 1) out vec4 overlayColor;
+#endif
+
 #define stereo_display_mode (stereoDisplaySettings & ((1 << 3) - 1))
 #define stereo_interlace_mode ((stereoDisplaySettings >> 3) & ((1 << 3) - 1))
 #define stereo_interlace_swap bool(stereoDisplaySettings >> 6)
 
-layout(location = 0) out vec4 imageColor;
-layout(location = 1) out vec4 overlayColor;
-
 bool interlace(ivec2 texel)
 {
   int interlace_mode = stereo_interlace_mode;
diff --git a/source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl
index ed69184ef14..e8bfb70b897 100644
--- a/source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl
@@ -1,15 +1,16 @@
-
+#ifndef USE_GPU_SHADER_CREATE_INFO
 in vec2 texCoord_interp;
 out vec4 fragColor;
 
 uniform sampler2D image;
 uniform vec4 color;
 uniform vec4 shuffle;
+#endif
 
 void main()
 {
-  vec4 sample = texture(image, texCoord_interp);
-  fragColor = vec4(sample.r * shuffle.r + sample.g * shuffle.g + sample.b * shuffle.b +
-                   sample.a * shuffle.a) *
+  vec4 sampled_color = texture(image, texCoord_interp);
+  fragColor = vec4(sampled_color.r * shuffle.r + sampled_color.g * shuffle.g +
+                   sampled_color.b * shuffle.b + sampled_color.a * shuffle.a) *
               color;
 }
diff --git a/source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl
index 2033401db67..e354abf796d 100644
--- a/source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl
@@ -1,11 +1,13 @@
 
-#if defined(USE_COLOR_U32)
+#ifndef USE_GPU_SHADER_CREATE_INFO
+#  if defined(USE_COLOR_U32)
 uniform uint color;
-#else
+#  else
 uniform vec4 color;
-#endif
+#  endif
 
 out vec4 fragColor;
+#endif
 
 void main()
 {
diff --git a/source/blender/gpu/shaders/infos/gpu_interface_info.hh b/source/blender/gpu/shaders/infos/gpu_interface_info.hh
new file mode 100644
index 00000000000..f57234fdd4d
--- /dev/null
+++ b/source/blender/gpu/shaders/infos/gpu_interface_info.hh
@@ -0,0 +1,6 @@
+#pragma once
+
+#include "gpu_shader_create_info.hh"
+
+GPU_SHADER_INTERFACE_INFO(flat_color_iface, "").flat(Type::VEC4, "finalColor");
+GPU_SHADER_INTERFACE_INFO(smooth_tex_coord_interp_iface, "").smooth(Type::VEC2, "texCoord_interp");
diff --git a/source/blender/gpu/shaders/infos/gpu_shader_2D_diag_stripes_info.hh b/source/blender/gpu/shaders/infos/gpu_shader_2D_diag_stripes_info.hh
new file mode 100644
index 00000000000..55cb87308e3
--- /dev/null
+++ b/source/blender/gpu/shaders/infos/gpu_shader_2D_diag_stripes_info.hh
@@ -0,0 +1,14 @@
+
+#include "gpu_shader_create_info.hh"
+
+GPU_SHADER_CREATE_INFO(gpu_shader_2D_diag_stripes)
+    .vertex_in(0, Type::VEC2, "pos")
+    .fragment_out(0, Type::VEC4, "fragColor")
+    .push_constant(0, Type::MAT4, "ModelViewProjectionMatrix")
+    .push_constant(16, Type::VEC4, "color1")
+    .push_constant(20, Type::VEC4, "color2")
+    .push_constant(24, Type::INT, "size1")
+    .push_constant(28, Type::INT, "size2")
+    .vertex_source("gpu_shader_2D_vert.glsl")
+    .fragment_source("gpu_shader_diag_stripes_frag.glsl")
+    .do_static_compilation(true);
diff --git a/source/blender/gpu/shaders/infos/gpu_shader_2D_flat_color_info.hh b/source/blender/gpu/shaders/infos/gpu_shader_2D_flat_color_info.hh
new file mode 100644
index 00000000000..94860b19dea
--- /dev/null
+++ b/source/blender/gpu/shaders/infos/gpu_shader_2D_flat_color_info.hh

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list