diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-12-02 23:44:56 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-12-02 23:44:56 +0000 |
| commit | c7db634ec3e350b9cf665ec0f75455189a8eaace (patch) | |
| tree | 35ad25a85cdf99242bf8af3b8cd3c036654c05d1 /Tests/TestApp/src/TestCopyTexData.cpp | |
| parent | Brought back MapType paramter to UnmapBuffer() function. (diff) | |
| download | DiligentEngine-c7db634ec3e350b9cf665ec0f75455189a8eaace.tar.gz DiligentEngine-c7db634ec3e350b9cf665ec0f75455189a8eaace.zip | |
Added explicit state transition control to CopyBuffer and CopyTexture methods
Replaced CLEAR_RENDER_TARGET_TRANSITION_MODE with RESOURCE_STATE_TRANSITION_MODE
Diffstat (limited to 'Tests/TestApp/src/TestCopyTexData.cpp')
| -rw-r--r-- | Tests/TestApp/src/TestCopyTexData.cpp | 107 |
1 files changed, 52 insertions, 55 deletions
diff --git a/Tests/TestApp/src/TestCopyTexData.cpp b/Tests/TestApp/src/TestCopyTexData.cpp index 2be5c7f..c024228 100644 --- a/Tests/TestApp/src/TestCopyTexData.cpp +++ b/Tests/TestApp/src/TestCopyTexData.cpp @@ -108,31 +108,27 @@ void TestCopyTexData::Test2DTexture( TEXTURE_FORMAT Format ) m_pDevice->CreateTexture( TexDesc, InitData, &pSrcTex ); m_pDevice->CreateTexture( TexDesc, TextureData(), &pDstTex ); - m_pContext->CopyTexture(pSrcTex, - 2, // Src mip - 0, // Src slice - nullptr, // Box - pDstTex, - 1, // dst mip - 0, // dst slice - 32, 16, 0 // XYZ offset - ); + CopyTextureAttribs CopyAttribs; + CopyAttribs.pSrcTexture = pSrcTex; + CopyAttribs.SrcMipLevel = 2; + CopyAttribs.pDstTexture = pDstTex; + CopyAttribs.DstMipLevel = 1; + CopyAttribs.DstX = 32; + CopyAttribs.DstY = 16; + CopyAttribs.DstZ = 0; + CopyAttribs.SrcTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_TRANSITION; + CopyAttribs.DstTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_TRANSITION; + m_pContext->CopyTexture(CopyAttribs); Box SrcBox; SrcBox.MinX = 3; SrcBox.MaxX = 19; SrcBox.MinY = 1; SrcBox.MaxY = 32; - m_pContext->CopyTexture(pSrcTex, - 2, // Src mip - 0, // Src slice - &SrcBox, // Box - pDstTex, - 1, // dst mip - 0, // dst slice - 32, 16, 0 // XYZ offset - ); - + CopyAttribs.pSrcBox = &SrcBox; + CopyAttribs.SrcTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; + CopyAttribs.DstTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; + m_pContext->CopyTexture(CopyAttribs); } void TestCopyTexData::Test2DTexArray( TEXTURE_FORMAT Format ) @@ -168,30 +164,30 @@ void TestCopyTexData::Test2DTexArray( TEXTURE_FORMAT Format ) m_pDevice->CreateTexture( TexDesc, InitData, &pSrcTex ); m_pDevice->CreateTexture( TexDesc, TextureData(), &pDstTex ); - m_pContext->CopyTexture(pSrcTex, - 2, // Src mip - 3, // Src slice - nullptr, // Box - pDstTex, - 1, // dst mip - 6, // dst slice - 32, 16, 0 // XYZ offset - ); + CopyTextureAttribs CopyAttribs; + CopyAttribs.pSrcTexture = pSrcTex; + CopyAttribs.SrcMipLevel = 2; + CopyAttribs.SrcSlice = 3; + CopyAttribs.pDstTexture = pDstTex; + CopyAttribs.DstMipLevel = 1; + CopyAttribs.DstSlice = 6; + CopyAttribs.DstX = 32; + CopyAttribs.DstY = 16; + CopyAttribs.DstZ = 0; + CopyAttribs.SrcTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_TRANSITION; + CopyAttribs.DstTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_TRANSITION; + m_pContext->CopyTexture(CopyAttribs); Box SrcBox; SrcBox.MinX = 3; SrcBox.MaxX = 19; SrcBox.MinY = 1; SrcBox.MaxY = 32; - m_pContext->CopyTexture(pSrcTex, - 2, // Src mip - 3, // Src slice - &SrcBox, // Box - pDstTex, - 1, // dst mip - 5, // dst slice - 32, 16, 0 // XYZ offset - ); + CopyAttribs.DstSlice = 5; + CopyAttribs.pSrcBox = &SrcBox; + CopyAttribs.SrcTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; + CopyAttribs.DstTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_VERIFY; + m_pContext->CopyTexture(CopyAttribs); } void TestCopyTexData::Test3DTexture( TEXTURE_FORMAT Format ) @@ -221,28 +217,29 @@ void TestCopyTexData::Test3DTexture( TEXTURE_FORMAT Format ) m_pDevice->CreateTexture( TexDesc, InitData, &pSrcTex ); m_pDevice->CreateTexture( TexDesc, TextureData(), &pDstTex ); - m_pContext->CopyTexture(pSrcTex, - 2, // Src mip - 0, // Src slice - nullptr, // Box - pDstTex, - 1, // dst mip - 0, // dst slice - 16, 8, 0 // XYZ offset - ); + CopyTextureAttribs CopyAttribs; + CopyAttribs.pSrcTexture = pSrcTex; + CopyAttribs.SrcMipLevel = 2; + CopyAttribs.pDstTexture = pDstTex; + CopyAttribs.DstMipLevel = 1; + CopyAttribs.DstX = 16; + CopyAttribs.DstY = 8; + CopyAttribs.DstZ = 0; + CopyAttribs.SrcTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_TRANSITION; + CopyAttribs.DstTextureTransitionMode = RESOURCE_STATE_TRANSITION_MODE_TRANSITION; + + m_pContext->CopyTexture(CopyAttribs); Box SrcBox; SrcBox.MinX = 3; SrcBox.MaxX = 19; SrcBox.MinY = 1; SrcBox.MaxY = 32; - m_pContext->CopyTexture(pSrcTex, - 1, // Src mip - 0, // Src slice - &SrcBox, // Box - pDstTex, - 0, // dst mip - 0, // dst slice - 32, 16, 0 // XYZ offset - ); + CopyAttribs.pSrcBox = &SrcBox; + CopyAttribs.SrcMipLevel = 1; + CopyAttribs.DstMipLevel = 0; + CopyAttribs.DstX = 32; + CopyAttribs.DstY = 16; + CopyAttribs.DstZ = 0; + m_pContext->CopyTexture(CopyAttribs); } |
