diff --git a/CMakeLists.txt b/CMakeLists.txt index 15cd489dd3..48788e835b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -218,11 +218,14 @@ if(FASTLOG) add_definitions(-DDEBUGFAST) endif() +# For now GLES and EGL are tied to each other. +# Enabling GLES also disables the OpenGL plugin. option(USE_GLES "Enables GLES, disables OGL" OFF) if(USE_GLES) message("GLES rendering enabled") add_definitions(-DUSE_GLES) add_definitions(-DUSE_EGL) + set(USE_EGL True) endif() add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE) diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h b/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h index ae83401f38..2c131fb937 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h +++ b/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h @@ -29,6 +29,19 @@ #define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 #endif +#ifdef USE_GLES +#define TEX2D GL_TEXTURE_2D +#define PREC "highp" +#define TEXTYPE "sampler2D" +#define TEXFUNC "texture2D" +#else +#define TEX2D GL_TEXTURE_RECTANGLE_ARB +#define PREC +#define TEXTYPE "sampler2DRect" +#define TEXFUNC "texture2DRect" +#endif + + #ifndef _WIN32 #include diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/HwRasterizer.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/HwRasterizer.cpp index a31fdaedd8..83d9fa9b23 100644 --- a/Source/Plugins/Plugin_VideoSoftware/Src/HwRasterizer.cpp +++ b/Source/Plugins/Plugin_VideoSoftware/Src/HwRasterizer.cpp @@ -26,17 +26,6 @@ #include "DebugUtil.h" #define TEMP_SIZE (1024*1024*4) -#ifdef USE_GLES -#define PREC "highp" -#define TEX2D GL_TEXTURE_2D -#define TEXTYPE "sampler2D" -#define TEXFUNC "texture2D" -#else -#define PREC -#define TEX2D GL_TEXTURE_RECTANGLE_ARB -#define TEXTYPE "sampler2DRect" -#define TEXFUNC "texture2DRect" -#endif namespace HwRasterizer { @@ -176,7 +165,6 @@ namespace HwRasterizer #endif TexCacheEntry &cacheEntry = textures[imageAddr]; cacheEntry.Update(); - GL_REPORT_ERRORD(); glBindTexture(TEX2D, cacheEntry.texture); glTexParameteri(TEX2D, GL_TEXTURE_MAG_FILTER, texUnit.texMode0[0].mag_filter ? GL_LINEAR : GL_NEAREST); @@ -187,7 +175,6 @@ namespace HwRasterizer void BeginTriangles() { // disabling depth test sometimes allows more things to be visible - GL_REPORT_ERRORD(); glEnable(GL_DEPTH_TEST); glEnable(GL_BLEND); @@ -195,7 +182,6 @@ namespace HwRasterizer if (hasTexture) LoadTexture(); - GL_REPORT_ERRORD(); } void EndTriangles() @@ -237,9 +223,9 @@ namespace HwRasterizer { x2, y2, z2 } }; static const GLfloat col[3][4] = { - { r0, g0, b0, 0.1f }, - { r1, g1, b1, 0.1f }, - { r2, g2, b2, 0.1f } + { r0, g0, b0, 1.0f }, + { r1, g1, b1, 1.0f }, + { r2, g2, b2, 1.0f } }; { glUseProgram(colProg); diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp index 982a8f11da..c85a1029c9 100644 --- a/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp +++ b/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp @@ -29,19 +29,7 @@ static GLint attr_pos = -1, attr_tex = -1; static GLint uni_tex = -1; static GLuint program; -#ifdef USE_GLES -#define PREC "highp" -#define TEX2D GL_TEXTURE_2D -#define TEXTYPE "sampler2D" -#define TEXFUNC "texture2D" -#else -#define PREC -#define TEX2D GL_TEXTURE_RECTANGLE_ARB -#define TEXTYPE "sampler2DRect" -#define TEXFUNC "texture2DRect" -#endif - - +// Rasterfont isn't compatible with GLES #ifndef USE_GLES RasterFont* s_pfont = NULL; #endif @@ -104,9 +92,9 @@ void SWRenderer::Prepare() void SWRenderer::RenderText(const char* pstr, int left, int top, u32 color) { +#ifndef USE_GLES int nBackbufferWidth = (int)GLInterface->GetBackBufferWidth(); int nBackbufferHeight = (int)GLInterface->GetBackBufferHeight(); -#ifndef USE_GLES glColor4f(((color>>16) & 0xff)/255.0f, ((color>> 8) & 0xff)/255.0f, ((color>> 0) & 0xff)/255.0f, ((color>>24) & 0xFF)/255.0f); s_pfont->printMultilineText(pstr,