From 43d64a4957c916a584ee506de141d02d7fb95dd4 Mon Sep 17 00:00:00 2001 From: Luke Benstead Date: Mon, 11 Sep 2023 17:27:04 +0100 Subject: [PATCH] Fix twiddling issues --- GL/draw.c | 24 +------ GL/platforms/software.h | 3 +- GL/texture.c | 72 +++----------------- samples/nehe06/main.c | 1 - samples/nehe06/romdisk/NeHe.bmp | Bin 196662 -> 98442 bytes samples/paletted_pcx/main.c | 3 + samples/paletted_pcx/romdisk/NeHe-Alpha.bmp | Bin 32886 -> 16586 bytes 7 files changed, 16 insertions(+), 87 deletions(-) diff --git a/GL/draw.c b/GL/draw.c index 2fa6d88..38139d7 100644 --- a/GL/draw.c +++ b/GL/draw.c @@ -78,7 +78,7 @@ static void _readVertexData3f3f(const GLubyte* __restrict__ in, GLubyte* __restr // 10:10:10:2REV format static void _readVertexData1i3f(const GLubyte* in, GLubyte* out) { - const static float MULTIPLIER = 1.0f / 1023.0f; + static const float MULTIPLIER = 1.0f / 1023.0f; GLfloat* output = (GLfloat*) out; @@ -585,7 +585,6 @@ static void _readPositionData(ReadDiffuseFunc func, const GLuint first, const GL const GLubyte* vptr = ((GLubyte*) ATTRIB_POINTERS.vertex.ptr + (first * vstride)); float pos[3]; - float w = 0.0f; ITERATE(count) { PREFETCH(vptr + vstride); @@ -726,9 +725,7 @@ typedef struct { } Float2; static const Float3 F3Z = {0.0f, 0.0f, 1.0f}; -static const Float3 F3ZERO = {0.0f, 0.0f, 0.0f}; static const Float2 F2ZERO = {0.0f, 0.0f}; -static const uint32_t U4ONE = ~0; static void generateElementsFastPath( SubmissionTarget* target, const GLsizei first, const GLuint count, @@ -910,24 +907,6 @@ static void transform(SubmissionTarget* target) { TransformVertices(vertex, target->count); } -static void mat_transform3(const float* xyz, const float* xyzOut, const uint32_t count, const uint32_t inStride, const uint32_t outStride) { - const uint8_t* dataIn = (const uint8_t*) xyz; - uint8_t* dataOut = (uint8_t*) xyzOut; - - ITERATE(count) { - const float* in = (const float*) dataIn; - float* out = (float*) dataOut; - - TransformVec3NoMod( - in, - out - ); - - dataIn += inStride; - dataOut += outStride; - } -} - static void mat_transform_normal3(const float* xyz, const float* xyzOut, const uint32_t count, const uint32_t inStride, const uint32_t outStride) { const uint8_t* dataIn = (const uint8_t*) xyz; uint8_t* dataOut = (uint8_t*) xyzOut; @@ -1224,7 +1203,6 @@ GL_FORCE_INLINE void submitVertices(GLenum mode, GLsizei first, GLuint count, GL target->header_offset = vector_size; target->start_offset = target->header_offset + (header_required ? 1 : 0); - gl_assert(target->header_offset >= 0); gl_assert(target->start_offset >= target->header_offset); gl_assert(target->count); diff --git a/GL/platforms/software.h b/GL/platforms/software.h index bbb4f35..5fee317 100644 --- a/GL/platforms/software.h +++ b/GL/platforms/software.h @@ -48,7 +48,8 @@ void TransformVec3NoMod(const float* v, float* ret); /* Transform a 3-element normal using the stored matrix (w == 0)*/ static inline void TransformNormalNoMod(const float* xIn, float* xOut) { - + (void) xIn; + (void) xOut; } void TransformVertices(Vertex* vertices, const int count); diff --git a/GL/texture.c b/GL/texture.c index a60c715..fe1df47 100644 --- a/GL/texture.c +++ b/GL/texture.c @@ -38,54 +38,16 @@ static GLboolean TEXTURE_TWIDDLE_ENABLED = GL_FALSE; static void* ALLOC_BASE = NULL; static size_t ALLOC_SIZE = 0; -static const unsigned short MortonTable256[256] = - { - 0x0000, 0x0001, 0x0004, 0x0005, 0x0010, 0x0011, 0x0014, 0x0015, - 0x0040, 0x0041, 0x0044, 0x0045, 0x0050, 0x0051, 0x0054, 0x0055, - 0x0100, 0x0101, 0x0104, 0x0105, 0x0110, 0x0111, 0x0114, 0x0115, - 0x0140, 0x0141, 0x0144, 0x0145, 0x0150, 0x0151, 0x0154, 0x0155, - 0x0400, 0x0401, 0x0404, 0x0405, 0x0410, 0x0411, 0x0414, 0x0415, - 0x0440, 0x0441, 0x0444, 0x0445, 0x0450, 0x0451, 0x0454, 0x0455, - 0x0500, 0x0501, 0x0504, 0x0505, 0x0510, 0x0511, 0x0514, 0x0515, - 0x0540, 0x0541, 0x0544, 0x0545, 0x0550, 0x0551, 0x0554, 0x0555, - 0x1000, 0x1001, 0x1004, 0x1005, 0x1010, 0x1011, 0x1014, 0x1015, - 0x1040, 0x1041, 0x1044, 0x1045, 0x1050, 0x1051, 0x1054, 0x1055, - 0x1100, 0x1101, 0x1104, 0x1105, 0x1110, 0x1111, 0x1114, 0x1115, - 0x1140, 0x1141, 0x1144, 0x1145, 0x1150, 0x1151, 0x1154, 0x1155, - 0x1400, 0x1401, 0x1404, 0x1405, 0x1410, 0x1411, 0x1414, 0x1415, - 0x1440, 0x1441, 0x1444, 0x1445, 0x1450, 0x1451, 0x1454, 0x1455, - 0x1500, 0x1501, 0x1504, 0x1505, 0x1510, 0x1511, 0x1514, 0x1515, - 0x1540, 0x1541, 0x1544, 0x1545, 0x1550, 0x1551, 0x1554, 0x1555, - 0x4000, 0x4001, 0x4004, 0x4005, 0x4010, 0x4011, 0x4014, 0x4015, - 0x4040, 0x4041, 0x4044, 0x4045, 0x4050, 0x4051, 0x4054, 0x4055, - 0x4100, 0x4101, 0x4104, 0x4105, 0x4110, 0x4111, 0x4114, 0x4115, - 0x4140, 0x4141, 0x4144, 0x4145, 0x4150, 0x4151, 0x4154, 0x4155, - 0x4400, 0x4401, 0x4404, 0x4405, 0x4410, 0x4411, 0x4414, 0x4415, - 0x4440, 0x4441, 0x4444, 0x4445, 0x4450, 0x4451, 0x4454, 0x4455, - 0x4500, 0x4501, 0x4504, 0x4505, 0x4510, 0x4511, 0x4514, 0x4515, - 0x4540, 0x4541, 0x4544, 0x4545, 0x4550, 0x4551, 0x4554, 0x4555, - 0x5000, 0x5001, 0x5004, 0x5005, 0x5010, 0x5011, 0x5014, 0x5015, - 0x5040, 0x5041, 0x5044, 0x5045, 0x5050, 0x5051, 0x5054, 0x5055, - 0x5100, 0x5101, 0x5104, 0x5105, 0x5110, 0x5111, 0x5114, 0x5115, - 0x5140, 0x5141, 0x5144, 0x5145, 0x5150, 0x5151, 0x5154, 0x5155, - 0x5400, 0x5401, 0x5404, 0x5405, 0x5410, 0x5411, 0x5414, 0x5415, - 0x5440, 0x5441, 0x5444, 0x5445, 0x5450, 0x5451, 0x5454, 0x5455, - 0x5500, 0x5501, 0x5504, 0x5505, 0x5510, 0x5511, 0x5514, 0x5515, - 0x5540, 0x5541, 0x5544, 0x5545, 0x5550, 0x5551, 0x5554, 0x5555 -}; - - static struct TwiddleTable { int32_t width; int32_t height; int32_t* table; } TWIDDLE_TABLE = {0, 0, NULL}; - int32_t twiddle_recurse(int32_t* table, int32_t stride, int32_t x, int32_t y, int32_t block_size, int32_t idx) { int32_t prev_idx = idx; if(block_size == 1) { - table[idx++] = y * stride + x; + table[y * stride + x] = idx++; } else { block_size = block_size >> 1; idx += twiddle_recurse(table, stride, x, y, block_size, idx); @@ -97,7 +59,7 @@ int32_t twiddle_recurse(int32_t* table, int32_t stride, int32_t x, int32_t y, in return (idx - prev_idx); } -void build_twiddle_table(int32_t* table, int32_t w, int32_t h) { +void build_twiddle_table(int32_t w, int32_t h) { free(TWIDDLE_TABLE.table); TWIDDLE_TABLE.table = (int32_t*) malloc(w * h * sizeof(int32_t)); TWIDDLE_TABLE.width = w; @@ -107,11 +69,11 @@ void build_twiddle_table(int32_t* table, int32_t w, int32_t h) { if(w < h) { for(int32_t i = 0; i < h; i += w) { - idx += twiddle_recurse(table, w, 0, i, w, idx); + idx += twiddle_recurse(TWIDDLE_TABLE.table, w, 0, i, w, idx); } } else { for(int32_t i = 0; i < w; i += h) { - idx += twiddle_recurse(table, w, i, 0, h, idx); + idx += twiddle_recurse(TWIDDLE_TABLE.table, w, i, 0, h, idx); } } } @@ -120,25 +82,11 @@ void build_twiddle_table(int32_t* table, int32_t w, int32_t h) { * new 0-based texel location */ GL_FORCE_INLINE uint32_t twid_location(uint32_t i, uint32_t w, uint32_t h) { if(TWIDDLE_TABLE.width != w || TWIDDLE_TABLE.height != h || !TWIDDLE_TABLE.table) { - build_twiddle_table(TWIDDLE_TABLE.table, w, h); + build_twiddle_table(w, h); } uint32_t ret = TWIDDLE_TABLE.table[i]; - fprintf(stderr, "%d -> %d\n", i, ret); - return ret; - -// uint32_t x = i % w; -// uint32_t y = i / w; - -// uint32_t ret = MortonTable256[y >> 8] << 17 | -// MortonTable256[x >> 8] << 16 | -// MortonTable256[y & 0xFF] << 1 | -// MortonTable256[x & 0xFF]; - -// uint32_t min = (w < h) ? w : h; -// uint32_t r = (x / min + y / min) * min * min / 2; -// return ret + r; } @@ -295,7 +243,6 @@ void _glApplyColorTable(TexturePalette* src) { GLushort i; GLushort offset = src->size * src->bank; - for(i = 0; i < src->width; ++i) { GLubyte* entry = &src->data[i * 4]; @@ -1000,10 +947,12 @@ static GLint _cleanInternalFormat(GLint internalFormat) { case GL_COLOR_INDEX8_TWID_KOS: case GL_COLOR_INDEX4_TWID_KOS: return internalFormat; + /* Paletted textures are always twiddled.. otherwise they don't work! */ case GL_COLOR_INDEX4_EXT: - return (TEXTURE_TWIDDLE_ENABLED) ? GL_COLOR_INDEX4_TWID_KOS : internalFormat; + return GL_COLOR_INDEX4_TWID_KOS; case GL_COLOR_INDEX8_EXT: - return (TEXTURE_TWIDDLE_ENABLED) ? GL_COLOR_INDEX8_TWID_KOS : internalFormat; + return GL_COLOR_INDEX8_TWID_KOS; + case GL_RGB_TWID_KOS: return GL_RGB565_TWID_KOS; case GL_RGBA_TWID_KOS: @@ -1079,7 +1028,6 @@ static GLuint _determinePVRFormat(GLint internalFormat) { * that can hold it */ - fprintf(stderr, "Internal format -> 0x%x\n", internalFormat); switch(internalFormat) { case GL_RGB565_KOS: return GPU_TXRFMT_RGB565 | GPU_TXRFMT_NONTWIDDLED; @@ -1700,8 +1648,8 @@ void APIENTRY glTexImage2D(GLenum target, GLint level, GLint internalFormat, for(uint32_t i = 0; i < (width * height); ++i) { uint32_t newLocation = twid_location(i, width, height); dst = conversionBuffer + (destStride * newLocation); + src = data + (sourceStride * i); conversion(src, dst); - src += sourceStride; } } else if(pack) { FASTCPY(conversionBuffer, data, srcBytes); diff --git a/samples/nehe06/main.c b/samples/nehe06/main.c index 21aaa15..543c3a2 100644 --- a/samples/nehe06/main.c +++ b/samples/nehe06/main.c @@ -61,7 +61,6 @@ void LoadGLTextures() { /* A general OpenGL initialization function. Sets all of the initial parameters. */ void InitGL(int Width, int Height) // We call this right after our OpenGL window is created. { - glEnable(GL_TEXTURE_TWIDDLE_KOS); LoadGLTextures(); glEnable(GL_TEXTURE_2D); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // This Will Clear The Background Color To Black diff --git a/samples/nehe06/romdisk/NeHe.bmp b/samples/nehe06/romdisk/NeHe.bmp index 6b3db10f2b8d60997f7e213255809961985c2ef3..ad2171df184e5b0e600054579faf304e98d5b506 100644 GIT binary patch literal 98442 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ͰF-6LSL>~!sG^Y!B7 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 diff --git a/samples/paletted_pcx/main.c b/samples/paletted_pcx/main.c index f306481..e397ab7 100644 --- a/samples/paletted_pcx/main.c +++ b/samples/paletted_pcx/main.c @@ -254,6 +254,8 @@ int BMP_Infos(FILE *pFile, uint32_t *width, uint32_t *height) *width = (uint32_t)BmpInfoHeader.Width; *height = (uint32_t)BmpInfoHeader.Height; + fseek(pFile, BmpInfoHeader.Size + 14, SEEK_SET); + return 1; } @@ -270,6 +272,7 @@ int BMP_GetPalette(FILE *pFile) bitCount = BmpInfoHeader.ClrImportant * sizeof(RGB_QUAD); if (fread(BmpRgbQuad, 1, bitCount, pFile) != bitCount){ + fprintf(stderr, "Failed to read palette: %d\n", bitCount); return 0; } diff --git a/samples/paletted_pcx/romdisk/NeHe-Alpha.bmp b/samples/paletted_pcx/romdisk/NeHe-Alpha.bmp index db96b15c092cb4ca6756dd4886aeeb25a420961e..d8d9dea7ca9d685826dd72fb7a01cc347a21a775 100644 GIT binary patch literal 16586 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 UF8E^_>i?`1?XwK!2kdN literal 32886 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