mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-10 11:22:47 +00:00
(RGL PS3) Replace more GCM_FUNC instances
This commit is contained in:
parent
e08339775f
commit
8049687c2d
@ -26,6 +26,37 @@ static inline GLuint rglPlatformGetBitsPerPixel (GLenum internalFormat)
|
||||
#define SUBPIXEL_BITS 12
|
||||
#define SUBPIXEL_ADJUST (0.5/(1<<SUBPIXEL_BITS))
|
||||
|
||||
#define rglGcmSetVertexData4f(thisContext, index, v) \
|
||||
thisContext->current[0] = (((4) << (18)) | ((0x00001c00) + (index) * 16)); \
|
||||
__builtin_memcpy(&thisContext->current[1], v, sizeof(float)*4); \
|
||||
thisContext->current += 5;
|
||||
|
||||
#define rglGcmSetVertexDataArray(thisContext, index, frequency, stride, size, type, location, offset) \
|
||||
(thisContext->current)[0] = (((1) << (18)) | ((0x00001740) + ((index)) * 4)); \
|
||||
(thisContext->current)[1] = ((((frequency)) << 16) | (((stride)) << 8) | (((size)) << 4) | ((type))); \
|
||||
(thisContext->current) += 2; \
|
||||
(thisContext->current)[0] = (((1) << (18)) | ((0x00001680) + ((index)) * 4)); \
|
||||
(thisContext->current)[1] = ((((location)) << 31) | (offset)); \
|
||||
(thisContext->current) += 2;
|
||||
|
||||
#define rglGcmSetInlineTransferPointer(thisContext, offset, count, pointer) \
|
||||
(thisContext->current)[0] = (((1) << (18)) | ((0x0000630C))); \
|
||||
(thisContext->current)[1] = (offset & ~63); \
|
||||
(thisContext->current) += 2; \
|
||||
(thisContext->current)[0] = (((2) << (18)) | ((0x00006300))); \
|
||||
(thisContext->current)[1] = (CELL_GCM_TRANSFER_SURFACE_FORMAT_Y32); \
|
||||
(thisContext->current)[2] = ((0x1000) | ((0x1000) << 16)); \
|
||||
(thisContext->current) += 3; \
|
||||
(thisContext->current)[0] = (((3) << (18)) | ((0x0000A304))); \
|
||||
(thisContext->current)[1] = (((0) << 16) | ((offset & 63) >> 2)); \
|
||||
(thisContext->current)[2] = (((1) << 16) | (count)); \
|
||||
(thisContext->current)[3] = (((1) << 16) | (count)); \
|
||||
(thisContext->current) += 4; \
|
||||
thisContext->current[0] = ((((count + 1) & ~1) << (18)) | ((0x0000A400))); \
|
||||
thisContext->current += 1; \
|
||||
pointer = thisContext->current; \
|
||||
thisContext->current += ((count + 1) & ~1);
|
||||
|
||||
#define rglGcmSetWriteBackEndLabel(thisContext, index, value) \
|
||||
(thisContext->current)[0] = (((1) << (18)) | ((0x00001d6c))); \
|
||||
(thisContext->current)[1] = 0x10 * index; /* offset */ \
|
||||
|
@ -1713,7 +1713,7 @@ void rglGcmSetOpenGLState (void *data)
|
||||
|
||||
for ( i = 0; i < RGLGCM_ATTRIB_COUNT; i++ )
|
||||
{
|
||||
GCM_FUNC( cellGcmSetVertexDataArray, i, 0, 0, 0, CELL_GCM_VERTEX_F, CELL_GCM_LOCATION_LOCAL, 0);
|
||||
rglGcmSetVertexDataArray(thisContext, i, 0, 0, 0, CELL_GCM_VERTEX_F, CELL_GCM_LOCATION_LOCAL, 0);
|
||||
}
|
||||
|
||||
rglGcmSetDitherEnable(thisContext, RGLGCM_TRUE );
|
||||
|
@ -91,7 +91,8 @@ template<int SIZE> inline static void swapandsetfp( int ucodeSize, unsigned int
|
||||
{
|
||||
void *pointer=NULL;
|
||||
const int paddedSIZE = (SIZE + 1) & ~1; // even width only
|
||||
GCM_FUNC( cellGcmSetInlineTransferPointer, gmmIdToOffset( loadProgramId ) + loadProgramOffset + *( ec++ ), paddedSIZE, &pointer);
|
||||
uint32_t var = gmmIdToOffset( loadProgramId ) + loadProgramOffset + *( ec++ );
|
||||
rglGcmSetInlineTransferPointer(thisContext, var, paddedSIZE, pointer);
|
||||
float *fp = (float*)pointer;
|
||||
float *src = (float*)v;
|
||||
for (uint32_t j=0; j<SIZE;j++)
|
||||
@ -351,7 +352,7 @@ template <int ROWS, int COLS, int ORDER> static void setMatrixSharedfpIndex (voi
|
||||
}
|
||||
rglGcmSetTransferLocation(thisContext, CELL_GCM_LOCATION_LOCAL );
|
||||
void *pointer=NULL;
|
||||
GCM_FUNC( cellGcmSetInlineTransferPointer, dstVidOffset, 4*ROWS, &pointer);
|
||||
rglGcmSetInlineTransferPointer(thisContext, dstVidOffset, (4*ROWS), pointer);
|
||||
float *fp = (float*)pointer;
|
||||
float *src = (float*)tmp;
|
||||
for (uint32_t j=0; j<ROWS;j++)
|
||||
@ -401,9 +402,8 @@ template <int ROWS, int COLS, int ORDER> static void setMatrixSharedfpIndexArray
|
||||
|
||||
rglGcmSetTransferLocation(thisContext, CELL_GCM_LOCATION_LOCAL );
|
||||
|
||||
|
||||
void *pointer=NULL;
|
||||
GCM_FUNC( cellGcmSetInlineTransferPointer, dstVidOffset, 4*ROWS, &pointer);
|
||||
rglGcmSetInlineTransferPointer(thisContext, dstVidOffset, (4*ROWS), pointer);
|
||||
float *fp = (float*)pointer;
|
||||
const float *src = (const float*)tmp;
|
||||
for (uint32_t j=0; j<4*ROWS;j++)
|
||||
@ -2084,13 +2084,13 @@ beginning:
|
||||
break;
|
||||
}
|
||||
|
||||
GCM_FUNC( cellGcmSetVertexDataArray, i, freq, stride, size, gcmType, CELL_GCM_LOCATION_LOCAL, gpuOffset );
|
||||
rglGcmSetVertexDataArray(thisContext, i, freq, stride, size, gcmType, CELL_GCM_LOCATION_LOCAL, gpuOffset );
|
||||
}
|
||||
else
|
||||
{
|
||||
// attribute is disabled
|
||||
GCM_FUNC( cellGcmSetVertexDataArray, i, 0, 0, 0, CELL_GCM_VERTEX_F, CELL_GCM_LOCATION_LOCAL, 0);
|
||||
GCM_FUNC( cellGcmSetVertexData4f, i, attrib->value );
|
||||
rglGcmSetVertexDataArray(thisContext, i, 0, 0, 0, CELL_GCM_VERTEX_F, CELL_GCM_LOCATION_LOCAL, 0);
|
||||
rglGcmSetVertexData4f(thisContext, i, attrib->value );
|
||||
}
|
||||
}
|
||||
driver->invalidateVertexCache = GL_TRUE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user