summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_atom_framebuffer.c
AgeCommit message (Collapse)Author
2009-10-17gallium: Permit surface_copy and surface_fill to be NULL.Corbin Simpson
Uf. Lots of files touched. Would people with working vega, xorg, dri1, etc. please make sure you are not broken, and fix yourself up if you are. There were only two or three places where the code did not have painful fallbacks, so I would advise st maintainers to find less painful workarounds, or consider overhauling util_surface_copy and util_surface_fill. Per ymanton, darktama, and Dr_Jakob's suggestions, clear has been left as-is. I will not add PIPE_CAP_BLITTER unless it is deemed necessary.
2009-07-03Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
2009-07-01mesa: Unbind depth/stencil surface from pipe_framebuffer when none is attached.José Fonseca
2009-05-11Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile src/mesa/main/version.h
2009-05-11st: do proper refcounting for framebuffer surfacesBrian Paul
2009-05-01st: added st_renderbuffer::defined flagBrian Paul
Indicates whether there's defined image contents, or garbage/don't care. This is set when we draw into a renderbuffer and cleared when we resize/ reallocate a renderbuffer or do a buffer swap (back buffer becomes undefined). We use this to determine whether the front color buffer has been drawn to, and whether to display its contents upon glFlush/Finish(), when the new st_swapbuffers() function is used.
2009-03-19mesa: check renderbuffer is defined before use.Alan Hourihane
2009-03-13gallium: Remove do_flip argument from surface_copyJakob Bornecrantz
I should have gotten most uses and implementation correctly fixed, but things might break. Feel free to blame me.
2009-01-27gallium: standardize api on the prefix "nr"Zack Rusin
2009-01-23gallium: change the st_get_framebuffer_surface/texture functionsAlan Hourihane
to return TRUE/FALSE if the st_framebuffer is valid, and if it is return the surface/texture in the passed pointer.
2009-01-19statetracker: copy back color buffer to front buffer when neededBrian Paul
Fixes front-buffer rendering when following a SwapBuffers. See progs/tests/rubberband.c
2008-11-05Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
Conflicts: src/gallium/auxiliary/rtasm/rtasm_execmem.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_log.c src/mesa/state_tracker/st_atom_framebuffer.c
2008-10-18gallium: add some checks for null surface pointers in state trackerBrian Paul
Fixes some segfaults in low memory situations.
2008-09-21gallium: cleanup the after merge framebuffer update codeZack Rusin
adjust it and make it behave like it used to
2008-09-21gallium: fix a fbo crashZack Rusin
don't dirty the fb if we're rebining the frontbuffer
2008-09-16st: hash-warning not recognised on Windows.Michal Krol
2008-09-11st: adapt to new framebuffer struct, with one FIXME outstandingKeith Whitwell
2008-07-15st: Silence compiler warnings on Windows.Michal Krol
2008-05-08gallium: fix render to depth textureBrian Paul
2008-05-07gallium: fix some render to texture bugsBrian Paul
Before, we were sometimes rendering into a stale texture because st_finalize_texture() would discard the old texture and create a new one. Moved st_update_framebuffer atom after texture validation so that we can create a new renderbuffer surface if the texture changes. Also, split texture validation into two parts: finalize_textures and update_textures. Do finalize_textures first to avoid getting into the situtation where we're doing a pipe->surface_copy() mid-way through state validation. Some debug code still in place, but disabled...
2008-05-02Some changed for non-C99 compilersAlan Hourihane
2008-04-14gallium: fix multi drawbuffer fb stateBrian
2008-04-09gallium: more elaborate tracking of front color buffer stateBrian Paul
This fixes the case where the app calls SwapBuffers then calls glReadPixels to read the front color buffer. We now keep track of when the front buffer is a _logically_ copy of the back buffer (after SwapBuffers) and read from the back color buffer instead of the front.
2008-03-20gallium: assign framebuffer width, heightBrian
2008-03-19gallium: need to set/save framebuffer state in st_context since we use it ↵Brian Paul
elsewhere
2008-03-19gallium: implement CSO save/restore functions for use by meta operations ↵Brian
(blit, gen-mipmaps, quad-clear, etc) Also, additional cso_set_*() functions for viewport, framebuffer, blend color, etc. state.
2008-01-23gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian
now.
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-20renderbuffer tweaks in update_framebuffer_state()Brian
2007-10-17Update framebuffer state in response to _NEW_COLOR (set by glDrawBuffer)Brian
2007-09-19Fix window resizes.Michel Dänzer
The memcmp is insufficient for eliminating redundant framebuffer state changes.
2007-08-25add names to tracked state atoms to improve debugkeithw
2007-08-09Checkpoint intel_renderbuffer removal.Brian
Remove surface ptr from gl_renderbuffer. Use st_renderbuffer in most places. More clean-up.
2007-07-31fix assertionsBrian
2007-07-30remove some obsolete xmesa remnantsBrian
2007-07-30Lots of improvements to the surface-related code.Brian
Z testing now works with i915 driver. Add gl_renderbuffer::surface pointer (and reverse pointer). Remove intel_surface and xmesa_surface types - no longer used.
2007-06-25code for functional Z buffer surfaceBrian
2007-06-20checkpoint: implement z/depth testingBrian
2007-06-19Re-org of surface/framebuffer state.Brian
We should be able to render to any depth/format of X window now.
2007-06-15framebuffer stateBrian