From 0514528a4c8a2d7ce1a2b4c3e0f5da94f8317727 Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Sun, 20 Jul 2025 18:42:11 +1000 Subject: [PATCH] attempted micro optimization of memcpy writer --- src/main/resources/assets/voxy/shaders/util/memcpy.comp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/voxy/shaders/util/memcpy.comp b/src/main/resources/assets/voxy/shaders/util/memcpy.comp index a5904f2e..3cf55d9d 100644 --- a/src/main/resources/assets/voxy/shaders/util/memcpy.comp +++ b/src/main/resources/assets/voxy/shaders/util/memcpy.comp @@ -22,7 +22,10 @@ void main() { uint dst = job.y; uint siz = job.z; - for (uint i = gl_LocalInvocationID.x; i < siz; i+=WORK_SIZE) { - outputBuffer[dst+i] = dataInBuffer[src+i]; + uint workPerThread = (siz+255)>>8; + uint start = gl_LocalInvocationID.x*workPerThread+src; + uint diff = dst-src; + for (uint i = start; i < min(start+workPerThread,siz+src); i++) { + outputBuffer[i+diff] = dataInBuffer[i]; } } \ No newline at end of file