diff options
Diffstat (limited to 'tools/gfx-unit-test/get-buffer-resource-handle-test.cpp')
| -rw-r--r-- | tools/gfx-unit-test/get-buffer-resource-handle-test.cpp | 51 |
1 files changed, 24 insertions, 27 deletions
diff --git a/tools/gfx-unit-test/get-buffer-resource-handle-test.cpp b/tools/gfx-unit-test/get-buffer-resource-handle-test.cpp index 102986616..67b355376 100644 --- a/tools/gfx-unit-test/get-buffer-resource-handle-test.cpp +++ b/tools/gfx-unit-test/get-buffer-resource-handle-test.cpp @@ -1,47 +1,43 @@ #include "core/slang-basic.h" #include "gfx-test-util.h" -#include "gfx-util/shader-cursor.h" -#include "slang-gfx.h" +#include "slang-rhi/shader-cursor.h" #include "unit-test/slang-unit-test.h" +#include <slang-rhi.h> + #if SLANG_WINDOWS_FAMILY #include <d3d12.h> #endif -using namespace gfx; +using namespace rhi; namespace gfx_test { void getBufferResourceHandleTestImpl(IDevice* device, UnitTestContext* context) { const int numberCount = 1; - IBufferResource::Desc bufferDesc = {}; - bufferDesc.sizeInBytes = numberCount * sizeof(float); - bufferDesc.format = gfx::Format::Unknown; + BufferDesc bufferDesc = {}; + bufferDesc.size = numberCount * sizeof(float); + bufferDesc.format = rhi::Format::Undefined; bufferDesc.elementSize = sizeof(float); - bufferDesc.allowedStates = ResourceStateSet( - ResourceState::ShaderResource, - ResourceState::UnorderedAccess, - ResourceState::CopyDestination, - ResourceState::CopySource); bufferDesc.defaultState = ResourceState::UnorderedAccess; bufferDesc.memoryType = MemoryType::DeviceLocal; + bufferDesc.usage = BufferUsage::UnorderedAccess | BufferUsage::ShaderResource | + BufferUsage::CopySource | BufferUsage::CopyDestination; - ComPtr<IBufferResource> buffer; - GFX_CHECK_CALL_ABORT(device->createBufferResource(bufferDesc, nullptr, buffer.writeRef())); + ComPtr<IBuffer> buffer; + GFX_CHECK_CALL_ABORT(device->createBuffer(bufferDesc, nullptr, buffer.writeRef())); - InteropHandle handle; - GFX_CHECK_CALL_ABORT(buffer->getNativeResourceHandle(&handle)); - if (device->getDeviceInfo().deviceType == gfx::DeviceType::Vulkan) + NativeHandle handle; + GFX_CHECK_CALL_ABORT(buffer->getNativeHandle(&handle)); + if (device->getInfo().deviceType == rhi::DeviceType::Vulkan) { - SLANG_CHECK(handle.handleValue != 0); - SLANG_CHECK(handle.api == InteropHandleAPI::Vulkan); + SLANG_CHECK(handle.value != 0); } #if SLANG_WINDOWS_FAMILY else { - SLANG_CHECK(handle.api == InteropHandleAPI::D3D12); - auto d3d12Handle = (ID3D12Resource*)handle.handleValue; + auto d3d12Handle = (ID3D12Resource*)handle.value; Slang::ComPtr<IUnknown> testHandle1; GFX_CHECK_CALL_ABORT(d3d12Handle->QueryInterface<IUnknown>(testHandle1.writeRef())); Slang::ComPtr<ID3D12Resource> testHandle2; @@ -53,23 +49,24 @@ void getBufferResourceHandleTestImpl(IDevice* device, UnitTestContext* context) void getBufferResourceHandleTestAPI(UnitTestContext* context, Slang::RenderApiFlag::Enum api) { - gfxEnableDebugLayer(context->enableDebugLayers); + if (context->enableDebugLayers) + getRHI()->enableDebugLayers(); if ((api & context->enabledApis) == 0) { SLANG_IGNORE_TEST; } Slang::ComPtr<IDevice> device; - IDevice::Desc deviceDesc = {}; + DeviceDesc deviceDesc = {}; switch (api) { case Slang::RenderApiFlag::D3D11: - deviceDesc.deviceType = gfx::DeviceType::DirectX11; + deviceDesc.deviceType = rhi::DeviceType::D3D11; break; case Slang::RenderApiFlag::D3D12: - deviceDesc.deviceType = gfx::DeviceType::DirectX12; + deviceDesc.deviceType = rhi::DeviceType::D3D12; break; case Slang::RenderApiFlag::Vulkan: - deviceDesc.deviceType = gfx::DeviceType::Vulkan; + deviceDesc.deviceType = rhi::DeviceType::Vulkan; break; default: SLANG_IGNORE_TEST; @@ -78,14 +75,14 @@ void getBufferResourceHandleTestAPI(UnitTestContext* context, Slang::RenderApiFl 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()); + auto createDeviceResult = getRHI()->createDevice(deviceDesc, device.writeRef()); if (SLANG_FAILED(createDeviceResult)) { SLANG_IGNORE_TEST; } // Ignore this test on swiftshader. Swiftshader seems to have a bug that causes the test // to crash. - if (Slang::String(device->getDeviceInfo().adapterName).toLower().contains("swiftshader")) + if (Slang::String(device->getInfo().adapterName).toLower().contains("swiftshader")) { SLANG_IGNORE_TEST; } |
