Skip to content
This repository was archived by the owner on Mar 22, 2026. It is now read-only.

Commit 91c1ecc

Browse files
committed
替换 BlazeRod 内自行扩展的接口为 1.21.7 新加入的接口
1 parent 36e65a6 commit 91c1ecc

File tree

7 files changed

+1
-44
lines changed

7 files changed

+1
-44
lines changed

blazerod/render/src/main/java/top/fifthlight/blazerod/extension/CommandEncoderExt.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,4 @@ enum ClearType {
1010
}
1111

1212
void blazerod$clearBuffer(GpuBufferSlice slice, ClearType clearType);
13-
14-
void blazerod$copyBuffer(GpuBufferSlice target, GpuBufferSlice source);
1513
}

blazerod/render/src/main/java/top/fifthlight/blazerod/extension/internal/gl/BufferManagerExtInternal.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,4 @@
55
public interface BufferManagerExtInternal {
66
boolean blazerod$isGlClearBufferObjectEnabled();
77
void blazerod$clearBufferData(int buffer, int offset, int size, ClearType clearType);
8-
void blazerod$copyBuffer(int target, int source, int targetOffset, int sourceOffset, int size);
98
}

blazerod/render/src/main/java/top/fifthlight/blazerod/helper/gl/GlStateManagerHelper.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,4 @@ public static void _glDeleteVertexArrays(int array) {
99
RenderSystem.assertOnRenderThread();
1010
GL30.glDeleteVertexArrays(array);
1111
}
12-
13-
public static void _glCopyBufferSubData(int readTarget, int writeTarget, int readOffset, int writeOffset, int size) {
14-
RenderSystem.assertOnRenderThread();
15-
GL31.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
16-
}
1712
}

blazerod/render/src/main/java/top/fifthlight/blazerod/mixin/gl/BufferManagerMixin.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,6 @@ private abstract static class ARBBufferManagerMixin implements BufferManagerExtI
5252
}
5353
ARBDirectStateAccess.glClearNamedBufferSubData(buffer, param.getInternalFormat(), offset, size, param.getFormat(), param.getType(), param.getData());
5454
}
55-
56-
@Override
57-
public void blazerod$copyBuffer(int target, int source, int targetOffset, int sourceOffset, int size) {
58-
ARBDirectStateAccess.glCopyNamedBufferSubData(source, target, sourceOffset, targetOffset, size);
59-
}
6055
}
6156

6257
@Mixin(BufferManager.DefaultBufferManager.class)
@@ -74,14 +69,5 @@ private abstract static class DefaultBufferManagerMixin implements BufferManager
7469
ARBClearBufferObject.glClearBufferSubData(GlConst.GL_COPY_WRITE_BUFFER, param.getInternalFormat(), offset, size, param.getFormat(), param.getType(), param.getData());
7570
GlStateManager._glBindBuffer(GlConst.GL_COPY_WRITE_BUFFER, 0);
7671
}
77-
78-
@Override
79-
public void blazerod$copyBuffer(int target, int source, int targetOffset, int sourceOffset, int size) {
80-
GlStateManager._glBindBuffer(GlConst.GL_COPY_READ_BUFFER, source);
81-
GlStateManager._glBindBuffer(GlConst.GL_COPY_WRITE_BUFFER, target);
82-
GlStateManagerHelper._glCopyBufferSubData(GlConst.GL_COPY_READ_BUFFER, GlConst.GL_COPY_WRITE_BUFFER, sourceOffset, targetOffset, size);
83-
GlStateManager._glBindBuffer(GlConst.GL_COPY_READ_BUFFER, 0);
84-
GlStateManager._glBindBuffer(GlConst.GL_COPY_WRITE_BUFFER, 0);
85-
}
8672
}
8773
}

blazerod/render/src/main/java/top/fifthlight/blazerod/mixin/gl/GlCommandEncoderMixin.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -162,21 +162,4 @@ private boolean onVertexBufferSetWhenDrawingMultipleObjects(RenderPassImpl pass,
162162
writeToBuffer(slice, byteBuffer);
163163
}
164164
}
165-
166-
@Override
167-
public void blazerod$copyBuffer(GpuBufferSlice target, GpuBufferSlice source) {
168-
if (target.length() != source.length()) {
169-
throw new IllegalArgumentException("Copy source length and target length mismatch: source is " + source.length() + ", but target is " + target.length());
170-
}
171-
var targetBuffer = (GlGpuBuffer) target.buffer();
172-
var sourceBuffer = (GlGpuBuffer) source.buffer();
173-
if ((sourceBuffer.usage() & GpuBuffer.USAGE_COPY_SRC) == 0) {
174-
throw new IllegalArgumentException("Buffer to be copied from should have USAGE_COPY_SRC bit set");
175-
}
176-
if ((targetBuffer.usage() & GpuBuffer.USAGE_COPY_DST) == 0) {
177-
throw new IllegalArgumentException("Buffer to be copied to should have USAGE_COPY_DST bit set");
178-
}
179-
var bufferManager = (BufferManagerExtInternal) this.backend.getBufferManager();
180-
bufferManager.blazerod$copyBuffer(targetBuffer.id, sourceBuffer.id, target.offset(), source.offset(), target.length());
181-
}
182165
}

blazerod/render/src/main/kotlin/top/fifthlight/blazerod/extension/CommandEncoderExt.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,3 @@ import top.fifthlight.blazerod.extension.CommandEncoderExt
66

77
fun CommandEncoder.clearBuffer(slice: GpuBufferSlice, clearType: CommandEncoderExt.ClearType) =
88
(this as CommandEncoderExt).`blazerod$clearBuffer`(slice, clearType)
9-
10-
fun CommandEncoder.copyBuffer(target: GpuBufferSlice, source: GpuBufferSlice) =
11-
(this as CommandEncoderExt).`blazerod$copyBuffer`(target, source)

blazerod/render/src/main/kotlin/top/fifthlight/blazerod/util/SlottedGpuBuffer.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import com.mojang.blaze3d.systems.RenderSystem
55
import it.unimi.dsi.fastutil.ints.IntHeapPriorityQueue
66
import net.minecraft.client.gl.RenderPassImpl
77
import net.minecraft.util.Identifier
8-
import top.fifthlight.blazerod.extension.copyBuffer
98
import java.lang.AutoCloseable
109
import java.nio.ByteBuffer
1110
import java.nio.ByteOrder
@@ -47,7 +46,7 @@ class SlottedGpuBuffer(
4746
val device = RenderSystem.getDevice()
4847
val newBuffer = device.createBuffer(label?.let { { it } }, usage, newSize)
4948
val commandEncoder = device.createCommandEncoder()
50-
commandEncoder.copyBuffer(newBuffer.slice(0, gpuBuffer.size), gpuBuffer.slice())
49+
commandEncoder.copyToBuffer(gpuBuffer.slice(), newBuffer.slice(0, gpuBuffer.size))
5150
gpuBuffer.close()
5251
gpuBuffer = newBuffer
5352
}

0 commit comments

Comments
 (0)