summaryrefslogtreecommitdiff
path: root/src/mesa/main/buffers.c
AgeCommit message (Collapse)Author
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-07-02mesa: fix issues around multisample enableRoland Scheidegger
multisample enable is enabled by default, however gl mandates multisample rendering rules only apply if there's also a multisampled buffer.
2008-06-09mesa: refactor: move multisample-related functions into new multisample.c fileBrian Paul
2008-06-09mesa: refactor: move _mesa_resizebuffers(), _mesa_ResizeBuffersMESA() to ↵Brian Paul
framebuffer.c
2008-06-09mesa: refactor: move glClear, glClearColor into new clear.c file.Brian Paul
2008-06-09mesa: refactor: move scissor functions into new scissor.c fileBrian Paul
2008-01-09fix bug 13978: glDrawBuffersARB() didn't set all necessary stateBrian
2008-01-06Replace gl_framebuffer's _ColorDrawBufferMask with _ColorDrawBufferIndexesBrian
Each array element is now a BUFFER_x token rather than a BUFFER_BIT_x bitmask. The number of active color buffers is specified by _NumColorDrawBuffers. This builds on the previous DrawBuffer changes and will help with drivers implementing GL_ARB_draw_buffers.
2008-01-06Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.Brian
These fields are no longer indexed by shader output. Now, we just have a simple array of renderbuffer pointers. If the shader writes to gl_FragData[i], send those colors to the N _ColorDrawBuffers. Otherwise, replicate the single gl_FragColor (or the fixed-function color) to the N _ColorDrawBuffers. A few more changes and simplifications can follow from this...
2008-01-02additional GL_COLOR_ATTACHMENTx_EXT cases (bug 13767)Brian
2008-01-01additional GL_COLOR_ATTACHMENTx_EXT cases (bug 13767)Brian
2007-10-30Set _NEW_BUFFERS in glRead/DrawBuffer().Brian
Previously, we set _NEW_PIXEL and _NEW_COLOR in these functions, respectively. That correponds to the GL attribute groups, but doesn't make much sense otherwise. This could improve validation efficiency in a few places too. It looks like all the drivers are already checking for _NEW_BUFFERS in the right places (since that's the bit for FBO state) so we can trim out _NEW_PIXEL and _NEW_COLOR at any time.
2007-10-17Add some FLUSH_CURRENT() calls.Brian
Without these we can find ourselves in _mesa_load_state_parameters() computing derived lighting/material values whhen the current material properties haven't been updated from the VBO. This may be a somewhat wide-spread problem that needs more attention...
2007-10-17Don't call the driver clear hook when the effective scissor rectangle is empty.Michel Dänzer
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-16update comments, etc related to Read/DrawBuffer stateBrian
2007-08-02remove st_draw.h includeBrian
2007-08-02Reroute some clear functionality.Keith Whitwell
Still require the intelClear() call to flush batchbuffers. That will be removed later...
2007-08-01Checkpoint: glClear changes - working, bug very rough.Brian
2007-07-20fix bogus recently introduced function param commentsRoland Scheidegger
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-06-08In supported_buffer_bitmask(), use framebuffer's visual, not context's visualBrian
2007-03-15no-op clear if buffer width or height is zero (bug 7205)Brian
2006-11-02minor change in _mesa_ResizeBuffersMESA()Brian Paul
2006-11-01Remove x/y/width/height parameters from Clear functions.Brian Paul
2006-10-17check if ctx->Driver.GetBufferSize==NULL and no-opBrian Paul
2006-10-15updated comments, mark GetBufferSize() and ResizeBuffers() as obsoleteBrian Paul
2006-09-22resize buffers in MakeCurrentKeith Whitwell
2006-06-02set per-context GL_DRAW_BUFFER state regardless of currently bound FBOBrian Paul
2006-04-05Silence minor compiler warnings (-Wextra).Brian Paul
2006-03-29minor clean-upBrian Paul
2006-03-25check for incomplete FBO in _mesa_Clear()Brian Paul
2006-03-20slightly improved error messageBrian Paul
2005-12-30properly notify driver on scissor change in MakeCurrentKeith Whitwell
2005-09-23Replace gl_framebuffer's _ColorReadBufferMask with _ColorReadBufferIndex,Brian Paul
Streamline the _mesa_update_framebuffer() function a bit.
2005-09-19updated commentBrian Paul
2005-09-15Replace GLuint with GLbitfield where appropriate. Also replace GLuintBrian Paul
with GLboolean in a few places.
2005-09-07minor tweaks to _mesa_ResizeBuffersMESA()Brian Paul
2005-09-06just changes/updates to commentsBrian Paul
2005-08-31Just additional comments.Brian Paul
2005-08-31remove dead code, update commentsBrian Paul
2005-07-01remove OLD_RENDERBUFFER stuffBrian Paul
2005-05-04Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul
Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
2005-02-26Rename _mesa_update_buffers() to _mesa_update_draw_buffer_bounds() and doBrian Paul
additional checks. Replace _mesa_init_buffers() with _mesa_init_scissor() and _mesa_init_multisample().
2005-02-09initial support for GL_EXT_framebuffer_objectBrian Paul
2004-12-03silence a variety of warnings found with g++ 3.4.2Brian Paul
2004-10-02added support for GL_ARB_draw_buffersBrian Paul
2004-06-11s/_mesa_get_current_context()/GET_CURRENT_CONTEXT()/Brian Paul