From 501c8b6cb27d0bd36e23697194ee94fe217cd660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Wed, 20 Dec 2017 11:10:13 -0800 Subject: [PATCH] Added image copy for depth images. --- include/bimg/bimg.h | 2 ++ src/image.cpp | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/include/bimg/bimg.h b/include/bimg/bimg.h index 4647cd9..336b8ba 100644 --- a/include/bimg/bimg.h +++ b/include/bimg/bimg.h @@ -348,6 +348,7 @@ namespace bimg void* _dst , uint32_t _height , uint32_t _srcPitch + , uint32_t _depth , const void* _src , uint32_t _dstPitch ); @@ -357,6 +358,7 @@ namespace bimg void* _dst , uint32_t _width , uint32_t _height + , uint32_t _depth , uint32_t _bpp , uint32_t _srcPitch , const void* _src diff --git a/src/image.cpp b/src/image.cpp index a37abd5..0249ea8 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -702,19 +702,22 @@ namespace bimg } } - void imageCopy(void* _dst, uint32_t _height, uint32_t _srcPitch, const void* _src, uint32_t _dstPitch) + void imageCopy(void* _dst, uint32_t _height, uint32_t _srcPitch, uint32_t _depth, const void* _src, uint32_t _dstPitch) { const uint32_t pitch = bx::uint32_min(_srcPitch, _dstPitch); const uint8_t* src = (uint8_t*)_src; uint8_t* dst = (uint8_t*)_dst; - bx::memCopy(dst, src, pitch, _height, _srcPitch, _dstPitch); + for (uint32_t zz = 0; zz < _depth; ++zz, src += _srcPitch*_height, dst += _dstPitch*_height) + { + bx::memCopy(dst, src, pitch, _height, _srcPitch, _dstPitch); + } } - void imageCopy(void* _dst, uint32_t _width, uint32_t _height, uint32_t _bpp, uint32_t _srcPitch, const void* _src) + void imageCopy(void* _dst, uint32_t _width, uint32_t _height, uint32_t _depth, uint32_t _bpp, uint32_t _srcPitch, const void* _src) { const uint32_t dstPitch = _width*_bpp/8; - imageCopy(_dst, _height, _srcPitch, _src, dstPitch); + imageCopy(_dst, _height, _srcPitch, _depth, _src, dstPitch); } struct PackUnpack