Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(421)

Unified Diff: ui/gl/gl_bindings_autogen_gl.cc

Issue 1523233003: Add bindings for GL_[ARB/EXT]_shader_image_load_store (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gl/gl_bindings_autogen_gl.h ('k') | ui/gl/gl_bindings_autogen_mock.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « ui/gl/gl_bindings_autogen_gl.h ('k') | ui/gl/gl_bindings_autogen_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698