summaryrefslogtreecommitdiff
path: root/src/mesa/main/fbobject.c
AgeCommit message (Collapse)Author
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().
2009-01-22mesa: for ARB_fbo, lift restriction that all FBO attachments are same size ↵Brian Paul
and color format
2008-12-09Merge commit 'origin/master' into gallium-0.2Alan Hourihane
2008-12-06mesa: Fix GenerateMipmapEXT(GL_TEXTURE_CUBE_MAP_ARB).Eric Anholt
The ctx->Driver.GenerateMipmap() hook only expects cubemap face enums, not CUBE_MAP_ARB, so walk all faces when we encounter that. Fixes oglconform fbo.c segfault with both swrast and i965 drivers.
2008-09-21mesa: fix some feature testsBrian Paul
(cherry picked from commit 74b14fe6ddbece8bc662aac4d3b2b18d8d853486)
2008-09-11Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell
A first attempt at moving gallium onto a branch directly off master... It will be interesting to see how much work this takes to get running. Have resolved the conflicts semi-arbitarily, not compiled or tested. Conflicts: .gitignore Makefile configs/config.mgw configs/darwin configs/darwin-x86ppc configs/default configs/freebsd-dri configs/linux-dri configs/linux-dri-xcb configs/linux-fbdev configs/linux-static configs/linux-x86-64-static configs/linux-x86-static doxygen/Makefile include/GL/gl.h progs/demos/Makefile progs/demos/descrip.mms progs/demos/texenv.c progs/egl/.gitignore progs/egl/Makefile progs/glsl/.gitignore progs/glsl/Makefile progs/glsl/convolutions.c progs/samples/Makefile.mgw progs/tests/.gitignore progs/trivial/.gitignore progs/trivial/point-param.c progs/trivial/tri.c progs/xdemos/.gitignore progs/xdemos/glthreads.c src/egl/drivers/demo/Makefile src/egl/drivers/dri/Makefile src/egl/main/Makefile src/glu/Makefile src/glu/sgi/Makefile src/glu/sgi/Makefile.mgw src/glut/glx/Makefile.mgw src/glut/os2/WarpWin.cpp src/glut/os2/glut_cindex.cpp src/glut/os2/glut_gamemode.cpp src/glut/os2/glut_win.cpp src/glut/os2/glut_winmisc.cpp src/glut/os2/os2_glx.cpp src/glut/os2/os2_menu.cpp src/glut/os2/os2_winproc.cpp src/glw/Makefile src/glx/x11/dri_glx.c src/glx/x11/glxext.c src/mesa/Makefile src/mesa/Makefile.mgw src/mesa/descrip.mms src/mesa/drivers/beos/Makefile src/mesa/drivers/common/descrip.mms src/mesa/drivers/common/driverfuncs.c src/mesa/drivers/directfb/Makefile src/mesa/drivers/dri/Makefile.template src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/common/dri_util.c src/mesa/drivers/dri/common/extension_helper.h src/mesa/drivers/dri/common/mmio.h src/mesa/drivers/dri/common/utils.c src/mesa/drivers/dri/common/utils.h src/mesa/drivers/dri/glcore/Makefile src/mesa/drivers/dri/i810/i810screen.c src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/drivers/dri/i915/intel_ioctl.h src/mesa/drivers/dri/i915/intel_screen.c src/mesa/drivers/dri/i915/server/i830_common.h src/mesa/drivers/dri/i915/server/i830_dri.h src/mesa/drivers/dri/i965/intel_screen.c src/mesa/drivers/dri/i965/server/i830_common.h src/mesa/drivers/dri/i965/server/i830_dri.h src/mesa/drivers/dri/mach64/mach64_screen.c src/mesa/drivers/dri/nouveau/nouveau_context.h src/mesa/drivers/dri/nouveau/nouveau_fifo.c src/mesa/drivers/dri/nouveau/nouveau_fifo.h src/mesa/drivers/dri/nouveau/nouveau_screen.c src/mesa/drivers/dri/nouveau/nouveau_screen.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/savage/savageioctl.h src/mesa/drivers/fbdev/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/descrip.mms src/mesa/drivers/x11/Makefile src/mesa/drivers/x11/descrip.mms src/mesa/drivers/x11/xm_dd.c src/mesa/glapi/glapi.c src/mesa/glapi/glthread.c src/mesa/main/api_validate.c src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/main/bufferobj.h src/mesa/main/buffers.c src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/descrip.mms src/mesa/main/drawpix.c src/mesa/main/enums.c src/mesa/main/fbobject.c src/mesa/main/glheader.h src/mesa/main/imports.c src/mesa/main/mipmap.c src/mesa/main/mm.c src/mesa/main/mm.h src/mesa/main/mtypes.h src/mesa/main/points.c src/mesa/main/sources src/mesa/main/state.c src/mesa/main/texcompress_fxt1.c src/mesa/main/texenvprogram.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c src/mesa/math/descrip.mms src/mesa/shader/arbprogram.c src/mesa/shader/descrip.mms src/mesa/shader/prog_execute.c src/mesa/shader/prog_statevars.c src/mesa/shader/prog_statevars.h src/mesa/shader/prog_uniform.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/shader_api.c src/mesa/shader/slang/descrip.mms src/mesa/shader/slang/library/slang_vertex_builtin_gc.h src/mesa/sources src/mesa/swrast/descrip.mms src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_fragprog.c src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast_setup/descrip.mms src/mesa/tnl/descrip.mms src/mesa/tnl/t_context.h src/mesa/tnl/t_vp_build.c src/mesa/tnl/tnl.h src/mesa/vbo/descrip.mms src/mesa/vbo/vbo_context.c src/mesa/vbo/vbo_exec_array.c src/mesa/x86-64/xform4.S src/mesa/x86/rtasm/x86sse.c src/mesa/x86/rtasm/x86sse.h windows/VC6/progs/glut/glut.dsp windows/VC7/mesa/gdi/gdi.vcproj windows/VC7/mesa/glu/glu.vcproj windows/VC7/mesa/mesa.sln windows/VC7/mesa/mesa/mesa.vcproj windows/VC7/mesa/osmesa/osmesa.vcproj windows/VC7/progs/glut/glut.vcproj windows/VC8/mesa/gdi/gdi.vcproj windows/VC8/mesa/glu/glu.vcproj windows/VC8/mesa/mesa.sln windows/VC8/mesa/mesa/mesa.vcproj windows/VC8/progs/glut/glut.vcproj
2008-08-08mesa: fix some feature testsBrian Paul
2008-08-06fix some FBO/texture queries (bug 15296)Brian Paul
2008-08-06fix some FBO/texture queries (bug 15296)Brian Paul
2008-07-04mesa: Implement mutex/locking around texture object reference counting.Brian Paul
Use new _mesa_reference_texobj() function for referencing/unreferencing textures. Add new assertions/tests to try to detect invalid usage of deleted textures. cherry-picked from master (9e01b915f1243a3f551cb795b7124bd1e52ca15f)
2008-07-04mesa: remove incorrect assertionBrian Paul
2008-07-04mesa: move assertionBrian Paul
2008-07-03mesa: fix problem freeing framebuffer/renderbuffer objectsBrian Paul
Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer obj
2008-07-03mesa: fix problem freeing framebuffer/renderbuffer objectsBrian Paul
Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer objects.
2008-05-09Revert "mesa/intel: map/unmap texture objects around mipmap generation ↵Dave Airlie
function." This reverts commit c50ffc4cb89b67ae59208eb72cdb664c846ba987. I'll fix this using the mipmap hooks I just picked from gallium-0.1
2008-05-09Remove unused texunit parameter to ctx->Driver.GenerateMipmap()Brian
(cherry picked from commit c3395f4473c8fdf75d04c0dd72e687bc8d8127a7)
2008-05-09Added ctx->Driver.GenerateMipmap() driver hookDave Airlie
(cherry picked from commit 4c2f3dbca940f289e67248682b84a3516d5a3031) Conflicts: src/mesa/drivers/common/driverfuncs.c
2008-05-09mesa/intel: map/unmap texture objects around mipmap generation function.Dave Airlie
This at least stops the compiz brain explosion we were seeing, I do wonder though if we should somehow be calling intel_generate_mipmap somehow.
2008-03-28fix texture/renderbuffer mix-up in test_attachment_completeness()Brian
2008-03-28mesa: fix texture/renderbuffer mix-up in test_attachment_completeness()Brian Paul
2008-02-08Remove unused texunit parameter to ctx->Driver.GenerateMipmap()Brian
2008-02-06Added ctx->Driver.GenerateMipmap() driver hookBrian
2007-11-09check for texture and renderbuffer in check_end_texture_render()Brian
2007-11-08in check_end_texture_render(), test for presence of a renderbuffer and texobjBrian
2007-08-18remove dead code left over after fixing GL_READ/DRAW_BUFFER state issuesBrian