[Bf-blender-cvs] [37ee9595a0d] temp-vulkan-shader: Fix gpencil shaders.

Jeroen Bakker noreply at git.blender.org
Fri Dec 2 10:30:12 CET 2022


Commit: 37ee9595a0d3793cd4c6b561be7ff1641c45a746
Author: Jeroen Bakker
Date:   Fri Dec 2 10:13:40 2022 +0100
Branches: temp-vulkan-shader
https://developer.blender.org/rB37ee9595a0d3793cd4c6b561be7ff1641c45a746

Fix gpencil shaders.

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

M	source/blender/draw/engines/overlay/shaders/overlay_edit_gpencil_guide_vert.glsl
M	source/blender/draw/intern/shaders/common_gpencil_lib.glsl

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

diff --git a/source/blender/draw/engines/overlay/shaders/overlay_edit_gpencil_guide_vert.glsl b/source/blender/draw/engines/overlay/shaders/overlay_edit_gpencil_guide_vert.glsl
index a5091345539..a7dbc3c9f7c 100644
--- a/source/blender/draw/engines/overlay/shaders/overlay_edit_gpencil_guide_vert.glsl
+++ b/source/blender/draw/engines/overlay/shaders/overlay_edit_gpencil_guide_vert.glsl
@@ -6,9 +6,11 @@ void main()
 {
   GPU_INTEL_VERTEX_SHADER_WORKAROUND
 
-  gl_Position = point_world_to_ndc(pPosition);
+  /* Spir-V GLSL pre-processors chokes when passed directly. */
+  vec3 pos = pPosition;
+  gl_Position = point_world_to_ndc(pos);
   finalColor = pColor;
   gl_PointSize = pSize;
 
-  view_clipping_distances(pPosition);
+  view_clipping_distances(pos);
 }
diff --git a/source/blender/draw/intern/shaders/common_gpencil_lib.glsl b/source/blender/draw/intern/shaders/common_gpencil_lib.glsl
index def841b07aa..25d8394ad9f 100644
--- a/source/blender/draw/intern/shaders/common_gpencil_lib.glsl
+++ b/source/blender/draw/intern/shaders/common_gpencil_lib.glsl
@@ -253,7 +253,9 @@ vec4 gpencil_vertex(vec4 viewport_size,
         x_axis = vec2(1.0, 0.0);
       }
       else { /* GP_STROKE_ALIGNMENT_OBJECT */
-        vec4 ndc_x = point_world_to_ndc(wpos1 + ModelMatrix[0].xyz);
+        /* Spir-V GLSL pre-processors chokes when passed directly. */
+        vec3 wpos = wpos1 + ModelMatrix[0].xyz;
+        vec4 ndc_x = point_world_to_ndc(wpos);
         vec2 ss_x = gpencil_project_to_screenspace(ndc_x, viewport_size);
         x_axis = safe_normalize(ss_x - ss1);
       }



More information about the Bf-blender-cvs mailing list