147 [[nodiscard]]
size_t getHash() const noexcept override;
165 PROPERTY_R_IW( VkSampleCountFlagBits, sampleFlagBits, VK_SAMPLE_COUNT_1_BIT );
175 static void TransitionTexture(
TransitionType type,
const VkImageSubresourceRange& subresourceRange, VkImage image, VkImageMemoryBarrier2& memBarrier );
GFXDevice & context() const noexcept
An API-independent representation of a texture.
static void TransitionTexture(TransitionType type, const VkImageSubresourceRange &subresourceRange, VkImage image, VkImageMemoryBarrier2 &memBarrier)
VkDeviceSize _stagingBufferSize
PROPERTY_R(AllocatedImage_uptr, image, nullptr)
void clearData(VkCommandBuffer cmdBuffer, const UColour4 &clearColour, SubRange layerRange, U8 mipLevel) const noexcept
static void Copy(VkCommandBuffer cmdBuffer, const vkTexture *source, const U8 sourceSamples, const vkTexture *destination, const U8 destinationSamples, CopyTexParams params)
ImageReadbackData readData(U8 mipLevel, const PixelAlignment &pixelPackAlignment) const noexcept override
VkImageView getImageView(const CachedImageView::Descriptor &descriptor) const
void clearDataInternal(const UColour4 &clearColour, U8 level, bool clearRect, const vec4< I32 > &rectToClear, vec2< I32 > depthRange) const
@ UNDEFINED_TO_SHADER_READ_COLOUR
@ UNDEFINED_TO_DEPTH_RESOLVE_ATTACHMENT
@ DEPTH_STENCIL_RESOLVE_ATTACHMENT_TO_SHADER_READ
@ SHADER_READ_TO_COPY_WRITE_COLOUR
@ UNDEFINED_TO_SHADER_READ_DEPTH
@ SHADER_READ_TO_COPY_WRITE_DEPTH
@ UNDEFINED_TO_COLOUR_RESOLVE_ATTACHMENT
@ SHADER_READ_TO_BLIT_WRITE_DEPTH
@ BLIT_READ_TO_SHADER_READ_DEPTH
@ SHADER_READ_TO_DEPTH_STENCIL_RESOLVE_ATTACHMENT
@ BLIT_WRITE_TO_SHADER_READ_DEPTH
@ SHADER_READ_COLOUR_TO_GENERAL
@ SHADER_READ_TO_DEPTH_ATTACHMENT
@ COPY_WRITE_TO_COPY_READ
@ DEPTH_ATTACHMENT_TO_SHADER_WRITE
@ COLOUR_ATTACHMENT_TO_SHADER_READ_WRITE
@ COLOUR_ATTACHMENT_TO_SHADER_WRITE
@ SHADER_READ_TO_BLIT_READ_COLOUR
@ DEPTH_ATTACHMENT_TO_SHADER_READ_WRITE
@ COPY_WRITE_TO_SHADER_READ_COLOUR
@ UNDEFINED_TO_COLOUR_ATTACHMENT
@ UNDEFINED_TO_DEPTH_STENCIL_RESOLVE_ATTACHMENT
@ SHADER_READ_TO_BLIT_WRITE_COLOUR
@ SHADER_READ_COLOUR_TO_SHADER_READ_WRITE
@ DEPTH_STENCIL_ATTACHMENT_TO_SHADER_READ_WRITE
@ GENERAL_TO_SHADER_READ_DEPTH
@ SHADER_READ_WRITE_TO_SHADER_READ_COLOUR
@ SHADER_READ_TO_DEPTH_RESOLVE_ATTACHMENT
@ SHADER_READ_TO_DEPTH_STENCIL_ATTACHMENT
@ SHADER_READ_WRITE_TO_SHADER_READ_DEPTH
@ UNDEFINED_TO_DEPTH_ATTACHMENT
@ BLIT_READ_TO_SHADER_READ_COLOUR
@ SHADER_READ_TO_COLOUR_ATTACHMENT
@ COPY_WRITE_TO_SHADER_READ_DEPTH
@ SHADER_READ_TO_BLIT_READ_DEPTH
@ COLOUR_RESOLVE_ATTACHMENT_TO_SHADER_READ
@ SHADER_READ_TO_COPY_READ_COLOUR
@ COLOUR_ATTACHMENT_TO_SHADER_READ
@ DEPTH_ATTACHMENT_TO_SHADER_READ
@ DEPTH_STENCIL_ATTACHMENT_TO_SHADER_READ
@ BLIT_WRITE_TO_SHADER_READ_COLOUR
@ SHADER_READ_TO_COPY_READ_DEPTH
@ SHADER_READ_DEPTH_TO_SHADER_READ_WRITE
@ COPY_READ_TO_SHADER_READ_COLOUR
@ SHADER_READ_TO_COLOUR_RESOLVE_ATTACHMENT
@ UNDEFINED_TO_DEPTH_STENCIL_ATTACHMENT
@ SHADER_READ_WRITE_TO_COPY_READ
@ GENERAL_TO_SHADER_READ_COLOUR
@ DEPTH_STENCIL_ATTACHMENT_TO_SHADER_WRITE
@ SHADER_READ_DEPTH_TO_GENERAL
@ DEPTH_RESOLVE_ATTACHMENT_TO_SHADER_READ
@ COPY_READ_TO_SHADER_READ_DEPTH
@ UNDEFINED_TO_SHADER_READ_WRITE
void loadDataInternal(const ImageTools::ImageData &imageData, const vec3< U16 > &offset, const PixelAlignment &pixelUnpackAlignment) override
virtual ~vkTexture() override
static VkImageAspectFlags GetAspectFlags(const TextureDescriptor &descriptor) noexcept
PROPERTY_R_IW(VkSampleCountFlagBits, sampleFlagBits, VK_SAMPLE_COUNT_1_BIT)
void prepareTextureData(U16 width, U16 height, U16 depth, bool emptyAllocation) override
hashMap< size_t, CachedImageView > _imageViewCache
void generateMipmaps(VkCommandBuffer cmdBuffer, U16 baseLevel, U16 baseLayer, U16 layerCount, ImageUsage crtUsage)
PROPERTY_R_IW(VkImageType, vkType, VK_IMAGE_TYPE_MAX_ENUM)
void clearImageViewCache()
PROPERTY_R_IW(VkFormat, vkFormat, VK_FORMAT_MAX_ENUM)
VMABuffer_uptr _stagingBuffer
Handle console commands that start with a forward slash.
eastl::vector< Type > vector
hashAlg::unordered_map< K, V, HashFun, Predicate > hashMap
VmaAllocationInfo _allocInfo
VmaAllocation _allocation
size_t getHash() const noexcept override
Divide::vkTexture::CachedImageView::Descriptor _descriptor