diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2020-04-09 04:18:30 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2020-04-09 04:18:30 +0000 |
| commit | 3de54383619299c592bd4ab0e85d48ae8c9bd95f (patch) | |
| tree | f541125dff7a2bd050596124505060dc63db361e /Graphics/GraphicsEngineOpenGL | |
| parent | Updated ITextureUploader to allow synchronous execution (diff) | |
| download | DiligentCore-3de54383619299c592bd4ab0e85d48ae8c9bd95f.tar.gz DiligentCore-3de54383619299c592bd4ab0e85d48ae8c9bd95f.zip | |
Added Texture uploader test plus fixed a bunch of issues
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
| -rw-r--r-- | Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp | 2 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineOpenGL/src/TextureBaseGL.cpp | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp b/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp index 02ab028c..c64c41cd 100644 --- a/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp @@ -1265,6 +1265,8 @@ void DeviceContextGLImpl::CopyTexture(const CopyTextureAttribs& CopyAttribs) SrcTexViewDesc.ViewType = TEXTURE_VIEW_RENDER_TARGET; SrcTexViewDesc.MostDetailedMip = CopyAttribs.SrcMipLevel; SrcTexViewDesc.FirstArraySlice = CopyAttribs.SrcSlice; + SrcTexViewDesc.NumArraySlices = 1; + SrcTexViewDesc.NumMipLevels = 1; TextureViewGLImpl SrcTexView // { nullptr, // pRefCounters diff --git a/Graphics/GraphicsEngineOpenGL/src/TextureBaseGL.cpp b/Graphics/GraphicsEngineOpenGL/src/TextureBaseGL.cpp index e5914960..06c6a07c 100644 --- a/Graphics/GraphicsEngineOpenGL/src/TextureBaseGL.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/TextureBaseGL.cpp @@ -35,6 +35,7 @@ #include "DeviceContextGLImpl.hpp" #include "EngineMemory.h" #include "GraphicsAccessories.hpp" +#include "Align.hpp" namespace Diligent { @@ -51,7 +52,7 @@ Uint32 TextureBaseGL::GetPBODataOffset(const TextureDesc& TexDesc, Uint32 ArrayS for (Uint32 mip = 0; mip < TexDesc.MipLevels; ++mip) { auto MipInfo = GetMipLevelProperties(TexDesc, mip); - ArraySliceSize += (MipInfo.MipSize + 3) & (~3); + ArraySliceSize += Align(MipInfo.MipSize, Uint32{4}); } Offset = ArraySliceSize; @@ -59,13 +60,13 @@ Uint32 TextureBaseGL::GetPBODataOffset(const TextureDesc& TexDesc, Uint32 ArrayS TexDesc.Type == RESOURCE_DIM_TEX_2D_ARRAY || TexDesc.Type == RESOURCE_DIM_TEX_CUBE || TexDesc.Type == RESOURCE_DIM_TEX_CUBE_ARRAY) - Offset *= TexDesc.ArraySize; + Offset *= ArraySlice; } for (Uint32 mip = 0; mip < MipLevel; ++mip) { auto MipInfo = GetMipLevelProperties(TexDesc, mip); - Offset += (MipInfo.MipSize + 3) & (~3); + Offset += Align(MipInfo.MipSize, Uint32{4}); } return Offset; |
