@@ -59,6 +59,8 @@ bool ComputeRenderer::CompileShader(GLuint& shader, const std::string& source, c
59
59
shaderSource += std::to_string (CoarseTileCountY) + " ;" ;
60
60
shaderSource += " \n #define CoarseTileArea " ;
61
61
shaderSource += std::to_string (CoarseTileArea);
62
+ shaderSource += " \n #define ClearCoarseBinMaskLocalSize " ;
63
+ shaderSource += std::to_string (ClearCoarseBinMaskLocalSize);
62
64
63
65
shaderSource += ComputeRendererShaders::Common;
64
66
shaderSource += source;
@@ -332,6 +334,7 @@ void ComputeRenderer::SetRenderSettings(int scale, bool highResolutionCoordinate
332
334
333
335
TileSize = std::min (8 * TileScale, 32 );
334
336
CoarseTileCountY = TileSize < 32 ? 4 : 6 ;
337
+ ClearCoarseBinMaskLocalSize = TileSize < 32 ? 64 : 48 ;
335
338
CoarseTileArea = CoarseTileCountX * CoarseTileCountY;
336
339
CoarseTileW = CoarseTileCountX * TileSize;
337
340
CoarseTileH = CoarseTileCountY * TileSize;
@@ -944,7 +947,7 @@ void ComputeRenderer::RenderFrame(GPU& gpu)
944
947
glBindBufferBase (GL_UNIFORM_BUFFER, 0 , MetaUniformMemory);
945
948
946
949
glUseProgram (ShaderClearCoarseBinMask);
947
- glDispatchCompute (TilesPerLine*TileLines/32 , 1 , 1 );
950
+ glDispatchCompute (TilesPerLine*TileLines/ClearCoarseBinMaskLocalSize , 1 , 1 );
948
951
949
952
bool wbuffer = false ;
950
953
if (numYSpans > 0 )
0 commit comments