summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/svga/svga_screen_buffer.c
AgeCommit message (Collapse)Author
2010-02-22svga: Upload user buffers only once.José Fonseca
2010-02-22svga: Fix the guest offset of piecewise buffer DMAs.José Fonseca
It was being erroneously set equal to the host offset, but it should be zero.
2010-02-22svga: Upload the dirty ranges instead of the whole buffer.José Fonseca
2010-02-22svga: Break uploads of big buffers into smaller pieces.José Fonseca
Fixes crash in Homeworld2 which tries to create a 14MB buffer, because we now avoid creating GMR buffers larger than 8MB to ensure progress given we have only a 16MB pool.
2010-02-22svga: Note ranges even when there is no hardware buffer around.José Fonseca
Not having a hardware buffer around doesn't change the fact that the range is dirty and needs to be uploaded eventually.
2010-02-22svga: Further cleanup/comment svga buffer code.José Fonseca
Just cosmetic changes -- no behavior change.
2010-02-22svga: Temporarily create a sw vertex buf when failed to create a hw buf.José Fonseca
Many apps don't check the return of map buffer so it is better not to fail.
2010-02-22svga: Remove unused buffer download code.José Fonseca
Unnecessary now that we never destroy buffer storage.
2010-02-22svga: Prevent buffer overflow in buffer ranges.José Fonseca
Do this by extending the nearest range to cover the new range. This fixes an access fault in Call of Duty which was doing many disjoint glBufferSubData calls.
2010-02-02gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.José Fonseca
Into os/os_thread.h and util/u_atomic.h respectively.
2010-02-02gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-21svga: Remove unused variable.Vinson Lee
2010-01-21svga: Remove duplicate code.José Fonseca
2010-01-21svga: Remove unused code.José Fonseca
2010-01-21svga: Don't swap buffers to system memory -- winsys' responsibility.José Fonseca
2010-01-21svga: Follow buffer usage semantics properly.José Fonseca
It's necessary to download buffers from the host always, except if the buffer is undefined, because: - just PIPE_BUFFER_USAGE_CPU_WRITE doesn't guarantee all data is written -- old contents may still pierce through - PIPE_BUFFER_USAGE_DISCARD refers to a range, not the whole buffer, so unless we track which parts have been modified and not we still need to download the data.
2010-01-18svga: Ensure buffer size/alignment is not zero.José Fonseca
2009-12-04svga: fix another pipe_reference strict aliasing violationRoland Scheidegger
2009-11-27svga: add DEBUG_CACHE optionKeith Whitwell
2009-11-25svga: try harder to make the cachable flag workKeith Whitwell
It doesn't though.
2009-11-24svga: cache textures as well as buffersKeith Whitwell
2009-11-17svga: Add svga driverJakob Bornecrantz