Class VulkanRenderPass
java.lang.Object
com.mojang.blaze3d.vulkan.VulkanRenderPass
- All Implemented Interfaces:
RenderPassBackend
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final record -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate final CheckpointExtension.CheckpointStorageprivate final VkCommandBufferprivate final VulkanDeviceprivate final VulkanCommandEncoderprivate final booleanprivate final booleanprivate final intprivate final intprotected @Nullable VulkanRenderPipelineprotected intprivate final @Nullable RenderPass.RenderAreaprotected final HashMap<String, VulkanRenderPass.TextureViewAndSampler> protected final HashMap<String, GpuBufferSlice> static final boolean -
Constructor Summary
ConstructorsConstructorDescriptionVulkanRenderPass(VulkanDevice device, VulkanCommandEncoder encoder, VkCommandBuffer commandBuffer, CheckpointExtension.CheckpointStorage checkpointStorage, RenderPass.RenderArea renderArea, int outputWidth, int outputHeight, boolean hasDepth, boolean hasStencil, Supplier<String> label) -
Method Summary
Modifier and TypeMethodDescriptionvoidbindTexture(String name, @Nullable GpuTextureView textureView, @Nullable GpuSampler sampler) private VkCommandBuffervoidvoiddraw(int vertexCount, int instanceCount, int firstVertex, int firstInstance) voiddrawIndexed(int indexCount, int instanceCount, int firstIndex, int vertexOffset, int firstInstance) voiddrawIndexedIndirect(GpuBufferSlice commands, int drawCount) voiddrawIndirect(GpuBufferSlice commands, int drawCount) <T> voiddrawMultipleIndexed(Collection<RenderPass.Draw<T>> draws, @Nullable GpuBuffer defaultIndexBuffer, @Nullable IndexType defaultIndexType, Collection<String> dynamicUniforms, T uniformArgument) voidenableScissor(int x, int y, int width, int height) getLabel()voidvoidvoidmultiDrawIndexed(IntBuffer drawParameters, int instanceCount, int firstInstance, int drawCount) voidmultiDrawIndexed(PointerBuffer firstIndexOffsets, IntBuffer indexCounts, IntBuffer vertexOffsets, int drawCount) voidvoidpushDebugGroup(Supplier<String> label) private voidvoidsetIndexBuffer(GpuBuffer indexBuffer, IndexType indexType) voidsetPipeline(RenderPipeline pipeline) private static voidsetScissor(MemoryStack stack, VkCommandBuffer commandBuffer, int x, int y, int width, int height) voidsetUniform(String name, GpuBuffer value) voidsetUniform(String name, GpuBufferSlice value) voidsetVertexBuffer(int slot, @Nullable GpuBufferSlice vertexBuffer) voidsetViewport(int x, int y, int width, int height) voidwriteTimestamp(GpuQueryPool pool, int index)
-
Field Details
-
VALIDATION
public static final boolean VALIDATION -
device
-
encoder
-
checkpointStorage
-
renderArea
-
outputWidth
private final int outputWidth -
outputHeight
private final int outputHeight -
hasDepth
private final boolean hasDepth -
hasStencil
private final boolean hasStencil -
label
-
pushedDebugGroups
protected int pushedDebugGroups -
commandBuffer
-
pipeline
-
anyDescriptorDirty
private boolean anyDescriptorDirty -
uniforms
-
textures
-
-
Constructor Details
-
VulkanRenderPass
public VulkanRenderPass(VulkanDevice device, VulkanCommandEncoder encoder, VkCommandBuffer commandBuffer, CheckpointExtension.CheckpointStorage checkpointStorage, RenderPass.RenderArea renderArea, int outputWidth, int outputHeight, boolean hasDepth, boolean hasStencil, Supplier<String> label)
-
-
Method Details
-
commandBuffer
-
pushDebugGroup
- Specified by:
pushDebugGroupin interfaceRenderPassBackend
-
popDebugGroup
public void popDebugGroup()- Specified by:
popDebugGroupin interfaceRenderPassBackend
-
setPipeline
- Specified by:
setPipelinein interfaceRenderPassBackend
-
bindTexture
public void bindTexture(String name, @Nullable GpuTextureView textureView, @Nullable GpuSampler sampler) - Specified by:
bindTexturein interfaceRenderPassBackend
-
setUniform
- Specified by:
setUniformin interfaceRenderPassBackend
-
setUniform
- Specified by:
setUniformin interfaceRenderPassBackend
-
setViewport
public void setViewport(int x, int y, int width, int height) - Specified by:
setViewportin interfaceRenderPassBackend
-
enableScissor
public void enableScissor(int x, int y, int width, int height) - Specified by:
enableScissorin interfaceRenderPassBackend
-
setScissor
private static void setScissor(MemoryStack stack, VkCommandBuffer commandBuffer, int x, int y, int width, int height) -
disableScissor
public void disableScissor()- Specified by:
disableScissorin interfaceRenderPassBackend
-
setVertexBuffer
- Specified by:
setVertexBufferin interfaceRenderPassBackend
-
setIndexBuffer
- Specified by:
setIndexBufferin interfaceRenderPassBackend
-
drawIndexed
public void drawIndexed(int indexCount, int instanceCount, int firstIndex, int vertexOffset, int firstInstance) - Specified by:
drawIndexedin interfaceRenderPassBackend
-
multiDrawIndexed
public void multiDrawIndexed(IntBuffer drawParameters, int instanceCount, int firstInstance, int drawCount) - Specified by:
multiDrawIndexedin interfaceRenderPassBackend
-
multiDrawIndexed
public void multiDrawIndexed(PointerBuffer firstIndexOffsets, IntBuffer indexCounts, IntBuffer vertexOffsets, int drawCount) - Specified by:
multiDrawIndexedin interfaceRenderPassBackend
-
drawIndexedIndirect
- Specified by:
drawIndexedIndirectin interfaceRenderPassBackend
-
drawMultipleIndexed
public <T> void drawMultipleIndexed(Collection<RenderPass.Draw<T>> draws, @Nullable GpuBuffer defaultIndexBuffer, @Nullable IndexType defaultIndexType, Collection<String> dynamicUniforms, T uniformArgument) - Specified by:
drawMultipleIndexedin interfaceRenderPassBackend
-
draw
public void draw(int vertexCount, int instanceCount, int firstVertex, int firstInstance) - Specified by:
drawin interfaceRenderPassBackend
-
multiDraw
public void multiDraw(IntBuffer drawParameters, int instanceCount, int firstInstance, int drawCount) - Specified by:
multiDrawin interfaceRenderPassBackend
-
multiDraw
- Specified by:
multiDrawin interfaceRenderPassBackend
-
drawIndirect
- Specified by:
drawIndirectin interfaceRenderPassBackend
-
pushDescriptors
private void pushDescriptors() -
writeTimestamp
- Specified by:
writeTimestampin interfaceRenderPassBackend
-
getLabel
-