diff options
| author | iCatButler <i.am.catbutler@gmail.com> | 2016-05-10 21:34:27 +0100 |
|---|---|---|
| committer | iCatButler <i.am.catbutler@gmail.com> | 2016-05-10 21:34:27 +0100 |
| commit | b5a738748175a460f856a1ed8a2e29fa26ebfb14 (patch) | |
| tree | 8cc060819d9433940859de000bbb986cc45d7458 /plugins/peopsxgl/prim.c | |
| parent | 1a30cfb9510d4e46960010735d26a344f75cb328 (diff) | |
| download | pcsxr-b5a738748175a460f856a1ed8a2e29fa26ebfb14.tar.gz | |
Add PGXP visual debug mode
Toggles using F11
Red = low precision
Blue = high precision
Yellow = Sprite
Diffstat (limited to 'plugins/peopsxgl/prim.c')
| -rwxr-xr-x | plugins/peopsxgl/prim.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/plugins/peopsxgl/prim.c b/plugins/peopsxgl/prim.c index ffa3fcf3..eb4b7f01 100755 --- a/plugins/peopsxgl/prim.c +++ b/plugins/peopsxgl/prim.c @@ -25,6 +25,7 @@ #include "draw.h" #include "soft.h" #include "texture.h" +#include "PGXP_gpu.h" //////////////////////////////////////////////////////////////////////// // defines @@ -149,6 +150,13 @@ unsigned short BGR24to16 (uint32_t BGR) static __inline void PRIMdrawTexturedQuad(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3, OGLVertex* vertex4) { + if (PGXP_vDebug) + { + PGXP_DrawDebugTriQuad(vertex1, vertex2, vertex4, vertex3); + return; + } + + glBegin(GL_TRIANGLE_STRIP); glTexCoord2fv(&vertex1->sow); PGXP_glVertexfv(&vertex1->x); @@ -169,6 +177,12 @@ static __inline void PRIMdrawTexturedQuad(OGLVertex* vertex1, OGLVertex* vertex2 static __inline void PRIMdrawTexturedTri(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3) { + if (PGXP_vDebug) + { + PGXP_DrawDebugTri(vertex1, vertex2, vertex3); + return; + } + glBegin(GL_TRIANGLES); glTexCoord2fv(&vertex1->sow); PGXP_glVertexfv(&vertex1->x); @@ -186,6 +200,12 @@ static __inline void PRIMdrawTexturedTri(OGLVertex* vertex1, OGLVertex* vertex2, static __inline void PRIMdrawTexGouraudTriColor(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3) { + if (PGXP_vDebug) + { + PGXP_DrawDebugTri(vertex1, vertex2, vertex3); + return; + } + glBegin(GL_TRIANGLES); SETPCOL(vertex1); @@ -207,6 +227,12 @@ static __inline void PRIMdrawTexGouraudTriColor(OGLVertex* vertex1, OGLVertex* v static __inline void PRIMdrawTexGouraudTriColorQuad(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3, OGLVertex* vertex4) { + if (PGXP_vDebug) + { + PGXP_DrawDebugTriQuad(vertex1, vertex2, vertex4, vertex3); + return; + } + glBegin(GL_TRIANGLE_STRIP); SETPCOL(vertex1); glTexCoord2fv(&vertex1->sow); @@ -230,6 +256,12 @@ static __inline void PRIMdrawTexGouraudTriColorQuad(OGLVertex* vertex1, OGLVerte static __inline void PRIMdrawTri(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3) { + if (PGXP_vDebug) + { + PGXP_DrawDebugTri(vertex1, vertex2, vertex3); + return; + } + glBegin(GL_TRIANGLES); PGXP_glVertexfv(&vertex1->x); PGXP_glVertexfv(&vertex2->x); @@ -242,6 +274,12 @@ static __inline void PRIMdrawTri(OGLVertex* vertex1, OGLVertex* vertex2, OGLVert static __inline void PRIMdrawTri2(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3, OGLVertex* vertex4) { + if (PGXP_vDebug) + { + PGXP_DrawDebugTriQuad(vertex1, vertex3, vertex2, vertex4); + return; + } + glBegin(GL_TRIANGLE_STRIP); PGXP_glVertexfv(&vertex1->x); PGXP_glVertexfv(&vertex3->x); @@ -255,6 +293,12 @@ static __inline void PRIMdrawTri2(OGLVertex* vertex1, OGLVertex* vertex2, static __inline void PRIMdrawGouraudTriColor(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3) { + if (PGXP_vDebug) + { + PGXP_DrawDebugTri(vertex1, vertex2, vertex3); + return; + } + glBegin(GL_TRIANGLES); SETPCOL(vertex1); PGXP_glVertexfv(&vertex1->x); @@ -272,6 +316,12 @@ static __inline void PRIMdrawGouraudTriColor(OGLVertex* vertex1, OGLVertex* vert static __inline void PRIMdrawGouraudTri2Color(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3, OGLVertex* vertex4) { + if (PGXP_vDebug) + { + PGXP_DrawDebugTriQuad(vertex1, vertex3, vertex2, vertex4); + return; + } + glBegin(GL_TRIANGLE_STRIP); SETPCOL(vertex1); PGXP_glVertexfv(&vertex1->x); @@ -291,6 +341,12 @@ static __inline void PRIMdrawGouraudTri2Color(OGLVertex* vertex1, OGLVertex* ver static __inline void PRIMdrawFlatLine(OGLVertex* vertex1, OGLVertex* vertex2,OGLVertex* vertex3, OGLVertex* vertex4) { + if (PGXP_vDebug) + { + PGXP_DrawDebugQuad(vertex1, vertex2, vertex3, vertex4); + return; + } + glBegin(GL_QUADS); SETPCOL(vertex1); @@ -306,6 +362,12 @@ static __inline void PRIMdrawFlatLine(OGLVertex* vertex1, OGLVertex* vertex2,OGL static __inline void PRIMdrawGouraudLine(OGLVertex* vertex1, OGLVertex* vertex2,OGLVertex* vertex3, OGLVertex* vertex4) { + if (PGXP_vDebug) + { + PGXP_DrawDebugQuad(vertex1, vertex2, vertex3, vertex4); + return; + } + glBegin(GL_QUADS); SETPCOL(vertex1); @@ -327,6 +389,12 @@ static __inline void PRIMdrawGouraudLine(OGLVertex* vertex1, OGLVertex* vertex2, static __inline void PRIMdrawQuad(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3, OGLVertex* vertex4) { + if (PGXP_vDebug) + { + PGXP_DrawDebugQuad(vertex1, vertex2, vertex3, vertex4); + return; + } + glBegin(GL_QUADS); PGXP_glVertexfv(&vertex1->x); PGXP_glVertexfv(&vertex2->x); |
