https://bugs.freedesktop.org/show_bug.cgi?id=38312
--- Comment #10 from Benoit Jacob <bja...@mozilla.com> 2011-06-15 05:59:49 PDT --- (In reply to comment #6) > I wonder if apitrace (http://zrusin.blogspot.com/2011/04/apitrace.html) could > capture a trace for Mesa developers to replay... I heard about it but how easy is that for me to deploy in a custom debugging build for a user to run? Meanwhile, I have logs with a verbose GL debug mode that we have. While (as I mention above) it doesn't have some GL calls made from the debugging layer itself, the bug is known to exist already without the debugging layer, so that shouldn't matter. Relevant part of the log below. the gl:0x197d3f0 part is the pointer to the GLContext object, it means all these calls are on the same GL context (this is really checked). The > is before the GL call, the < is after. The [0x0000] is the GL error code, so that means GL_NO_ERROR. For some GL functions, the parameters values are printed. It's enough to reconstruct what we've been doing here: I've added comments. /* Create and bind a texture, name=1 */ [gl:0x197d3f0] > void mozilla::gl::GLContext::fGenTextures(GLsizei, GLuint*) [gl:0x197d3f0] < void mozilla::gl::GLContext::fGenTextures(GLsizei, GLuint*) [0x0000] [gl:0x197d3f0] > void mozilla::gl::GLContext::fBindTexture(GLenum, GLuint) parameters: target = 0x0de1 texture = 1 [gl:0x197d3f0] < void mozilla::gl::GLContext::fBindTexture(GLenum, GLuint) [0x0000] /* Set some texparameters */ [gl:0x197d3f0] > void mozilla::gl::GLContext::fTexParameteri(GLenum, GLenum, GLint) [gl:0x197d3f0] < void mozilla::gl::GLContext::fTexParameteri(GLenum, GLenum, GLint) [0x0000] [gl:0x197d3f0] > void mozilla::gl::GLContext::fTexParameteri(GLenum, GLenum, GLint) [gl:0x197d3f0] < void mozilla::gl::GLContext::fTexParameteri(GLenum, GLenum, GLint) [0x0000] /* Create and bind a framebuffer. Note that FramebufferTexture2D call below succeeds, meaning that we really have a non-default framebuffer bound. */ [gl:0x197d3f0] > void mozilla::gl::GLContext::fGenFramebuffers(GLsizei, GLuint*) [gl:0x197d3f0] < void mozilla::gl::GLContext::fGenFramebuffers(GLsizei, GLuint*) [0x0000] [gl:0x197d3f0] > void mozilla::gl::GLContext::fBindFramebuffer(GLenum, GLuint) [gl:0x197d3f0] < void mozilla::gl::GLContext::fBindFramebuffer(GLenum, GLuint) [0x0000] /* Create a renderbuffer */ [gl:0x197d3f0] > void mozilla::gl::GLContext::fGenRenderbuffers(GLsizei, GLuint*) [gl:0x197d3f0] < void mozilla::gl::GLContext::fGenRenderbuffers(GLsizei, GLuint*) [0x0000] /* Upload an image to our texture. If you're wondering about the 16x16 size, that's because this is a dummy GL context only used to get driver info to print in the about:support page */ [gl:0x197d3f0] > void mozilla::gl::GLContext::fTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid*) parameters: target = 0x0de1 level = 0 width = 16 height = 16 format = 0x1908 , type = 0x1401 [gl:0x197d3f0] < void mozilla::gl::GLContext::fTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid*) [0x0000] /* Bind our renderbuffer and allocate it as a depth buffer * GL_DEPTH_COMPONENT24 == 0x81A6 */ [gl:0x197d3f0] > void mozilla::gl::GLContext::fBindRenderbuffer(GLenum, GLuint) parameters: target = 0x8d41 renderbuffer = 1 [gl:0x197d3f0] < void mozilla::gl::GLContext::fBindRenderbuffer(GLenum, GLuint) [0x0000] [gl:0x197d3f0] > void mozilla::gl::GLContext::fRenderbufferStorage(GLenum, GLenum, GLsizei, GLsizei) parameters: target = 0x8d41 internalFormat = 0x81a6 width = 16 height = 16 [gl:0x197d3f0] < void mozilla::gl::GLContext::fRenderbufferStorage(GLenum, GLenum, GLsizei, GLsizei) [0x0000] /* Attach our texture to the color attachment point, and our renderbuffer to * the depth attachment point * GL_COLOR_ATTACHMENT0 == 0x8CE0 * GL_DEPTH_ATTACHMENT == 0x8D00 */ [gl:0x197d3f0] > void mozilla::gl::GLContext::fFramebufferTexture2D(GLenum, GLenum, GLenum, GLuint, GLint) parameters: attachmentPoint = 0x8ce0 texture = 1 level = 0 [gl:0x197d3f0] < void mozilla::gl::GLContext::fFramebufferTexture2D(GLenum, GLenum, GLenum, GLuint, GLint) [0x0000] [gl:0x197d3f0] > void mozilla::gl::GLContext::fFramebufferRenderbuffer(GLenum, GLenum, GLenum, GLuint) parameters: attachmentPoint = 0x8d00 renderbuffer = 1 [gl:0x197d3f0] < void mozilla::gl::GLContext::fFramebufferRenderbuffer(GLenum, GLenum, GLenum, GLuint) [0x0000] /* Check FB status and FB binding */ [gl:0x197d3f0] > GLenum mozilla::gl::GLContext::fCheckFramebufferStatus(GLenum) [gl:0x197d3f0] < GLenum mozilla::gl::GLContext::fCheckFramebufferStatus(GLenum) [0x0000] framebuffer info: [gl:0x197d3f0] > void mozilla::gl::GLContext::fGetIntegerv(GLenum, GLint*) [gl:0x197d3f0] < void mozilla::gl::GLContext::fGetIntegerv(GLenum, GLint*) [0x0000] /* Boom: getIntegerv(GL_FRAMEBUFFER_BINDING, &result) explicitly set the * result to 0, despite above FramebufferRenderbuffer call succeeding */ default framebuffer. No FBO is currently bound. WARNING: Error resizing offscreen framebuffer -- framebuffer not complete: file /builds/slave/try-lnx64-dbg/build/gfx/thebes/GLContext.cpp, line 877 -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev