summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_fbo.h
AgeCommit message (Collapse)Author
2009-06-11Merge branch 'mesa_7_5_branch'José Fonseca
Conflicts: src/mesa/state_tracker/st_cb_fbo.c src/mesa/state_tracker/st_framebuffer.c
2009-06-10mesa: Pure software accum buffer.José Fonseca
The existing implementation was already implemented on software, but relied on the pipe driver to always support the R16G16B16A16_SNORM format. This patch eliminates that, without prejudice against a future hardware-only implementation. It also avoids some of the short <-> float conversions, and only does a read transfer of the color buffer on GL_RETURN if absolutely necessary.
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.
2008-09-01gallium: added st_bind/release_teximage() functionsBrian Paul
2008-06-27gallium: handle msaaRoland Scheidegger
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-06gallium: create drawing surfaces as GPU_READ/WRITE onlyBrian Paul
Create different temporary surfaces for CPU_READ/WRITE when needed (such as for glReadPixels, glAccum, some glCopy/DrawPixels, glCopyTexSubImage, etc).
2008-04-07gallium: accum buffer fixesBrian Paul
If the driver can't create a PIPE_FORMAT_R16G16B16A16_SNORM surface, create an accum surface using a shallower format and taller height. Since only the accum buffer code accesses the surface the actual format doesn't really matter, just that there's enough memory.
2007-12-12Re-org of st_create_framebuffer() and renderbuffer format selection.Brian
st_create_framebuffer() now takes pipe_formats for the color, depth, stencil buffers. This avoids a round-about chain of calls to pipe->is_format_supported() for window renderbuffers (their format never changes). Renderbuffer format selection code in st_format.c is simpler now too.
2007-12-10Add 'type' parameter to is_format_supported() to specify texture vs. drawing ↵Brian
surface, etc. Additional types may be added in the future.
2007-08-09init strb->Base.DataType appropriately, clean-upsBrian
2007-08-09Checkpoint intel_renderbuffer removal.Brian
Remove surface ptr from gl_renderbuffer. Use st_renderbuffer in most places. More clean-up.
2007-08-09checkpoint: no longer using intel_fbo.cBrian
2007-08-06New st_init_*_functions() to initialize the driver functions table.Brian
We need to do these initializations before initializing the Mesa context because context init involves creating texture/program/etc objects.
2007-08-03framebuffer object functionsBrian