From ec3e81b7a7be77836ac52dc6168aa5ac4c498217 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sat, 17 Feb 2018 12:58:17 -0800 Subject: Added test result reporting --- Tests/TestApp/src/TestBufferAccess.cpp | 84 ++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 39 deletions(-) (limited to 'Tests/TestApp/src/TestBufferAccess.cpp') diff --git a/Tests/TestApp/src/TestBufferAccess.cpp b/Tests/TestApp/src/TestBufferAccess.cpp index 376be0e..e74d592 100644 --- a/Tests/TestApp/src/TestBufferAccess.cpp +++ b/Tests/TestApp/src/TestBufferAccess.cpp @@ -33,6 +33,7 @@ using namespace Diligent; TestBufferAccess::TestBufferAccess() : + UnitTestBase("Buffer access test"), m_fXExtent(0), m_fYExtent(0) {} @@ -215,52 +216,57 @@ void TestBufferAccess::Draw(float fTime) m_pDeviceContext->Draw(DrawAttrs); -return; - MapHelper pStagingData; - // Test reading data from staging resource + bool TestStagingBuffers = false; + if(TestStagingBuffers) { - m_pInstBuff[4]->CopyData( m_pDeviceContext, m_pInstBuff[3], 0, 0, sizeof( instance_offsets ) ); - pStagingData.Map( m_pDeviceContext, m_pInstBuff[4], MAP_READ, 0 ); - for(int i = 0; i < _countof(instance_offsets); ++i) - assert(pStagingData[i] == instance_offsets[i]); - pStagingData.Unmap(); - } - - // D3D12 does not allow writing to the CPU-readable buffers - if(m_pRenderDevice->GetDeviceCaps().DevType != DeviceType::D3D12) - { - // Test writing data to staging resource + MapHelper pStagingData; + // Test reading data from staging resource { - pStagingData.Map( m_pDeviceContext, m_pInstBuff[5], MAP_WRITE, 0 ); - for(int Inst = 0; Inst < NumInstances; ++Inst) - { - pStagingData[Inst*2] = (1+Inst) * fDX; - pStagingData[Inst*2+1] = 4.f * fDY + sin(fTime*1.3f) * fDY * 0.3f; - } + m_pInstBuff[4]->CopyData( m_pDeviceContext, m_pInstBuff[3], 0, 0, sizeof( instance_offsets ) ); + pStagingData.Map( m_pDeviceContext, m_pInstBuff[4], MAP_READ, 0 ); + for(int i = 0; i < _countof(instance_offsets); ++i) + assert(pStagingData[i] == instance_offsets[i]); pStagingData.Unmap(); } - m_pInstBuff[2]->CopyData( m_pDeviceContext, m_pInstBuff[5], 0, 0, sizeof( instance_offsets ) ); - pBuffs[1] = m_pInstBuff[2]; - m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Strides, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET ); - m_pDeviceContext->Draw(DrawAttrs); - - - // Test reading & writing data to the staging resource - /*{ - MapHelper pInstData2( m_pDeviceContext, m_pInstBuff[6], MAP_READ_WRITE, 0 ); - MapHelper pInstData3( std::move(pInstData2) ); - MapHelper pInstData; - pInstData = std::move(pInstData3); - static float fPrevTime = fTime; - for(int Inst = 0; Inst < NumInstances; ++Inst) + // D3D12 does not allow writing to the CPU-readable buffers + if(m_pRenderDevice->GetDeviceCaps().DevType != DeviceType::D3D12) + { + // Test writing data to staging resource { - pInstData[Inst*2] += (fTime-fPrevTime) * sin(fTime)*0.1f * m_fXExtent; + pStagingData.Map( m_pDeviceContext, m_pInstBuff[5], MAP_WRITE, 0 ); + for(int Inst = 0; Inst < NumInstances; ++Inst) + { + pStagingData[Inst*2] = (1+Inst) * fDX; + pStagingData[Inst*2+1] = 4.f * fDY + sin(fTime*1.3f) * fDY * 0.3f; + } + pStagingData.Unmap(); } - fPrevTime = fTime; - }*/ - m_pInstBuff[2]->CopyData( m_pDeviceContext, m_pInstBuff[6], 0, 0, sizeof( instance_offsets ) ); - m_pDeviceContext->Draw(DrawAttrs); + m_pInstBuff[2]->CopyData( m_pDeviceContext, m_pInstBuff[5], 0, 0, sizeof( instance_offsets ) ); + pBuffs[1] = m_pInstBuff[2]; + m_pDeviceContext->SetVertexBuffers( 0, _countof( pBuffs ), pBuffs, Strides, Offsets, SET_VERTEX_BUFFERS_FLAG_RESET ); + m_pDeviceContext->Draw(DrawAttrs); + + + // Test reading & writing data to the staging resource + /*{ + MapHelper pInstData2( m_pDeviceContext, m_pInstBuff[6], MAP_READ_WRITE, 0 ); + MapHelper pInstData3( std::move(pInstData2) ); + MapHelper pInstData; + pInstData = std::move(pInstData3); + static float fPrevTime = fTime; + for(int Inst = 0; Inst < NumInstances; ++Inst) + { + pInstData[Inst*2] += (fTime-fPrevTime) * sin(fTime)*0.1f * m_fXExtent; + } + fPrevTime = fTime; + }*/ + + m_pInstBuff[2]->CopyData( m_pDeviceContext, m_pInstBuff[6], 0, 0, sizeof( instance_offsets ) ); + m_pDeviceContext->Draw(DrawAttrs); + } } + + SetStatus(TestResult::Succeeded); } -- cgit v1.2.3