From 64b9e517e08a67fdee069bf6d57317574c25643a Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Mon, 15 Sep 2025 14:17:05 +0100 Subject: [PATCH] VK_Shader_Debug_Zoo test of overlapped GPU math and sampling operations --- util/test/demos/vk/vk_shader_debug_zoo.cpp | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/util/test/demos/vk/vk_shader_debug_zoo.cpp b/util/test/demos/vk/vk_shader_debug_zoo.cpp index 89a030ef6..df5dfebb1 100644 --- a/util/test/demos/vk/vk_shader_debug_zoo.cpp +++ b/util/test/demos/vk/vk_shader_debug_zoo.cpp @@ -1624,6 +1624,31 @@ void main() Color = vec4(imageLoad(storeTexBuffer1010102uint, int(1))) + vec4(imageLoad(storeTexBuffer1010102uint, int(5))); break; } + case 185: + { + // this is intended to test triggering a mixture of GPU math and GPU sample ops + vec2 coord = vec2(zerof + 0.5, zerof + 0.15); + if (localCoord.x % 2 == 0) + { + Color = textureLod(sampler2D(sampledImage, pointSampler), coord, 0.0); + for (int i = 0; i < 100; i++) + { + Color += textureLod(sampler2D(sampledImage, pointSampler), coord, float(i)); + } + } + else + { + Color = vec4(pow(posone*2.5f, posone*1.3f), pow(posone*2.5f, posone*0.45f), + pow(vec2(posone*2.5f, posone*1.3f), vec2(posone*0.9f, posone*8.5f))); + for (int i = 0; i < 100; i++) + { + vec4 value = vec4(pow(posone*2.5f+float(i), posone*1.3f), pow(posone*2.5f, posone*0.45f), + pow(vec2(posone*2.5f, posone*1.3f), vec2(posone*0.9f, posone*8.5f))); + Color += value / 100.0; + } + } + break; + } default: break; } }