Open BeastLe9enD opened 3 months ago
The NV extension should treat the decompression as a compute operation and so must use appropriate stage/access masks.
This extension is being promoted to EXT, where new decompression related pipeline stage/access masks are being added, see https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/6237
@vkushwaha-nv ext extension with appropriate pipeline stages/access masks sounds nice! is there an estimated time when it will be released so I dont need to mess around with the nv ext anymore?:D
Don't know the exact time yet, but I will ask for review again on the MR so we can get it published soon.
@vkushwaha-nv thanks a lot!
This extension is being promoted to EXT, where new decompression related pipeline stage/access masks are being added, see https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/6237
May I ask if there's any consideration made to support more compression models besides GDeflate? For example, normal Deflate, or other algorithms such as LZMA or LZ, when perhaps there is an enhanced GPU version available?
Assign to @dgkoch to help us remember to close this once the NV extension is published.
Assign to @dgkoch to help us remember to close this once the NV extension is published.
The NV extension is published. I'm pretty sure you meant EXT.
any progress on this? Just curious if there will be lz4 support
any progress on this? Just curious if there will be lz4 support
I wouldn't expect anything other than GDeflate support in the first version. Other algorithms could be added via layered extensions in the future.
I'm using the
VK_NV_memory_decompression
extension and for me its unclear if the the buffers used bysrcAddress
anddstAddress
insideVkDecompressMemoryRegionNV
must have anyVkBufferUsageFlags
exceptVK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT
?Although, let's say I'm copying my data from a staging buffer inside a gpu buffer to use this buffer as the
srcAddress
insideVkDecompressMemoryRegionNV
after that, whatdstStageMask
/dstAccessMask
do I need for the buffer memory barrier in between?Am I missing something inside the docs or is this unclear?