net.minecraft.client.vulkan

public class VulkanGpuBufferAllocator

implements GpuBufferAllocator, DeferredDisposable

com.mojang.blaze3d.vulkan.VulkanTransientMemory
net.minecraft.class_1_1025
net.minecraft.client.vulkan.VulkanGpuBufferAllocator

Field summary

Modifier and TypeField
private static final long
BLOCK_SIZE
field_1_6976
BLOCK_SIZE
private static final long
MAX_CPU_ALIGNMENT
field_1_6978
MAX_HOST_MEMORY_ALIGNMENT
private static final long
MAX_GPU_ALIGNMENT
field_1_6979
MAX_GPU_BUFFER_ALIGNMENT
private static final int
BUFFER_USAGE_BITS
field_1_6977
field_1_6977
private final VulkanBackend
device
field_1_6983
device
private final VulkanCommandEncoderBackend
encoder
field_1_6984
commandEncoder
private final boolean
useDeviceMemoryForMappedGpuStaging
field_1_6989
forceHostVisibilityAndCoherence
private final Arena<Long>
cpuBlockAllocator
field_1_6982
memoryArena
private final Arena<VulkanGpuBufferAllocator$MappedVkBuffer>
stagingBlockAllocator
field_1_6987
hostPreferredTransientBufferArena
private final Arena<VulkanGpuBufferAllocator$MappedVkBuffer>
gpuBlockAllocator
field_1_6985
devicePreferredTransientBufferArena
private final Arena<it.unimi.dsi.fastutil.Pair<VulkanGpuBufferAllocator$MappedVkBuffer, VulkanGpuBufferAllocator$MappedVkBuffer>>
gpuMappedBlockAllocator
field_1_6986
hostDeviceBufferPairArena
private long
submitIndex
field_1_6988
commandBufferIndex
private boolean
anyCommandRecorded
field_1_6980
issueMemoryBarrier
private org.lwjgl.vulkan.VkCommandBuffer
commandBuffer
field_1_6981
currentCommandBuffer
static final boolean
$assertionsDisabled
field_1_6975
field_1_6975

Constructor summary

ModifierConstructor
(VulkanBackend device, VulkanCommandEncoderBackend commandEncoder)

Method summary

Modifier and TypeMethod
public void
destroy()
method_1_4001()
destroy()
public void
beginSubmit()
method_1_6215()
start()
public void
endSubmit()
method_1_6216()
finish()
private void
recordGpuMappedCopy(it.unimi.dsi.fastutil.Pair<VulkanTransientMemory$VulkanAllocation, VulkanTransientMemory$VulkanAllocation> block)
method_1_6227(it.unimi.dsi.fastutil.Pair<class_1_1025$class_1_1027, class_1_1025$class_1_1027> arg0)
copyHostToDeviceBuffer(it.unimi.dsi.fastutil.Pair<VulkanGpuBufferAllocator$MappedVkBuffer, VulkanGpuBufferAllocator$MappedVkBuffer> pair)
private VulkanGpuBufferAllocator$MappedVkBuffer
allocateVulkanBlock(long size, boolean staging)
method_1_6214(long arg0, boolean arg1)
allocateTransientMemoryBuffer(long size, boolean preferHost)
private void
queueFreeVulkanBlock(VulkanTransientMemory$VulkanAllocation allocation)
method_1_6226(class_1_1025$class_1_1027 arg0)
destroyLater(VulkanGpuBufferAllocator$MappedVkBuffer buffer)
private void
freeVulkanBlock(VulkanTransientMemory$VulkanAllocation allocation)
method_1_6218(class_1_1025$class_1_1027 arg0)
destroyNow(VulkanGpuBufferAllocator$MappedVkBuffer buffer)
private it.unimi.dsi.fastutil.Pair<VulkanGpuBufferAllocator$MappedVkBuffer, VulkanGpuBufferAllocator$MappedVkBuffer>
allocateGpuMappedVulkanBlock(long size)
method_1_6213(long arg0)
allocateHostDeviceBufferPair(long size)
private void
freeGpuMappedVulkanBlock(it.unimi.dsi.fastutil.Pair<VulkanTransientMemory$VulkanAllocation, VulkanTransientMemory$VulkanAllocation> allocations)
method_1_6217(it.unimi.dsi.fastutil.Pair<class_1_1025$class_1_1027, class_1_1025$class_1_1027> arg0)
deallocateHostDeviceBufferPair(it.unimi.dsi.fastutil.Pair<VulkanGpuBufferAllocator$MappedVkBuffer, VulkanGpuBufferAllocator$MappedVkBuffer> pair)
public ByteBuffer
allocateCpu(long size, long alignment, long minimumAllocation, long elementSize)
method_1_6150(long arg0, long arg1, long arg2, long arg3)
allocateByteBuffer(long arg0, long arg1, long arg2, long arg3)
public GpuBufferSlice$Mapped
allocateStaging(long size, long alignment, int usage, long minimumAllocation, long elementSize)
method_1_6156(long arg0, long arg1, int arg2, long arg3, long arg4)
allocateHostBuffer(long arg0, long arg1, int arg2, long arg3, long arg4)
public GpuBufferSlice
allocateGpu(long size, long alignment, int usage, long minimumAllocation, long elementSize)
method_1_6152(long arg0, long arg1, int arg2, long arg3, long arg4)
allocateDeviceBuffer(long arg0, long arg1, int arg2, long arg3, long arg4)
public GpuBufferSlice$Mapped
allocateGpuMapped(long size, long alignment, int usage, long minimumAllocation, long elementSize)
method_1_6154(long arg0, long arg1, int arg2, long arg3, long arg4)
allocateMappedBuffer(long arg0, long arg1, int arg2, long arg3, long arg4)
public GpuBufferSlice
uploadStaging(List<ByteBuffer> data, long alignment, int usage, long minimumAllocation, long elementSize)
method_1_6166(List<ByteBuffer> arg0, long arg1, int arg2, long arg3, long arg4)
allocateHostBuffer(List<ByteBuffer> arg0, long arg1, int arg2, long arg3, long arg4)
public GpuBufferSlice
uploadGpu(List<ByteBuffer> data, long alignment, int usage, long minimumAllocation, long elementSize)
method_1_6162(List<ByteBuffer> arg0, long arg1, int arg2, long arg3, long arg4)
allocateMappedBuffer(List<ByteBuffer> arg0, long arg1, int arg2, long arg3, long arg4)
public GpuBufferSlice
upload(List<ByteBuffer> data, long alignment, int usage, long minimumAllocation, long elementSize, boolean staging)
method_1_6228(List<ByteBuffer> arg0, long arg1, int arg2, long arg3, long arg4, boolean arg5)
allocateMappedBuffer(List<ByteBuffer> contents, long alignment, int usage, long minimumSize, long sizeAlignment, boolean hostOnly)
public List<GpuBufferSlice>
multiUploadStaging(List<ByteBuffer> data, long alignment, int usage)
method_1_6158(List<ByteBuffer> arg0, long arg1, int arg2)
allocateHostBuffers(List<ByteBuffer> arg0, long arg1, int arg2)
public List<GpuBufferSlice>
multiUploadGpu(List<ByteBuffer> data, long alignment, int usage)
method_1_6157(List<ByteBuffer> arg0, long arg1, int arg2)
allocateMappedBuffers(List<ByteBuffer> arg0, long arg1, int arg2)
public List<GpuBufferSlice>
multiUpload(List<ByteBuffer> data, long alignment, int usage, boolean staging)
method_1_6225(List<ByteBuffer> arg0, long arg1, int arg2, boolean arg3)
allocateMappedBuffers(List<ByteBuffer> contents, long alignment, int usage, boolean hostOnly)
private static Integer
lambda$multiUpload$0(List arg0, int arg1)
method_1_6221(List arg0, int arg1)
method_1_6221(List arg0, int i)
private static void
lambda$allocateGpuMapped$0()
method_1_6219()
method_1_6219()
private static void
lambda$allocateStaging$0()
method_1_6220()
method_1_6220()
private void
lambda$queueFreeVulkanBlock$0(VulkanTransientMemory$VulkanAllocation arg0)
method_1_6224(class_1_1025$class_1_1027 arg0)
method_1_6224(VulkanGpuBufferAllocator$MappedVkBuffer arg0)
private VulkanGpuBufferAllocator$MappedVkBuffer
lambda$new$1(long arg0)
method_1_6223(long arg0)
method_1_6223(long size)
private VulkanGpuBufferAllocator$MappedVkBuffer
lambda$new$0(long arg0)
method_1_6222(long arg0)
method_1_6222(long size)