summaryrefslogtreecommitdiff
path: root/src/mesa/main/fbobject.c
AgeCommit message (Collapse)Author
2009-11-16mesa: check BaseLevel, MaxLevel in _mesa_GenerateMipmapEXT()Brian Paul
2009-11-16mesa: use _mesa_get_current_tex_object()Brian Paul
2009-11-10mesa: fix some begin/end render-to-texture logicbrian
Before, we weren't aggressive enough in checking for the start or end of render-to-texture. In particular, if only the ctx->ReadBuffer had texture attachments, we were treating that as a render-to-texture case. This fixes a regression from commit 75bdbdd90b15c8704d87ca195a364ff6a42edbb1 "intel: Don't validate in a texture image used as a render target."
2009-11-10mesa: move check_begin/end_texture_render() callsbrian
2009-11-10mesa: new vars: oldDrawFb, oldReadFb in _mesa_BindFramebufferEXT()brian
2009-11-10mesa: rename vars in _mesa_BindFramebufferEXT()brian
2009-11-10mesa: added comment for check_begin_texture_render()brian
2009-11-06mesa: Attempt to pair up Driver.RenderTexture and FinishRenderTexture()Eric Anholt
This is probably not 100% complete (bind vs unbind may still not pair up exactly), but it should help out drivers which are relying on FinishRenderTexture to be called when we're done rendering to a particular texture level, not just when we're done rendering to the object at all. This is the case for the one consumer of FinishRenderTexture() so far: the gallium state tracker. Noticed when trying to make use of FRT() in the intel driver.
2009-11-03mesa: clean-up, remove some flushing in FBO functionsBrian Paul
Remove some unneeded flushes. Replace FLUSH_CURRENT w/ FLUSH_VERTICES in other places.
2009-11-03mesa: fix indentationBrian Paul
2009-11-03mesa: avoid extraneous _NEW_BUFFER changes in _mesa_BindFramebufferEXT()Brian Paul
2009-10-29mesa: Fix compilation errors and warnings when features are disabled.Chia-I Wu
Some of the fixes are cherry-picked from opengl-es branch. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-28Merge branch 'texformat-rework'Brian Paul
Conflicts: src/mesa/drivers/dri/radeon/radeon_fbo.c src/mesa/drivers/dri/s3v/s3v_tex.c src/mesa/drivers/dri/s3v/s3v_xmesa.c src/mesa/drivers/dri/trident/trident_context.c src/mesa/main/debug.c src/mesa/main/mipmap.c src/mesa/main/texformat.c src/mesa/main/texgetimage.c
2009-10-27mesa: debug code for glBlitFramebuffer()Brian Paul
2009-10-23Merge branch 'mesa_7_6_branch'Brian Paul
2009-10-23mesa: simplify att->CubeMapFace assignmentBrian Paul
2009-10-23mesa: more detailed error messages in fbo codeBrian Paul
2009-10-23mesa: remove FBO texture depth/stencil testBrian Paul
The texture format should not be checked until validation time since the format might be changed by a subsequent glTexImage() call.
2009-10-12mesa: minor clean up in check_begin_texture_render()Brian Paul
2009-10-08mesa: remove a bunch of gl_renderbuffer fieldsBrian Paul
_ActualFormat is replaced by Format (MESA_FORMAT_x). ColorEncoding, ComponentType, RedBits, GreenBits, BlueBits, etc. are all replaced by MESA_FORMAT_x queries.
2009-10-02mesa: Remove another unexplained Flush call, this time from BindFramebuffer.Eric Anholt
Combined with the previous fix, it takes cairo-gl firefox-talos-gfx time from 120 seconds to 90 seconds on my GM45.
2009-10-02Revert "Flush driver, not just tnl module."Eric Anholt
This reverts commit df058298e1570eea8712f9bb051f674fab2eaf24. It didn't explain why it was required, doesnt appear to be required, and is a significant performance penalty for cairo-gl firefox. Conflicts: src/mesa/main/fbobject.c
2009-09-30mesa: replace gl_texture_format with gl_formatBrian Paul
Now gl_texture_image::TexFormat is a simple MESA_FORMAT_x enum. ctx->Driver.ChooseTexture format also returns a MESA_FORMAT_x. gl_texture_format will go away next.
2009-09-28mesa: use _mesa_get_current_tex_unit() helperBrian Paul
2009-09-27mesa: use more format helper functionsBrian Paul
2009-09-15mesa: minor clean-upBrian Paul
2009-09-15mesa: clean-up fbo debug codeBrian Paul
2009-08-14mesa: move assertions in test_attachment_completeness()Brian Paul
Put the assertions after the error checks.
2009-08-05mesa: generate GL_INVALID_OPERATION for missing z/stencil when blittingBrian Paul
If glBlitFramebuffer() is called with GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT and the src/dst depth/stencil buffers are absent, report an error.
2009-06-17mesa: Mark FBOs with compressed color attachments as FBO-incomplete.Eric Anholt
Both EXT_fbo and ARB_fbo agree on this. Fixes a segfault in the metaops mipmap generation in Intel for SGIS_generate_mipmap of S3TC textures in Regnum Online. Bug #21654. (cherry picked from commit 0307e609aa3e707eeb40051bd664d36f2340ba9b)
2009-05-19mesa: allow depth/stencil textures to be attached to GL_STENCIL_ATTACHMENTMathias Fröhlich
See sourceforge bug #2793846.
2009-04-22mesa: protect driver.flush() with FLUSH_CURRENTKeith Whitwell
Need to do this to ensure vbo code unmaps its buffers before calling the driver, which may be sitting on top of a memory manager which objects to firing commands from a mapped buffer.
2009-02-26mesa: avoid extraneous calls to ctx->Driver.BindFramebuffer()Brian Paul
Only call this driver function when we really need to bind different buffers.
2009-02-17mesa: add some debug code to help diagnose incomplete FBO attachments (disabled)Brian Paul
2009-02-10Merge commit 'origin/gallium-master-merge'Brian Paul
This is the big merge of the gallium-0.2 branch into master. gallium-master-merge was just the staging area for it. Both gallium-0.2 and gallium-master-merge are considered closed now. Conflicts: progs/demos/Makefile src/mesa/main/state.c src/mesa/main/texenvprogram.c
2009-02-09mesa: replace _mesa_unreference_framebuffer() with _mesa_reference_framebuffer()Brian Paul
2009-02-09mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul
Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
2009-01-29mesa: allow glFramebufferTexture1/2/3D(target = GL_READ/DRAW_FRAMEBUFFER)Brian Paul
This is part of GL_EXT_framebuffer_blit and GL_ARB_framebuffer_obbject.
2009-01-29mesa: fix a render to texture FBO validation bugBrian Paul
When glTexImage() is called we need to re-validate any FBOs that point to the texture (i.e. render-to-texture) since changing the texture's size/format will effect FBO completeness. We don't keep a list of all FBOs rendering into each texture (which would be a bit messy) so we check all FBOs in existance. To optimize this, the gl_texture_object->_RenderToTexture flag is used to avoid checking textures that have never been used as renderbuffers. So, we only walk over all FBOs (there's usually only a few) when glTexImage() modifies a RTT texture. Fixes a bug seen in shadowtex.c when toggling packed depth/stencil mode.
2009-01-27mesa: move call to _mesa_update_framebuffer_visual()Brian Paul
Update the visual info in the _mesa_test_framebuffer_completeness() function when we've determined the FBO to be "complete". Fixes regression seen in progs/demos/shadowtex.c
2009-01-22mesa: avoid calling _mesa_test_framebuffer_completeness() more than neededBrian Paul
When we change a FBO's attachments, set _Status=0. Before using an FBO, check if status != GL_FRAMEBUFFER_COMPLETE. Also, fix missing GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE status.
2009-01-22mesa: fix some renderbuffer/framebuffer delete semanticsBrian Paul
Need to unbind buffers if referenced by the current read/draw pointers when being deleted.
2009-01-22mesa: add support for GL_DEPTH_STENCIL_ATTACHMENT point.Brian Paul
Used to set both the depth and stencil attachment points to one renderbuffer of texture.
2009-01-22mesa: additional FBO error checking for multisample-related thingsBrian Paul
Plus some new comments.
2009-01-22mesa: refactor glRenderbufferStorage(), glRenderbufferStorageMultisample() codeBrian Paul
Use a common helper routine for both functions.
2009-01-22mesa: stub for _mesa_RenderbufferStorageMultisample()Brian Paul
2009-01-22mesa: call fbo_incomplete() if driver marks FBO as incomplete (debug only)Brian Paul
2009-01-22mesa: added ctx->Driver.ValidateFramebuffer() callbackBrian Paul
Called from the _mesa_test_framebuffer_completeness() function to give the driver the chance to make a framebuffer as incomplete if it doesn't meet some specific hardware restriction.
2009-01-22mesa: add new ARB_fbo queries, fix some error testsBrian Paul
2009-01-22mesa: additional FBO/RB id error checking for ARB_fboBrian Paul
It's illegal to bind a FBO/RB id that didn't come from glGenRender/Framebuffer().