summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/fbobject.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: avoid extraneous calls to ctx->Driver.BindFramebuffer()Brian Paul2009-02-261-6/+13
| | | | Only call this driver function when we really need to bind different buffers.
* mesa: add some debug code to help diagnose incomplete FBO attachments (disabled)Brian Paul2009-02-171-0/+27
|
* Merge commit 'origin/gallium-master-merge'Brian Paul2009-02-101-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 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
| * mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-091-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-12-091-2/+10
| | |\
| | * \ Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-1/+3
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | * | mesa: fix some feature testsBrian Paul2008-08-081-0/+2
| | | | |
| | | * | fix some FBO/texture queries (bug 15296)Brian Paul2008-08-061-2/+12
| | | | |
| | | * | mesa: Implement mutex/locking around texture object reference counting.Brian Paul2008-07-041-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| | | * | mesa: move assertionBrian Paul2008-07-041-2/+2
| | | | |
| | | * | mesa: fix problem freeing framebuffer/renderbuffer objectsBrian Paul2008-07-031-2/+23
| | | | | | | | | | | | | | | | | | | | Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer obj
| | | * | mesa: fix texture/renderbuffer mix-up in test_attachment_completeness()Brian Paul2008-03-281-1/+1
| | | | |
| | | * | Remove unused texunit parameter to ctx->Driver.GenerateMipmap()Brian2008-02-081-1/+1
| | | | |
| | | * | Added ctx->Driver.GenerateMipmap() driver hookBrian2008-02-061-1/+1
| | | | |
| | | * | in check_end_texture_render(), test for presence of a renderbuffer and texobjBrian2007-11-081-2/+1
| | | | |
* | | | | mesa: replace _mesa_unreference_framebuffer() with _mesa_reference_framebuffer()Brian Paul2009-02-091-1/+1
|/ / / /
* | | | mesa: allow glFramebufferTexture1/2/3D(target = GL_READ/DRAW_FRAMEBUFFER)Brian Paul2009-01-291-4/+19
| | | | | | | | | | | | | | | | This is part of GL_EXT_framebuffer_blit and GL_ARB_framebuffer_obbject.
* | | | mesa: fix a render to texture FBO validation bugBrian Paul2009-01-291-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | mesa: move call to _mesa_update_framebuffer_visual()Brian Paul2009-01-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | mesa: avoid calling _mesa_test_framebuffer_completeness() more than neededBrian Paul2009-01-221-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | mesa: fix some renderbuffer/framebuffer delete semanticsBrian Paul2009-01-221-1/+33
| | | | | | | | | | | | | | | | | | | | Need to unbind buffers if referenced by the current read/draw pointers when being deleted.
* | | | mesa: add support for GL_DEPTH_STENCIL_ATTACHMENT point.Brian Paul2009-01-221-1/+46
| | | | | | | | | | | | | | | | | | | | Used to set both the depth and stencil attachment points to one renderbuffer of texture.
* | | | mesa: additional FBO error checking for multisample-related thingsBrian Paul2009-01-221-24/+98
| | | | | | | | | | | | | | | | Plus some new comments.
* | | | mesa: refactor glRenderbufferStorage(), glRenderbufferStorageMultisample() codeBrian Paul2009-01-221-13/+41
| | | | | | | | | | | | | | | | Use a common helper routine for both functions.
* | | | mesa: stub for _mesa_RenderbufferStorageMultisample()Brian Paul2009-01-221-1/+14
| | | |
* | | | mesa: call fbo_incomplete() if driver marks FBO as incomplete (debug only)Brian Paul2009-01-221-0/+3
| | | |
* | | | mesa: added ctx->Driver.ValidateFramebuffer() callbackBrian Paul2009-01-221-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | mesa: add new ARB_fbo queries, fix some error testsBrian Paul2009-01-221-10/+97
| | | |
* | | | mesa: additional FBO/RB id error checking for ARB_fboBrian Paul2009-01-221-0/+10
| | | | | | | | | | | | | | | | It's illegal to bind a FBO/RB id that didn't come from glGenRender/Framebuffer().
* | | | mesa: for ARB_fbo, lift restriction that all FBO attachments are same size ↵Brian Paul2009-01-221-23/+45
| |_|/ |/| | | | | | | | and color format
* | | mesa: Fix GenerateMipmapEXT(GL_TEXTURE_CUBE_MAP_ARB).Eric Anholt2008-12-061-2/+10
| | | | | | | | | | | | | | | | | | 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.
* | | mesa: fix some feature testsBrian Paul2008-09-211-0/+2
|/ / | | | | | | (cherry picked from commit 74b14fe6ddbece8bc662aac4d3b2b18d8d853486)
* | fix some FBO/texture queries (bug 15296)Brian Paul2008-08-061-2/+12
| |
* | mesa: remove incorrect assertionBrian Paul2008-07-041-1/+0
| |
* | mesa: fix problem freeing framebuffer/renderbuffer objectsBrian Paul2008-07-031-2/+23
| | | | | | | | Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer objects.
* | Revert "mesa/intel: map/unmap texture objects around mipmap generation ↵Dave Airlie2008-05-091-6/+0
| | | | | | | | | | | | | | | | function." This reverts commit c50ffc4cb89b67ae59208eb72cdb664c846ba987. I'll fix this using the mipmap hooks I just picked from gallium-0.1
* | Remove unused texunit parameter to ctx->Driver.GenerateMipmap()Brian2008-05-091-1/+1
| | | | | | | | (cherry picked from commit c3395f4473c8fdf75d04c0dd72e687bc8d8127a7)
* | Added ctx->Driver.GenerateMipmap() driver hookDave Airlie2008-05-091-1/+1
| | | | | | | | | | | | | | | | (cherry picked from commit 4c2f3dbca940f289e67248682b84a3516d5a3031) Conflicts: src/mesa/drivers/common/driverfuncs.c
* | mesa/intel: map/unmap texture objects around mipmap generation function.Dave Airlie2008-05-091-0/+6
| | | | | | | | | | 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.
* | fix texture/renderbuffer mix-up in test_attachment_completeness()Brian2008-03-281-1/+1
| |
* | check for texture and renderbuffer in check_end_texture_render()Brian2007-11-091-2/+1
| |
* | remove dead code left over after fixing GL_READ/DRAW_BUFFER state issuesBrian2007-08-181-23/+0
| |
* | Rework the GL_READ_BUFFER, GL_DRAW_BUFFER state repairs that Roland ↵Brian2007-08-161-5/+16
| | | | | | | | | | | | | | | | | | previously did. Basically, in update_framebuffer() (which should be called after an FBO is bound with MakeCurrent or BindFramebuffer) we check if the FBO is a window-system FBO. If it is, update the FBO's GL_READ/DRAW_BUFFER state according to the context state. Old code still in place but disabled with #if 0 / #endif.
* | Implement mutex/locking around texture object reference counting.Brian2007-08-131-13/+9
|/ | | | | | Use new _mesa_reference_texobj() function for referencing/unreferencing textures. Add new assertions/tests to try to detect invalid usage of deleted textures.
* fix mesa's handling of fbo's / window fb (again)Roland Scheidegger2007-07-191-7/+17
| | | | | | | | Make sure the relevant fields in window fbs get updated at appropriate time (those are NOT the same as fbos!!!), and fix up related code accordingly. This is a bit ugly, but there's a reason the issues section in EXT_fbo is a couple hundred pages long... Hopefully correct now.
* more fixes for mesa's fbo handling (fixes tests/fbotest1/2)Roland Scheidegger2007-07-191-0/+7
|
* fix mesa fb bindingRoland Scheidegger2007-07-191-3/+5
| | | | | | | | Make sure that we bind the right buffer (draw or read) when rebinding the window framebuffer (the api doesn't allow binding different draw and read buffers at the same time, but the default window framebuffer is basically 2 fb objects, one for read, one for write, which can be different). Pass both of these two down the driver api (no driver uses this right now).
* Initial implementation of MESA_texture_arrayIan Romanick2007-05-161-5/+31
| | | | | Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
* Bring framebuffer_texture's error checking more in-line with the spec.Ian Romanick2007-05-151-68/+61
|
* use _mesa_reference_renderbuffer() in a few more placesBrian2007-04-021-12/+2
|