diff options
Diffstat (limited to 'tools/gfx-unit-test/gfx-test-util.cpp')
| -rw-r--r-- | tools/gfx-unit-test/gfx-test-util.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tools/gfx-unit-test/gfx-test-util.cpp b/tools/gfx-unit-test/gfx-test-util.cpp index 619d2feb0..7514f22cf 100644 --- a/tools/gfx-unit-test/gfx-test-util.cpp +++ b/tools/gfx-unit-test/gfx-test-util.cpp @@ -150,6 +150,14 @@ namespace gfx_test SLANG_CHECK(memcmp(resultBlob->getBufferPointer(), expectedResult, expectedBufferSize) == 0); } + void compareComputeResultFuzzy(const float* result, float* expectedResult, size_t expectedBufferSize) + { + for (int i = 0; i < expectedBufferSize / sizeof(float); ++i) + { + SLANG_CHECK(abs(result[i] - expectedResult[i]) <= 0.01); + } + } + void compareComputeResultFuzzy(gfx::IDevice* device, gfx::IBufferResource* buffer, float* expectedResult, size_t expectedBufferSize) { // Read back the results. @@ -159,10 +167,7 @@ namespace gfx_test SLANG_CHECK(resultBlob->getBufferSize() == expectedBufferSize); // Compare results with a tolerance of 0.01. auto result = (float*)resultBlob->getBufferPointer(); - for (int i = 0; i < expectedBufferSize / sizeof(float); ++i) - { - SLANG_CHECK(abs(result[i] - expectedResult[i]) <= 0.01); - } + compareComputeResultFuzzy(result, expectedResult, expectedBufferSize); } Slang::ComPtr<gfx::IDevice> createTestingDevice(UnitTestContext* context, Slang::RenderApiFlag::Enum api) |
