From 01550d82a14b3502ab70098e89d2a2b2d67a6940 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sun, 2 Dec 2018 09:44:18 -0800 Subject: Added explicit state transition control to UpdateBuffer and UpdateTexture commands --- DiligentCore | 2 +- DiligentSamples | 2 +- Tests/TestApp/src/TestApp.cpp | 2 +- Tests/TestApp/src/TestBufferAccess.cpp | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiligentCore b/DiligentCore index da6bb5d..466dff5 160000 --- a/DiligentCore +++ b/DiligentCore @@ -1 +1 @@ -Subproject commit da6bb5d0d93e550a32da19550df21521ce2da505 +Subproject commit 466dff5b223bd3f4af7963fec546ff179a745556 diff --git a/DiligentSamples b/DiligentSamples index db77cda..7c674dc 160000 --- a/DiligentSamples +++ b/DiligentSamples @@ -1 +1 @@ -Subproject commit db77cda0d8fb7d3fa3c62614628cbe0fcdb936b0 +Subproject commit 7c674dc8ee36c174fc2b86a394c6f3faf93ecadc diff --git a/Tests/TestApp/src/TestApp.cpp b/Tests/TestApp/src/TestApp.cpp index a4b0519..ab0b088 100644 --- a/Tests/TestApp/src/TestApp.cpp +++ b/Tests/TestApp/src/TestApp.cpp @@ -638,7 +638,7 @@ void TestApp::Render() double dCurrTime = m_CurrTime; float instance_offsets[] = { -0.3f, (float)sin(dCurrTime + 0.5)*0.1f, 0.0f, (float)sin(dCurrTime)*0.1f, +0.3f, -0.3f + (float)cos(dCurrTime)*0.1f }; - m_pImmediateContext->UpdateBuffer(m_pInstBuff2, sizeof(float) * 1, sizeof(float) * 5, &instance_offsets[1]); + m_pImmediateContext->UpdateBuffer(m_pInstBuff2, sizeof(float) * 1, sizeof(float) * 5, &instance_offsets[1], RESOURCE_STATE_TRANSITION_MODE_TRANSITION); m_pImmediateContext->CopyBuffer(m_pInstBuff2, sizeof(float) * 2, m_pInstBuff, sizeof(float) * 2, sizeof(float) * 4); { diff --git a/Tests/TestApp/src/TestBufferAccess.cpp b/Tests/TestApp/src/TestBufferAccess.cpp index ac36264..14d097b 100644 --- a/Tests/TestApp/src/TestBufferAccess.cpp +++ b/Tests/TestApp/src/TestBufferAccess.cpp @@ -184,7 +184,7 @@ void TestBufferAccess::Draw(float fTime) instance_offsets[Inst*2] = (1+Inst) * fDX; instance_offsets[Inst*2+1] = 1.f * fDY + sin(fTime) * fDY * 0.3f; } - m_pDeviceContext->UpdateBuffer(m_pInstBuff[1], sizeof( float ) * 2, sizeof( float ) * 4, &instance_offsets[2] ); + m_pDeviceContext->UpdateBuffer(m_pInstBuff[1], sizeof( float ) * 2, sizeof( float ) * 4, &instance_offsets[2], RESOURCE_STATE_TRANSITION_MODE_TRANSITION ); pBuffs[3] = m_pInstBuff[1]; m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET ); @@ -197,7 +197,7 @@ void TestBufferAccess::Draw(float fTime) instance_offsets[Inst*2] = (1+Inst) * fDX; instance_offsets[Inst*2+1] = 2.f * fDY + sin(fTime*0.8f) * fDY * 0.3f; } - m_pDeviceContext->UpdateBuffer(m_pInstBuff[2], sizeof( float ) * 2, sizeof( float ) * 4, &instance_offsets[2] ); + m_pDeviceContext->UpdateBuffer(m_pInstBuff[2], sizeof( float ) * 2, sizeof( float ) * 4, &instance_offsets[2], RESOURCE_STATE_TRANSITION_MODE_TRANSITION ); m_pDeviceContext->CopyBuffer(m_pInstBuff[2], sizeof( float ) * 2, m_pInstBuff[1], sizeof( float ) * 2, sizeof( float ) * 4 ); m_pDeviceContext->Draw(DrawAttrs); -- cgit v1.2.3