[Bf-blender-cvs] [24c846b2b4f] master: GPU: Shader: Move IN_OUT define to shader GPU_shader_create_ex

Clément Foucault noreply at git.blender.org
Wed Jul 15 19:08:12 CEST 2020


Commit: 24c846b2b4f1617ebfeb799045d284a9e24fa9ed
Author: Clément Foucault
Date:   Wed Jul 15 14:59:52 2020 +0200
Branches: master
https://developer.blender.org/rB24c846b2b4f1617ebfeb799045d284a9e24fa9ed

GPU: Shader: Move IN_OUT define to shader GPU_shader_create_ex

This adds the opportunity to use it in multiple places.

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

M	source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
M	source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl
M	source/blender/gpu/intern/gpu_shader.c

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

diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
index 1e75f6dd5bb..36fe9df9e5a 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
@@ -137,24 +137,20 @@ void blend_mode_output(
   }
 }
 
-#ifdef GPU_VERTEX_SHADER
-#  define IN_OUT out
-#else
-#  define IN_OUT in
-#endif
-
-/* Shader interface. */
-IN_OUT vec4 finalColorMul;
-IN_OUT vec4 finalColorAdd;
-IN_OUT vec3 finalPos;
-IN_OUT vec2 finalUvs;
-noperspective IN_OUT float strokeThickness;
-noperspective IN_OUT float strokeHardeness;
-flat IN_OUT vec2 strokeAspect;
-flat IN_OUT vec2 strokePt1;
-flat IN_OUT vec2 strokePt2;
-flat IN_OUT int matFlag;
-flat IN_OUT float depth;
+IN_OUT ShaderStageInterface
+{
+  vec4 finalColorMul;
+  vec4 finalColorAdd;
+  vec3 finalPos;
+  vec2 finalUvs;
+  noperspective float strokeThickness;
+  noperspective float strokeHardeness;
+  flat vec2 strokeAspect;
+  flat vec2 strokePt1;
+  flat vec2 strokePt2;
+  flat int matFlag;
+  flat float depth;
+};
 
 #ifdef GPU_FRAGMENT_SHADER
 
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl
index 8e2f7ba4735..6bfa351aeb0 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl
@@ -1,10 +1,4 @@
 
-#ifdef GPU_VERTEX_SHADER
-#  define IN_OUT out
-#else
-#  define IN_OUT in
-#endif
-
 IN_OUT ShaderStageInterface
 {
   vec3 normal_interp;
diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c
index 669b073232d..a090f061cdd 100644
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@ -453,7 +453,9 @@ GPUShader *GPU_shader_create_ex(const char *vertexcode,
     int num_source = 0;
 
     source[num_source++] = gpu_shader_version();
-    source[num_source++] = "#define GPU_VERTEX_SHADER\n";
+    source[num_source++] =
+        "#define GPU_VERTEX_SHADER\n"
+        "#define IN_OUT out\n";
     source[num_source++] = standard_extensions;
     source[num_source++] = standard_defines;
 
@@ -484,7 +486,9 @@ GPUShader *GPU_shader_create_ex(const char *vertexcode,
     int num_source = 0;
 
     source[num_source++] = gpu_shader_version();
-    source[num_source++] = "#define GPU_FRAGMENT_SHADER\n";
+    source[num_source++] =
+        "#define GPU_FRAGMENT_SHADER\n"
+        "#define IN_OUT in\n";
     source[num_source++] = standard_extensions;
     source[num_source++] = standard_defines;



More information about the Bf-blender-cvs mailing list