Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/vkd3d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Rebohle <philip.rebohle@tu-dortmund.de>2021-11-25 20:14:03 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2021-11-26 18:51:01 +0300
commitf5a6d49e872d2ae371b5f80e4238401ffa3eca08 (patch)
tree38dac16f4c60e60ee8cb0dacc75bd5d0cfa676ee
parenta99914b6ea89a6532ae5e599d64a7ba6a775263a (diff)
tests: Add test for clearing BGRA8 UAVs.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
-rw-r--r--tests/d3d12_clear.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/d3d12_clear.c b/tests/d3d12_clear.c
index 900ec094..207d67dc 100644
--- a/tests/d3d12_clear.c
+++ b/tests/d3d12_clear.c
@@ -634,6 +634,7 @@ void test_clear_unordered_access_view_buffer(void)
void test_clear_unordered_access_view_image(void)
{
+ D3D12_FEATURE_DATA_FORMAT_SUPPORT format_support;
unsigned int expected_colour, actual_colour;
D3D12_UNORDERED_ACCESS_VIEW_DESC uav_desc;
ID3D12DescriptorHeap *cpu_heap, *gpu_heap;
@@ -716,6 +717,9 @@ void test_clear_unordered_access_view_image(void)
{DXGI_FORMAT_R11G11B10_FLOAT, 1, 1, 0, 0, 1, 0, {{0}},
{0x3f000000 /* 1.0f */, 0 /* 0.0f */, 0xbf800000 /* -1.0f */, 0x3f000000 /* 1.0f */},
0x00000380, true},
+ {DXGI_FORMAT_B8G8R8A8_UNORM, 1, 1, 0, 0, 1, 0, {{0}},
+ {0, 0, 0x3f000080 /* 0.5f + epsilon */, 0x3f800000 /* 1.0f */}, 0xff000080, true},
+ {DXGI_FORMAT_B8G8R8A8_UNORM, 1, 1, 0, 0, 1, 0, {{0}}, {1, 2, 3, 4}, 0x04010203},
};
static const struct
@@ -755,6 +759,17 @@ void test_clear_unordered_access_view_image(void)
if (tests[i].image_layers > 1 && !uav_dimensions[d].is_layered)
continue;
+ memset(&format_support, 0, sizeof(format_support));
+ format_support.Format = tests[i].format;
+
+ if (FAILED(hr = ID3D12Device_CheckFeatureSupport(device,
+ D3D12_FEATURE_FORMAT_SUPPORT, &format_support, sizeof(format_support))) ||
+ !(format_support.Support1 & D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW))
+ {
+ skip("Format %u not supported.\n", tests[i].format);
+ continue;
+ }
+
resource_desc.Dimension = uav_dimensions[d].resource_dim;
resource_desc.Alignment = D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT;
resource_desc.Width = IMAGE_SIZE;