(RGL PS3) Cleanups
This commit is contained in:
parent
484dd5c828
commit
7be9b2df18
|
@ -356,6 +356,7 @@ static void ps3_input_set_keybinds(void *data, unsigned device,
|
||||||
|
|
||||||
static void* ps3_input_init(void)
|
static void* ps3_input_init(void)
|
||||||
{
|
{
|
||||||
|
unsigned i;
|
||||||
ps3_input_t *ps3 = (ps3_input_t*)calloc(1, sizeof(*ps3));
|
ps3_input_t *ps3 = (ps3_input_t*)calloc(1, sizeof(*ps3));
|
||||||
if (!ps3)
|
if (!ps3)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -113,7 +113,6 @@ uint32_t gmmInit(
|
||||||
);
|
);
|
||||||
|
|
||||||
uint32_t gmmDestroy(void);
|
uint32_t gmmDestroy(void);
|
||||||
uint32_t gmmIdToOffset(const uint32_t id);
|
|
||||||
char *gmmIdToAddress(const uint32_t id);
|
char *gmmIdToAddress(const uint32_t id);
|
||||||
|
|
||||||
uint32_t gmmFPOffsetToId(
|
uint32_t gmmFPOffsetToId(
|
||||||
|
@ -132,7 +131,16 @@ uint32_t gmmAlloc(
|
||||||
const uint32_t size
|
const uint32_t size
|
||||||
);
|
);
|
||||||
|
|
||||||
uint32_t gmmGetBlockSize (const uint32_t id);
|
extern GmmAllocator *pGmmLocalAllocator;
|
||||||
|
|
||||||
|
#define GMM_ADDRESS_TO_OFFSET(address) (address - pGmmLocalAllocator->memoryBase)
|
||||||
|
|
||||||
|
#define gmmGetBlockSize(id) (((GmmBaseBlock*)id)->size)
|
||||||
|
#define gmmGetTileData(id) (((GmmTileBlock*)id)->pData)
|
||||||
|
#define gmmIdToOffset(id) (GMM_ADDRESS_TO_OFFSET(((GmmBaseBlock*)id)->address))
|
||||||
|
#define gmmAllocFixedTileBlock() ((GmmTileBlock*)gmmAllocFixed(1))
|
||||||
|
#define gmmFreeFixedTileBlock(data) (gmmFreeFixed(1, (GmmTileBlock*)data))
|
||||||
|
#define gmmFreeFixedBlock(data) (gmmFreeFixed(0, (GmmBlock*)data))
|
||||||
|
|
||||||
void gmmSetTileAttrib(
|
void gmmSetTileAttrib(
|
||||||
const uint32_t id,
|
const uint32_t id,
|
||||||
|
@ -140,6 +148,4 @@ void gmmSetTileAttrib(
|
||||||
void *pData
|
void *pData
|
||||||
);
|
);
|
||||||
|
|
||||||
void *gmmGetTileData (const uint32_t id);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -28,7 +28,7 @@ static inline GLuint rglPlatformGetBitsPerPixel (GLenum internalFormat)
|
||||||
|
|
||||||
#define rglGcmSetVertexData4f(thisContext, index, v) \
|
#define rglGcmSetVertexData4f(thisContext, index, v) \
|
||||||
thisContext->current[0] = (((4) << (18)) | (CELL_GCM_NV4097_SET_VERTEX_DATA4F_M + (index) * 16)); \
|
thisContext->current[0] = (((4) << (18)) | (CELL_GCM_NV4097_SET_VERTEX_DATA4F_M + (index) * 16)); \
|
||||||
__builtin_memcpy(&thisContext->current[1], v, sizeof(float)*4); \
|
memcpy(&thisContext->current[1], v, sizeof(float)*4); \
|
||||||
thisContext->current += 5;
|
thisContext->current += 5;
|
||||||
|
|
||||||
#define rglGcmSetVertexDataArray(thisContext, index, frequency, stride, size, type, location, offset) \
|
#define rglGcmSetVertexDataArray(thisContext, index, frequency, stride, size, type, location, offset) \
|
||||||
|
@ -448,9 +448,8 @@ static inline void rglGcmSetVertexProgramLoad(struct CellGcmContextData *thisCon
|
||||||
for (i = 0; i < loop; i++)
|
for (i = 0; i < loop; i++)
|
||||||
{
|
{
|
||||||
thisContext->current[0] = (((32) << (18)) | CELL_GCM_NV4097_SET_TRANSFORM_PROGRAM);
|
thisContext->current[0] = (((32) << (18)) | CELL_GCM_NV4097_SET_TRANSFORM_PROGRAM);
|
||||||
|
memcpy(&thisContext->current[1], &rawData[0], sizeof(uint32_t)*16);
|
||||||
__builtin_memcpy(&thisContext->current[1], &rawData[0], sizeof(uint32_t)*16);
|
memcpy(&thisContext->current[17], &rawData[16], sizeof(uint32_t)*16);
|
||||||
__builtin_memcpy(&thisContext->current[17], &rawData[16], sizeof(uint32_t)*16);
|
|
||||||
|
|
||||||
thisContext->current += (1 + 32);
|
thisContext->current += (1 + 32);
|
||||||
rawData += 32;
|
rawData += 32;
|
||||||
|
|
|
@ -279,13 +279,12 @@ void rglTexNameSpaceDeleteNames(void *data, GLsizei n, const GLuint *names )
|
||||||
MEMORY MANAGER
|
MEMORY MANAGER
|
||||||
============================================================ */
|
============================================================ */
|
||||||
|
|
||||||
static GmmAllocator *pGmmLocalAllocator = NULL;
|
GmmAllocator *pGmmLocalAllocator = NULL;
|
||||||
static volatile uint32_t *pLock = NULL;
|
static volatile uint32_t *pLock = NULL;
|
||||||
static uint32_t cachedLockValue = 0;
|
static uint32_t cachedLockValue = 0;
|
||||||
static GmmFixedAllocData *pGmmFixedAllocData = NULL;
|
static GmmFixedAllocData *pGmmFixedAllocData = NULL;
|
||||||
|
|
||||||
#define PAD(x, pad) ((x + pad - 1) / pad * pad)
|
#define PAD(x, pad) ((x + pad - 1) / pad * pad)
|
||||||
#define GMM_ADDRESS_TO_OFFSET(address) (address - pGmmLocalAllocator->memoryBase)
|
|
||||||
|
|
||||||
static uint32_t gmmInitFixedAllocator(void)
|
static uint32_t gmmInitFixedAllocator(void)
|
||||||
{
|
{
|
||||||
|
@ -439,23 +438,6 @@ static void gmmDestroyFixedAllocator (void)
|
||||||
|
|
||||||
#define GMM_ALLOC_FIXED_BLOCK() ((GmmBlock*)gmmAllocFixed(0))
|
#define GMM_ALLOC_FIXED_BLOCK() ((GmmBlock*)gmmAllocFixed(0))
|
||||||
|
|
||||||
static void gmmFreeFixedBlock (void *data)
|
|
||||||
{
|
|
||||||
GmmBlock *pBlock = (GmmBlock*)data;
|
|
||||||
gmmFreeFixed(0, pBlock);
|
|
||||||
}
|
|
||||||
|
|
||||||
static GmmTileBlock *gmmAllocFixedTileBlock (void)
|
|
||||||
{
|
|
||||||
return (GmmTileBlock *)gmmAllocFixed(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gmmFreeFixedTileBlock (void *data)
|
|
||||||
{
|
|
||||||
GmmTileBlock *pTileBlock = (GmmTileBlock*)data;
|
|
||||||
gmmFreeFixed(1, pTileBlock);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t gmmInit(
|
uint32_t gmmInit(
|
||||||
const void *localMemoryBase,
|
const void *localMemoryBase,
|
||||||
const void *localStartAddress,
|
const void *localStartAddress,
|
||||||
|
@ -547,16 +529,6 @@ uint32_t gmmDestroy (void)
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t gmmGetBlockSize(const uint32_t id)
|
|
||||||
{
|
|
||||||
return ((GmmBaseBlock *)id)->size;
|
|
||||||
}
|
|
||||||
|
|
||||||
void *gmmGetTileData(const uint32_t id)
|
|
||||||
{
|
|
||||||
return ((GmmTileBlock *)id)->pData;
|
|
||||||
}
|
|
||||||
|
|
||||||
void gmmSetTileAttrib(const uint32_t id, const uint32_t tag,
|
void gmmSetTileAttrib(const uint32_t id, const uint32_t tag,
|
||||||
void *pData)
|
void *pData)
|
||||||
{
|
{
|
||||||
|
@ -566,12 +538,6 @@ void gmmSetTileAttrib(const uint32_t id, const uint32_t tag,
|
||||||
pTileBlock->pData = pData;
|
pTileBlock->pData = pData;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t gmmIdToOffset(const uint32_t id)
|
|
||||||
{
|
|
||||||
GmmBaseBlock *pBaseBlock = (GmmBaseBlock *)id;
|
|
||||||
return GMM_ADDRESS_TO_OFFSET(pBaseBlock->address);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *gmmIdToAddress (const uint32_t id)
|
char *gmmIdToAddress (const uint32_t id)
|
||||||
{
|
{
|
||||||
GmmBaseBlock *pBaseBlock = (GmmBaseBlock *)id;
|
GmmBaseBlock *pBaseBlock = (GmmBaseBlock *)id;
|
||||||
|
@ -621,9 +587,7 @@ static GmmBlock *gmmAllocBlock(
|
||||||
{
|
{
|
||||||
pNewBlock = GMM_ALLOC_FIXED_BLOCK();
|
pNewBlock = GMM_ALLOC_FIXED_BLOCK();
|
||||||
if (pNewBlock == NULL)
|
if (pNewBlock == NULL)
|
||||||
{
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
memset(pNewBlock, 0, sizeof(GmmBlock));
|
memset(pNewBlock, 0, sizeof(GmmBlock));
|
||||||
|
|
||||||
|
@ -1119,7 +1083,7 @@ static inline void gmmLocalMemcpy(void *data, const uint32_t dstOffset,
|
||||||
int32_t sizeLeft = moveSize;
|
int32_t sizeLeft = moveSize;
|
||||||
int32_t dimension = 4096;
|
int32_t dimension = 4096;
|
||||||
|
|
||||||
while (sizeLeft > 0)
|
while (sizeLeft)
|
||||||
{
|
{
|
||||||
while(sizeLeft >= dimension*dimension*4)
|
while(sizeLeft >= dimension*dimension*4)
|
||||||
{
|
{
|
||||||
|
@ -1138,7 +1102,7 @@ static inline void gmmLocalMemcpy(void *data, const uint32_t dstOffset,
|
||||||
4);
|
4);
|
||||||
|
|
||||||
offset = offset + dimension*dimension*4;
|
offset = offset + dimension*dimension*4;
|
||||||
sizeLeft = sizeLeft - (dimension*dimension*4);
|
sizeLeft -= (dimension*dimension*4);
|
||||||
}
|
}
|
||||||
|
|
||||||
dimension = dimension >> 1;
|
dimension = dimension >> 1;
|
||||||
|
@ -1147,7 +1111,7 @@ static inline void gmmLocalMemcpy(void *data, const uint32_t dstOffset,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sizeLeft > 0)
|
if (sizeLeft)
|
||||||
{
|
{
|
||||||
rglGcmSetTransferImage(gCellGcmCurrentContext,
|
rglGcmSetTransferImage(gCellGcmCurrentContext,
|
||||||
CELL_GCM_TRANSFER_LOCAL_TO_LOCAL,
|
CELL_GCM_TRANSFER_LOCAL_TO_LOCAL,
|
||||||
|
@ -1172,12 +1136,10 @@ static inline void gmmMemcpy(void *data, const uint8_t mode,
|
||||||
CellGcmContextData *thisContext = (CellGcmContextData*)data;
|
CellGcmContextData *thisContext = (CellGcmContextData*)data;
|
||||||
|
|
||||||
if (dstOffset + moveSize <= srcOffset)
|
if (dstOffset + moveSize <= srcOffset)
|
||||||
{
|
|
||||||
gmmLocalMemcpy(thisContext,
|
gmmLocalMemcpy(thisContext,
|
||||||
dstOffset,
|
dstOffset,
|
||||||
srcOffset,
|
srcOffset,
|
||||||
moveSize);
|
moveSize);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
uint32_t moveBlockSize = srcOffset-dstOffset;
|
uint32_t moveBlockSize = srcOffset-dstOffset;
|
||||||
|
@ -1318,9 +1280,7 @@ static uint8_t gmmInternalSweep(void *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pBlock->pPrev)
|
if (pBlock->pPrev)
|
||||||
{
|
|
||||||
availableSize = pBlock->base.address - (pBlock->pPrev->base.address + pBlock->pPrev->base.size);
|
availableSize = pBlock->base.address - (pBlock->pPrev->base.address + pBlock->pPrev->base.size);
|
||||||
}
|
|
||||||
|
|
||||||
pTempBlock = pTempBlockNext;
|
pTempBlock = pTempBlockNext;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4981,33 +4981,6 @@ static void fillStructureItems(_CGNVCONTAINERS &containers, CgStructureType *str
|
||||||
unsigned short *arrayDefaultValueIndex = NULL);
|
unsigned short *arrayDefaultValueIndex = NULL);
|
||||||
|
|
||||||
|
|
||||||
int convertNvToElfFromFile(const char *sourceFile, int endianness, int constTableOffset, void **binaryShader, int *size,
|
|
||||||
std::vector<char> &stringTable, std::vector<float> &defaultValues)
|
|
||||||
{
|
|
||||||
FILE *fp = fopen(sourceFile, "rb");
|
|
||||||
if (fp)
|
|
||||||
{
|
|
||||||
fseek(fp,0,SEEK_END);
|
|
||||||
size_t filesize = ftell(fp);
|
|
||||||
fseek(fp,0,SEEK_SET);
|
|
||||||
void *data = malloc(filesize);
|
|
||||||
if (data == NULL)
|
|
||||||
{
|
|
||||||
fclose(fp);
|
|
||||||
//RGL_ASSERT2(0,("not enough memory to read the shader source"));
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
fread(data,filesize,1,fp);
|
|
||||||
fclose(fp);
|
|
||||||
|
|
||||||
int res = convertNvToElfFromMemory(data,filesize,endianness,constTableOffset, binaryShader, size,stringTable,defaultValues);
|
|
||||||
free(data);
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
//RGL_ASSERT2(0,("couldn't open source file %s\n",sourceFile));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define swap16(v) ((v>>16) | (v<<16))
|
#define swap16(v) ((v>>16) | (v<<16))
|
||||||
|
|
||||||
int convertNvToElfFromMemory(const void *sourceData, size_t size, int endianness, int constTableOffset, void **binaryShader, int *binarySize,
|
int convertNvToElfFromMemory(const void *sourceData, size_t size, int endianness, int constTableOffset, void **binaryShader, int *binarySize,
|
||||||
|
|
Loading…
Reference in New Issue