summaryrefslogtreecommitdiffstats
path: root/tools/gfx-unit-test/copy-texture-tests.cpp
diff options
context:
space:
mode:
authorlucy96chen <47800040+lucy96chen@users.noreply.github.com>2022-04-07 11:11:45 -0700
committerGitHub <noreply@github.com>2022-04-07 11:11:45 -0700
commit2aac3700741f47caa6e8d674872979e2cdc251ab (patch)
tree02e750f77fa40f4f397e4698f06e05e15e38be16 /tools/gfx-unit-test/copy-texture-tests.cpp
parent86221ff4757ee504307f3537b34acb05117ce272 (diff)
Texture views/shapes tests part 1 (#2179)
* Framework for texture views testing working; Small tweaks to texture testing utils; Changed D3D12 readTextureResource to account for non-1 depth * Basic framework for texture views tests working; Test file needs a rename at some point * 1D, 2D, and 3D textures working for ShaderResource, UnorderedAccess, and RenderTarget tests; Fixed some small issues with handling the depth field of 3D textures in Vulkan causing incorrectly cleared textures
Diffstat (limited to 'tools/gfx-unit-test/copy-texture-tests.cpp')
-rw-r--r--tools/gfx-unit-test/copy-texture-tests.cpp42
1 files changed, 5 insertions, 37 deletions
diff --git a/tools/gfx-unit-test/copy-texture-tests.cpp b/tools/gfx-unit-test/copy-texture-tests.cpp
index 2999dc704..f332198b4 100644
--- a/tools/gfx-unit-test/copy-texture-tests.cpp
+++ b/tools/gfx-unit-test/copy-texture-tests.cpp
@@ -62,19 +62,13 @@ namespace gfx_test
this->context = context;
this->validationFormat = validationFormat;
- FormatInfo formatInfo;
- GFX_CHECK_CALL_ABORT(gfxGetFormatInfo(format, &formatInfo));
- auto texelSize = formatInfo.blockSizeInBytes / formatInfo.pixelsPerBlock;
-
this->srcTextureInfo = new TextureInfo();
this->srcTextureInfo->format = format;
this->srcTextureInfo->textureType = type;
- this->srcTextureInfo->texelSize = texelSize;
this->dstTextureInfo = new TextureInfo();
this->dstTextureInfo->format = format;
this->dstTextureInfo->textureType = type;
- this->dstTextureInfo->texelSize = texelSize;
}
void createRequiredResources()
@@ -123,9 +117,10 @@ namespace gfx_test
dstTexture.writeRef()));
auto bufferCopyExtents = bufferCopyInfo.extent;
+ auto texelSize = getTexelSize(dstTextureInfo->format);
size_t alignment;
device->getTextureRowAlignment(&alignment);
- alignedRowStride = (bufferCopyExtents.width * dstTextureInfo->texelSize + alignment - 1) & ~(alignment - 1);
+ alignedRowStride = (bufferCopyExtents.width * texelSize + alignment - 1) & ~(alignment - 1);
IBufferResource::Desc bufferDesc = {};
bufferDesc.sizeInBytes = bufferCopyExtents.height * bufferCopyExtents.depth * alignedRowStride;
bufferDesc.format = Format::Unknown;
@@ -255,14 +250,14 @@ namespace gfx_test
ValidationTextureData actual;
actual.extents = bufferCopyInfo.extent;
actual.textureData = results;
- actual.strides.x = dstTextureInfo->texelSize;
+ actual.strides.x = getTexelSize(dstTextureInfo->format);
actual.strides.y = (uint32_t)alignedRowStride;
actual.strides.z = actual.extents.height * actual.strides.y;
ValidationTextureData expectedCopied;
expectedCopied.extents = srcMipExtent;
expectedCopied.textureData = expectedCopiedData;
- expectedCopied.strides.x = srcTextureInfo->texelSize;
+ expectedCopied.strides.x = getTexelSize(srcTextureInfo->format);
expectedCopied.strides.y = expectedCopied.extents.width * expectedCopied.strides.x;
expectedCopied.strides.z = expectedCopied.extents.height * expectedCopied.strides.y;
@@ -271,7 +266,7 @@ namespace gfx_test
{
expectedOriginal.extents = bufferCopyInfo.extent;
expectedOriginal.textureData = expectedOriginalData;
- expectedOriginal.strides.x = dstTextureInfo->texelSize;
+ expectedOriginal.strides.x = getTexelSize(dstTextureInfo->format);
expectedOriginal.strides.y = expectedOriginal.extents.width * expectedOriginal.strides.x;
expectedOriginal.strides.z = expectedOriginal.extents.height * expectedOriginal.strides.y;
}
@@ -768,33 +763,6 @@ namespace gfx_test
}
}
- SLANG_UNIT_TEST(copyTextureTests)
- {
- runTestImpl(copyTextureTestImpl<SimpleCopyTexture>, unitTestContext, Slang::RenderApiFlag::D3D12);
- runTestImpl(copyTextureTestImpl<SimpleCopyTexture>, unitTestContext, Slang::RenderApiFlag::Vulkan);
-
- runTestImpl(copyTextureTestImpl<CopyTextureSection>, unitTestContext, Slang::RenderApiFlag::D3D12);
- runTestImpl(copyTextureTestImpl<CopyTextureSection>, unitTestContext, Slang::RenderApiFlag::Vulkan);
-
- runTestImpl(copyTextureTestImpl<LargeSrcToSmallDst>, unitTestContext, Slang::RenderApiFlag::D3D12);
- runTestImpl(copyTextureTestImpl<LargeSrcToSmallDst>, unitTestContext, Slang::RenderApiFlag::Vulkan);
-
- runTestImpl(copyTextureTestImpl<SmallSrcToLargeDst>, unitTestContext, Slang::RenderApiFlag::D3D12);
- runTestImpl(copyTextureTestImpl<SmallSrcToLargeDst>, unitTestContext, Slang::RenderApiFlag::Vulkan);
-
- runTestImpl(copyTextureTestImpl<CopyBetweenMips>, unitTestContext, Slang::RenderApiFlag::D3D12);
- runTestImpl(copyTextureTestImpl<CopyBetweenMips>, unitTestContext, Slang::RenderApiFlag::Vulkan);
-
- runTestImpl(copyTextureTestImpl<CopyBetweenLayers>, unitTestContext, Slang::RenderApiFlag::D3D12);
- runTestImpl(copyTextureTestImpl<CopyBetweenLayers>, unitTestContext, Slang::RenderApiFlag::Vulkan);
-
- runTestImpl(copyTextureTestImpl<CopyWithOffsets>, unitTestContext, Slang::RenderApiFlag::D3D12);
- runTestImpl(copyTextureTestImpl<CopyWithOffsets>, unitTestContext, Slang::RenderApiFlag::Vulkan);
-
- runTestImpl(copyTextureTestImpl<CopySectionWithSetExtent>, unitTestContext, Slang::RenderApiFlag::D3D12);
- runTestImpl(copyTextureTestImpl<CopySectionWithSetExtent>, unitTestContext, Slang::RenderApiFlag::Vulkan);
- }
-
SLANG_UNIT_TEST(copyTextureSimple)
{
runTestImpl(copyTextureTestImpl<SimpleCopyTexture>, unitTestContext, Slang::RenderApiFlag::D3D12);