Texture::Texture (size_t width, size_t height, const Format format, const char* in) : width(width), height(height), format(format), bytesPerTexel(getFormatBytesPerTexel(format)), data(nullptr), width_mask(0), height_mask(0) { width_mask = isPowerOf2(width) ? width-1 : 0; height_mask = isPowerOf2(height) ? height-1 : 0; data = _mm_malloc(bytesPerTexel*width*height,64); if (in) memcpy(data,in,bytesPerTexel*width*height); else memset(data,0 ,bytesPerTexel*width*height); }
Texture::Texture (unsigned width, unsigned height, const Format format, const char* in) : width(width), height(height), format(format), bytesPerTexel(getFormatBytesPerTexel(format)), width_mask(0), height_mask(0), data(nullptr) { width_mask = isPowerOf2(width) ? width-1 : 0; height_mask = isPowerOf2(height) ? height-1 : 0; data = alignedMalloc(bytesPerTexel*width*height,64); if (in) { for (size_t i=0; i<bytesPerTexel*width*height; i++) ((char*)data)[i] = in[i]; } else { memset(data,0 ,bytesPerTexel*width*height); } }