Class ComputePool

Inheritance Relationships

Derived Types

Class Documentation

class ComputePool

Subclassed by Azura::D3D12::D3D12ComputePool, Azura::Vulkan::VkComputePool

Public Functions

ComputePool(const ComputePoolCreateInfo &createInfo, DescriptorCount descriptorCount, Memory::Allocator &allocator)
virtual ~ComputePool()
ComputePool(const ComputePool &other)
ComputePool(ComputePool &&other)
ComputePool &operator=(const ComputePool &other)
ComputePool &operator=(ComputePool &&other)
void BindUniformData(SlotID slot, const Containers::Vector<U8> &buffer)
virtual void BindUniformData(SlotID slot, const U8 *buffer, U32 size) = 0
virtual void AddShader(U32 shaderId) = 0
virtual void BindTextureData(SlotID slot, const TextureDesc &desc, const U8 *buffer) = 0
virtual void BindSampler(SlotID slot, const SamplerDesc &desc) = 0
virtual void BeginUpdates() = 0
void UpdateUniformData(SlotID slot, const Containers::Vector<U8> &buffer)
virtual void UpdateUniformData(SlotID slot, const U8 *buffer, U32 size) = 0
virtual void UpdateTextureData(SlotID slot, const U8 *buffer) = 0
virtual void Submit() = 0
virtual void SubmitUpdates() = 0
U32 GetSize() const
bool CanRenderInPass(U32 renderPassId) const

Protected Functions

U32 GetSingleUniformBufferInfo(const DescriptorSlot &slot)
U32 GetSingleTextureBufferInfo(const DescriptorSlot &slot)
Memory::Allocator &GetAllocator() const

Protected Attributes

DescriptorCount m_descriptorCount
Containers::Vector<U32> m_computePasses
Containers::Vector<UniformBufferInfo> m_uniformBufferInfos
Containers::Vector<TextureBufferInfo> m_textureBufferInfos
Containers::Vector<SamplerInfo> m_samplerInfos
Containers::Vector<BufferUpdate> m_bufferUpdates
ThreadGroupDimensions m_launchDims