mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-13 13:24:01 +00:00
Revert "(RGL PS3) Implement our own version of cellGcmSetVertexProgramParameterBlock"
This reverts commit 80a56bedaeb83b668dc3b341e8645bb700b5207b.
This commit is contained in:
parent
2b10d2bf0c
commit
e91f8f1c82
@ -284,42 +284,6 @@ static inline GLuint rglPlatformGetBitsPerPixel (GLenum internalFormat)
|
||||
(thisContext->current)[1] = ((surface->height - (((surface->height) & 0x1000) >> 12)) | ((origin) << 12) | ((pixelCenter) << 16)); \
|
||||
(thisContext->current) += 2;
|
||||
|
||||
static inline void rglGcmSetVertexProgramParameterBlock(struct CellGcmContextData *thisContext,
|
||||
uint32_t baseConst, uint32_t constCount, const float * __restrict value)
|
||||
{
|
||||
uint32_t blockCount = (constCount*4) >> 5;
|
||||
uint32_t blockRemain = (constCount*4) & 0x1f;
|
||||
|
||||
uint32_t i;
|
||||
for (i=0; i < blockCount; i++)
|
||||
{
|
||||
uint32_t loadAt = baseConst+i*8;
|
||||
|
||||
thisContext->current[0] = (((33) << (18)) | ((0x00001efc)));
|
||||
thisContext->current[1] = (loadAt);
|
||||
|
||||
__builtin_memcpy(&thisContext->current[2], value, sizeof(float)*16);
|
||||
__builtin_memcpy(&thisContext->current[18], &value[16], sizeof(float)*16);
|
||||
thisContext->current += 34;
|
||||
value += 32;
|
||||
}
|
||||
|
||||
if(blockRemain)
|
||||
{
|
||||
thisContext->current[0] = (((blockRemain+1) << (18)) | ((0x00001efc)));
|
||||
thisContext->current[1] = (baseConst + blockCount*8);
|
||||
thisContext->current += 2;
|
||||
|
||||
blockRemain >>= 2;
|
||||
for (i=0; i < blockRemain; ++i)
|
||||
{
|
||||
__builtin_memcpy(thisContext->current, value, sizeof(float)*4);
|
||||
thisContext->current += 4;
|
||||
value += 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static inline void rglGcmSetFragmentProgramLoad(struct CellGcmContextData *thisContext, const CellCgbFragmentProgramConfiguration *conf, const uint32_t location)
|
||||
{
|
||||
uint32_t rawData = ((conf->offset)&0x1fffffff);
|
||||
|
@ -3127,8 +3127,8 @@ GLAPI void RGL_EXPORT psglSwap (void)
|
||||
|
||||
rglGcmDriver *driver = (rglGcmDriver*)_CurrentDevice->rasterDriver;
|
||||
const char * __restrict v = driver->sharedVPConstants;
|
||||
GCM_FUNC( cellGcmSetVertexProgramParameterBlock, 0, 8, ( float* )v ); // GCM_PORT_UNTESTED [KHOFF]
|
||||
|
||||
rglGcmSetVertexProgramParameterBlock(thisContext, 0, 8, ( float* )v );
|
||||
rglGcmSetDitherEnable(thisContext, RGLGCM_TRUE );
|
||||
|
||||
RGLcontext *context = (RGLcontext*)_CurrentContext;
|
||||
|
@ -168,7 +168,6 @@ template<int SIZE> static void setVectorTypeSharedfpIndexArray (void *data, cons
|
||||
}
|
||||
template<int SIZE> static void setVectorTypeSharedvpIndex (void *data, const void* __restrict v, const int /*index*/ )
|
||||
{
|
||||
CellGcmContextData *thisContext = (CellGcmContextData*)gCellGcmCurrentContext;
|
||||
CgRuntimeParameter *ptr = (CgRuntimeParameter*)data;
|
||||
const float * __restrict f = ( const float * __restrict )v;
|
||||
const CgParameterResource *parameterResource = rglGetParameterResource( ptr->program, ptr->parameterEntry );
|
||||
@ -183,12 +182,11 @@ template<int SIZE> static void setVectorTypeSharedvpIndex (void *data, const voi
|
||||
memcpy(driver->sharedVPConstants + resource * 4 * sizeof( float ),
|
||||
dst, 4 * sizeof(float));
|
||||
|
||||
rglGcmSetVertexProgramParameterBlock(thisContext, resource, 1, dst );
|
||||
GCM_FUNC( cellGcmSetVertexProgramParameterBlock, resource, 1, dst );
|
||||
}
|
||||
|
||||
template<int SIZE> static void setVectorTypeSharedvpIndexArray (void *data, const void* __restrict v, const int index )
|
||||
{
|
||||
CellGcmContextData *thisContext = (CellGcmContextData*)gCellGcmCurrentContext;
|
||||
CgRuntimeParameter *ptr = (CgRuntimeParameter*)data;
|
||||
const float * __restrict f = ( const float * __restrict )v;
|
||||
const CgParameterResource *parameterResource = rglGetParameterResource( ptr->program, ptr->parameterEntry );
|
||||
@ -203,7 +201,7 @@ template<int SIZE> static void setVectorTypeSharedvpIndexArray (void *data, cons
|
||||
memcpy(driver->sharedVPConstants + resource * 4 * sizeof( float ),
|
||||
dst, 4 * sizeof(float));
|
||||
|
||||
rglGcmSetVertexProgramParameterBlock(thisContext, resource, 1, dst );
|
||||
GCM_FUNC( cellGcmSetVertexProgramParameterBlock, resource, 1, dst );
|
||||
}
|
||||
|
||||
|
||||
@ -277,7 +275,6 @@ template <int ROWS, int COLS, int ORDER> static void setMatrixvpIndex (void *dat
|
||||
template <int ROWS, int COLS, int ORDER, bool isVpIndexArray> static void setMatrixSharedvpIndex (void *data, const void* __restrict v, const int index )
|
||||
{
|
||||
CgRuntimeParameter *ptr = (CgRuntimeParameter*)data;
|
||||
CellGcmContextData *thisContext = (CellGcmContextData*)gCellGcmCurrentContext;
|
||||
float * __restrict f = ( float* )v;
|
||||
float * __restrict dst = ( float* )ptr->pushBufferPointer;
|
||||
|
||||
@ -295,7 +292,7 @@ template <int ROWS, int COLS, int ORDER, bool isVpIndexArray> static void setMat
|
||||
for ( long col = COLS; col < 4; ++col ) tmp[row*4 + col] = dst[row*4+col];
|
||||
}
|
||||
|
||||
rglGcmSetVertexProgramParameterBlock(thisContext, resource, ROWS, (const float*)tmp);
|
||||
GCM_FUNC( cellGcmSetVertexProgramParameterBlock, resource, ROWS, (const float*)tmp);
|
||||
}
|
||||
|
||||
template <int ROWS, int COLS, int ORDER> static void setMatrixSharedfpIndex (void *data, const void* __restrict v, const int /*index*/ )
|
||||
@ -820,7 +817,7 @@ void rglCreatePushBuffer(void *data)
|
||||
memset( rglGcmCurrent, 0, 4*( 4*registerCount + 3 ) );
|
||||
CellGcmContextData gcmContext;
|
||||
gcmContext.current = (uint32_t*)rglGcmCurrent;
|
||||
rglGcmSetVertexProgramParameterBlock(&gcmContext, parameterResource->resource, registerCount, ( float* )rglGcmCurrent );
|
||||
cellGcmSetVertexProgramParameterBlockUnsafeInline(&gcmContext, parameterResource->resource, registerCount, ( float* )rglGcmCurrent );
|
||||
rglGcmCurrent = (typeof(rglGcmCurrent))gcmContext.current;
|
||||
|
||||
rtParameter->pushBufferPointer = rglGcmCurrent - 4 * registerCount;
|
||||
@ -837,7 +834,7 @@ void rglCreatePushBuffer(void *data)
|
||||
memset( rglGcmCurrent, 0, 4*( 4*registerStride + 3 ) );
|
||||
CellGcmContextData gcmContext;
|
||||
gcmContext.current = (uint32_t*)rglGcmCurrent;
|
||||
rglGcmSetVertexProgramParameterBlock(&gcmContext, program->resources[resourceIndex], registerStride, ( float* )rglGcmCurrent );
|
||||
cellGcmSetVertexProgramParameterBlockUnsafeInline(&gcmContext, program->resources[resourceIndex], registerStride, ( float* )rglGcmCurrent );
|
||||
rglGcmCurrent = (typeof(rglGcmCurrent))gcmContext.current;
|
||||
*( programPushBuffer++ ) = ( unsigned int* )( rglGcmCurrent - 4 * registerStride );
|
||||
}
|
||||
@ -1761,7 +1758,7 @@ GLAPI void APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count)
|
||||
case CG_FIXED2:
|
||||
case CG_FIXED3:
|
||||
case CG_FIXED4:
|
||||
rglGcmSetVertexProgramParameterBlock(thisContext, parameterResource->resource, 1, value );
|
||||
GCM_FUNC( cellGcmSetVertexProgramParameterBlock, parameterResource->resource, 1, value ); // GCM_PORT_TESTED [Cedric]
|
||||
break;
|
||||
case CG_FLOAT4x4:
|
||||
case CG_HALF4x4:
|
||||
@ -1787,7 +1784,7 @@ GLAPI void APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count)
|
||||
v2[13] = value[7];
|
||||
v2[14] = value[11];
|
||||
v2[15] = value[15];
|
||||
rglGcmSetVertexProgramParameterBlock(thisContext, parameterResource->resource, 4, v2 );
|
||||
GCM_FUNC( cellGcmSetVertexProgramParameterBlock, parameterResource->resource, 4, v2 ); // GCM_PORT_TESTED [Cedric]
|
||||
}
|
||||
break;
|
||||
case CG_FLOAT3x3:
|
||||
@ -1801,7 +1798,7 @@ GLAPI void APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count)
|
||||
v2[0] = value[0];v2[1] = value[3];v2[2] = value[6];v2[3] = 0;
|
||||
v2[4] = value[1];v2[5] = value[4];v2[6] = value[7];v2[7] = 0;
|
||||
v2[8] = value[2];v2[9] = value[5];v2[10] = value[8];v2[11] = 0;
|
||||
rglGcmSetVertexProgramParameterBlock(thisContext, parameterResource->resource, 3, v2 );
|
||||
GCM_FUNC( cellGcmSetVertexProgramParameterBlock, parameterResource->resource, 3, v2 );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user