mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 06:10:03 -06:00
Fix glMemoryBarrier flags
This commit is contained in:
@ -932,23 +932,23 @@ void ComputeRenderer::RenderFrame(GPU& gpu)
|
|||||||
glBindImageTexture(0, YSpanIndicesTexture, 0, GL_FALSE, 0, GL_READ_ONLY, GL_RGBA16UI);
|
glBindImageTexture(0, YSpanIndicesTexture, 0, GL_FALSE, 0, GL_READ_ONLY, GL_RGBA16UI);
|
||||||
glUseProgram(ShaderInterpXSpans[wbuffer]);
|
glUseProgram(ShaderInterpXSpans[wbuffer]);
|
||||||
glDispatchCompute((numSetupIndices + 31) / 32, 1, 1);
|
glDispatchCompute((numSetupIndices + 31) / 32, 1, 1);
|
||||||
glMemoryBarrier(GL_SHADER_STORAGE_BUFFER);
|
glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
|
||||||
|
|
||||||
// bin polygons
|
// bin polygons
|
||||||
glUseProgram(ShaderBinCombined);
|
glUseProgram(ShaderBinCombined);
|
||||||
glDispatchCompute(((gpu.GPU3D.RenderNumPolygons + 31) / 32), ScreenWidth/CoarseTileW, ScreenHeight/CoarseTileH);
|
glDispatchCompute(((gpu.GPU3D.RenderNumPolygons + 31) / 32), ScreenWidth/CoarseTileW, ScreenHeight/CoarseTileH);
|
||||||
glMemoryBarrier(GL_SHADER_STORAGE_BUFFER);
|
glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
|
||||||
|
|
||||||
// calculate list offsets
|
// calculate list offsets
|
||||||
glUseProgram(ShaderCalculateWorkListOffset);
|
glUseProgram(ShaderCalculateWorkListOffset);
|
||||||
glDispatchCompute((numVariants + 31) / 32, 1, 1);
|
glDispatchCompute((numVariants + 31) / 32, 1, 1);
|
||||||
glMemoryBarrier(GL_SHADER_STORAGE_BUFFER);
|
glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
|
||||||
|
|
||||||
// sort shader work
|
// sort shader work
|
||||||
glUseProgram(ShaderSortWork);
|
glUseProgram(ShaderSortWork);
|
||||||
glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, BinResultMemory);
|
glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, BinResultMemory);
|
||||||
glDispatchComputeIndirect(offsetof(BinResultHeader, SortWorkWorkCount));
|
glDispatchComputeIndirect(offsetof(BinResultHeader, SortWorkWorkCount));
|
||||||
glMemoryBarrier(GL_SHADER_STORAGE_BUFFER);
|
glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
|
||||||
|
|
||||||
glActiveTexture(GL_TEXTURE0);
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user