summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/fbobject.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: check BaseLevel, MaxLevel in _mesa_GenerateMipmapEXT()Brian Paul2009-11-161-0/+5
|
* mesa: use _mesa_get_current_tex_object()Brian Paul2009-11-161-3/+1
|
* mesa: fix some begin/end render-to-texture logicbrian2009-11-101-21/+38
| | | | | | | | | 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."
* mesa: move check_begin/end_texture_render() callsbrian2009-11-101-9/+11
|
* mesa: new vars: oldDrawFb, oldReadFb in _mesa_BindFramebufferEXT()brian2009-11-101-3/+7
|
* mesa: rename vars in _mesa_BindFramebufferEXT()brian2009-11-101-22/+21
|
* mesa: added comment for check_begin_texture_render()brian2009-11-101-0/+5
|
* mesa: Attempt to pair up Driver.RenderTexture and FinishRenderTexture()Eric Anholt2009-11-061-0/+4
| | | | | | | | | | 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.
* mesa: clean-up, remove some flushing in FBO functionsBrian Paul2009-11-031-7/+11
| | | | | Remove some unneeded flushes. Replace FLUSH_CURRENT w/ FLUSH_VERTICES in other places.
* mesa: fix indentationBrian Paul2009-11-031-2/+1
|
* mesa: avoid extraneous _NEW_BUFFER changes in _mesa_BindFramebufferEXT()Brian Paul2009-11-031-7/+10
|
* mesa: Fix compilation errors and warnings when features are disabled.Chia-I Wu2009-10-291-0/+2
| | | | | | Some of the fixes are cherry-picked from opengl-es branch. Signed-off-by: Chia-I Wu <[email protected]>
* Merge branch 'texformat-rework'Brian Paul2009-10-281-97/+105
|\ | | | | | | | | | | | | | | | | | | | | | | 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
| * mesa: remove a bunch of gl_renderbuffer fieldsBrian Paul2009-10-081-93/+97
| | | | | | | | | | | | _ActualFormat is replaced by Format (MESA_FORMAT_x). ColorEncoding, ComponentType, RedBits, GreenBits, BlueBits, etc. are all replaced by MESA_FORMAT_x queries.
| * mesa: replace gl_texture_format with gl_formatBrian Paul2009-09-301-2/+2
| | | | | | | | | | | | 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.
| * mesa: use more format helper functionsBrian Paul2009-09-271-5/+9
| |
* | mesa: debug code for glBlitFramebuffer()Brian Paul2009-10-271-0/+55
| |
* | Merge branch 'mesa_7_6_branch'Brian Paul2009-10-231-12/+0
|\ \
| * | mesa: remove FBO texture depth/stencil testBrian Paul2009-10-231-12/+0
| | | | | | | | | | | | | | | The texture format should not be checked until validation time since the format might be changed by a subsequent glTexImage() call.
* | | mesa: simplify att->CubeMapFace assignmentBrian Paul2009-10-231-6/+1
| | |
* | | mesa: more detailed error messages in fbo codeBrian Paul2009-10-231-2/+5
| | |
* | | mesa: minor clean up in check_begin_texture_render()Brian Paul2009-10-121-1/+1
| | |
* | | mesa: Remove another unexplained Flush call, this time from BindFramebuffer.Eric Anholt2009-10-021-3/+0
| | | | | | | | | | | | | | | Combined with the previous fix, it takes cairo-gl firefox-talos-gfx time from 120 seconds to 90 seconds on my GM45.
* | | Revert "Flush driver, not just tnl module."Eric Anholt2009-10-021-26/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | mesa: use _mesa_get_current_tex_unit() helperBrian Paul2009-09-281-1/+2
| |/ |/|
* | mesa: minor clean-upBrian Paul2009-09-151-3/+3
| |
* | mesa: clean-up fbo debug codeBrian Paul2009-09-151-16/+23
|/
* mesa: move assertions in test_attachment_completeness()Brian Paul2009-08-141-5/+7
| | | | Put the assertions after the error checks.
* mesa: generate GL_INVALID_OPERATION for missing z/stencil when blittingBrian Paul2009-08-051-2/+6
| | | | | | 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.
* mesa: Mark FBOs with compressed color attachments as FBO-incomplete.Eric Anholt2009-06-171-0/+5
| | | | | | | | | 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)
* mesa: allow depth/stencil textures to be attached to GL_STENCIL_ATTACHMENTMathias Fröhlich2009-05-191-4/+14
| | | | See sourceforge bug #2793846.
* mesa: protect driver.flush() with FLUSH_CURRENTKeith Whitwell2009-04-221-7/+6
| | | | | | 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.
* 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.