Skip to content

Commit cd71b0f

Browse files
committed
Apply GregTechCEu#5128's changes
1 parent b7f1ac1 commit cd71b0f

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

src/main/java/com/gregtechceu/gtceu/client/bloom/BloomRenderer.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ private static void finishBloomBuffer(SectionPos sectionPos, MeshData mesh, Buff
276276
VertexSorting vertexSorting) {
277277
BLOOM_RENDER_LOCK.writeLock().lock();
278278
try {
279-
BLOOM_BUFFER_BUILDERS.remove(sectionPos, builder);
279+
BLOOM_BUFFER_BUILDERS.remove(sectionPos);
280280

281281
ByteBufferBuilder byteBuffer = BLOOM_BYTE_BUFFERS.remove(sectionPos);
282282
if (byteBuffer != null) {
@@ -309,12 +309,17 @@ private static void uploadBloomBuffer(MeshData mesh, VertexBuffer buffer) {
309309
}
310310

311311
public static BufferBuilder getOrStartBloomBuffer(SectionPos sectionPos) {
312-
return BLOOM_BUFFER_BUILDERS.computeIfAbsent(sectionPos, $ -> {
313-
ByteBufferBuilder byteBuffer = BLOOM_BYTE_BUFFERS.computeIfAbsent(sectionPos,
314-
unused -> new ByteBufferBuilder(GTRenderTypes.bloom().bufferSize()));
312+
BLOOM_RENDER_LOCK.writeLock().lock();
313+
try {
314+
return BLOOM_BUFFER_BUILDERS.computeIfAbsent(sectionPos, $ -> {
315+
ByteBufferBuilder byteBuffer = BLOOM_BYTE_BUFFERS.computeIfAbsent(sectionPos,
316+
unused -> new ByteBufferBuilder(GTRenderTypes.bloom().bufferSize()));
315317

316-
return new BufferBuilder(byteBuffer, GTRenderTypes.bloom().mode(), GTRenderTypes.bloom().format());
317-
});
318+
return new BufferBuilder(byteBuffer, GTRenderTypes.bloom().mode(), GTRenderTypes.bloom().format());
319+
});
320+
} finally {
321+
BLOOM_RENDER_LOCK.writeLock().unlock();
322+
}
318323
}
319324

320325
public static void bakeBloomChunkBuffers(SectionPos sectionPos, VertexSorting vertexSorting) {

0 commit comments

Comments
 (0)