Procházet zdrojové kódy

a) grab the source mipmap levels not the dest ones for copy. b) lets rely less on trusting sizeof*4 when we've gor a size per pixel lookup already there

AzaezelX před 5 roky
rodič
revize
ce2b05e0e2

+ 1 - 1
Engine/source/gfx/gl/gfxGLDevice.cpp

@@ -475,7 +475,7 @@ void GFXGLDevice::copyResource(GFXTextureObject* pDst, GFXCubemap* pSrc, const U
 
    const bool isCompressed = ImageUtil::isCompressedFormat(format);
 
-   U32 mipLevels = gGLDst->getMipLevels();
+   U32 mipLevels = pGLSrc->getMipMapLevels();
    for (U32 mip = 0; mip < mipLevels; mip++)
    {
       const U32 mipSize = getMax(U32(1), pGLSrc->getSize() >> mip);

+ 1 - 1
Engine/source/gfx/gl/gfxGLTextureObject.cpp

@@ -189,7 +189,7 @@ bool GFXGLTextureObject::copyToBmp(GBitmap * bmp)
       PROFILE_START(GFXGLTextureObject_copyToBmp_pixCopy);
       if (mFormat == GFXFormatR16G16B16A16F)
       {
-         dMemcpy(dest, orig, srcPixelCount * sizeof(U16) * 4);
+         dMemcpy(dest, orig, srcPixelCount * srcBytesPerPixel);
       }
       else
       {