diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-12-03 17:33:43 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-12-03 17:33:43 +0000 |
| commit | 54bdcc4e5c3aac56d22da3aaf3cac10dd6807bdf (patch) | |
| tree | f3911330de9cac5af8f8045270b0879585e3bb2a /Tests/TestApp/src | |
| parent | Fixed linux build (diff) | |
| download | DiligentEngine-54bdcc4e5c3aac56d22da3aaf3cac10dd6807bdf.tar.gz DiligentEngine-54bdcc4e5c3aac56d22da3aaf3cac10dd6807bdf.zip | |
Updated the API (SetVertexBuffers, SetIndexBuffers, DRAW_FLAGS and other)
Diffstat (limited to 'Tests/TestApp/src')
| -rw-r--r-- | Tests/TestApp/src/TestApp.cpp | 4 | ||||
| -rw-r--r-- | Tests/TestApp/src/TestBufferAccess.cpp | 13 | ||||
| -rw-r--r-- | Tests/TestApp/src/TestDrawCommands.cpp | 81 | ||||
| -rw-r--r-- | Tests/TestApp/src/TestShaderResArrays.cpp | 4 | ||||
| -rw-r--r-- | Tests/TestApp/src/TestTexturing.cpp | 4 |
5 files changed, 57 insertions, 49 deletions
diff --git a/Tests/TestApp/src/TestApp.cpp b/Tests/TestApp/src/TestApp.cpp index 3a43243..b1b0cce 100644 --- a/Tests/TestApp/src/TestApp.cpp +++ b/Tests/TestApp/src/TestApp.cpp @@ -527,7 +527,7 @@ void TestApp::InitializeRenderers() m_pImmediateContext->ClearRenderTarget(nullptr, ClearColor, RESOURCE_STATE_TRANSITION_MODE_VERIFY); DrawAttribs DrawAttrs; DrawAttrs.NumVertices = 3; - DrawAttrs.Flags = DRAW_FLAG_TRANSITION_VERTEX_BUFFERS; + DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pRenderScript->Run(m_pImmediateContext, "DrawTris", DrawAttrs); // This adds transition barrier for pTex1 @@ -663,7 +663,7 @@ void TestApp::Render() DrawAttrs.NumIndices = 3; DrawAttrs.IndexType = VT_UINT32; DrawAttrs.NumInstances = 3; - DrawAttrs.Flags = DRAW_FLAG_TRANSITION_INDEX_BUFFER | DRAW_FLAG_TRANSITION_VERTEX_BUFFERS; + DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pRenderScript->Run(m_pImmediateContext, "DrawTris", DrawAttrs); m_pTestDrawCommands->Draw(); m_pTestBufferAccess->Draw((float)dCurrTime); diff --git a/Tests/TestApp/src/TestBufferAccess.cpp b/Tests/TestApp/src/TestBufferAccess.cpp index 09e6e12..e75a51d 100644 --- a/Tests/TestApp/src/TestBufferAccess.cpp +++ b/Tests/TestApp/src/TestBufferAccess.cpp @@ -166,12 +166,12 @@ void TestBufferAccess::Draw(float fTime) IBuffer *pBuffs[] = {nullptr, m_pVertexBuff, nullptr, m_pInstBuff[0], nullptr}; Uint32 Offsets[_countof( pBuffs )] = {0, 0, 0, 0, 0}; - m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET ); + m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_TRANSITION, SET_VERTEX_BUFFERS_FLAG_RESET ); DrawAttribs DrawAttrs; DrawAttrs.NumVertices = 3; DrawAttrs.NumInstances = NumInstances; - DrawAttrs.Flags = DRAW_FLAG_TRANSITION_VERTEX_BUFFERS; + DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw(DrawAttrs); @@ -187,7 +187,7 @@ void TestBufferAccess::Draw(float fTime) 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 ); + m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_TRANSITION, SET_VERTEX_BUFFERS_FLAG_RESET ); m_pDeviceContext->Draw(DrawAttrs); @@ -199,7 +199,8 @@ void TestBufferAccess::Draw(float fTime) } 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, RESOURCE_STATE_TRANSITION_MODE_TRANSITION, m_pInstBuff[1], sizeof( float ) * 2, sizeof( float ) * 4, RESOURCE_STATE_TRANSITION_MODE_TRANSITION ); - + StateTransitionDesc Barrier(m_pInstBuff[1], RESOURCE_STATE_UNKNOWN, RESOURCE_STATE_VERTEX_BUFFER, true); + m_pDeviceContext->TransitionResourceStates(1, &Barrier); m_pDeviceContext->Draw(DrawAttrs); for(int Inst = 0; Inst < NumInstances; ++Inst) @@ -215,7 +216,7 @@ void TestBufferAccess::Draw(float fTime) } pBuffs[3] = m_pInstBuff[3]; - m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET ); + m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_TRANSITION, SET_VERTEX_BUFFERS_FLAG_RESET ); m_pDeviceContext->Draw(DrawAttrs); @@ -254,7 +255,7 @@ void TestBufferAccess::Draw(float fTime) m_pDeviceContext->TransitionResourceStates(2, Barriers); m_pDeviceContext->CopyBuffer(m_pInstBuff[5], 0, RESOURCE_STATE_TRANSITION_MODE_VERIFY, m_pInstBuff[2], 0, sizeof( instance_offsets ), RESOURCE_STATE_TRANSITION_MODE_VERIFY ); pBuffs[3] = m_pInstBuff[2]; - m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET ); + m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_TRANSITION, SET_VERTEX_BUFFERS_FLAG_RESET ); m_pDeviceContext->Draw(DrawAttrs); diff --git a/Tests/TestApp/src/TestDrawCommands.cpp b/Tests/TestApp/src/TestDrawCommands.cpp index 345967a..c6b6a98 100644 --- a/Tests/TestApp/src/TestDrawCommands.cpp +++ b/Tests/TestApp/src/TestDrawCommands.cpp @@ -267,7 +267,7 @@ void TestDrawCommands::Draw() IBuffer *pBuffs[2] = {m_pVertexBuff, m_pInstanceData}; Uint32 Strides[] = {sizeof(float)*6, sizeof(float)*2}; Uint32 Offsets[] = {0, 0}; - m_pDeviceContext->SetVertexBuffers( 0, 1, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers( 0, 1, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_TRANSITION, SET_VERTEX_BUFFERS_FLAG_RESET); StateTransitionDesc Barriers[] = { @@ -304,7 +304,7 @@ void TestDrawCommands::Draw() // 4,5: test buffer offset Offsets[0] = 4*3*6*sizeof(float); - m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumVertices = 2*3; // Draw 2 triangles @@ -325,7 +325,7 @@ void TestDrawCommands::Draw() Strides[0] *= 2; m_pDeviceContext->SetPipelineState(m_pPSO_2xStride); m_pDeviceContext->CommitShaderResources(m_pSRB, RESOURCE_STATE_TRANSITION_MODE_TRANSITION); - m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.StartVertexLocation = 4*3/2; // Stride is 2x @@ -345,8 +345,8 @@ void TestDrawCommands::Draw() // 2ND ROW: simple indexed rendering (glDrawElements/DrawIndexed) Offsets[0] = 1*16*3 * 6*sizeof(float); - m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); - m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0); + m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0, RESOURCE_STATE_TRANSITION_MODE_TRANSITION); // 0,1 { @@ -359,7 +359,7 @@ void TestDrawCommands::Draw() } // 2,3: test index buffer offset - m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ) ); + m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ), RESOURCE_STATE_TRANSITION_MODE_VERIFY ); { DrawAttribs DrawAttrs; @@ -376,8 +376,8 @@ void TestDrawCommands::Draw() // 3RD ROW: indexed rendering with BaseVertex (glDrawElementsBaseVertex/DrawIndexed) Offsets[0] = (2*16*3 - 10) * 6*sizeof(float); - m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); - m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0); + m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0, RESOURCE_STATE_TRANSITION_MODE_VERIFY); // 0,1 { @@ -391,7 +391,7 @@ void TestDrawCommands::Draw() } // 2,3: index buffer offset & Base Vertex - m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ) ); + m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ), RESOURCE_STATE_TRANSITION_MODE_VERIFY ); { DrawAttribs DrawAttrs; @@ -412,7 +412,7 @@ void TestDrawCommands::Draw() m_pDeviceContext->CommitShaderResources(m_pSRBInst, RESOURCE_STATE_TRANSITION_MODE_VERIFY); Offsets[0] = 3*16*3 * 6*sizeof(float); - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); // 0,1 { @@ -425,7 +425,7 @@ void TestDrawCommands::Draw() // 2,3: Test offset in instance buffer Offsets[1] = 2* Strides[1]; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumVertices = 3; // Draw 1 triangle @@ -451,8 +451,8 @@ void TestDrawCommands::Draw() // 5TH ROW: instanced rendering with base instance (glDrawArraysInstancedBaseInstance/DrawInstanced) Offsets[0] = 4*16*3 * 6*sizeof(float); Offsets[1] = 0; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); - m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0, RESOURCE_STATE_TRANSITION_MODE_VERIFY); // 0,1 { DrawAttribs DrawAttrs; @@ -475,7 +475,7 @@ void TestDrawCommands::Draw() // 4,5: test vertex buffer offset Offsets[0] += 2*3 * Strides[0]; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -487,7 +487,7 @@ void TestDrawCommands::Draw() // 6,7: test instance buffer offset Offsets[1] += 2 * Strides[1]; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -504,8 +504,8 @@ void TestDrawCommands::Draw() Offsets[0] = 5*16*3 * 6*sizeof(float); Offsets[1] = 0; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); - m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0, RESOURCE_STATE_TRANSITION_MODE_VERIFY); // 0,1 { DrawAttribs DrawAttrs; @@ -518,7 +518,7 @@ void TestDrawCommands::Draw() } // 2,3: test index buffer offset - m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ) ); + m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ), RESOURCE_STATE_TRANSITION_MODE_VERIFY ); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -531,7 +531,7 @@ void TestDrawCommands::Draw() // 4,5: test vertex buffer offset Offsets[0] += 2*3 * Strides[0]; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -544,7 +544,7 @@ void TestDrawCommands::Draw() // 6,7: test instance buffer offset Offsets[1] += 2 * Strides[1]; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -575,8 +575,8 @@ void TestDrawCommands::Draw() Offsets[0] = 6*16*3 * 6*sizeof(float); Offsets[1] = 0; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); - m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0, RESOURCE_STATE_TRANSITION_MODE_VERIFY); // 0,1 { DrawAttribs DrawAttrs; @@ -600,7 +600,7 @@ void TestDrawCommands::Draw() } // 4,5: test index buffer offset - m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ) ); + m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ), RESOURCE_STATE_TRANSITION_MODE_VERIFY ); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -614,7 +614,7 @@ void TestDrawCommands::Draw() // 6,7: test instance buffer offset Offsets[1] += Strides[1] * 2; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -646,8 +646,8 @@ void TestDrawCommands::Draw() Offsets[0] = 7*16*3 * 6*sizeof(float); Offsets[1] = 0; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); - m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0, RESOURCE_STATE_TRANSITION_MODE_VERIFY); // 0,1 { DrawAttribs DrawAttrs; @@ -672,7 +672,7 @@ void TestDrawCommands::Draw() } // 4,5: test index buffer offset - m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ) ); + m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ), RESOURCE_STATE_TRANSITION_MODE_VERIFY ); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -686,7 +686,7 @@ void TestDrawCommands::Draw() // 6,7: test instance buffer offset Offsets[1] += Strides[1] * 2; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -718,8 +718,8 @@ void TestDrawCommands::Draw() Offsets[0] = 8*16*3 * 6*sizeof(float); Offsets[1] = 0; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); - m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0, RESOURCE_STATE_TRANSITION_MODE_VERIFY); // 0,1 { DrawAttribs DrawAttrs; @@ -745,7 +745,7 @@ void TestDrawCommands::Draw() } // 4,5: test index buffer offset - m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ) ); + m_pDeviceContext->SetIndexBuffer( m_pIndexBuff, 2 * 3 * sizeof( Uint32 ), RESOURCE_STATE_TRANSITION_MODE_VERIFY ); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -760,7 +760,7 @@ void TestDrawCommands::Draw() // 6,7: test instance buffer offset Offsets[1] += Strides[1] * 2; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); { DrawAttribs DrawAttrs; DrawAttrs.NumIndices = 3; // Draw 1 triangle @@ -797,7 +797,7 @@ void TestDrawCommands::Draw() // Test indirect non-indexed drawing Offsets[0] = 9*16*3 * 6*sizeof(float); Offsets[1] = 0; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); // 0,1 { @@ -810,6 +810,7 @@ void TestDrawCommands::Draw() DrawAttribs DrawAttrs; DrawAttrs.pIndirectDrawAttribs = m_pIndirectDrawArgs; + DrawAttrs.IndirectAttribsBufferStateTransitionMode = RESOURCE_STATE_TRANSITION_MODE_TRANSITION; DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw(DrawAttrs); } @@ -824,6 +825,7 @@ void TestDrawCommands::Draw() MappedData.Unmap(); DrawAttribs DrawAttrs; DrawAttrs.pIndirectDrawAttribs = m_pIndirectDrawArgs; + DrawAttrs.IndirectAttribsBufferStateTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw(DrawAttrs); } @@ -838,6 +840,7 @@ void TestDrawCommands::Draw() MappedData.Unmap(); DrawAttribs DrawAttrs; DrawAttrs.pIndirectDrawAttribs = m_pIndirectDrawArgs; + DrawAttrs.IndirectAttribsBufferStateTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw(DrawAttrs); } @@ -851,8 +854,8 @@ void TestDrawCommands::Draw() Offsets[0] = 10*16*3 * 6*sizeof(float); Offsets[1] = 0; - m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); - m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0); + m_pDeviceContext->SetVertexBuffers(0, 2, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetIndexBuffer(m_pIndexBuff, 0, RESOURCE_STATE_TRANSITION_MODE_VERIFY); // 0,1 { @@ -868,6 +871,7 @@ void TestDrawCommands::Draw() DrawAttrs.IsIndexed = true; DrawAttrs.IndexType = VT_UINT32; DrawAttrs.pIndirectDrawAttribs = m_pIndexedIndirectDrawArgs; + DrawAttrs.IndirectAttribsBufferStateTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw(DrawAttrs); } @@ -886,6 +890,7 @@ void TestDrawCommands::Draw() DrawAttrs.IsIndexed = true; DrawAttrs.IndexType = VT_UINT32; DrawAttrs.pIndirectDrawAttribs = m_pIndexedIndirectDrawArgs; + DrawAttrs.IndirectAttribsBufferStateTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw(DrawAttrs); } @@ -904,6 +909,7 @@ void TestDrawCommands::Draw() DrawAttrs.IsIndexed = true; DrawAttrs.IndexType = VT_UINT32; DrawAttrs.pIndirectDrawAttribs = m_pIndexedIndirectDrawArgs; + DrawAttrs.IndirectAttribsBufferStateTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw(DrawAttrs); } @@ -922,6 +928,7 @@ void TestDrawCommands::Draw() DrawAttrs.IsIndexed = true; DrawAttrs.IndexType = VT_UINT32; DrawAttrs.pIndirectDrawAttribs = m_pIndexedIndirectDrawArgs; + DrawAttrs.IndirectAttribsBufferStateTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw(DrawAttrs); } @@ -931,7 +938,7 @@ void TestDrawCommands::Draw() // Draw end triangles Offsets[0] = 0; pBuffs[0] = m_pVertexBuff2; - m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET); + m_pDeviceContext->SetVertexBuffers(0, 1, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET); m_pDeviceContext->SetPipelineState(m_pPSO); m_pDeviceContext->CommitShaderResources(m_pSRB, RESOURCE_STATE_TRANSITION_MODE_TRANSITION); @@ -949,7 +956,7 @@ void TestDrawCommands::Draw() } } - m_pDeviceContext->SetVertexBuffers( 0, 0, nullptr, nullptr, SET_VERTEX_BUFFERS_FLAG_RESET ); + m_pDeviceContext->SetVertexBuffers( 0, 0, nullptr, nullptr, RESOURCE_STATE_TRANSITION_MODE_VERIFY, SET_VERTEX_BUFFERS_FLAG_RESET ); SetStatus(TestResult::Succeeded); } diff --git a/Tests/TestApp/src/TestShaderResArrays.cpp b/Tests/TestApp/src/TestShaderResArrays.cpp index f026ee9..93b97e6 100644 --- a/Tests/TestApp/src/TestShaderResArrays.cpp +++ b/Tests/TestApp/src/TestShaderResArrays.cpp @@ -187,11 +187,11 @@ void TestShaderResArrays::Draw() IBuffer *pBuffs[] = {m_pVertexBuff}; Uint32 Offsets[] = {0}; - m_pDeviceContext->SetVertexBuffers( 0, 1, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET ); + m_pDeviceContext->SetVertexBuffers( 0, 1, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_TRANSITION, SET_VERTEX_BUFFERS_FLAG_RESET ); Diligent::DrawAttribs DrawAttrs; DrawAttrs.NumVertices = 4; // Draw quad - DrawAttrs.Flags = DRAW_FLAG_TRANSITION_VERTEX_BUFFERS; + DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw( DrawAttrs ); SetStatus(TestResult::Succeeded); diff --git a/Tests/TestApp/src/TestTexturing.cpp b/Tests/TestApp/src/TestTexturing.cpp index dd020ee..e00981e 100644 --- a/Tests/TestApp/src/TestTexturing.cpp +++ b/Tests/TestApp/src/TestTexturing.cpp @@ -290,11 +290,11 @@ void TestTexturing::Draw() IBuffer *pBuffs[] = {m_pVertexBuff}; Uint32 Offsets[] = {0}; - m_pDeviceContext->SetVertexBuffers( 0, 1, pBuffs, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET ); + m_pDeviceContext->SetVertexBuffers( 0, 1, pBuffs, Offsets, RESOURCE_STATE_TRANSITION_MODE_TRANSITION, SET_VERTEX_BUFFERS_FLAG_RESET ); Diligent::DrawAttribs DrawAttrs; DrawAttrs.NumVertices = 4; // Draw quad - DrawAttrs.Flags = DRAW_FLAG_TRANSITION_VERTEX_BUFFERS; + DrawAttrs.Flags = DRAW_FLAG_VERIFY_STATES; m_pDeviceContext->Draw( DrawAttrs ); SetStatus(TestResult::Succeeded); |
