diff --git a/src/render/psp/SDL_render_psp.c b/src/render/psp/SDL_render_psp.c index 124ede3e9..f4fbd2c13 100644 --- a/src/render/psp/SDL_render_psp.c +++ b/src/render/psp/SDL_render_psp.c @@ -259,6 +259,7 @@ TextureSwizzle(PSP_TextureData *psp_texture) psp_texture->data = data; psp_texture->swizzled = SDL_TRUE; + sceKernelDcacheWritebackRange(psp_texture->data, psp_texture->size); return 1; } int TextureUnswizzle(PSP_TextureData *psp_texture) @@ -291,8 +292,6 @@ int TextureUnswizzle(PSP_TextureData *psp_texture) if(!data) return 0; - sceKernelDcacheWritebackAll(); - ydst = (unsigned char *)data; for(blocky = 0; blocky < heightblocks; ++blocky) @@ -326,6 +325,7 @@ int TextureUnswizzle(PSP_TextureData *psp_texture) psp_texture->swizzled = SDL_FALSE; + sceKernelDcacheWritebackRange(psp_texture->data, psp_texture->size); return 1; }