From 771f29435d664f7344bc5596056146af5d64d352 Mon Sep 17 00:00:00 2001 From: lucy96chen <47800040+lucy96chen@users.noreply.github.com> Date: Tue, 8 Mar 2022 12:47:32 -0800 Subject: Expose API-specific row alignment values (#2151) * Added function to IDevice that retrieves the row alignment for the particular API; Added rowDstStride argument to copyTextureToBuffer and changed D3D12 footprint row pitch to check that the user-supplied stride is correctly aligned before assigning to the footprint's row pitch * Changed alignment from Uint to size_t Co-authored-by: jsmall-nvidia --- tools/gfx/vulkan/render-vk.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tools/gfx/vulkan/render-vk.cpp') diff --git a/tools/gfx/vulkan/render-vk.cpp b/tools/gfx/vulkan/render-vk.cpp index 8cec9d4a0..65eee6d3e 100644 --- a/tools/gfx/vulkan/render-vk.cpp +++ b/tools/gfx/vulkan/render-vk.cpp @@ -157,6 +157,8 @@ public: virtual SLANG_NO_THROW Result SLANG_MCALL getTextureAllocationInfo( const ITextureResource::Desc& desc, size_t* outSize, size_t* outAlignment) override; + virtual SLANG_NO_THROW Result SLANG_MCALL getTextureRowAlignment(size_t* outAlignment) override; + virtual SLANG_NO_THROW Result SLANG_MCALL createFence(const IFence::Desc& desc, IFence** outFence) override; @@ -4993,6 +4995,7 @@ public: IBufferResource* dst, size_t dstOffset, size_t dstSize, + size_t dstRowStride, ITextureResource* src, ResourceState srcState, SubresourceRange srcSubresource, @@ -8062,6 +8065,12 @@ Result VKDevice::getTextureAllocationInfo( return SLANG_OK; } +Result VKDevice::getTextureRowAlignment(size_t* outAlignment) +{ + *outAlignment = 1; + return SLANG_OK; +} + Result VKDevice::createTextureResource(const ITextureResource::Desc& descIn, const ITextureResource::SubresourceData* initData, ITextureResource** outResource) { TextureResource::Desc desc = fixupTextureDesc(descIn); -- cgit v1.2.3