diff options
| author | lucy96chen <47800040+lucy96chen@users.noreply.github.com> | 2021-10-04 09:46:33 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-04 09:46:33 -0700 |
| commit | b3dfe383c6d31ff3dbd76dcfb32de8d536382f3e (patch) | |
| tree | 06efb21869df7ccdca6d98ab4217b8bf75dfdd2f /tools/gfx-unit-test/get-queue-handle-test.cpp | |
| parent | 35bca4cc432613af3926da3bed217a6baa9cbd26 (diff) | |
Get native handles for TextureResource and BufferResource (#1960)
* Added getNativeHandle() to TextureResource and BufferResource; Implemented getNativeHandle() in Vulkan and D3D12; Added new unit test files for the aforementioned implementation
* Added missing getNativeHandle() implementations to renderer-shared.cpp and CUDA
* Finished new getNativeHandle() unit tests for ITextureResource and IBufferResource; Modified ICommandQueue and ICommandBuffer unit tests to call QueryInterface to convert to IUnknown then back and compare resulting pointers for equality
* Unit tests updated and pass locally
* Cast m_buffer.m_buffer and m_image to uint64_t
Diffstat (limited to 'tools/gfx-unit-test/get-queue-handle-test.cpp')
| -rw-r--r-- | tools/gfx-unit-test/get-queue-handle-test.cpp | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/tools/gfx-unit-test/get-queue-handle-test.cpp b/tools/gfx-unit-test/get-queue-handle-test.cpp deleted file mode 100644 index f16e740bf..000000000 --- a/tools/gfx-unit-test/get-queue-handle-test.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "tools/unit-test/slang-unit-test.h" - -#include "slang-gfx.h" -#include "gfx-test-util.h" -#include "tools/gfx-util/shader-cursor.h" -#include "source/core/slang-basic.h" - -#if SLANG_WINDOWS_FAMILY -#include <d3d12.h> -#endif - -using namespace gfx; - -namespace gfx_test -{ - void getQueueHandleTestImpl(IDevice* device, UnitTestContext* context) - { - ICommandQueue::Desc queueDesc = { ICommandQueue::QueueType::Graphics }; - auto queue = device->createCommandQueue(queueDesc); - ICommandQueue::NativeHandle handle; - GFX_CHECK_CALL_ABORT(queue->getNativeHandle(&handle)); - if (device->getDeviceInfo().deviceType == gfx::DeviceType::Vulkan) - { - // Check that the handle is not null, which is defined as 0. - SLANG_CHECK(handle != 0); - } -#if SLANG_WINDOWS_FAMILY - else - { - auto d3d12Queue = (ID3D12CommandQueue*)handle; - Slang::ComPtr<IUnknown> testHandle; - GFX_CHECK_CALL_ABORT(d3d12Queue->QueryInterface<IUnknown>(testHandle.writeRef())); - } -#endif - } - - void getQueueHandleTestAPI(UnitTestContext* context, Slang::RenderApiFlag::Enum api) - { - if ((api & context->enabledApis) == 0) - { - SLANG_IGNORE_TEST; - } - Slang::ComPtr<IDevice> device; - IDevice::Desc deviceDesc = {}; - switch (api) - { - case Slang::RenderApiFlag::D3D11: - deviceDesc.deviceType = gfx::DeviceType::DirectX11; - break; - case Slang::RenderApiFlag::D3D12: - deviceDesc.deviceType = gfx::DeviceType::DirectX12; - break; - case Slang::RenderApiFlag::Vulkan: - deviceDesc.deviceType = gfx::DeviceType::Vulkan; - break; - default: - SLANG_IGNORE_TEST; - } - deviceDesc.slang.slangGlobalSession = context->slangGlobalSession; - const char* searchPaths[] = { "", "../../tools/gfx-unit-test", "tools/gfx-unit-test" }; - deviceDesc.slang.searchPathCount = (SlangInt)SLANG_COUNT_OF(searchPaths); - deviceDesc.slang.searchPaths = searchPaths; - auto createDeviceResult = gfxCreateDevice(&deviceDesc, device.writeRef()); - if (SLANG_FAILED(createDeviceResult)) - { - SLANG_IGNORE_TEST; - } - - getQueueHandleTestImpl(device, context); - } - - SLANG_UNIT_TEST(getQueueHandleD3D12) - { - return getQueueHandleTestAPI(unitTestContext, Slang::RenderApiFlag::D3D12); - } - - SLANG_UNIT_TEST(getQueueHandleVulkan) - { - return getQueueHandleTestAPI(unitTestContext, Slang::RenderApiFlag::Vulkan); - } - -} |
