From 81ce54fe4b3afdeb14fdf77510e58d73f63fb2d0 Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Sun, 4 Feb 2024 19:28:03 +1000 Subject: [PATCH] Optimized draw call counts --- .../assets/voxy/shaders/lod/gl46/cmdgen.comp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/resources/assets/voxy/shaders/lod/gl46/cmdgen.comp b/src/main/resources/assets/voxy/shaders/lod/gl46/cmdgen.comp index 7b0563c5..36578e68 100644 --- a/src/main/resources/assets/voxy/shaders/lod/gl46/cmdgen.comp +++ b/src/main/resources/assets/voxy/shaders/lod/gl46/cmdgen.comp @@ -73,12 +73,12 @@ void main() { //TODO:FIXME: Figure out why these are in such a weird order uint msk = 0; - msk |= uint(relative.y>-1)<<0; - msk |= uint(relative.y<1 )<<1; - msk |= uint(relative.z>-1)<<2; - msk |= uint(relative.z<1 )<<3; - msk |= uint(relative.x>-1)<<4; - msk |= uint(relative.x<1 )<<5; + msk |= uint(((meta.cntB &0xFFFF)!=0) && (relative.y>-1))<<0; + msk |= uint((((meta.cntB>>16)&0xFFFF)!=0) && (relative.y<1 ))<<1; + msk |= uint(((meta.cntC &0xFFFF)!=0) && (relative.z>-1))<<2; + msk |= uint((((meta.cntC>>16)&0xFFFF)!=0) && (relative.z<1 ))<<3; + msk |= uint(((meta.cntD &0xFFFF)!=0) && (relative.x>-1))<<4; + msk |= uint((((meta.cntD>>16)&0xFFFF)!=0) && (relative.x<1 ))<<5; uint cmdPtr = atomicAdd(opaqueDrawCount, bitCount(msk)+1); @@ -100,7 +100,7 @@ void main() { //Down count = (meta.cntB)&0xFFFF; - if ((msk&(1<<0))!=0) { + if (((msk&(1<<0))!=0)) { writeCmd(cmdPtr++, encodedPos, ptr, count); } ptr += count;