diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 2f274cf23..e5f9d6d97 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -729,6 +729,7 @@ void WrappedOpenGL::BuildGLESExtensions() { m_GLESExtensions.push_back("GL_ARM_rgba8"); m_GLESExtensions.push_back("GL_EXT_base_instance"); + m_GLESExtensions.push_back("GL_EXT_blend_minmax"); m_GLESExtensions.push_back("GL_EXT_clip_cull_distance"); m_GLESExtensions.push_back("GL_EXT_color_buffer_float"); m_GLESExtensions.push_back("GL_EXT_color_buffer_half_float"); @@ -736,10 +737,9 @@ void WrappedOpenGL::BuildGLESExtensions() m_GLESExtensions.push_back("GL_EXT_debug_label"); m_GLESExtensions.push_back("GL_EXT_debug_marker"); m_GLESExtensions.push_back("GL_EXT_disjoint_timer_query"); - m_GLESExtensions.push_back("GL_EXT_blend_minmax"); m_GLESExtensions.push_back("GL_EXT_draw_buffers"); - m_GLESExtensions.push_back("GL_EXT_draw_elements_base_vertex"); m_GLESExtensions.push_back("GL_EXT_draw_buffers_indexed"); + m_GLESExtensions.push_back("GL_EXT_draw_elements_base_vertex"); m_GLESExtensions.push_back("GL_EXT_geometry_point_size"); m_GLESExtensions.push_back("GL_EXT_geometry_shader"); m_GLESExtensions.push_back("GL_EXT_gpu_shader5"); @@ -786,15 +786,22 @@ void WrappedOpenGL::BuildGLESExtensions() m_GLESExtensions.push_back("GL_KHR_texture_compression_astc_sliced_3d"); m_GLESExtensions.push_back("GL_OES_compressed_ETC1_RGB8_texture"); m_GLESExtensions.push_back("GL_OES_copy_image"); + m_GLESExtensions.push_back("GL_OES_depth24"); + m_GLESExtensions.push_back("GL_OES_depth32"); + m_GLESExtensions.push_back("GL_OES_depth_texture"); + m_GLESExtensions.push_back("GL_OES_depth_texture_cube_map"); m_GLESExtensions.push_back("GL_OES_draw_elements_base_vertex"); + m_GLESExtensions.push_back("GL_OES_fbo_render_mipmap"); m_GLESExtensions.push_back("GL_OES_geometry_shader"); m_GLESExtensions.push_back("GL_OES_gpu_shader5"); m_GLESExtensions.push_back("GL_OES_mapbuffer"); + m_GLESExtensions.push_back("GL_OES_packed_depth_stencil"); m_GLESExtensions.push_back("GL_OES_primitive_bounding_box"); m_GLESExtensions.push_back("GL_OES_rgb8_rgba8"); m_GLESExtensions.push_back("GL_OES_sample_shading"); m_GLESExtensions.push_back("GL_OES_standard_derivatives"); m_GLESExtensions.push_back("GL_OES_tessellation_shader"); + m_GLESExtensions.push_back("GL_OES_texture_3D"); m_GLESExtensions.push_back("GL_OES_texture_border_clamp"); m_GLESExtensions.push_back("GL_OES_texture_buffer"); m_GLESExtensions.push_back("GL_OES_texture_compression_astc"); @@ -802,9 +809,11 @@ void WrappedOpenGL::BuildGLESExtensions() m_GLESExtensions.push_back("GL_OES_texture_float_linear"); m_GLESExtensions.push_back("GL_OES_texture_half_float"); m_GLESExtensions.push_back("GL_OES_texture_half_float_linear"); + m_GLESExtensions.push_back("GL_OES_texture_npot"); m_GLESExtensions.push_back("GL_OES_texture_stencil8"); m_GLESExtensions.push_back("GL_OES_texture_storage_multisample_2d_array"); m_GLESExtensions.push_back("GL_OES_vertex_array_object"); + m_GLESExtensions.push_back("GL_OES_vertex_half_float"); // we'll be sorting the implementation extension array, so make sure the // sorts are identical so we can do the intersection easily diff --git a/renderdoc/driver/gl/gl_hookset.h b/renderdoc/driver/gl/gl_hookset.h index a1a55fd75..0b5ec9fe3 100644 --- a/renderdoc/driver/gl/gl_hookset.h +++ b/renderdoc/driver/gl/gl_hookset.h @@ -113,24 +113,24 @@ struct GLHookSet PFNGLTEXSTORAGE3DPROC glTexStorage3D; PFNGLTEXSTORAGE2DMULTISAMPLEPROC glTexStorage2DMultisample; PFNGLTEXSTORAGE3DMULTISAMPLEPROC glTexStorage3DMultisample; // aliases glTexStorage3DMultisampleOES - PFNGLTEXIMAGE3DPROC glTexImage3D; // aliases glTexImage3DEXT - PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D; + PFNGLTEXIMAGE3DPROC glTexImage3D; // aliases glTexImage3DEXT, glTexImage3DOES + PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D; // aliases glTexSubImage3DOES PFNGLTEXBUFFERPROC glTexBuffer; // aliases glTexBufferARB, glTexBufferEXT, glTexBufferOES PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample; PFNGLTEXIMAGE3DMULTISAMPLEPROC glTexImage3DMultisample; PFNGLCOMPRESSEDTEXIMAGE1DPROC glCompressedTexImage1D; // aliases glCompressedTexImage1DARB PFNGLCOMPRESSEDTEXIMAGE2DPROC glCompressedTexImage2D; // aliases glCompressedTexImage2DARB - PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D; // aliases glCompressedTexImage3DARB + PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D; // aliases glCompressedTexImage3DARB, glCompressedTexImage3DOES PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glCompressedTexSubImage1D; // aliases glCompressedTexSubImage1DARB PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glCompressedTexSubImage2D; // aliases glCompressedTexSubImage2DARB - PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D; // aliases glCompressedTexSubImage3DARB + PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D; // aliases glCompressedTexSubImage3DARB, glCompressedTexSubImage3DOES PFNGLTEXBUFFERRANGEPROC glTexBufferRange; // aliases glTexBufferRangeEXT, glTexBufferRangeOES PFNGLTEXTUREVIEWPROC glTextureView; PFNGLTEXPARAMETERIIVPROC glTexParameterIiv; // aliases glTexParameterIivEXT, glTexParameterIivOES PFNGLTEXPARAMETERIUIVPROC glTexParameterIuiv; // aliases glTexParameterIuivEXT, glTexParameterIuivOES PFNGLGENERATEMIPMAPPROC glGenerateMipmap; // aliases glGenerateMipmapEXT PFNGLCOPYIMAGESUBDATAPROC glCopyImageSubData; // aliases glCopyImageSubDataEXT, glCopyImageSubDataOES - PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D; + PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D; // aliases glCopyTexSubImage3DOES PFNGLGETINTERNALFORMATIVPROC glGetInternalformativ; PFNGLGETINTERNALFORMATI64VPROC glGetInternalformati64v; PFNGLGETBUFFERPARAMETERIVPROC glGetBufferParameteriv; // aliases glGetBufferParameterivARB @@ -298,7 +298,7 @@ struct GLHookSet PFNGLFRAMEBUFFERTEXTUREPROC glFramebufferTexture; // aliases glFramebufferTextureARB, glFramebufferTextureOES, glFramebufferTextureEXT PFNGLFRAMEBUFFERTEXTURE1DPROC glFramebufferTexture1D; // aliases glFramebufferTexture1DEXT PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D; // aliases glFramebufferTexture2DEXT - PFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D; // aliases glFramebufferTexture3DEXT + PFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D; // aliases glFramebufferTexture3DEXT, glFramebufferTexture3DOES PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer; // aliases glFramebufferRenderbufferEXT PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer; // aliases glFramebufferTextureLayerARB, glFramebufferTextureLayerEXT PFNGLFRAMEBUFFERPARAMETERIPROC glFramebufferParameteri; diff --git a/renderdoc/driver/gl/gl_hookset_defs.h b/renderdoc/driver/gl/gl_hookset_defs.h index 261e5ea46..5b724ddcc 100644 --- a/renderdoc/driver/gl/gl_hookset_defs.h +++ b/renderdoc/driver/gl/gl_hookset_defs.h @@ -106,20 +106,25 @@ HookExtensionAlias(PFNGLDRAWRANGEELEMENTSPROC, glDrawRangeElements, glDrawRangeElementsEXT); \ HookExtension(PFNGLTEXIMAGE3DPROC, glTexImage3D); \ HookExtensionAlias(PFNGLTEXIMAGE3DPROC, glTexImage3D, glTexImage3DEXT); \ + HookExtensionAlias(PFNGLTEXIMAGE3DPROC, glTexImage3D, glTexImage3DOES); \ HookExtension(PFNGLTEXSUBIMAGE3DPROC, glTexSubImage3D); \ + HookExtensionAlias(PFNGLTEXSUBIMAGE3DPROC, glTexSubImage3D, glTexSubImage3DOES); \ HookExtension(PFNGLCOPYTEXSUBIMAGE3DPROC, glCopyTexSubImage3D); \ + HookExtensionAlias(PFNGLCOPYTEXSUBIMAGE3DPROC, glCopyTexSubImage3D, glCopyTexSubImage3DOES); \ HookExtension(PFNGLACTIVETEXTUREPROC, glActiveTexture); \ HookExtensionAlias(PFNGLACTIVETEXTUREPROC, glActiveTexture, glActiveTextureARB); \ HookExtension(PFNGLSAMPLECOVERAGEPROC, glSampleCoverage); \ HookExtensionAlias(PFNGLSAMPLECOVERAGEPROC, glSampleCoverage, glSampleCoverageARB); \ HookExtension(PFNGLCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3D); \ HookExtensionAlias(PFNGLCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3D, glCompressedTexImage3DARB); \ + HookExtensionAlias(PFNGLCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3D, glCompressedTexImage3DOES); \ HookExtension(PFNGLCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2D); \ HookExtensionAlias(PFNGLCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2D, glCompressedTexImage2DARB); \ HookExtension(PFNGLCOMPRESSEDTEXIMAGE1DPROC, glCompressedTexImage1D); \ HookExtensionAlias(PFNGLCOMPRESSEDTEXIMAGE1DPROC, glCompressedTexImage1D, glCompressedTexImage1DARB); \ HookExtension(PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC, glCompressedTexSubImage3D); \ HookExtensionAlias(PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC, glCompressedTexSubImage3D, glCompressedTexSubImage3DARB); \ + HookExtensionAlias(PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC, glCompressedTexSubImage3D, glCompressedTexSubImage3DOES); \ HookExtension(PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC, glCompressedTexSubImage2D); \ HookExtensionAlias(PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC, glCompressedTexSubImage2D, glCompressedTexSubImage2DARB); \ HookExtension(PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC, glCompressedTexSubImage1D); \ @@ -476,6 +481,7 @@ HookExtensionAlias(PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D, glFramebufferTexture2DEXT); \ HookExtension(PFNGLFRAMEBUFFERTEXTURE3DPROC, glFramebufferTexture3D); \ HookExtensionAlias(PFNGLFRAMEBUFFERTEXTURE3DPROC, glFramebufferTexture3D, glFramebufferTexture3DEXT); \ + HookExtensionAlias(PFNGLFRAMEBUFFERTEXTURE3DPROC, glFramebufferTexture3D, glFramebufferTexture3DOES); \ HookExtension(PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer); \ HookExtensionAlias(PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer, glFramebufferRenderbufferEXT); \ HookExtension(PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC, glGetFramebufferAttachmentParameteriv); \ @@ -3574,12 +3580,6 @@ HookWrapper6(void, gldrawelementsinstancedbasevertexoes, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLint, basevertex); \ HookWrapper5(void, glgetprogrambinaryoes, GLuint, program, GLsizei, bufSize, GLsizei *, length, GLenum *, binaryFormat, void *, binary); \ HookWrapper4(void, glprogrambinaryoes, GLuint, program, GLenum, binaryFormat, const void *, binary, GLint, length); \ - HookWrapper10(void, glteximage3does, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ - HookWrapper11(void, gltexsubimage3does, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, pixels); \ - HookWrapper9(void, glcopytexsubimage3does, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ - HookWrapper9(void, glcompressedteximage3does, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLsizei, imageSize, const void *, data); \ - HookWrapper11(void, glcompressedtexsubimage3does, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLsizei, imageSize, const void *, data); \ - HookWrapper6(void, glframebuffertexture3does, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLint, zoffset); \ HookWrapper8(void, gltextureviewoes, GLuint, texture, GLenum, target, GLuint, origtexture, GLenum, internalformat, GLuint, minlevel, GLuint, numlevels, GLuint, minlayer, GLuint, numlayers); \ HookWrapper3(void, glviewportarrayvoes, GLuint, first, GLsizei, count, const GLfloat *, v); \ HookWrapper5(void, glviewportindexedfoes, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, w, GLfloat, h); \ @@ -5546,12 +5546,6 @@ HandleUnsupported(PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOESPROC, gldrawelementsinstancedbasevertexoes); \ HandleUnsupported(PFNGLGETPROGRAMBINARYOESPROC, glgetprogrambinaryoes); \ HandleUnsupported(PFNGLPROGRAMBINARYOESPROC, glprogrambinaryoes); \ - HandleUnsupported(PFNGLTEXIMAGE3DOESPROC, glteximage3does); \ - HandleUnsupported(PFNGLTEXSUBIMAGE3DOESPROC, gltexsubimage3does); \ - HandleUnsupported(PFNGLCOPYTEXSUBIMAGE3DOESPROC, glcopytexsubimage3does); \ - HandleUnsupported(PFNGLCOMPRESSEDTEXIMAGE3DOESPROC, glcompressedteximage3does); \ - HandleUnsupported(PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC, glcompressedtexsubimage3does); \ - HandleUnsupported(PFNGLFRAMEBUFFERTEXTURE3DOESPROC, glframebuffertexture3does); \ HandleUnsupported(PFNGLTEXTUREVIEWOESPROC, gltextureviewoes); \ HandleUnsupported(PFNGLVIEWPORTARRAYVOESPROC, glviewportarrayvoes); \ HandleUnsupported(PFNGLVIEWPORTINDEXEDFOESPROC, glviewportindexedfoes); \