diff --git a/examples/texture/texture.cpp b/examples/texture/texture.cpp index 80d2c0cb..2fd5dd41 100644 --- a/examples/texture/texture.cpp +++ b/examples/texture/texture.cpp @@ -146,13 +146,11 @@ public: size_t size = AAsset_getLength(asset); assert(size > 0); - void *textureData = malloc(size); + ktx_uint8_t *textureData = new ktx_uint8_t[size]; AAsset_read(asset, textureData, size); AAsset_close(asset); - - result = ktxTexture_CreateFromMemory(textureData, size, KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, target); - - free(textureData); + result = ktxTexture_CreateFromMemory(textureData, size, KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTexture); + delete[] textureData; #else if (!vks::tools::fileExists(filename)) { vks::tools::exitFatal("Could not load texture from " + filename + "\n\nThe file may be part of the additional asset pack.\n\nRun \"download_assets.py\" in the repository root to download the latest version.", -1); @@ -169,7 +167,7 @@ public: ktx_size_t ktxTextureSize = ktxTexture_GetSize(ktxTexture); // We prefer using staging to copy the texture data to a device local optimal image - VkBool32 useStaging = false; + VkBool32 useStaging = true; // Only use linear tiling if forced bool forceLinearTiling = false;