From 03b425eeb8288d2d69e5f7dcc4aa54f3c7edc1c0 Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Tue, 15 Jul 2025 00:13:56 +1000 Subject: [PATCH] change to structs --- .../assets/voxy/shaders/lod/meshext/frag.glsl | 6 ++++-- .../assets/voxy/shaders/lod/meshext/mesh.glsl | 12 ++++++++---- .../assets/voxy/shaders/lod/meshext/task.glsl | 5 +++-- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/resources/assets/voxy/shaders/lod/meshext/frag.glsl b/src/main/resources/assets/voxy/shaders/lod/meshext/frag.glsl index 0a1cb545..bbec6c8e 100644 --- a/src/main/resources/assets/voxy/shaders/lod/meshext/frag.glsl +++ b/src/main/resources/assets/voxy/shaders/lod/meshext/frag.glsl @@ -3,9 +3,11 @@ layout(binding = 0) uniform sampler2D blockModelAtlas; layout(binding = 2) uniform sampler2D depthTex; -layout(location=1) perprimitiveEXT in PerPrimData { +struct PerPrimData { uvec4 data; -} primIn; +}; + +layout(location=1) perprimitiveEXT PerPrimData primIn; layout(location = 0) out vec4 outColour; diff --git a/src/main/resources/assets/voxy/shaders/lod/meshext/mesh.glsl b/src/main/resources/assets/voxy/shaders/lod/meshext/mesh.glsl index 86584a10..5c1b6788 100644 --- a/src/main/resources/assets/voxy/shaders/lod/meshext/mesh.glsl +++ b/src/main/resources/assets/voxy/shaders/lod/meshext/mesh.glsl @@ -14,7 +14,7 @@ layout(local_size_x = MESH_SIZE, local_size_y=1, local_size_z=1) in; layout(triangles, max_vertices=(MESH_SIZE*4), max_primitives=(MESH_SIZE*2)) out; -taskPayloadSharedEXT in Task { +struct Task { //Tightly packed, prefix sum + offset //uvec4 binA; //uvec4 binB; @@ -25,11 +25,15 @@ taskPayloadSharedEXT in Task { uint baseQuad; uint quadCount; -} task; +}; -layout(location=1) perprimitiveEXT out PerPrimData { +taskPayloadSharedEXT Task task; + +struct PerPrimData { uvec4 data; -} primOut[]; +}; + +layout(location=1) perprimitiveEXT PerPrimData primOut[]; uint getQuadId() { diff --git a/src/main/resources/assets/voxy/shaders/lod/meshext/task.glsl b/src/main/resources/assets/voxy/shaders/lod/meshext/task.glsl index 701ecdeb..8895b8d8 100644 --- a/src/main/resources/assets/voxy/shaders/lod/meshext/task.glsl +++ b/src/main/resources/assets/voxy/shaders/lod/meshext/task.glsl @@ -35,7 +35,7 @@ layout(binding = STATISTICS_BUFFER_BINDING, std430) restrict buffer statisticsBu }; #endif -taskPayloadSharedEXT out Task { +struct Task { //Tightly packed, prefix sum + offset //uvec4 binA; //uvec4 binB; @@ -46,7 +46,8 @@ taskPayloadSharedEXT out Task { uint baseQuad; uint quadCount; -} task; +}; +taskPayloadSharedEXT Task task; #define BIN(br, cnt) if (br) { task.bins[i++] = (sum<<16)|off; sum += cnt; } off += cnt; //#define BIN(br, cnt) if (br) { batch[i++] = (sum<<16)|off; sum += cnt; } off += cnt;