From 7e7d90b60625ab7da22b3bff53d7ff3bc1dba71b Mon Sep 17 00:00:00 2001
From: Luke Benstead <kazade@gmail.com>
Date: Sat, 29 Feb 2020 13:25:30 +0000
Subject: [PATCH] Inline some things

---
 GL/draw.c    | 32 ++++++++++++++++----------------
 GL/private.h |  2 +-
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/GL/draw.c b/GL/draw.c
index baaeaa8..4f17191 100644
--- a/GL/draw.c
+++ b/GL/draw.c
@@ -56,7 +56,7 @@ void _glInitAttributePointers() {
     NORMAL_POINTER.size = 3;
 }
 
-static GLboolean _glIsVertexDataFastPathCompatible() {
+GL_FORCE_INLINE GLboolean _glIsVertexDataFastPathCompatible() {
     /*
      * We provide a "fast path" if vertex data is provided in
      * exactly the right format that matches what the PVR can handle.
@@ -94,7 +94,7 @@ static GLboolean _glIsVertexDataFastPathCompatible() {
     return GL_TRUE;
 }
 
-static inline GLuint byte_size(GLenum type) {
+GL_FORCE_INLINE GLuint byte_size(GLenum type) {
     switch(type) {
     case GL_BYTE: return sizeof(GLbyte);
     case GL_UNSIGNED_BYTE: return sizeof(GLubyte);
@@ -114,7 +114,7 @@ typedef void (*ByteParseFunc)(GLubyte* out, const GLubyte* in);
 typedef void (*PolyBuildFunc)(Vertex* first, Vertex* previous, Vertex* vertex, Vertex* next, const GLsizei i);
 
 
-static inline float clamp(float d, float min, float max) {
+GL_FORCE_INLINE float clamp(float d, float min, float max) {
     const float t = d < min ? min : d;
     return t > max ? max : t;
 }
@@ -131,7 +131,7 @@ static void _readVertexData3f3f(const float* input, GLuint count, GLubyte stride
 }
 
 
-static inline float conv_i10_to_norm_float(int i10) {
+GL_FORCE_INLINE float conv_i10_to_norm_float(int i10) {
     struct attr_bits_10 {
         signed int x:10;
     } val;
@@ -531,7 +531,7 @@ static inline GLuint _parseUShortIndex(const GLubyte* in) {
 }
 
 
-static inline IndexParseFunc _calcParseIndexFunc(GLenum type) {
+GL_FORCE_INLINE IndexParseFunc _calcParseIndexFunc(GLenum type) {
     switch(type) {
     case GL_UNSIGNED_BYTE:
         return &_parseUByteIndex;
@@ -582,12 +582,12 @@ static inline IndexParseFunc _calcParseIndexFunc(GLenum type) {
 }
 
 
-static inline void transformToEyeSpace(GLfloat* point) {
+GL_FORCE_INLINE void transformToEyeSpace(GLfloat* point) {
     _glMatrixLoadModelView();
     mat_trans_single3_nodiv(point[0], point[1], point[2]);
 }
 
-static inline void transformNormalToEyeSpace(GLfloat* normal) {
+GL_FORCE_INLINE void transformNormalToEyeSpace(GLfloat* normal) {
     _glMatrixLoadNormal();
     mat_trans_normal3(normal[0], normal[1], normal[2]);
 }
@@ -645,7 +645,7 @@ static void genTriangleFan(Vertex* output, GLuint count) {
     }
 }
 
-static inline void _readPositionData(const GLuint first, const GLuint count, Vertex* output) {
+GL_FORCE_INLINE void _readPositionData(const GLuint first, const GLuint count, Vertex* output) {
     const GLubyte vstride = (VERTEX_POINTER.stride) ? VERTEX_POINTER.stride : VERTEX_POINTER.size * byte_size(VERTEX_POINTER.type);
     const void* vptr = ((GLubyte*) VERTEX_POINTER.ptr + (first * vstride));
 
@@ -696,7 +696,7 @@ static inline void _readPositionData(const GLuint first, const GLuint count, Ver
     }
 }
 
-static inline void _readUVData(const GLuint first, const GLuint count, Vertex* output) {
+GL_FORCE_INLINE void _readUVData(const GLuint first, const GLuint count, Vertex* output) {
     if((ENABLED_VERTEX_ATTRIBUTES & UV_ENABLED_FLAG) != UV_ENABLED_FLAG) {
         _fillZero2f(count, output->uv);
         return;
@@ -731,7 +731,7 @@ static inline void _readUVData(const GLuint first, const GLuint count, Vertex* o
     }
 }
 
-static inline void _readSTData(const GLuint first, const GLuint count, VertexExtra* extra) {
+GL_FORCE_INLINE void _readSTData(const GLuint first, const GLuint count, VertexExtra* extra) {
     if((ENABLED_VERTEX_ATTRIBUTES & ST_ENABLED_FLAG) != ST_ENABLED_FLAG) {
         _fillZero2fVE(count, extra->st);
         return;
@@ -766,7 +766,7 @@ static inline void _readSTData(const GLuint first, const GLuint count, VertexExt
     }
 }
 
-static inline void _readNormalData(const GLuint first, const GLuint count, VertexExtra* extra) {
+GL_FORCE_INLINE void _readNormalData(const GLuint first, const GLuint count, VertexExtra* extra) {
     if((ENABLED_VERTEX_ATTRIBUTES & NORMAL_ENABLED_FLAG) != NORMAL_ENABLED_FLAG) {
         _fillWithNegZVE(count, extra->nxyz);
         return;
@@ -816,14 +816,14 @@ static inline void _readNormalData(const GLuint first, const GLuint count, Verte
     }
 }
 
-static inline void _readDiffuseData(const GLuint first, const GLuint count, Vertex* output) {
+GL_FORCE_INLINE void _readDiffuseData(const GLuint first, const GLuint count, Vertex* output) {
     if((ENABLED_VERTEX_ATTRIBUTES & DIFFUSE_ENABLED_FLAG) != DIFFUSE_ENABLED_FLAG) {
         /* Just fill the whole thing white if the attribute is disabled */
         _fillWhiteARGB(count, output[0].bgra);
         return;
     }
 
-    const GLubyte cstride = (DIFFUSE_POINTER.stride) ? DIFFUSE_POINTER.stride : DIFFUSE_POINTER.size * byte_size(DIFFUSE_POINTER.type);
+    const GLuint cstride = (DIFFUSE_POINTER.stride) ? DIFFUSE_POINTER.stride : DIFFUSE_POINTER.size * byte_size(DIFFUSE_POINTER.type);
     const void* cptr = ((GLubyte*) DIFFUSE_POINTER.ptr) + (first * cstride);
 
     if(DIFFUSE_POINTER.size == 3) {
@@ -1142,7 +1142,7 @@ GL_FORCE_INLINE float MATH_fsrra(float x) {
     return x;
 }
 
-static void divide(SubmissionTarget* target) {
+GL_FORCE_INLINE void divide(SubmissionTarget* target) {
     TRACE();
 
     /* Perform perspective divide on each vertex */
@@ -1157,7 +1157,7 @@ static void divide(SubmissionTarget* target) {
     }
 }
 
-static void push(PVRHeader* header, GLboolean multiTextureHeader, PolyList* activePolyList, GLshort textureUnit) {
+GL_FORCE_INLINE void push(PVRHeader* header, GLboolean multiTextureHeader, PolyList* activePolyList, GLshort textureUnit) {
     TRACE();
 
     // Compile the header
@@ -1194,7 +1194,7 @@ static void push(PVRHeader* header, GLboolean multiTextureHeader, PolyList* acti
 
 #define DEBUG_CLIPPING 0
 
-static void submitVertices(GLenum mode, GLsizei first, GLuint count, GLenum type, const GLvoid* indices) {
+GL_FORCE_INLINE void submitVertices(GLenum mode, GLsizei first, GLuint count, GLenum type, const GLvoid* indices) {
     TRACE();
 
     /* Do nothing if vertices aren't enabled */
diff --git a/GL/private.h b/GL/private.h
index 71a4e34..bb82695 100644
--- a/GL/private.h
+++ b/GL/private.h
@@ -27,7 +27,7 @@
     ((((GLushort)r & 0xf8) << 8) | (((GLushort) g & 0xfc) << 3) | ((GLushort) b >> 3))
 
 #define TRACE_ENABLED 0
-#define TRACE() if(TRACE_ENABLED) {fprintf(stderr, "%s\n", __func__);}
+#define TRACE() if(TRACE_ENABLED) {fprintf(stderr, "%s\n", __func__);} (void) 0
 
 #define VERTEX_ENABLED_FLAG     (1 << 0)
 #define UV_ENABLED_FLAG         (1 << 1)