aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/common/dri_bufmgr.c
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Revert "Merge branch 'drm-gem'""Dave Airlie2008-08-241-160/+0
| | | | This reverts commit 7c81124d7c4a4d1da9f48cbf7e82ab1a3a970a7a.
* Revert "Merge branch 'drm-gem'"Dave Airlie2008-08-241-0/+160
| | | | | | | | This reverts commit 53675e5c05c0598b7ea206d5c27dbcae786a2c03. Conflicts: src/mesa/drivers/dri/i965/brw_wm_surface_state.c
* [intel] Convert drivers to using libdrm bufmgr code.Eric Anholt2008-06-031-171/+0
|
* Add back a mostly-correct glFinish for GEM and fake.Eric Anholt2008-05-221-0/+6
| | | | | The right solution would probably be keeping a list of regions which have been rendered to.
* [intel] update GEM api. Add bo_subdata and bo_get_subdata driver hooks.Keith Packard2008-05-111-6/+19
| | | | | | Track DRM GEM name changes. Add driver hooks for bo_subdata and bo_get_subdata so that GEM can use pread and pwrite.
* GEM: Make dri_emit_reloc take GEM domain flags instead of TTM flags.Eric Anholt2008-05-071-3/+5
| | | | | | The GEM flags are much more descriptive for what we need. Since this makes bufmgr_fake rather device-specific, move it to the intel common directory. We've wanted to do device-specific stuff to it before.
* [intel] Fix build for GEM. TTM is now disabled, and fencing is gone.Eric Anholt2008-05-021-23/+2
| | | | | | | Fencing was used in two places: ensuring that we didn't get too many frames ahead of ourselves, and glFinish. glFinish will be satisfied by waiting on buffers like we would do for CPU access on them. The "don't get too far ahead" is now the responsibility of the execution manager (kernel).
* Add intel_bufmgr_gem for new graphics execution manager.Eric Anholt2008-05-021-2/+2
|
* intel/fake_bufmgr: Attempt to restrict references to objects in a ↵Dave Airlie2008-04-161-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | batchbuffer > aperture size. So with compiz on Intel hw with fake bufmgr, opening 4 firefox windows at 1680x1050 and hitting alt-tab, could cause the batchbuffer to try and reference more than the 32MB of RAM allocated. Fix 1: Fix 1 is to pre-verify the list of buffers against the current batchbuffer and if it can't possibly fit in the aperture to flush the batchbuffer to the hardware and try again. If the buffers still can't fit well then you are hosed as I'm not sure there is a nice way to tell anyone. Fix 2: Next problem was that even with a simple check for total < aperture, we ran into fragmentation issues, this meant that half way down a set of buffers, we would fail as no blocks were available. Fix this by nuking the memory manager from orbit and letting it start again and relayout the blocks in a manner that fits. Fix 3: Finally the initial problem we were seeing was a memcpy to a NULL backing store. We seem to end up with a texture at some point that never gets mapped but ends up with data in it. compiz al-tab icons have this property. So I created a card dirty bit that memcpy's any buffer that is !static and is written to back to memory. This probably is wrong but it makes compiz work for now. Caveats: 965 support is still fail.
* Bufmgr cleanup from intel-batchbuffer branch of 2d driver.Eric Anholt2008-01-241-0/+3
|
* [intel] Enable INTEL_DEBUG=bufmgr output in TTM mode as well as classic.Eric Anholt2007-12-131-0/+6
|
* [intel] Fix the type and naming of the flags/mask args to TTM functions.Eric Anholt2007-11-301-4/+5
| | | | | The uint64_t flags (as defined by drm.h) were being used as unsigned ints in many places.
* i915: make i915 use the cached mappings for batch/buffer objects.Dave Airlie2007-11-011-3/+2
| | | | This should restore gears speed on 9xx hardware
* i915: fixup up bufmgr to pass num buffers to kernelDave Airlie2007-10-091-14/+2
| | | | remove unneeded entry points
* i915: add superioctl support to the ttm codepaths.Dave Airlie2007-10-041-2/+2
| | | | | gears now runs for about 10-15 seconds with some artifacts before falling over.
* i915: add superioctl initial support inside bufmgr ttmDave Airlie2007-10-031-2/+2
|
* i915/drmbuf: attempt to push relocations into buffer managerDave Airlie2007-10-031-0/+16
| | | | | This moves the relocations into the buffer manager in prepration for a superioctl move.
* Add buffer manager destroy function.Eric Anholt2007-05-311-0/+6
|
* Replace the flags/hint arguments to bo_alloc{,_static} with a location mask.Eric Anholt2007-05-241-5/+17
| | | | | | | | | | | | Now, allocations only take locations, rather than a variety of unused flags. The only interesting flag before was the no_move/no_evict pair for scanout and similar buffers, which the DRI drivers don't use. That will be readded when we get to using this code for display buffer allocation, by adding a pin/unpin call (dynamic pinning/unpinning may be useful for VT switching and root window resizing). This commit changes one instance of DRM_BO_FLAG_MEM_LOCAL with DRM_BO_FLAG_MEM_TT, which appeared to have been unintentional.
* Merge branch 'master' into i915-unificationEric Anholt2007-05-181-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_drmpool.c src/mesa/drivers/dri/i915tex/intel_batchpool.c src/mesa/drivers/dri/i915tex/intel_buffer_objects.c src/mesa/drivers/dri/i915tex/intel_regions.c src/mesa/drivers/dri/i915tex/intel_screen.c src/mesa/drivers/dri/i915tex/intel_screen.h
| * Make sure we are locked when creating drm buffer objects.Thomas Hellstrom2007-04-161-3/+9
| | | | | | | | | | Don't place buffer objects on unfenced list when newly created. Fix a buffer object wait-for-idle deadlock.
* | Allow unreference with a NULL argument.Eric Anholt2007-05-181-0/+6
| |
* | Convert i915tex to the new interface and make it compile.Eric Anholt2007-05-171-0/+6
| |
* | WIP: Replace TTM buffer pool manager with a simplified interface.Eric Anholt2007-05-161-438/+68
|/ | | | | | | | The interface is not solid yet (some simplification to do still, and adjustment for 0-copy), and the drivers are not converted. However, the new interface allows using the same calls to support either a TTM or a classic static allocation backend, with the static backend allowing a more limited feature set.
* use passed target parameterAlan Hourihane2007-03-201-1/+1
|
* Merge texmem-0-3-branch.Keith Whitwell2006-11-011-0/+493