From f04e079d770d7b2ff4a88d59b48d28b05d9a508d Mon Sep 17 00:00:00 2001 From: Twinaphex Date: Fri, 10 Aug 2012 01:37:17 +0200 Subject: [PATCH] (RGL) Cleanups --- console/rgl/ps3/cg.h | 14 --------- console/rgl/ps3/cgnv2rt.cpp | 59 +++++++++++++++++++++++++++++++++++-- console/rgl/ps3/cgnv2rt.h | 55 ---------------------------------- console/rgl/ps3/rgl.h | 6 ---- 4 files changed, 56 insertions(+), 78 deletions(-) diff --git a/console/rgl/ps3/cg.h b/console/rgl/ps3/cg.h index ddb6cad2c7..1521ab2c2d 100644 --- a/console/rgl/ps3/cg.h +++ b/console/rgl/ps3/cg.h @@ -419,20 +419,6 @@ static inline const CgParameterResource *_RGLGetParameterResource( const _CGprog return ( CgParameterResource * )( program->parameterResources + entry->typeIndex ); } -static inline CGtype _RGLGetParameterCGtype( const _CGprogram *program, const CgParameterEntry *entry ) -{ - if ( entry->flags & CGP_RTCREATED ) - return ( CGtype )entry->typeIndex; - else - { - const CgParameterResource *parameterResource = _RGLGetParameterResource( program, entry ); - if ( parameterResource ) - return ( CGtype )parameterResource->type; - } - - return CG_UNKNOWN_TYPE; -} - static inline const CgParameterArray *_RGLGetParameterArray( const _CGprogram *program, const CgParameterEntry *entry ) { return ( CgParameterArray* )( program->parameterResources + entry->typeIndex ); diff --git a/console/rgl/ps3/cgnv2rt.cpp b/console/rgl/ps3/cgnv2rt.cpp index 840f70d2dd..a8138e3c43 100644 --- a/console/rgl/ps3/cgnv2rt.cpp +++ b/console/rgl/ps3/cgnv2rt.cpp @@ -104,9 +104,62 @@ static bool bIsVertexProgram = true; static int getStride(CgBaseType *type); static int getSizeofSubArray(_CGNVCONTAINERS &containers, int dimensionIndex, int dimensionCount, int endianness); -static unsigned int stringTableFind( std::vector &stringTable, const char* str); -static unsigned int stringTableAdd( std::vector &stringTable, const char* str ); -static unsigned int stringTableAddUnique( std::vector &stringTable, const char* str ); + +static unsigned int stringTableFind( std::vector &stringTable, const char* str ) +{ + const char* data = &stringTable[0]; + size_t size = stringTable.size(); + const char *end = data + size; + + size_t length = strlen(str); + + if (length+1 > size) + return 0; + + data += length; + + const char *p = (char*)memchr(data,'\0',end-data); + while (p && (end-data)>0) + { + if (!memcmp(p - length, str, length)) + return (unsigned int)(p - length - &stringTable[0]); + + data = p+1; + p = (char*)memchr(data,'\0',end-data); + } + return 0; +} + +static unsigned int stringTableAdd( std::vector &stringTable, const char* str ) +{ + unsigned int ret = (unsigned int)stringTable.size(); + + if ( ret == 0 ) + { + stringTable.push_back('\0'); + ret = 1; + } + + size_t stringLength = strlen(str) + 1; + stringTable.resize(ret + stringLength); + memcpy(&stringTable[0] + ret,str,stringLength); + + return ret; +} + +static unsigned int stringTableAddUnique( std::vector &stringTable, const char* str ) +{ + if ( stringTable.size() == 0 ) + stringTable.push_back('\0'); + + unsigned int ret = stringTableFind(stringTable, str); + + if (ret == 0 && str[0] != '\0') + ret = stringTableAdd(stringTable, str); + + return ret; +} + template static size_t array_size(std::vector &array); template static void array_push(char* ¶meterOffset, std::vector &array); inline static unsigned int swap16(const unsigned int v); diff --git a/console/rgl/ps3/cgnv2rt.h b/console/rgl/ps3/cgnv2rt.h index 3fcac63705..cc222c1f2d 100644 --- a/console/rgl/ps3/cgnv2rt.h +++ b/console/rgl/ps3/cgnv2rt.h @@ -14,61 +14,6 @@ #define CNV2END(val) convert_endianness((val), elfEndianness) #define ENDSWAP(val) convert_endianness((val), (host_endianness() == 1) ? 2 : 1) -static unsigned int stringTableAdd( std::vector &stringTable, const char* str ) -{ - unsigned int ret = (unsigned int)stringTable.size(); - - if ( ret == 0 ) - { - stringTable.push_back('\0'); - ret = 1; - } - - size_t stringLength = strlen(str) + 1; - stringTable.resize(ret + stringLength); - memcpy(&stringTable[0] + ret,str,stringLength); - - return ret; -} - -static unsigned int stringTableFind( std::vector &stringTable, const char* str ) -{ - const char* data = &stringTable[0]; - size_t size = stringTable.size(); - const char *end = data + size; - - size_t length = strlen(str); - - if (length+1 > size) - return 0; - - data += length; - - const char *p = (char*)memchr(data,'\0',end-data); - while (p && (end-data)>0) - { - if (!memcmp(p - length, str, length)) - return (unsigned int)(p - length - &stringTable[0]); - - data = p+1; - p = (char*)memchr(data,'\0',end-data); - } - return 0; -} - -static unsigned int stringTableAddUnique( std::vector &stringTable, const char* str ) -{ - if ( stringTable.size() == 0 ) - stringTable.push_back('\0'); - - unsigned int ret = stringTableFind(stringTable, str); - - if (ret == 0 && str[0] != '\0') - ret = stringTableAdd(stringTable, str); - - return ret; -} - int convertNvToElfFromFile(const char *sourceFile, int endianness, int constTableOffset, void **binaryShader, int *size, std::vector &stringTable, std::vector &defaultValues); int convertNvToElfFromMemory(const void *sourceData, size_t size, int endianness, int constTableOffset, void **binaryShader, int *binarySize, std::vector &stringTable, std::vector &defaultValues); diff --git a/console/rgl/ps3/rgl.h b/console/rgl/ps3/rgl.h index 7783a7c382..1cb6b8ed27 100644 --- a/console/rgl/ps3/rgl.h +++ b/console/rgl/ps3/rgl.h @@ -260,10 +260,6 @@ jsTexture; #define MAX_TEXTURE_UNITS 4 -#define _RGL_MAX_MODELVIEW_STACK_DEPTH 16 -#define _RGL_MAX_PROJECTION_STACK_DEPTH 2 -#define MAX_TEXTURE_STACK_DEPTH 2 - #define MAX_VERTEX_ATTRIBS 16 typedef struct @@ -451,8 +447,6 @@ struct jsBufferObject void *platformBufferObject[]; }; -#define ELEMENTS_IN_MATRIX 16 - typedef struct jsNameSpace { void** data;