(RGL) Cleanups

This commit is contained in:
twinaphex 2013-03-26 22:16:04 +01:00
parent 443c18d7cc
commit 0ca24db260
3 changed files with 39 additions and 65 deletions

View File

@ -24,8 +24,8 @@ PPU_SRCS = $(RGL_DIR)/Utils/NameSpace.cpp \
$(RGL_DIR)/Utils/TexNameSpace.cpp \
$(RGL_DIR)/Utils/EnumMap.cpp \
$(RGL_DIR)/libelf/readelf.cpp \
$(RGL_DIR)/ps3/rgl_ps3.cpp \
$(RGL_DIR)/ps3/rgl_ps3_raster.cpp
$(RGL_DIR)/ps3/rgl_ps3_raster.cpp \
$(RGL_DIR)/ps3/rgl_ps3.cpp
ifeq ($(CELL_BUILD_TOOLS), SNC)

View File

@ -6,22 +6,6 @@
// incorrect in the case of NaN.
#define RGLGCM_CLAMPF_01(x) ((x) >= 0.0f ? ((x) > 1.0f ? 1.0f : (x)) : 0.0f)
static inline GLboolean rglIsDrawableColorFormat (GLenum colorFormat)
{
#ifndef HAVE_RGL_2D
switch (colorFormat)
{
case RGLGCM_ARGB8:
case RGLGCM_FLOAT_R32:
return GL_TRUE;
default:
return GL_FALSE;
}
#else
return GL_TRUE;
#endif
}
static inline GLuint rglPlatformGetBitsPerPixel (GLenum internalFormat)
{
switch (internalFormat)
@ -122,52 +106,6 @@ static inline void rglGcmFifoGlViewport(void *data, GLclampf zNear, GLclampf zFa
clipY1 - clipY0, zNear, zFar, scale, offset );
}
static inline void rglGcmFifoGlDrawArrays(rglGcmEnum mode, GLint first, GLsizei count)
{
uint8_t gcmMode = 0;
switch (mode)
{
case RGLGCM_POINTS:
gcmMode = CELL_GCM_PRIMITIVE_POINTS;
break;
case RGLGCM_LINES:
gcmMode = CELL_GCM_PRIMITIVE_LINES;
break;
case RGLGCM_LINE_LOOP:
gcmMode = CELL_GCM_PRIMITIVE_LINE_LOOP;
break;
case RGLGCM_LINE_STRIP:
gcmMode = CELL_GCM_PRIMITIVE_LINE_STRIP;
break;
case RGLGCM_TRIANGLES:
gcmMode = CELL_GCM_PRIMITIVE_TRIANGLES;
break;
case RGLGCM_TRIANGLE_STRIP:
gcmMode = CELL_GCM_PRIMITIVE_TRIANGLE_STRIP;
break;
case RGLGCM_TRIANGLE_FAN:
gcmMode = CELL_GCM_PRIMITIVE_TRIANGLE_FAN;
break;
case RGLGCM_QUADS:
gcmMode = CELL_GCM_PRIMITIVE_QUADS;
break;
case RGLGCM_QUAD_STRIP:
gcmMode = CELL_GCM_PRIMITIVE_QUAD_STRIP;
break;
case RGLGCM_POLYGON:
gcmMode = CELL_GCM_PRIMITIVE_POLYGON;
break;
default:
break;
}
if ( count )
{
GCM_FUNC_SAFE( cellGcmSetDrawArrays, gcmMode, first, count );
}
}
static inline void rglGcmFifoGlTransferDataVidToVid
(
GLuint dstVidId,

View File

@ -2049,7 +2049,43 @@ GLAPI void APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count)
GCM_FUNC( cellGcmSetUpdateFragmentProgramParameter,
gmmIdToOffset( driver->fpLoadProgramId ) + driver->fpLoadProgramOffset );
rglGcmFifoGlDrawArrays(( rglGcmEnum )dparams->mode, dparams->firstVertex, dparams->vertexCount );
uint8_t gcmMode = 0;
switch (dparams->mode)
{
case RGLGCM_POINTS:
gcmMode = CELL_GCM_PRIMITIVE_POINTS;
break;
case RGLGCM_LINES:
gcmMode = CELL_GCM_PRIMITIVE_LINES;
break;
case RGLGCM_LINE_LOOP:
gcmMode = CELL_GCM_PRIMITIVE_LINE_LOOP;
break;
case RGLGCM_LINE_STRIP:
gcmMode = CELL_GCM_PRIMITIVE_LINE_STRIP;
break;
case RGLGCM_TRIANGLES:
gcmMode = CELL_GCM_PRIMITIVE_TRIANGLES;
break;
case RGLGCM_TRIANGLE_STRIP:
gcmMode = CELL_GCM_PRIMITIVE_TRIANGLE_STRIP;
break;
case RGLGCM_TRIANGLE_FAN:
gcmMode = CELL_GCM_PRIMITIVE_TRIANGLE_FAN;
break;
case RGLGCM_QUADS:
gcmMode = CELL_GCM_PRIMITIVE_QUADS;
break;
case RGLGCM_QUAD_STRIP:
gcmMode = CELL_GCM_PRIMITIVE_QUAD_STRIP;
break;
case RGLGCM_POLYGON:
gcmMode = CELL_GCM_PRIMITIVE_POLYGON;
break;
}
GCM_FUNC_SAFE( cellGcmSetDrawArrays, gcmMode, dparams->firstVertex, dparams->vertexCount );
}
// must always call this before rglPlatformDraw() to setup rglDrawParams