Skip to content

Commit d6059b5

Browse files
Use IDeviceContext::TransitionResourceState for single-resource transitions
1 parent 5e81f1e commit d6059b5

File tree

7 files changed

+22
-22
lines changed

7 files changed

+22
-22
lines changed

Samples/Asteroids/src/asteroids_DE.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -865,7 +865,7 @@ void Asteroids::RenderSubset(Uint32 SubsetNum,
865865
}
866866

867867
StateTransitionDesc Barrier{mAsteroidsDataBuffers[SubsetNum], RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_SHADER_RESOURCE, STATE_TRANSITION_FLAG_UPDATE_STATE};
868-
pCtx->TransitionResourceStates(1, &Barrier);
868+
pCtx->TransitionResourceState(Barrier);
869869

870870
// Commit and verify resources
871871
pCtx->CommitShaderResources(mAsteroidsSRBs[SubsetNum], RESOURCE_STATE_TRANSITION_MODE_VERIFY);
@@ -945,7 +945,7 @@ void Asteroids::Render(float frameTime, const OrbitCamera& camera, const Setting
945945
mDeviceCtxt->UpdateBuffer(mDrawConstantBuffer, 0, sizeof(DirectX::XMFLOAT4X4), (void*)&viewProjection, RESOURCE_STATE_TRANSITION_MODE_TRANSITION);
946946
// Explicitly transition the buffer to CONSTANT_BUFFER state
947947
StateTransitionDesc Barrier{mDrawConstantBuffer, RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_CONSTANT_BUFFER, STATE_TRANSITION_FLAG_UPDATE_STATE};
948-
mDeviceCtxt->TransitionResourceStates(1, &Barrier);
948+
mDeviceCtxt->TransitionResourceState(Barrier);
949949
}
950950

951951
if (settings.multithreadedRendering)

Tutorials/Tutorial09_Quads/src/Tutorial09_Quads.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2019-2025 Diligent Graphics LLC
2+
* Copyright 2019-2026 Diligent Graphics LLC
33
* Copyright 2015-2019 Egor Yusov
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -680,7 +680,7 @@ void Tutorial09_Quads::CreateInstanceBuffer()
680680
m_BatchDataBuffer.Release();
681681
m_pDevice->CreateBuffer(InstBuffDesc, nullptr, &m_BatchDataBuffer);
682682
StateTransitionDesc Barrier(m_BatchDataBuffer, RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_VERTEX_BUFFER, STATE_TRANSITION_FLAG_UPDATE_STATE);
683-
m_pImmediateContext->TransitionResourceStates(1, &Barrier);
683+
m_pImmediateContext->TransitionResourceState(Barrier);
684684
}
685685

686686
void Tutorial09_Quads::Update(double CurrTime, double ElapsedTime, bool DoUpdateUI)

Tutorials/Tutorial16_BindlessResources/src/Tutorial16_BindlessResources.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2019-2025 Diligent Graphics LLC
2+
* Copyright 2019-2026 Diligent Graphics LLC
33
* Copyright 2015-2019 Egor Yusov
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -113,7 +113,7 @@ void Tutorial16_BindlessResources::CreatePipelineState()
113113
// Dynamic buffers can be frequently updated by the CPU
114114
CreateUniformBuffer(m_pDevice, sizeof(float4x4) * 2, "VS constants CB", &m_VSConstants);
115115
StateTransitionDesc Barrier{m_VSConstants, RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_CONSTANT_BUFFER, STATE_TRANSITION_FLAG_UPDATE_STATE};
116-
m_pImmediateContext->TransitionResourceStates(1, &Barrier);
116+
m_pImmediateContext->TransitionResourceState(Barrier);
117117
}
118118

119119
// Create a pixel shader
@@ -539,7 +539,7 @@ void Tutorial16_BindlessResources::PopulateInstanceBuffer()
539539
Uint32 DataSize = static_cast<Uint32>(sizeof(InstanceData) * m_Instances.size());
540540
m_pImmediateContext->UpdateBuffer(m_InstanceBuffer, 0, DataSize, m_Instances.data(), RESOURCE_STATE_TRANSITION_MODE_TRANSITION);
541541
StateTransitionDesc Barrier(m_InstanceBuffer, RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_VERTEX_BUFFER, STATE_TRANSITION_FLAG_UPDATE_STATE);
542-
m_pImmediateContext->TransitionResourceStates(1, &Barrier);
542+
m_pImmediateContext->TransitionResourceState(Barrier);
543543
}
544544

545545

Tutorials/Tutorial23_CommandQueues/readme.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ if (m_Device->GetDeviceInfo().Type == RENDER_DEVICE_TYPE_D3D12)
397397
m_OpaqueTexAtlasDefaultState = RESOURCE_STATE_COMMON;
398398

399399
const StateTransitionDesc Barrier = {m_OpaqueTexAtlas, RESOURCE_STATE_UNKNOWN, m_OpaqueTexAtlasDefaultState};
400-
pContext->TransitionResourceStates(1, &Barrier);
400+
pContext->TransitionResourceState(Barrier);
401401

402402
m_OpaqueTexAtlas->SetState(RESOURCE_STATE_UNKNOWN);
403403
```
@@ -408,13 +408,13 @@ Same as with the compute queue, we must transit to `SHADER_RESOURCE` in the grap
408408
void Buildings::BeforeDraw(IDeviceContext* pContext)
409409
{
410410
const StateTransitionDesc Barrier{m_OpaqueTexAtlas, m_OpaqueTexAtlasDefaultState, RESOURCE_STATE_SHADER_RESOURCE};
411-
pContext->TransitionResourceStates(1, &Barrier);
411+
pContext->TransitionResourceState(Barrier);
412412
}
413413
414414
void Buildings::AfterDraw(IDeviceContext* pContext)
415415
{
416416
const StateTransitionDesc Barrier{m_OpaqueTexAtlas, RESOURCE_STATE_SHADER_RESOURCE, m_OpaqueTexAtlasDefaultState};
417-
pContext->TransitionResourceStates(1, &Barrier);
417+
pContext->TransitionResourceState(Barrier);
418418
}
419419
```
420420

@@ -426,15 +426,15 @@ void Buildings::UpdateAtlas(IDeviceContext* pContext)
426426
if (m_OpaqueTexAtlasDefaultState != RESOURCE_STATE_COPY_DEST)
427427
{
428428
const StateTransitionDesc Barrier{m_OpaqueTexAtlas, m_OpaqueTexAtlasDefaultState, RESOURCE_STATE_COPY_DEST};
429-
pContext->TransitionResourceStates(1, &Barrier);
429+
pContext->TransitionResourceState(Barrier);
430430
}
431431

432432
pContext->CopyTexture(...);
433433

434434
if (m_OpaqueTexAtlasDefaultState != RESOURCE_STATE_COPY_DEST)
435435
{
436436
const StateTransitionDesc Barrier{m_OpaqueTexAtlas, RESOURCE_STATE_COPY_DEST, m_OpaqueTexAtlasDefaultState};
437-
pContext->TransitionResourceStates(1, &Barrier);
437+
pContext->TransitionResourceState(Barrier);
438438
}
439439
}
440440
```

Tutorials/Tutorial23_CommandQueues/src/Buildings.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2019-2025 Diligent Graphics LLC
2+
* Copyright 2019-2026 Diligent Graphics LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -628,7 +628,7 @@ void Buildings::CreateResources(IDeviceContext* pContext)
628628
m_OpaqueTexAtlasDefaultState = RESOURCE_STATE_COMMON;
629629

630630
const StateTransitionDesc Barrier = {m_OpaqueTexAtlas, RESOURCE_STATE_UNKNOWN, m_OpaqueTexAtlasDefaultState};
631-
pContext->TransitionResourceStates(1, &Barrier);
631+
pContext->TransitionResourceState(Barrier);
632632

633633
// Resource is used in multiple contexts, so disable automatic resource transitions.
634634
m_OpaqueTexAtlas->SetState(RESOURCE_STATE_UNKNOWN);
@@ -812,7 +812,7 @@ void Buildings::AfterDraw(IDeviceContext* pContext)
812812
{
813813
// Resources must be manually transitioned to required state.
814814
const StateTransitionDesc Barrier{m_OpaqueTexAtlas, RESOURCE_STATE_SHADER_RESOURCE, m_OpaqueTexAtlasDefaultState};
815-
pContext->TransitionResourceStates(1, &Barrier);
815+
pContext->TransitionResourceState(Barrier);
816816
}
817817

818818
// Alpha component - brightness of self-emission
@@ -1058,7 +1058,7 @@ void Buildings::UpdateAtlas(IDeviceContext* pContext, Uint32 RequiredTransferRat
10581058
if (m_OpaqueTexAtlasDefaultState != RESOURCE_STATE_COPY_DEST)
10591059
{
10601060
const StateTransitionDesc Barrier{m_OpaqueTexAtlas, m_OpaqueTexAtlasDefaultState, RESOURCE_STATE_COPY_DEST};
1061-
pContext->TransitionResourceStates(1, &Barrier);
1061+
pContext->TransitionResourceState(Barrier);
10621062
}
10631063

10641064
Uint32 CopiedCpuToGpu = 0;
@@ -1112,7 +1112,7 @@ void Buildings::UpdateAtlas(IDeviceContext* pContext, Uint32 RequiredTransferRat
11121112
if (m_OpaqueTexAtlasDefaultState != RESOURCE_STATE_COPY_DEST)
11131113
{
11141114
const StateTransitionDesc Barrier{m_OpaqueTexAtlas, RESOURCE_STATE_COPY_DEST, m_OpaqueTexAtlasDefaultState};
1115-
pContext->TransitionResourceStates(1, &Barrier);
1115+
pContext->TransitionResourceState(Barrier);
11161116
}
11171117

11181118
pContext->EndDebugGroup();

Tutorials/Tutorial23_CommandQueues/src/Terrain.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2019-2025 Diligent Graphics LLC
2+
* Copyright 2019-2026 Diligent Graphics LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -161,7 +161,7 @@ void Terrain::CreateResources(IDeviceContext* pContext)
161161
CreateTextureFromFile("Sand.jpg", loadInfo, m_Device, &m_DiffuseMap);
162162

163163
const StateTransitionDesc Barrier = {m_DiffuseMap, RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_SHADER_RESOURCE, STATE_TRANSITION_FLAG_UPDATE_STATE};
164-
pContext->TransitionResourceStates(1, &Barrier);
164+
pContext->TransitionResourceState(Barrier);
165165
}
166166

167167
if (m_TerrainConstants[0] == nullptr || m_TerrainConstants[1] == nullptr)

Tutorials/Tutorial23_CommandQueues/src/Tutorial23_CommandQueues.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2019-2025 Diligent Graphics LLC
2+
* Copyright 2019-2026 Diligent Graphics LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -165,7 +165,7 @@ void Tutorial23_CommandQueues::DownSample()
165165
for (Uint32 Mip = 1; Mip < DownSampleFactor; ++Mip)
166166
{
167167
Barrier.FirstMipLevel = Mip - 1;
168-
m_pImmediateContext->TransitionResourceStates(1, &Barrier);
168+
m_pImmediateContext->TransitionResourceState(Barrier);
169169

170170
m_pImmediateContext->SetRenderTargets(1, &m_GBuffer.ColorRTVs[Mip], nullptr, RESOURCE_STATE_TRANSITION_MODE_VERIFY);
171171

@@ -177,7 +177,7 @@ void Tutorial23_CommandQueues::DownSample()
177177
// Now all mipmaps in m_GBuffer.Color are in SRV state, so update resource state.
178178
Barrier.FirstMipLevel = DownSampleFactor - 1;
179179
Barrier.Flags = STATE_TRANSITION_FLAG_UPDATE_STATE;
180-
m_pImmediateContext->TransitionResourceStates(1, &Barrier);
180+
m_pImmediateContext->TransitionResourceState(Barrier);
181181

182182
m_pImmediateContext->EndDebugGroup(); // Down sample pass
183183
}

0 commit comments

Comments
 (0)