浏览代码

Try to workaround issue #9 (try no 2)

Panagiotis Christopoulos Charitos 9 年之前
父节点
当前提交
2ec1148db7
共有 2 个文件被更改,包括 17 次插入7 次删除
  1. 8 3
      shaders/Pps.frag.glsl
  2. 9 4
      shaders/Pps.vert.glsl

+ 8 - 3
shaders/Pps.frag.glsl

@@ -34,9 +34,14 @@ layout(std140, ANKI_SS_BINDING(0, 0)) readonly buffer s0_
 	Luminance u_luminance;
 };
 
-layout(location = 1) in vec2 in_uv;
+#if NVIDIA_LINK_ERROR_WORKAROUND
+layout(location = 0) in vec4 in_uv;
+#else
+layout(location = 0) in vec2 in_uv;
+#endif
+
 #if SMAA_ENABLED
-layout(location = 0) in vec4 in_smaaOffset;
+layout(location = 1) in vec4 in_smaaOffset;
 #endif
 
 layout(location = 0) out vec3 out_color;
@@ -121,7 +126,7 @@ void main()
 #if DRAW_TO_DEFAULT && defined(ANKI_VK)
 	vec2 uv = vec2(in_uv.x, 1.0 - in_uv.y);
 #else
-	vec2 uv = in_uv;
+	vec2 uv = in_uv.xy;
 #endif
 
 #if SHARPEN_ENABLED

+ 9 - 4
shaders/Pps.vert.glsl

@@ -12,21 +12,26 @@
 #include "shaders/SMAA.hlsl"
 #endif
 
-layout(location = 1) out vec2 out_uv;
+#if NVIDIA_LINK_ERROR_WORKAROUND
+layout(location = 0) out vec4 out_uv;
+#else
+layout(location = 0) out vec2 out_uv;
+#endif
+
 #if SMAA_ENABLED
-layout(location = 0) out vec4 out_smaaOffset;
+layout(location = 1) out vec4 out_smaaOffset;
 #endif
 
 void main(void)
 {
 	const vec2 POSITIONS[3] = vec2[](vec2(-1.0, -1.0), vec2(3.0, -1.0), vec2(-1.0, 3.0));
 	vec2 pos = POSITIONS[gl_VertexID];
-	out_uv = pos * 0.5 + 0.5;
+	out_uv.xy = pos * 0.5 + 0.5;
 
 	ANKI_WRITE_POSITION(vec4(pos, 0.0, 1.0));
 
 #if SMAA_ENABLED
 	out_smaaOffset = vec4(0.0);
-	SMAANeighborhoodBlendingVS(out_uv, out_smaaOffset);
+	SMAANeighborhoodBlendingVS(out_uv.xy, out_smaaOffset);
 #endif
 }