[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