summaryrefslogtreecommitdiff
path: root/src/mesa/main/fbobject.c
AgeCommit message (Collapse)Author
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
2007-08-16Rework the GL_READ_BUFFER, GL_DRAW_BUFFER state repairs that Roland ↵Brian
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.
2007-08-13Implement mutex/locking around texture object reference counting.Brian
Use new _mesa_reference_texobj() function for referencing/unreferencing textures. Add new assertions/tests to try to detect invalid usage of deleted textures.
2007-07-19fix mesa's handling of fbo's / window fb (again)Roland Scheidegger
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.
2007-07-19more fixes for mesa's fbo handling (fixes tests/fbotest1/2)Roland Scheidegger
2007-07-19fix mesa fb bindingRoland Scheidegger
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).
2007-05-16Initial implementation of MESA_texture_arrayIan Romanick
Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
2007-05-15Bring framebuffer_texture's error checking more in-line with the spec.Ian Romanick
2007-04-02use _mesa_reference_renderbuffer() in a few more placesBrian
2007-03-25Fix some renderbuffer reference counting issues. Also fixes a mem leak.Brian
2007-03-06explicit calls to _mesa_unreference_framebuffer() not always needed nowBrian
2007-03-06Fix/improve framebuffer object reference counting.Brian
Use _mesa_reference_framebuffer() and _mesa_unreference_framebuffer() functions to be sure reference counting is done correctly. Additional assertions are done too. Note _mesa_dereference_framebuffer() renamed to "unreference" as that's more accurate.
2007-03-01move oldFb decl into tighter scopesBrian
2006-11-01Merge texmem-0-3-branch.Keith Whitwell
2006-09-29Move mipmap generation functions, texture scaling functions into newBrian Paul
mipmap.c file.
2006-09-22Flush driver, not just tnl module.Keith Whitwell
2006-05-20use new _mesa_dereference_frame/renderbuffer() functionsBrian Paul
2006-04-13casts to fix some -pedantic warningsBrian Paul
2006-04-05Remove the code that checks for duplicated framebuffer attachments (whichBrian Paul
generated the error GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT). This was removed in version 117 of the GL_EXT_framebuffer_object spec.
2006-04-05Silence minor compiler warnings (-Wextra).Brian Paul
2006-03-28update conditional for render to GL_DEPTH_STENCIL texture, check for valid ↵Brian Paul
teximage before calling ctx->Driver.RenderTexture()
2006-03-26merge from texman branchBrian Paul
2006-03-20Lots of changes/fixes for rendering to framebuffer objects.Brian Paul
- When deleting texture objects, unbind from FBOs if necessary. - Changed driver hooks for starting/ending render to texture. - Now properly handle case where gl[Copy]TexImage() is called after glFramebufferTexture[123]D(). That didn't work before.
2006-03-20additional assertions and debug code for testing FBO completenessBrian Paul