diff --git a/GPU/Common/ShaderUniforms.h b/GPU/Common/ShaderUniforms.h index 14887ed263..04b6437dff 100644 --- a/GPU/Common/ShaderUniforms.h +++ b/GPU/Common/ShaderUniforms.h @@ -17,10 +17,8 @@ enum : uint64_t { DIRTY_MATDIFFUSE | DIRTY_MATSPECULAR | DIRTY_MATEMISSIVE | DIRTY_AMBIENT, }; -// TODO: Split into two structs, one for software transform and one for hardware transform, to save space. -// Currently 512 bytes. Probably can't get to 256 (nVidia's UBO alignment). +// Currently 480 bytes. Probably can't get to 256 (nVidia's UBO alignment, also common in other vendors). // Every line here is a 4-float. - struct alignas(16) UB_VS_FS_Base { float proj[16]; float proj_through[16]; @@ -37,14 +35,12 @@ struct alignas(16) UB_VS_FS_Base { uint32_t colorWriteMask; float mipBias; // Fragment data float fogColor[4]; // .w is unused - float texEnvColor[3]; - uint32_t colorTestMask; + float texEnvColor[3]; uint32_t colorTestMask; int alphaColorRef[4]; float blendFixA[3]; float stencil; float blendFixB[3]; float rotation; float texClamp[4]; - float texClampOffset[2]; // .zw are unused - float fogCoef[2]; + float texClampOffset[2]; float fogCoef[2]; }; static const char * const ub_baseStr =