summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon/radeon_dma.c
AgeCommit message (Collapse)Author
2010-04-21radeon: fix warningMarek Olšák
2010-03-16radeon: Fix buffer object unmap to be called only once for dma buffers.Pauli Nieminen
If flush happens inside radeonRefillCurrentMaRegion the last dma buffer would be unmapped twice. Unmapping buffer when moving buffer to wait list fixes the mapping error.
2010-03-01radeon: Reduce number of radeon_bo_map calls that require kernel entry.Pauli Nieminen
DMA buffers are often remapped many times for singel cs. To reduce number of mapping calls ending to kernel dma buffers are mapped when allocated and unmapped when full or in cs flush. This makes indifual mapping calls in other parts of code simple increment/decrement reference count which is faster than entering kernel. This improves Anholt's openarena benchmark from 36 fps to 44 fps.
2009-12-17radeon: drop assert accessing cref which is meant to be hiddenDave Airlie
2009-12-01Merge commit 'origin/mesa_7_7_branch'Keith Whitwell
Conflicts: src/gallium/drivers/svga/svga_screen_texture.c src/gallium/state_trackers/xorg/xorg_composite.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/main/texgetimage.c src/mesa/main/version.h
2009-11-24r300: fix swtcl bo leak problem.Dave Airlie
We can get a lot of swtcl bo allocations - need to probably abstract this a bit further. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-24radeon/r200/r300/r600: make bo mapping be explicitDave Airlie
This moves the bo mapping outside the DMA layer and makes it explicit, this should in theory make it simpler to split the clean up the dma/cmdbuf linkage that I created before that is broken. Tested on: r600, rv380 (tcl/no-tcl), rv200 (tcl/no-tcl) Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-18Revert "radeon: Fix legacy bo not to reuse dma buffers before refcount is 1."Alex Deucher
This reverts commit 284a7af274bc148f112bd0ebb40583923ee26b49. This breaks kde desktop effects. See fdo bug 24131
2009-09-20radeon: Fix legacy bo not to reuse dma buffers before refcount is 1.Pauli Nieminen
This should help detecting possible memory leaks with dma buffers and prevent possible visual corruption if data would be overwriten too early.
2009-09-11radeon: Remove structure allocation from iterator variable.Pauli Nieminen
dma_bo varaible is only used for iterating so allocating memory for it only causes memory leaks.
2009-08-31r100: Use shared debug code.Pauli Nieminen
Converted r100 to use shared debug code with sed and fast compile check. New code has compability layer so old debugging code doesn't have to be changed all immidiatly.
2009-08-29radeon: Fix swtcl emit pediction.Pauli Nieminen
Problem was to find the correct place to run prediction. Only place that is called for every primitive is ALLOC_VERTS so we have to do prediction there before allocation.
2009-08-27radeon/r200/r300: Fix swtcl flushing not to invalidate dma region.Pauli Nieminen
We were check command buffer sizes too alte so allocated dma regions were freed before relocations so space checking failed.
2009-08-25radeon/r600: Fix remaining warnings when building 64 bit binary.Pauli Nieminen
2009-08-25radeon: Fix all compiler warnings.Pauli Nieminen
2009-08-24Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into ↵Pauli Nieminen
r600_state_predict Conflicts: src/mesa/drivers/dri/r300/r300_cmdbuf.c src/mesa/drivers/dri/radeon/radeon_cmdbuf.h
2009-08-23radeon: Check from kernel if dma buffer is idle.Pauli Nieminen
This makes sure that objects are leaving wait list only when they are processed by gpu. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21radeon: Improve state emit code.Pauli Nieminen
Trying to make understanding code easier with small refactoring and renaming.
2009-08-21radeon: Port flush preventation code from r200 to r100.Pauli Nieminen
- emit prediction - fixes to emit_sizes for data - clean up of excesive use of radeonEnsureCmdBufferSpace Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21radeon: Add comment to explain logic for freeing dma buffers.Pauli Nieminen
2009-08-20radeon: Update regulary cs processing info from kernel.Pauli Nieminen
This fixes problem that dma buffers were leaking in dri1 mode. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-19radeon: fix typo in last dma patchAlex Deucher
2009-08-19radeon: Add debug output for dma buffer object numbers.Pauli Nieminen
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-19radeon: Fix dma buffer object pool to scale object sizes.Pauli Nieminen
This fixes problems when application is using large vertex arrays for drawing. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-18radeon: balance dma buffer mappingPauli Nieminen
In radeonRefillCurrentDmaRegion() make sure we unmap the previous buffer.
2009-08-18r200: make use of DMA buffers for Elts a lot better.Dave Airlie
This allows us to return the unused portion of the dma buffer to the allocator instead of wasting nearly 16k a pop. Cherry picked and ported to new code by Pauli.
2009-08-18radeon: Optimize memory handling for dma operations.Pauli Nieminen
We keep dma buffer objects in list untill they have been unused for many draw operations. Current limit of having 100 flushes is just guess for good performance/memory trade off. Moving WARN_ONCE macro to common context because it is used in multiple drivers. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-17radeon: remove RADEON_DEBUG_BO stuffAlex Deucher
This stuff was a vestige of the r600 bring up and now mostly serves to periodically break the build.
2009-08-14radeon: export emitvec* functionsMaciej Cencora
2009-08-14radeon: constify some parametersMaciej Cencora
2009-07-15Merge branch 'master' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa ↵Alex Deucher
into r6xx-rewrite This builds, but I get an assertion in radeonGetLock() due to the drawable being null.
2009-07-11radeon: make swtcl emit size biggerDave Airlie
2009-07-06radeon/r200/r300: port to new space checking code in libdrmDave Airlie
This moves a big chunk of the space checking code into libdrm so it can be shared by the DDX.
2009-06-29Revert "r200: make use of DMA buffers for Elts a lot better."Dave Airlie
This reverts commit 0952645fe04a27968565ea4d913500c23b1b11e3. Need to revisit where this is going wrong
2009-06-26r200: make use of DMA buffers for Elts a lot better.Dave Airlie
This allows us to return the unused portion of the dma buffer to the allocator instead of wasting nearly 16k a pop.
2009-06-12Merge master and fix conflictsAlex Deucher
2009-05-24radeon: realloc dma if needed after revalidateJerome Glisse
Revalidate can trigger flushing and dma buffer deallocation, so retry allocation on such case.
2009-05-21radeon: maxbuffer size is in bytesJerome Glisse
2009-05-20r200: fix vbo array renderingJerome Glisse
2009-05-19Makeup checkin for radeon code change paired with r6/7 code.root
2009-04-02radeon/r200/r300: fix up the whole buffer space checking.Dave Airlie
This fixes up the buffer validation scheme, so that we keep a list of buffers to validate so cmdbuf flushes during a pipeline get all the buffers revalidated on the next emit. This also fixes radeonFlush to not flush unless we have something useful to send to the GPU, like a DMA buffer or something not state
2009-04-02radeon/r200/r300: collapse context destruction down to a common path.Dave Airlie
Context destruction was nearly the same over all the drivers, so collapse it down.
2009-03-08radeon: fix cut-n-paste typoDave Airlie
2009-03-07rs690: fix r300 swtcl bug in DMA code.Dave Airlie
When we finish emitting swtcl objects, we request space in the cmdbuf, and flush if no space exists. However in this case we also flush the DMA buffer we just put the vertices we wanted to send in. This checks in advance if we have space in the buffer.
2009-02-12radeon: renaming and headers cleanupDave Airlie