From b3165505b62f5feadd9317b18103481e0da9b8e9 Mon Sep 17 00:00:00 2001 From: Vladislav Belov Date: Tue, 28 Jul 2026 18:12:21 +0200 Subject: [PATCH] Fixes possible artifacts with GPU skinning on GL std140 requires 16 bytes alignment and it makes alignment of uvec2 in SkinData be equal to 16 bytes instead of 8 bytes. --- binaries/data/mods/mod/shaders/glsl/common/compute.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/binaries/data/mods/mod/shaders/glsl/common/compute.h b/binaries/data/mods/mod/shaders/glsl/common/compute.h index d9ae99b1e6..c5c3221eb6 100644 --- a/binaries/data/mods/mod/shaders/glsl/common/compute.h +++ b/binaries/data/mods/mod/shaders/glsl/common/compute.h @@ -12,10 +12,10 @@ layout(set = 2, binding = LOCATION, FORMAT) uniform image2D NAME #if USE_DESCRIPTOR_INDEXING #define STORAGE_BUFFER(LOCATION) \ - layout(set = 2, binding = LOCATION) + layout(std430, set = 2, binding = LOCATION) #else #define STORAGE_BUFFER(LOCATION) \ - layout(set = 1, binding = LOCATION) + layout(std430, set = 1, binding = LOCATION) #endif #else // We use offset to the binding slot for OpenGL to avoid overlapping with other @@ -23,7 +23,7 @@ #define STORAGE_2D(LOCATION, FORMAT, NAME) \ layout(binding = LOCATION, FORMAT) uniform image2D NAME #define STORAGE_BUFFER(LOCATION) \ - layout(binding = LOCATION) + layout(std430, binding = LOCATION) #endif #endif // STAGE_COMPUTE