summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/radeon
Commit message (Collapse)AuthorAgeFilesLines
* winsys/radeon: Create async thread only onceMaarten Lankhorst2011-08-302-21/+50
| | | | | | | | I noticed that a thread was created for every time async flush was called, so I moved it and used some semaphores to synch. Signed-off-by: Maarten Lankhorst <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Christian König <[email protected]>
* android: add support for r600gChia-I Wu2011-08-251-0/+40
| | | | | | | | Tested with a Radeon HD 6250. SurfaceFlinger (the display server and compositor) works. 2D apps with RGB or RGBA visuals work. As for 3D apps, some work but some don't (with serious rendering defects). Reviewed-by: Marek Olšák <[email protected]>
* winsys/radeon: share the source listChia-I Wu2011-08-253-9/+7
| | | | | | | Factor out C_SOURCES from Makefile to Makefile.sources, and let Makefile and SConscript share it. Reviewed-by: Marek Olšák <[email protected]>
* winsys/radeon: use os_mmap() for memory mappingChia-I Wu2011-08-241-3/+3
| | | | | | os_mmap() guarantees large file support across OSes. Reviewed-by: Marek Olšák <[email protected]>
* winsys/radeon: take advantage of the new ioctlMarek Olšák2011-08-161-12/+28
| | | | Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: hook up the new DRM_RADEON_GEM_WAIT ioctlMarek Olšák2011-08-162-20/+61
| | | | Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: remove broken bo-is-busy-for-write guessingMarek Olšák2011-08-163-31/+0
| | | | Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: remove the device file descriptor from the interfaceMarek Olšák2011-08-162-2/+0
| | | | | | r600g doesn't need it anymore. Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove radeon_bo::handleMarek Olšák2011-08-162-11/+0
| | | | | | This should be private to radeon_winsys. Reviewed-by: Alex Deucher <[email protected]>
* r600g: set the flush callback in radeon_winsysMarek Olšák2011-08-162-4/+4
| | | | | | I have also renamed the winsys function. Reviewed-by: Alex Deucher <[email protected]>
* r600g: move more DRM queries into winsys/radeonMarek Olšák2011-08-162-1/+21
| | | | Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: consolidate the add_reloc functionMarek Olšák2011-08-162-37/+12
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: emit CS using radeon_winsysMarek Olšák2011-08-162-6/+2
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: let radeon_winsys maintain the list of relocationsMarek Olšák2011-08-162-8/+37
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: allocate/destroy buffers using radeon_winsysMarek Olšák2011-08-162-0/+11
| | | | | | | We use the cache buffer manager from radeon_winsys now, but we don't use anything else yet. Reviewed-by: Alex Deucher <[email protected]>
* r600g: move some queries into winsys/radeonMarek Olšák2011-08-162-7/+27
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: first step into winsys/radeonMarek Olšák2011-08-163-8/+36
| | | | Reviewed-by: Alex Deucher <[email protected]>
* winsys/radeon: disable use of the buffer busy-for-write flagMarek Olšák2011-08-061-0/+12
|
* winsys/radeon: do the CS cleanup in the CS ioctl threadMarek Olšák2011-08-051-2/+4
|
* winsys/radeon: fix space checkingMarek Olšák2011-08-053-3/+35
| | | | | | | We should remove the relocations which caused a validation failure from the list, so that the kernel receives only the validated ones. NOTE: This is a candidate for the 7.11 branch.
* winsys/radeon: remove dummy function pb_bufferMarek Olšák2011-08-032-16/+7
|
* winsys/radeon: fix typos in the driver interfaceMarek Olšák2011-07-251-2/+3
|
* winsys/radeon: manage constant buffers by the cache bufmgr tooMarek Olšák2011-07-251-1/+2
|
* winsys/radeon: remove usage parameter from buffer_createMarek Olšák2011-07-252-6/+2
|
* winsys/radeon: fix int->boolean conversion in radeon_bo_is_referenced_by_any_csMarek Olšák2011-07-251-1/+1
|
* winsys/radeon: little change in radeon_bo_is_referenced_by_csMarek Olšák2011-07-251-2/+3
|
* winsys/radeon: add R300 infix to winsys feature namesMarek Olšák2011-07-252-4/+4
|
* winsys/radeon: simplify how value queries workMarek Olšák2011-07-254-128/+101
| | | | | This drops the get_value query and adds a function query_info, which returns all the values in one nice structure.
* scons: Expose pkg-config in a simpler manner.José Fonseca2011-06-301-5/+1
|
* r300g: Remove is_r3xxBenjamin Franzke2011-06-073-215/+9
| | | | | | Use r300_pci_ids.h instead. Reviewed-by: Alex Deucher <[email protected]>
* r300g: dynamically ask for and release Hyper-Z accessMarek Olšák2011-05-153-27/+99
| | | | | We ask for Hyper-Z access when clearing a zbuffer. We release it if no zbuffer clear has been done for 2 seconds.
* r300g/winsys: rename r300->radeon and do a little cleanupMarek Olšák2011-04-1810-146/+461
| | | | | Renaming a few files, types, and functions. Also make the winsys independent of r300g.
* r300g: fix crash when adding a new relocationMarek Olšák2011-04-081-1/+2
| | | | | | | No idea why it's so hard to reproduce. Broken with: c35572352e3e92683988ee8d151b47f4190d62f9 Thanks to Toni Spets for assistance.
* r300g: add 'radeon: ' prefix to error messages in winsysMarek Olšák2011-04-082-5/+5
|
* r300g: do not wait for a busy BO if neither GPU nor CPU is changing itMarek Olšák2011-04-034-12/+75
| | | | | Improves frame rate in apps with at least one user vertex buffer and a hw index buffer.
* r300g: remove unused RADEON_PB_USAGE_CACHEMarek Olšák2011-04-032-6/+0
|
* r300g: avoid mapping the same buffer twiceMarek Olšák2011-04-031-0/+5
| | | | Shouldn't happen, but you never know.
* r300g: remove the redundant reference counter in radeon_boMarek Olšák2011-04-033-36/+21
| | | | We already have pb_buffer::reference::count.
* r300g: decide whether a flush should be asynchronous when calling itMarek Olšák2011-03-083-16/+17
| | | | Thread offloading is not sometimes desirable, e.g. when mapping a buffer.
* r300g: require DRM 2.3.0 (kernel 2.6.34)Marek Olšák2011-03-021-7/+6
| | | | Running any older kernel is not recommended anyway.
* r300g: do not use ioctl thread offloading on single-core machinesMarek Olšák2011-03-023-1/+4
|
* r300g: fix invalid dereference in winsysMarek Olšák2011-02-191-1/+1
| | | | radeon_bo_unref may destroy the buffer, so call it after p_atomic_dec, not before.
* r300g: fix a race between CS and SET_TILING ioctlsMarek Olšák2011-02-163-6/+21
|
* r300g: offload the CS ioctl to another threadMarek Olšák2011-02-154-111/+220
| | | | | | | | | | This is a multi-threading optimization which hides the kernel overhead behind a thread. It improves performance in CPU-limited apps by 2-15%. Of course you must have at least 2 cores for it to make any difference. It can be disabled with: export RADEON_THREAD=0
* r300g: actually implement the is_buffer_busy hook the right wayMarek Olšák2011-02-151-3/+3
| | | | Ooops.
* r300g: handle interaction between UNSYNCHRONIZED and DONTBLOCK flags in bo_mapMarek Olšák2011-02-151-20/+16
| | | | | The VBO module uses both, but they are somewhat opposite to each other. In this case, we pick UNSYNCHRONIZED and ignore DONTBLOCK.
* r300g: fix a possible race condition when mapping a bufferMarek Olšák2011-02-152-23/+34
| | | | This is the last one I think.
* r300g: flush CS in bo_map even if we get USAGE_DONTBLOCKMarek Olšák2011-02-141-0/+1
| | | | | | | | | | Because an app may do something like this: while (!(ptr = bo_map(..., DONT_BLOCK))) { /* Do some other work. */ } And it would be looping endlessly if we didn't flush.
* r300g: implement pb_manager::is_buffer_busyMarek Olšák2011-02-141-22/+27
|
* r300g: fixup the handle_compare functionMarek Olšák2011-02-131-2/+2
| | | | Accidentally negated in 685c3262b945a7f0e9f1f3a9409a12fdda08c828.