|
| | VKCommandBuffer (VKDevice &device, VKCommandQueue &commandQueue, const GPUCommandBufferDescriptor &descriptor) |
| |
| | ~VKCommandBuffer () final |
| |
| | operator VkCommandBuffer () const noexcept |
| | Generates a hash for the provided type.
|
| |
| void | bindResourceSet (GPUResourceSet &resourceSet, UInt32 firstSet=0, Int32 offset=-1) final |
| |
| void | bindVertexBuffer (GPUBuffer &vertexBuffer, UInt32 offset=0, UInt32 slot=0) final |
| |
| void | bindIndexBuffer (GPUBuffer &indexBuffer, UInt32 offset=0, IndexType indexType=IndexType::UInt32) final |
| |
| void | draw (UInt32 vertexCount, UInt32 instanceCount=1, UInt32 firstVertex=0, UInt32 firstInstance=0) final |
| |
| void | draw (GPUBuffer &buffer, UInt32 drawCount, UInt32 bufferOffset=0, UInt32 stride=sizeof(GPUDrawIndirectCommand)) final |
| |
| void | drawIndexed (UInt32 indexCount, UInt32 instanceCount=1, UInt32 firstVertex=0, Int32 vertexOffset=0, UInt32 firstInstance=0) final |
| |
| void | drawIndexed (GPUBuffer &buffer, UInt32 drawCount, UInt32 bufferOffset=0, UInt32 stride=sizeof(GPUDrawIndexedIndirectCommand)) final |
| |
| void | dispatch (UInt32 groupCountX, UInt32 groupCountY, UInt32 groupCountZ) final |
| |
| void | setViewport (const Viewport &viewport) final |
| |
| void | setViewports (const SmallVector< Viewport, 16 > &viewports) final |
| |
| void | setScissor (const Scissor &scissor) final |
| |
| void | setScissors (const SmallVector< Scissor, 16 > &scissors) final |
| |
| void | drawMeshTasks (UInt32 groupCountX, UInt32 groupCountY, UInt32 groupCountZ) final |
| | Draw mesh task work items.
|
| |
| void | drawMeshTasksIndirect (GPUBuffer &buffer, UInt64 offset, UInt32 drawCount, UInt32 stride) final |
| | Issue an indirect mesh tasks draw into a command buffer.
|
| |
| void | drawMeshTasksIndirect (GPUBuffer &buffer, UInt64 offset, GPUBuffer &countBuffer, UInt64 countBufferOffset, uint32_t maxDrawCount, uint32_t stride) final |
| | Issue an indirect mesh tasks draw into a command buffer.
|
| |
| void | updateBuffer (GPUBuffer &dstBuffer, std::uint64_t dstOffset, const void *data, std::uint16_t dataSize) final |
| |
| void | copyBuffer (GPUBuffer &dstBuffer, std::uint64_t dstOffset, GPUBuffer &srcBuffer, std::uint64_t srcOffset, std::uint64_t size) final |
| |
| void | fillBuffer (GPUBuffer &dstBuffer, std::uint64_t dstOffset, std::uint32_t value, std::uint64_t fillSize=~0u) final |
| |
| void | copyBufferFromImage (GPUBuffer &dstBuffer, std::uint64_t dstOffset, GPUImage &srcImage, const GPUImageRegion &srcImageRegion, std::uint32_t rowStride=0, std::uint32_t layerStride=0) final |
| |
| void | copyImage (GPUImage &dstImage, const GPUImageLocation &dstLocation, GPUImage &srcImage, const GPUImageLocation &srcLocation, const TExtent3< UInt32 > &extent) final |
| |
| void | copyImageFromBuffer (GPUImage &dstImage, const GPUImageRegion &dstRegion, GPUBuffer &srcBuffer, std::uint64_t srcOffset, std::uint32_t rowStride=0, std::uint32_t layerStride=0) final |
| |
| void | resolveImage (GPUImage &dstImage, const GPUImageLocation &dstLocation, GPUImage &srcImage, const GPUImageLocation &srcLocation, const TExtent3< UInt32 > &extent) final |
| |
| void | clear (GPUImage &image) final |
| |
| void | generateMips (GPUImage &image) final |
| |
| void | generateMips (GPUImage &image, const GPUImageSubresource &subresource) final |
| |
| void | barrier (GPUImage &image, GPUImageLayout layout) final |
| |
| void | begin () final |
| |
| void | end () final |
| |
| void | wait () final |
| |
| bool | isReady () const |
| |
| void | reset () |
| | Resets the active command buffer.
|
| |
| bool | tryFinish () |
| | A method called internally on every frame to check if the buffer has finished execution on the GPU.
|
| |
Public Member Functions inherited from CeresEngine::GPUCommandBuffer |
| | GPUCommandBuffer (const GPUCommandBuffer &)=delete |
| | Deleted copy constructor.
|
| |
| GPUCommandBuffer & | operator= (const GPUCommandBuffer &)=delete |
| |
| | GPUCommandBuffer (GPUCommandBuffer &&)=delete |
| | Deleted move constructor.
|
| |
| GPUCommandBuffer & | operator= (GPUCommandBuffer &&)=delete |
| |
| void | bindResourceSet (const GPUResourceSetPtr &resourceSet, const UInt32 firstSet=0, const Int32 offset=-1) |
| |
| void | bindVertexBuffer (const GPUBufferPtr &vertexBuffer, const UInt32 offset=0, const UInt32 slot=0) |
| |
| virtual void | bindVertexBuffer (const GPUVertexBuffer &vertexBuffer) |
| | Binds a vertex buffer for drawing.
|
| |
| void | bindIndexBuffer (const GPUBufferPtr &indexBuffer, const UInt32 offset=0, const IndexType indexType=IndexType::UInt32) |
| |
| virtual void | bindIndexBuffer (const GPUIndexBuffer &indexBuffer) |
| | Binds a index buffer for drawing.
|
| |
| void | draw (const GPUIndirectBuffer &buffer, UInt32 drawCount, UInt32 stride=sizeof(GPUDrawIndirectCommand)) |
| |
| void | drawIndexed (const GPUIndirectBuffer &buffer, UInt32 drawCount, UInt32 stride=sizeof(GPUDrawIndexedIndirectCommand)) |
| |
| void | buildAccelerationStructures () |
| |
| void | buildAccelerationStructuresIndirect () |
| |
| void | copyAccelerationStructure () |
| |
| void | copyAccelerationStructureToMemory () |
| |
| void | copyMemoryToAccelerationStructure () |
| |
| void | writeAccelerationStructuresProperties () |
| |
| void | setRayTracingPipelineStackSize () |
| |
| void | traceRays () |
| |
| void | traceRaysIndirect () |
| |
| template<typename Func > |
| decltype(auto) | record (Func &&recorder) |
| | Records a sequence of commands to be executed by the GPU.
|
| |
| | TDeviceObject (GPUDevice &device, const Descriptor &descriptor) |
| | Inherited constructors.
|
| |
| | TDeviceObject (const TDeviceObject &)=delete |
| | Inherited constructors.
|
| |
| | TDeviceObject (TDeviceObject &&)=delete |
| | Inherited constructors.
|
| |
| | TDeviceObject (GPUDevice &device, const Descriptor &descriptor) |
| | Initializes a new RenderAPI device object instance.
|
| |
| | TDeviceObject (const TDeviceObject &)=delete |
| |
| | TDeviceObject (TDeviceObject &&)=delete |
| |
| | ~TDeviceObject () override=default |
| |
| TDeviceObject & | operator= (const TDeviceObject &)=delete |
| |
| TDeviceObject & | operator= (TDeviceObject &&)=delete |
| |
| | GPUDeviceObject (GPUDevice &device) |
| |
| | ~GPUDeviceObject () override |
| |
| | GPUObject ()=default |
| |
| virtual | ~GPUObject ()=default |
| |
| | GPUObject (const GPUObject &)=delete |
| |
| GPUObject & | operator= (const GPUObject &)=delete |
| |
| | GPUObject (GPUObject &&)=delete |
| |
| GPUObject & | operator= (GPUObject &&)=delete |
| |
| void | retain () noexcept |
| | Retains the object by increment it's reference count by one.
|
| |
| bool | release () noexcept |
| | Releases the object by decrementing it's reference count by one.
|
| |
| | VKDeviceObjectBase (VKDevice &device) noexcept |
| | Creates a new VKDeviceObjectBase from the given device.
|
| |
| | ~VKDeviceObjectBase () noexcept |
| | Destroys the VKDeviceObjectBase.
|
| |
The GPUCommandBuffer implementation for the Vulkan RenderAPI.