Support OpenGL ES 3.2.

OpenGL ES 3.2 adds a few things we care about supporting in core. In particular:
- GL_{ARB,EXT,OES}_draw_elements_base_vertex
- KHR_Debug
- Sample Shading
- GL_{ARB,EXT,OES,NV}_copy_image
- Geometry shaders
- Geometry shader instancing (If they support GL_{EXT,OES}_geometry_point_size)

Nvidia was the first to release an OpenGL ES 3.2 driver which I uesd to test this on.
This also enables GS Instancing on GLES 3.1 hardware if it supports all of the required extensions.
This commit is contained in:
Ryan Houdek
2015-08-26 00:09:32 -05:00
parent 6015e2d812
commit 447b1b09e3
5 changed files with 91 additions and 25 deletions

View File

@ -19,6 +19,7 @@ enum GLSL_VERSION
GLSL_150, // and above
GLSLES_300, // GLES 3.0
GLSLES_310, // GLES 3.1
GLSLES_320, // GLES 3.2
};
// ogl-only config, so not in VideoConfig.h
@ -37,6 +38,7 @@ struct VideoConfig
bool bSupportsAEP;
bool bSupportsDebug;
bool bSupportsCopySubImage;
u8 SupportedESPointSize;
const char* gl_vendor;
const char* gl_renderer;