From d97f280112406186d5be4b2a93d8ddd7fd289edb Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Tue, 14 Nov 2017 21:51:10 -0800 Subject: [PATCH] Test mipmap handling with sprites. This is the simplest mipmap test. Disabled test options more challenging for modern backends. --- tests/gpu/textures/Makefile | 2 +- tests/gpu/textures/mipmap.cpp | 322 +++++++++++++++++++++++ tests/gpu/textures/mipmap.expected | 395 +++++++++++++++++++++++++++++ tests/gpu/textures/mipmap.prx | Bin 0 -> 157062 bytes 4 files changed, 718 insertions(+), 1 deletion(-) create mode 100644 tests/gpu/textures/mipmap.cpp create mode 100644 tests/gpu/textures/mipmap.expected create mode 100644 tests/gpu/textures/mipmap.prx diff --git a/tests/gpu/textures/Makefile b/tests/gpu/textures/Makefile index 7620cf95..4b9289d1 100644 --- a/tests/gpu/textures/Makefile +++ b/tests/gpu/textures/Makefile @@ -1,4 +1,4 @@ -TARGETS = rotate +TARGETS = mipmap rotate EXTRA_OBJS = ../../dmac/dmac-imports.o COMMON_DIR = ../../../common diff --git a/tests/gpu/textures/mipmap.cpp b/tests/gpu/textures/mipmap.cpp new file mode 100644 index 00000000..aff71434 --- /dev/null +++ b/tests/gpu/textures/mipmap.cpp @@ -0,0 +1,322 @@ +#include +#include +#include +#include +#include + +extern "C" int sceDmacMemcpy(void *dest, const void *source, unsigned int size); +extern "C" void sendCommandi(int cmd, int argument); + +extern int HAS_DISPLAY; + +// Test reversed and equal mip level behavior. +const bool TEST_UNEVEN_MIPS = false; +// Test linear behavior, or show rounding? +const bool TEST_LINEAR_MIPS = true; +// Through mode or transform? +const bool TEST_TRANSFORM = false; + +u8 *fbp0 = 0; +u8 *dbp0 = fbp0 + 512 * 272 * sizeof(u32); + +static u32 copybuf[512 * 272]; +u32 *drawbuf; + +unsigned int __attribute__((aligned(16))) list[262144]; + +enum { + IMG_HALVES, + IMG_EQUAL, + IMG_REVERSE, +}; + +u32 *imageData[3] = {}; +u32 imageColors[] = { + 0xFF000000, + 0xFF101010, + 0xFF202020, + 0xFF303030, + 0xFF404040, + 0xFF505050, + 0xFF606060, + 0xFF707070, +}; + +typedef struct { + u16 u, v; + s16 x, y, z; +} Vertex; + +enum { + VERTS_EXACT, + VERTS_MAGNIFY, + VERTS_2X, + VERTS_4X_W, + VERTS_4X_H, + VERTS_64X, + VERTS_256X, +}; +inline s16 norm16x(int x) { return x * 65536 / 480 - 32768; } +inline s16 norm16y(int x) { return 32767 - x * 65536 / 272; } + +Vertex verticesThrough[][2] = { + { {0, 0, 0, 0, 0}, {2, 2, 2, 2, 0} }, + { {0, 0, 0, 0, 0}, {2, 2, 8, 8, 0} }, + { {0, 0, 0, 0, 0}, {4, 4, 2, 2, 0} }, + { {0, 0, 0, 0, 0}, {8, 1, 2, 2, 0} }, + { {0, 0, 0, 0, 0}, {1, 8, 2, 2, 0} }, + { {0, 0, 0, 0, 0}, {64, 64, 1, 1, 0} }, + { {0, 0, 0, 0, 0}, {256, 256, 1, 1, 0} }, +}; +Vertex verticesTransform[][2] = { + { {0, 0, norm16x(0), norm16y(0), 65500}, {256, 256, norm16x(2), norm16y(2), 65535} }, + { {0, 0, norm16x(0), norm16y(0), 65500}, {256, 256, norm16x(8), norm16y(8), 65535} }, + { {0, 0, norm16x(0), norm16y(0), 65500}, {512, 512, norm16x(2), norm16y(2), 65535} }, + { {0, 0, norm16x(0), norm16y(0), 65500}, {1024, 128, norm16x(2), norm16y(2), 65535} }, + { {0, 0, norm16x(0), norm16y(0), 65500}, {128, 1024, norm16x(2), norm16y(2), 65535} }, + { {0, 0, norm16x(0), norm16y(0), 65500}, {8192, 8192, norm16x(1), norm16y(1), 65535} }, + { {0, 0, norm16x(0), norm16y(0), 65500}, {32768, 32768, norm16x(1), norm16y(1), 65535} }, +}; + +void displayBuffer(const char *reason) { + sceKernelDcacheWritebackInvalidateAll(); + sceDmacMemcpy(copybuf, drawbuf, sizeof(copybuf)); + sceKernelDcacheWritebackInvalidateAll(); + const u32 *buf = copybuf; + int c = buf[0] & 0x00FFFFFF; + + checkpoint("%s: %06x", reason, c); + + // Reset. + memset(copybuf, 0, sizeof(copybuf)); + sceKernelDcacheWritebackInvalidateAll(); + sceDmacMemcpy(drawbuf, copybuf, sizeof(copybuf)); + sceKernelDcacheWritebackInvalidateAll(); +} + +u32 *getTexturePtr(int img, int l) { + int p = 0; + int w; + if (img == IMG_HALVES) { + w = 256; + } else if (img == IMG_EQUAL) { + w = 16; + } else if (img == IMG_REVERSE) { + w = 4; + } + + while (l-- > 0) { + p += w * w; + if ((p % 4) != 0) { + p += 4 - (p % 4); + } + + if (img == IMG_HALVES) { + w >>= 1; + } else if (img == IMG_EQUAL) { + w = 16; + } else if (img == IMG_REVERSE) { + w <<= 1; + } + } + + return imageData[img] + p; +} + +void drawTexFlush(int img, unsigned int mode, const void *verts, u8 bias) { + sceGuStart(GU_DIRECT, list); + + sceGuEnable(GU_TEXTURE_2D); + sceGuTexSync(); + sceGuTexFlush(); + sendCommandi(200, (bias << 16) | mode); + sceGuTexMode(GU_PSM_8888, 7, 0, GU_FALSE); + sceGuTexWrap(GU_CLAMP, GU_CLAMP); + sceGuTexFunc(GU_TFX_DECAL, GU_TCC_RGB); + sceGuTexSlope(2.0f); + for (int l = 0; l < 8; ++l) { + int w; + if (img == IMG_HALVES) { + w = 256 >> l; + } else if (img == IMG_EQUAL) { + w = 16; + } else if (img == IMG_REVERSE) { + w = 4 << l; + } + + sceGuTexImage(l, w, w, w < 4 ? 4 : w, getTexturePtr(img, l)); + } + + if (TEST_TRANSFORM) { + sceGuDrawArray(GU_SPRITES, GU_TEXTURE_16BIT | GU_VERTEX_16BIT | GU_TRANSFORM_3D, 2, NULL, verts); + } else { + sceGuDrawArray(GU_SPRITES, GU_TEXTURE_16BIT | GU_VERTEX_16BIT | GU_TRANSFORM_2D, 2, NULL, verts); + } + + sceGuFinish(); + sceGuSync(0, 0); +} + +void init() { + void *fbp0 = 0; + + drawbuf = (u32 *)sceGeEdramGetAddr(); + + sceGuInit(); + sceGuStart(GU_DIRECT, list); + sceGuDrawBuffer(GU_PSM_8888, fbp0, 512); + sceGuDispBuffer(480, 272, fbp0, 512); + sceGuDepthBuffer(dbp0, 512); + sceGuOffset(2048 - (480 / 2), 2048 - (272 / 2)); + sceGuViewport(2048, 2048, 480, 272); + sceGuDepthRange(65535, 65500); + sceGuDepthMask(0); + sceGuScissor(0, 0, 480, 272); + sceGuEnable(GU_SCISSOR_TEST); + sceGuFrontFace(GU_CW); + sceGuShadeModel(GU_SMOOTH); + + ScePspFMatrix4 ones = { + {1, 0, 0, 0}, + {0, 1, 0, 0}, + {0, 0, 1, 0}, + {0, 0, 0, 1}, + }; + + sceGuSetMatrix(GU_MODEL, &ones); + sceGuSetMatrix(GU_VIEW, &ones); + sceGuSetMatrix(GU_PROJECTION, &ones); + + sceGuFinish(); + sceGuSync(0, 0); + + sceDisplayWaitVblankStart(); + sceGuDisplay(1); + + memset(copybuf, 0, sizeof(copybuf)); + sceKernelDcacheWritebackInvalidateAll(); + sceDmacMemcpy(drawbuf, copybuf, sizeof(copybuf)); + sceKernelDcacheWritebackInvalidateAll(); + + // To avoid text writes. + HAS_DISPLAY = 0; +} + +void setupTexture() { + imageData[IMG_HALVES] = (u32 *)memalign(16, 4 * 256 * 344); + + int w = 256; + for (int l = 0; l < 8; ++l) { + u32 *p = getTexturePtr(IMG_HALVES, l); + int bufw = w < 4 ? 4 : w; + for (int i = 0; i < bufw * w; ++i) { + p[i] = imageColors[l]; + } + w >>= 1; + } + + imageData[IMG_EQUAL] = (u32 *)memalign(16, 4 * 16 * 16 * 8); + + w = 16; + for (int l = 0; l < 8; ++l) { + u32 *p = getTexturePtr(IMG_EQUAL, l); + int bufw = w < 4 ? 4 : w; + for (int i = 0; i < bufw * w; ++i) { + p[i] = imageColors[l]; + } + } + + imageData[IMG_REVERSE] = (u32 *)memalign(16, 4 * 512 * 1024); + + w = 4; + for (int l = 0; l < 8; ++l) { + u32 *p = getTexturePtr(IMG_REVERSE, l); + int bufw = w < 4 ? 4 : w; + for (int i = 0; i < bufw * w; ++i) { + p[i] = imageColors[l]; + } + w <<= 1; + } + + sceKernelDcacheWritebackInvalidateAll(); +} + +void testMipDrawingBox(const char *title, int img, unsigned int mode, int vindex, u8 bias) { + const void *verts = TEST_TRANSFORM ? verticesTransform[vindex] : verticesThrough[vindex]; + + drawTexFlush(img, mode, verts, bias); + sceDisplayWaitVblankStart(); + displayBuffer(title); +} + +void testMipDrawing(const char *title, int img, unsigned int mode, u8 bias) { + char full[1024] = {0}; + snprintf(full, sizeof(full) - 1, "%s +%02x:", title, bias); + + checkpointNext(full); + testMipDrawingBox(" 1:1", img, mode, VERTS_EXACT, bias); + testMipDrawingBox(" Magnify", img, mode, VERTS_MAGNIFY, bias); + testMipDrawingBox(" Minify 2x WH", img, mode, VERTS_2X, bias); + testMipDrawingBox(" Minify 4x W", img, mode, VERTS_4X_W, bias); + testMipDrawingBox(" Minify 4x H", img, mode, VERTS_4X_H, bias); + testMipDrawingBox(" Minify 64x", img, mode, VERTS_64X, bias); + testMipDrawingBox(" Minify 256x", img, mode, VERTS_256X, bias); +} + +extern "C" int main(int argc, char *argv[]) { + init(); + setupTexture(); + + sceDisplaySetFrameBuf(sceGeEdramGetAddr(), 512, GU_PSM_8888, PSP_DISPLAY_SETBUF_IMMEDIATE); + sceDisplaySetMode(0, 480, 272); + + sceGuStart(GU_DIRECT, list); + if (TEST_LINEAR_MIPS) { + sceGuTexFilter(GU_NEAREST_MIPMAP_LINEAR, GU_NEAREST_MIPMAP_LINEAR); + } else { + sceGuTexFilter(GU_NEAREST_MIPMAP_NEAREST, GU_NEAREST_MIPMAP_NEAREST); + } + sceGuFinish(); + sceGuSync(0, 0); + + u8 biases[] = {0x00, 0x07, 0x08, 0x10, 0x70, 0x77, 0x78, 0x80, 0x87, 0x88, 0xF0}; + for (size_t i = 0; i < ARRAY_SIZE(biases); ++i) { + testMipDrawing("Typical mips (AUTO)", IMG_HALVES, GU_TEXTURE_AUTO, biases[i]); + if (TEST_UNEVEN_MIPS) { + testMipDrawing("Equal mips (AUTO)", IMG_EQUAL, GU_TEXTURE_AUTO, biases[i]); + testMipDrawing("Reversed mips (AUTO)", IMG_REVERSE, GU_TEXTURE_AUTO, biases[i]); + } + } + + for (size_t i = 0; i < ARRAY_SIZE(biases); ++i) { + testMipDrawing("Typical mips (CONST)", IMG_HALVES, GU_TEXTURE_CONST, biases[i]); + if (TEST_UNEVEN_MIPS) { + testMipDrawing("Equal mips (CONST)", IMG_EQUAL, GU_TEXTURE_CONST, biases[i]); + testMipDrawing("Reversed mips (CONST)", IMG_REVERSE, GU_TEXTURE_CONST, biases[i]); + } + } + + for (size_t i = 0; i < ARRAY_SIZE(biases); ++i) { + testMipDrawing("Typical mips (SLOPE)", IMG_HALVES, GU_TEXTURE_SLOPE, biases[i]); + if (TEST_UNEVEN_MIPS) { + testMipDrawing("Equal mips (SLOPE)", IMG_EQUAL, GU_TEXTURE_SLOPE, biases[i]); + testMipDrawing("Reversed mips (SLOPE)", IMG_REVERSE, GU_TEXTURE_SLOPE, biases[i]); + } + } + + for (size_t i = 0; i < ARRAY_SIZE(biases); ++i) { + testMipDrawing("Typical mips (3)", IMG_HALVES, 3, biases[i]); + if (TEST_UNEVEN_MIPS) { + testMipDrawing("Equal mips (3)", IMG_EQUAL, 3, biases[i]); + testMipDrawing("Reversed mips (3)", IMG_REVERSE, 3, biases[i]); + } + } + + sceGuTerm(); + + free(imageData[IMG_HALVES]); + free(imageData[IMG_EQUAL]); + free(imageData[IMG_REVERSE]); + + return 0; +} diff --git a/tests/gpu/textures/mipmap.expected b/tests/gpu/textures/mipmap.expected new file mode 100644 index 00000000..b8f2f87d --- /dev/null +++ b/tests/gpu/textures/mipmap.expected @@ -0,0 +1,395 @@ +[x] Typical mips (AUTO) +00: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 101010 +[r] Minify 4x W: 202020 +[r] Minify 4x H: 202020 +[r] Minify 64x: 606060 +[r] Minify 256x: 707070 + +[x] Typical mips (AUTO) +07: +[r] 1:1: 070707 +[r] Magnify: 000000 +[r] Minify 2x WH: 171717 +[r] Minify 4x W: 272727 +[r] Minify 4x H: 272727 +[r] Minify 64x: 676767 +[r] Minify 256x: 707070 + +[x] Typical mips (AUTO) +08: +[r] 1:1: 080808 +[r] Magnify: 000000 +[r] Minify 2x WH: 181818 +[r] Minify 4x W: 282828 +[r] Minify 4x H: 282828 +[r] Minify 64x: 686868 +[r] Minify 256x: 707070 + +[x] Typical mips (AUTO) +10: +[r] 1:1: 101010 +[r] Magnify: 000000 +[r] Minify 2x WH: 202020 +[r] Minify 4x W: 303030 +[r] Minify 4x H: 303030 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (AUTO) +70: +[r] 1:1: 707070 +[r] Magnify: 505050 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (AUTO) +77: +[r] 1:1: 707070 +[r] Magnify: 575757 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (AUTO) +78: +[r] 1:1: 707070 +[r] Magnify: 585858 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (AUTO) +80: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (AUTO) +87: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 070707 + +[x] Typical mips (AUTO) +88: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 080808 + +[x] Typical mips (AUTO) +f0: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 101010 +[r] Minify 4x H: 101010 +[r] Minify 64x: 505050 +[r] Minify 256x: 707070 + +[x] Typical mips (CONST) +00: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (CONST) +07: +[r] 1:1: 070707 +[r] Magnify: 070707 +[r] Minify 2x WH: 070707 +[r] Minify 4x W: 070707 +[r] Minify 4x H: 070707 +[r] Minify 64x: 070707 +[r] Minify 256x: 070707 + +[x] Typical mips (CONST) +08: +[r] 1:1: 080808 +[r] Magnify: 080808 +[r] Minify 2x WH: 080808 +[r] Minify 4x W: 080808 +[r] Minify 4x H: 080808 +[r] Minify 64x: 080808 +[r] Minify 256x: 080808 + +[x] Typical mips (CONST) +10: +[r] 1:1: 101010 +[r] Magnify: 101010 +[r] Minify 2x WH: 101010 +[r] Minify 4x W: 101010 +[r] Minify 4x H: 101010 +[r] Minify 64x: 101010 +[r] Minify 256x: 101010 + +[x] Typical mips (CONST) +70: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (CONST) +77: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (CONST) +78: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (CONST) +80: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (CONST) +87: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (CONST) +88: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (CONST) +f0: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (SLOPE) +00: +[r] 1:1: 202020 +[r] Magnify: 202020 +[r] Minify 2x WH: 202020 +[r] Minify 4x W: 202020 +[r] Minify 4x H: 202020 +[r] Minify 64x: 202020 +[r] Minify 256x: 202020 + +[x] Typical mips (SLOPE) +07: +[r] 1:1: 272727 +[r] Magnify: 272727 +[r] Minify 2x WH: 272727 +[r] Minify 4x W: 272727 +[r] Minify 4x H: 272727 +[r] Minify 64x: 272727 +[r] Minify 256x: 272727 + +[x] Typical mips (SLOPE) +08: +[r] 1:1: 282828 +[r] Magnify: 282828 +[r] Minify 2x WH: 282828 +[r] Minify 4x W: 282828 +[r] Minify 4x H: 282828 +[r] Minify 64x: 282828 +[r] Minify 256x: 282828 + +[x] Typical mips (SLOPE) +10: +[r] 1:1: 303030 +[r] Magnify: 303030 +[r] Minify 2x WH: 303030 +[r] Minify 4x W: 303030 +[r] Minify 4x H: 303030 +[r] Minify 64x: 303030 +[r] Minify 256x: 303030 + +[x] Typical mips (SLOPE) +70: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (SLOPE) +77: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (SLOPE) +78: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (SLOPE) +80: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (SLOPE) +87: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (SLOPE) +88: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (SLOPE) +f0: +[r] 1:1: 101010 +[r] Magnify: 101010 +[r] Minify 2x WH: 101010 +[r] Minify 4x W: 101010 +[r] Minify 4x H: 101010 +[r] Minify 64x: 101010 +[r] Minify 256x: 101010 + +[x] Typical mips (3) +00: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (3) +07: +[r] 1:1: 070707 +[r] Magnify: 070707 +[r] Minify 2x WH: 070707 +[r] Minify 4x W: 070707 +[r] Minify 4x H: 070707 +[r] Minify 64x: 070707 +[r] Minify 256x: 070707 + +[x] Typical mips (3) +08: +[r] 1:1: 080808 +[r] Magnify: 080808 +[r] Minify 2x WH: 080808 +[r] Minify 4x W: 080808 +[r] Minify 4x H: 080808 +[r] Minify 64x: 080808 +[r] Minify 256x: 080808 + +[x] Typical mips (3) +10: +[r] 1:1: 101010 +[r] Magnify: 101010 +[r] Minify 2x WH: 101010 +[r] Minify 4x W: 101010 +[r] Minify 4x H: 101010 +[r] Minify 64x: 101010 +[r] Minify 256x: 101010 + +[x] Typical mips (3) +70: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (3) +77: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (3) +78: +[r] 1:1: 707070 +[r] Magnify: 707070 +[r] Minify 2x WH: 707070 +[r] Minify 4x W: 707070 +[r] Minify 4x H: 707070 +[r] Minify 64x: 707070 +[r] Minify 256x: 707070 + +[x] Typical mips (3) +80: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (3) +87: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (3) +88: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 + +[x] Typical mips (3) +f0: +[r] 1:1: 000000 +[r] Magnify: 000000 +[r] Minify 2x WH: 000000 +[r] Minify 4x W: 000000 +[r] Minify 4x H: 000000 +[r] Minify 64x: 000000 +[r] Minify 256x: 000000 diff --git a/tests/gpu/textures/mipmap.prx b/tests/gpu/textures/mipmap.prx new file mode 100644 index 0000000000000000000000000000000000000000..a1f5dd52cbd351d848748f2d1e0be362a818f207 GIT binary patch literal 157062 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