* commit '844c0987e04b0616bbc795f111045b733e68c893': opengles emulator: check OES_standard_derivatives support
This commit is contained in:
@@ -89,7 +89,7 @@ bool GLESv2Context::needConvert(GLESConversionArrays& cArrs,GLint first,GLsizei
|
|||||||
|
|
||||||
void GLESv2Context::initExtensionString() {
|
void GLESv2Context::initExtensionString() {
|
||||||
*s_glExtensions = "GL_OES_EGL_image GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint "
|
*s_glExtensions = "GL_OES_EGL_image GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint "
|
||||||
"GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_float_linear "
|
"GL_OES_texture_float GL_OES_texture_float_linear "
|
||||||
"GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture ";
|
"GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture ";
|
||||||
if (s_glSupport.GL_ARB_HALF_FLOAT_PIXEL || s_glSupport.GL_NV_HALF_FLOAT)
|
if (s_glSupport.GL_ARB_HALF_FLOAT_PIXEL || s_glSupport.GL_NV_HALF_FLOAT)
|
||||||
*s_glExtensions+="GL_OES_texture_half_float GL_OES_texture_half_float_linear ";
|
*s_glExtensions+="GL_OES_texture_half_float GL_OES_texture_half_float_linear ";
|
||||||
@@ -97,6 +97,8 @@ void GLESv2Context::initExtensionString() {
|
|||||||
*s_glExtensions+="GL_OES_packed_depth_stencil ";
|
*s_glExtensions+="GL_OES_packed_depth_stencil ";
|
||||||
if (s_glSupport.GL_ARB_HALF_FLOAT_VERTEX)
|
if (s_glSupport.GL_ARB_HALF_FLOAT_VERTEX)
|
||||||
*s_glExtensions+="GL_OES_vertex_half_float ";
|
*s_glExtensions+="GL_OES_vertex_half_float ";
|
||||||
|
if (s_glSupport.GL_OES_STANDARD_DERIVATIVES)
|
||||||
|
*s_glExtensions+="GL_OES_standard_derivatives ";
|
||||||
}
|
}
|
||||||
|
|
||||||
int GLESv2Context::getMaxTexUnits() {
|
int GLESv2Context::getMaxTexUnits() {
|
||||||
|
|||||||
@@ -522,6 +522,9 @@ void GLEScontext::initCapsLocked(const GLubyte * extensionString)
|
|||||||
if (strstr(cstring,"GL_ARB_ES2_compatibility ")!=NULL)
|
if (strstr(cstring,"GL_ARB_ES2_compatibility ")!=NULL)
|
||||||
s_glSupport.GL_ARB_ES2_COMPATIBILITY = true;
|
s_glSupport.GL_ARB_ES2_COMPATIBILITY = true;
|
||||||
|
|
||||||
|
if (strstr(cstring,"GL_OES_standard_derivatives ")!=NULL)
|
||||||
|
s_glSupport.GL_OES_STANDARD_DERIVATIVES = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GLEScontext::isTextureUnitEnabled(GLenum unit) {
|
bool GLEScontext::isTextureUnitEnabled(GLenum unit) {
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ struct GLSupport {
|
|||||||
GL_EXT_PACKED_DEPTH_STENCIL(false) , GL_OES_READ_FORMAT(false), \
|
GL_EXT_PACKED_DEPTH_STENCIL(false) , GL_OES_READ_FORMAT(false), \
|
||||||
GL_ARB_HALF_FLOAT_PIXEL(false), GL_NV_HALF_FLOAT(false), \
|
GL_ARB_HALF_FLOAT_PIXEL(false), GL_NV_HALF_FLOAT(false), \
|
||||||
GL_ARB_HALF_FLOAT_VERTEX(false),GL_SGIS_GENERATE_MIPMAP(false),
|
GL_ARB_HALF_FLOAT_VERTEX(false),GL_SGIS_GENERATE_MIPMAP(false),
|
||||||
GL_ARB_ES2_COMPATIBILITY(false) {} ;
|
GL_ARB_ES2_COMPATIBILITY(false),GL_OES_STANDARD_DERIVATIVES(false) {} ;
|
||||||
int maxLights;
|
int maxLights;
|
||||||
int maxVertexAttribs;
|
int maxVertexAttribs;
|
||||||
int maxClipPlane;
|
int maxClipPlane;
|
||||||
@@ -63,6 +63,7 @@ struct GLSupport {
|
|||||||
bool GL_ARB_HALF_FLOAT_VERTEX;
|
bool GL_ARB_HALF_FLOAT_VERTEX;
|
||||||
bool GL_SGIS_GENERATE_MIPMAP;
|
bool GL_SGIS_GENERATE_MIPMAP;
|
||||||
bool GL_ARB_ES2_COMPATIBILITY;
|
bool GL_ARB_ES2_COMPATIBILITY;
|
||||||
|
bool GL_OES_STANDARD_DERIVATIVES;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user