From 33b3131960b4967b5aee5a029992c83e7c1cb80f Mon Sep 17 00:00:00 2001 From: squidbus <175574877+squidbus@users.noreply.github.com> Date: Thu, 2 Oct 2025 12:01:47 -0700 Subject: [PATCH] D3D12: Fixes for latest SDK. Co-Authored-By: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com> --- plume_d3d12.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plume_d3d12.cpp b/plume_d3d12.cpp index e467415..485d5ee 100644 --- a/plume_d3d12.cpp +++ b/plume_d3d12.cpp @@ -1890,6 +1890,10 @@ namespace plume { auto makeBarrier = [&](ID3D12Resource *resource, D3D12_RESOURCE_STATES stateBefore, D3D12_RESOURCE_STATES stateAfter, bool supportsUAV, D3D12_RESOURCE_BARRIER &resourceBarrier) { resourceBarrier = {}; + if (queue->type == RenderCommandListType::COPY) { + return false; + } + if (stateBefore != stateAfter) { resourceBarrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION; resourceBarrier.Transition.StateBefore = stateBefore; @@ -2581,11 +2585,13 @@ namespace plume { this->device = device; - HRESULT res = device->d3d->CreateFence(0, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&d3d)); + HRESULT res = device->d3d->CreateFence(1, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&d3d)); if (FAILED(res)) { fprintf(stderr, "CreateFence failed with error code 0x%lX.\n", res); return; } + + semaphoreValue = 1; } D3D12CommandSemaphore::~D3D12CommandSemaphore() {