| Index: ui/gl/gl_bindings_autogen_gl.cc
|
| diff --git a/ui/gl/gl_bindings_autogen_gl.cc b/ui/gl/gl_bindings_autogen_gl.cc
|
| index eabd4ae9213e2fe293f320ac6935fabedf5c6d9e..d38761e5f7413c3a12da0a3d1b95b7dbeaf715f9 100644
|
| --- a/ui/gl/gl_bindings_autogen_gl.cc
|
| +++ b/ui/gl/gl_bindings_autogen_gl.cc
|
| @@ -40,6 +40,7 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glBindFragDataLocationFn = 0;
|
| fn.glBindFragDataLocationIndexedFn = 0;
|
| fn.glBindFramebufferEXTFn = 0;
|
| + fn.glBindImageTextureEXTFn = 0;
|
| fn.glBindRenderbufferEXTFn = 0;
|
| fn.glBindSamplerFn = 0;
|
| fn.glBindTextureFn =
|
| @@ -297,6 +298,7 @@ void DriverGL::InitializeStaticBindings() {
|
| fn.glMapBufferRangeFn = 0;
|
| fn.glMatrixLoadfEXTFn = 0;
|
| fn.glMatrixLoadIdentityEXTFn = 0;
|
| + fn.glMemoryBarrierEXTFn = 0;
|
| fn.glPathCommandsNVFn = 0;
|
| fn.glPathParameterfNVFn = 0;
|
| fn.glPathParameteriNVFn = 0;
|
| @@ -500,6 +502,8 @@ void DriverGL::InitializeDynamicBindings(GLContext* context) {
|
| extensions.find("GL_ARB_program_interface_query ") != std::string::npos;
|
| ext.b_GL_ARB_robustness =
|
| extensions.find("GL_ARB_robustness ") != std::string::npos;
|
| + ext.b_GL_ARB_shader_image_load_store =
|
| + extensions.find("GL_ARB_shader_image_load_store ") != std::string::npos;
|
| ext.b_GL_ARB_sync = extensions.find("GL_ARB_sync ") != std::string::npos;
|
| ext.b_GL_ARB_texture_storage =
|
| extensions.find("GL_ARB_texture_storage ") != std::string::npos;
|
| @@ -541,6 +545,8 @@ void DriverGL::InitializeDynamicBindings(GLContext* context) {
|
| extensions.find("GL_EXT_occlusion_query_boolean ") != std::string::npos;
|
| ext.b_GL_EXT_robustness =
|
| extensions.find("GL_EXT_robustness ") != std::string::npos;
|
| + ext.b_GL_EXT_shader_image_load_store =
|
| + extensions.find("GL_EXT_shader_image_load_store ") != std::string::npos;
|
| ext.b_GL_EXT_texture_storage =
|
| extensions.find("GL_EXT_texture_storage ") != std::string::npos;
|
| ext.b_GL_EXT_timer_query =
|
| @@ -636,6 +642,16 @@ void DriverGL::InitializeDynamicBindings(GLContext* context) {
|
| GetGLProcAddress("glBindFramebufferEXT"));
|
| }
|
|
|
| + debug_fn.glBindImageTextureEXTFn = 0;
|
| + if (ver->IsAtLeastGL(4u, 2u) || ver->IsAtLeastGLES(3u, 1u) ||
|
| + ext.b_GL_ARB_shader_image_load_store) {
|
| + fn.glBindImageTextureEXTFn = reinterpret_cast<glBindImageTextureEXTProc>(
|
| + GetGLProcAddress("glBindImageTexture"));
|
| + } else if (ext.b_GL_EXT_shader_image_load_store) {
|
| + fn.glBindImageTextureEXTFn = reinterpret_cast<glBindImageTextureEXTProc>(
|
| + GetGLProcAddress("glBindImageTextureEXT"));
|
| + }
|
| +
|
| debug_fn.glBindRenderbufferEXTFn = 0;
|
| if (ver->IsAtLeastGL(3u, 0u) || ver->is_es) {
|
| fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>(
|
| @@ -1554,6 +1570,16 @@ void DriverGL::InitializeDynamicBindings(GLContext* context) {
|
| GetGLProcAddress("glMatrixLoadIdentityEXT"));
|
| }
|
|
|
| + debug_fn.glMemoryBarrierEXTFn = 0;
|
| + if (ver->IsAtLeastGL(4u, 2u) || ver->IsAtLeastGLES(3u, 1u) ||
|
| + ext.b_GL_ARB_shader_image_load_store) {
|
| + fn.glMemoryBarrierEXTFn = reinterpret_cast<glMemoryBarrierEXTProc>(
|
| + GetGLProcAddress("glMemoryBarrier"));
|
| + } else if (ext.b_GL_EXT_shader_image_load_store) {
|
| + fn.glMemoryBarrierEXTFn = reinterpret_cast<glMemoryBarrierEXTProc>(
|
| + GetGLProcAddress("glMemoryBarrierEXT"));
|
| + }
|
| +
|
| debug_fn.glPathCommandsNVFn = 0;
|
| if (ext.b_GL_NV_path_rendering) {
|
| fn.glPathCommandsNVFn = reinterpret_cast<glPathCommandsNVProc>(
|
| @@ -2093,6 +2119,21 @@ static void GL_BINDING_CALL Debug_glBindFramebufferEXT(GLenum target,
|
| g_driver_gl.debug_fn.glBindFramebufferEXTFn(target, framebuffer);
|
| }
|
|
|
| +static void GL_BINDING_CALL Debug_glBindImageTextureEXT(GLuint index,
|
| + GLuint texture,
|
| + GLint level,
|
| + GLboolean layered,
|
| + GLint layer,
|
| + GLenum access,
|
| + GLint format) {
|
| + GL_SERVICE_LOG("glBindImageTextureEXT"
|
| + << "(" << index << ", " << texture << ", " << level << ", "
|
| + << GLEnums::GetStringBool(layered) << ", " << layer << ", "
|
| + << GLEnums::GetStringEnum(access) << ", " << format << ")");
|
| + g_driver_gl.debug_fn.glBindImageTextureEXTFn(index, texture, level, layered,
|
| + layer, access, format);
|
| +}
|
| +
|
| static void GL_BINDING_CALL Debug_glBindRenderbufferEXT(GLenum target,
|
| GLuint renderbuffer) {
|
| GL_SERVICE_LOG("glBindRenderbufferEXT"
|
| @@ -3917,6 +3958,12 @@ static void GL_BINDING_CALL Debug_glMatrixLoadIdentityEXT(GLenum matrixMode) {
|
| g_driver_gl.debug_fn.glMatrixLoadIdentityEXTFn(matrixMode);
|
| }
|
|
|
| +static void GL_BINDING_CALL Debug_glMemoryBarrierEXT(GLbitfield barriers) {
|
| + GL_SERVICE_LOG("glMemoryBarrierEXT"
|
| + << "(" << barriers << ")");
|
| + g_driver_gl.debug_fn.glMemoryBarrierEXTFn(barriers);
|
| +}
|
| +
|
| static void GL_BINDING_CALL Debug_glPathCommandsNV(GLuint path,
|
| GLsizei numCommands,
|
| const GLubyte* commands,
|
| @@ -5157,6 +5204,10 @@ void DriverGL::InitializeDebugBindings() {
|
| debug_fn.glBindFramebufferEXTFn = fn.glBindFramebufferEXTFn;
|
| fn.glBindFramebufferEXTFn = Debug_glBindFramebufferEXT;
|
| }
|
| + if (!debug_fn.glBindImageTextureEXTFn) {
|
| + debug_fn.glBindImageTextureEXTFn = fn.glBindImageTextureEXTFn;
|
| + fn.glBindImageTextureEXTFn = Debug_glBindImageTextureEXT;
|
| + }
|
| if (!debug_fn.glBindRenderbufferEXTFn) {
|
| debug_fn.glBindRenderbufferEXTFn = fn.glBindRenderbufferEXTFn;
|
| fn.glBindRenderbufferEXTFn = Debug_glBindRenderbufferEXT;
|
| @@ -5914,6 +5965,10 @@ void DriverGL::InitializeDebugBindings() {
|
| debug_fn.glMatrixLoadIdentityEXTFn = fn.glMatrixLoadIdentityEXTFn;
|
| fn.glMatrixLoadIdentityEXTFn = Debug_glMatrixLoadIdentityEXT;
|
| }
|
| + if (!debug_fn.glMemoryBarrierEXTFn) {
|
| + debug_fn.glMemoryBarrierEXTFn = fn.glMemoryBarrierEXTFn;
|
| + fn.glMemoryBarrierEXTFn = Debug_glMemoryBarrierEXT;
|
| + }
|
| if (!debug_fn.glPathCommandsNVFn) {
|
| debug_fn.glPathCommandsNVFn = fn.glPathCommandsNVFn;
|
| fn.glPathCommandsNVFn = Debug_glPathCommandsNV;
|
| @@ -6453,6 +6508,17 @@ void GLApiBase::glBindFramebufferEXTFn(GLenum target, GLuint framebuffer) {
|
| driver_->fn.glBindFramebufferEXTFn(target, framebuffer);
|
| }
|
|
|
| +void GLApiBase::glBindImageTextureEXTFn(GLuint index,
|
| + GLuint texture,
|
| + GLint level,
|
| + GLboolean layered,
|
| + GLint layer,
|
| + GLenum access,
|
| + GLint format) {
|
| + driver_->fn.glBindImageTextureEXTFn(index, texture, level, layered, layer,
|
| + access, format);
|
| +}
|
| +
|
| void GLApiBase::glBindRenderbufferEXTFn(GLenum target, GLuint renderbuffer) {
|
| driver_->fn.glBindRenderbufferEXTFn(target, renderbuffer);
|
| }
|
| @@ -7538,6 +7604,10 @@ void GLApiBase::glMatrixLoadIdentityEXTFn(GLenum matrixMode) {
|
| driver_->fn.glMatrixLoadIdentityEXTFn(matrixMode);
|
| }
|
|
|
| +void GLApiBase::glMemoryBarrierEXTFn(GLbitfield barriers) {
|
| + driver_->fn.glMemoryBarrierEXTFn(barriers);
|
| +}
|
| +
|
| void GLApiBase::glPathCommandsNVFn(GLuint path,
|
| GLsizei numCommands,
|
| const GLubyte* commands,
|
| @@ -8333,6 +8403,18 @@ void TraceGLApi::glBindFramebufferEXTFn(GLenum target, GLuint framebuffer) {
|
| gl_api_->glBindFramebufferEXTFn(target, framebuffer);
|
| }
|
|
|
| +void TraceGLApi::glBindImageTextureEXTFn(GLuint index,
|
| + GLuint texture,
|
| + GLint level,
|
| + GLboolean layered,
|
| + GLint layer,
|
| + GLenum access,
|
| + GLint format) {
|
| + TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glBindImageTextureEXT")
|
| + gl_api_->glBindImageTextureEXTFn(index, texture, level, layered, layer,
|
| + access, format);
|
| +}
|
| +
|
| void TraceGLApi::glBindRenderbufferEXTFn(GLenum target, GLuint renderbuffer) {
|
| TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glBindRenderbufferEXT")
|
| gl_api_->glBindRenderbufferEXTFn(target, renderbuffer);
|
| @@ -9618,6 +9700,11 @@ void TraceGLApi::glMatrixLoadIdentityEXTFn(GLenum matrixMode) {
|
| gl_api_->glMatrixLoadIdentityEXTFn(matrixMode);
|
| }
|
|
|
| +void TraceGLApi::glMemoryBarrierEXTFn(GLbitfield barriers) {
|
| + TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glMemoryBarrierEXT")
|
| + gl_api_->glMemoryBarrierEXTFn(barriers);
|
| +}
|
| +
|
| void TraceGLApi::glPathCommandsNVFn(GLuint path,
|
| GLsizei numCommands,
|
| const GLubyte* commands,
|
| @@ -10553,6 +10640,19 @@ void NoContextGLApi::glBindFramebufferEXTFn(GLenum target, GLuint framebuffer) {
|
| << "Trying to call glBindFramebufferEXT() without current GL context";
|
| }
|
|
|
| +void NoContextGLApi::glBindImageTextureEXTFn(GLuint index,
|
| + GLuint texture,
|
| + GLint level,
|
| + GLboolean layered,
|
| + GLint layer,
|
| + GLenum access,
|
| + GLint format) {
|
| + NOTREACHED()
|
| + << "Trying to call glBindImageTextureEXT() without current GL context";
|
| + LOG(ERROR)
|
| + << "Trying to call glBindImageTextureEXT() without current GL context";
|
| +}
|
| +
|
| void NoContextGLApi::glBindRenderbufferEXTFn(GLenum target,
|
| GLuint renderbuffer) {
|
| NOTREACHED()
|
| @@ -12041,6 +12141,13 @@ void NoContextGLApi::glMatrixLoadIdentityEXTFn(GLenum matrixMode) {
|
| << "Trying to call glMatrixLoadIdentityEXT() without current GL context";
|
| }
|
|
|
| +void NoContextGLApi::glMemoryBarrierEXTFn(GLbitfield barriers) {
|
| + NOTREACHED()
|
| + << "Trying to call glMemoryBarrierEXT() without current GL context";
|
| + LOG(ERROR)
|
| + << "Trying to call glMemoryBarrierEXT() without current GL context";
|
| +}
|
| +
|
| void NoContextGLApi::glPathCommandsNVFn(GLuint path,
|
| GLsizei numCommands,
|
| const GLubyte* commands,
|
|
|