Added alignment warning for imageSwizzleBgra8.

This commit is contained in:
bkaradzic 2013-08-28 22:55:12 -07:00
parent 08c38f5101
commit a68969875e
2 changed files with 8 additions and 2 deletions

View file

@ -68,6 +68,7 @@ namespace bgfx
#include <bx/ringbuffer.h> #include <bx/ringbuffer.h>
#include <bx/uint32_t.h> #include <bx/uint32_t.h>
#include <bx/readerwriter.h> #include <bx/readerwriter.h>
#include <bx/allocator.h>
#include <bx/string.h> #include <bx/string.h>
#include <bx/os.h> #include <bx/os.h>

View file

@ -185,9 +185,14 @@ namespace bgfx
{ {
// Test can we do four 4-byte pixels at the time. // Test can we do four 4-byte pixels at the time.
if (0 != (_width&0x3) if (0 != (_width&0x3)
|| _width < 4) || _width < 4
|| !bx::isPtrAligned(_src, 16)
|| !bx::isPtrAligned(_dst, 16) )
{ {
BX_WARN(_width < 4, "Image swizzle is taking slow path. Image width must be multiple of 4 (width %d).", _width); BX_WARN(false, "Image swizzle is taking slow path.");
BX_WARN(bx::isPtrAligned(_src, 16), "Source %p is not 16-byte aligned.", _src);
BX_WARN(bx::isPtrAligned(_dst, 16), "Destination %p is not 16-byte aligned.", _dst);
BX_WARN(_width < 4, "Image width must be multiple of 4 (width %d).", _width);
imageSwizzleBgra8Ref(_width, _height, _src, _dst); imageSwizzleBgra8Ref(_width, _height, _src, _dst);
return; return;
} }