From 0ca24db2601d2409462d05174a31e4db55274cec Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 26 Mar 2013 22:16:04 +0100 Subject: [PATCH] (RGL) Cleanups --- Makefile.ps3.rgl | 4 +- ps3/rgl/src/ps3/include/rgl-inline.h | 62 ---------------------------- ps3/rgl/src/ps3/rgl_ps3_raster.cpp | 38 ++++++++++++++++- 3 files changed, 39 insertions(+), 65 deletions(-) diff --git a/Makefile.ps3.rgl b/Makefile.ps3.rgl index a1e961d8df..7f1a768e7a 100644 --- a/Makefile.ps3.rgl +++ b/Makefile.ps3.rgl @@ -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) diff --git a/ps3/rgl/src/ps3/include/rgl-inline.h b/ps3/rgl/src/ps3/include/rgl-inline.h index 350d273875..272c894adb 100644 --- a/ps3/rgl/src/ps3/include/rgl-inline.h +++ b/ps3/rgl/src/ps3/include/rgl-inline.h @@ -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, diff --git a/ps3/rgl/src/ps3/rgl_ps3_raster.cpp b/ps3/rgl/src/ps3/rgl_ps3_raster.cpp index 7142540432..d52e5b3514 100644 --- a/ps3/rgl/src/ps3/rgl_ps3_raster.cpp +++ b/ps3/rgl/src/ps3/rgl_ps3_raster.cpp @@ -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