summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: fix bo size when creating bo from handleJerome Glisse2010-12-101-1/+1
| | | | | | Spoted by Alex Diomin Signed-off-by: Jerome Glisse <[email protected]>
* r600g: Fix SCons build.Vinson Lee2010-12-092-3/+3
|
* r600g: avoid using pb* helper we are loosing previous cpu cycle with itJerome Glisse2010-12-099-388/+364
| | | | | | | | | | | | r600g is up to a point where all small CPU cycle matter and pb* turn high on profile. It's mostly because pb try to be generic and thus trigger unecessary check for r600g driver. To avoid having too much abstraction & too much depth in the call embedded everythings into r600_bo. Make code simpler & faster. The performance win highly depend on the CPU & application considered being more important on slower CPU and marginal/unoticeable on faster one. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix userspace fence against lastest kernelJerome Glisse2010-12-072-0/+3
| | | | | | | | | | | | | R6XX GPU doesn't like to have two partial flush writting back to memory in row without a prior flush of the pipeline. Add PS_PARTIAL_FLUSH to flush all work between the CP and the ES, GS, VS, PS shaders. Thanks a lot to Alban Browaeys (prahal on irc) for investigating this issue. Signed-off-by: Alban Browaeys <[email protected]> Signed-off-by: Jerome Glisse <[email protected]>
* r600g: remove useless flush mapJerome Glisse2010-12-062-30/+1
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: Cleanup block bo references in r600_context_fini().Henri Verbeet2010-12-051-0/+3
|
* r600g: more indentation fix + warning silencing + dead code removalJerome Glisse2010-12-033-89/+12
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r300g/r600g: bump cache manager timeouts to 1sDave Airlie2010-11-251-1/+1
| | | | On lightsmark on my r500 this drop the bufmgr allocations of the sysprof.
* r600g: add support for ontario APUsAlex Deucher2010-11-223-0/+10
| | | | Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix some winsys functions to deal properly with evergreenAlex Deucher2010-11-222-10/+15
| | | | Are these functions actually used anywhere?
* r600g: fix additional EVENT_WRITE packetAlex Deucher2010-11-221-1/+1
| | | | Add explicit EVENT_TYPE field
* r600g: add fetch shader capabilitiesJerome Glisse2010-11-192-0/+33
| | | | | | | | Use fetch shader instead of having fetch instruction in the vertex shader. Allow to restrict shader update to a smaller part when vertex buffer input layout changes. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: All EVENT_WRITE packets need the EVENT_INDEX fieldAlex Deucher2010-11-192-13/+13
| | | | 6xx-evergreen
* r600g: fix occlusion query on evergreen (avoid lockup)Jerome Glisse2010-11-192-2/+11
| | | | | | | Occlusion query on evergreen need the event index field to be set otherwise we endup locking up the GPU. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix buffer alignmentAlex Deucher2010-11-171-0/+6
| | | | This should fix the remaining buffer alignment issues in r600g.
* r600g: Cleanup the fenced_bo list in r600_context_fini().Henri Verbeet2010-11-151-0/+13
|
* r600g: allow driver to work without submitting cmd to GPUJerome Glisse2010-11-101-0/+2
| | | | | | | | For driver performance analysis it usefull to be able to disable as much as possible the GPU interaction so that one can profile the userspace only. Signed-off-by: Jerome Glisse <[email protected]>
* ws/r600: match bo_busy shared/fence logic in bo_waitKeith Whitwell2010-11-101-8/+9
| | | | Fixes crash in piglit depthrange-clear.
* r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)Benjamin Franzke2010-11-083-1/+46
|
* r600g: set hardware pixel centers according to gl_rasterization_rulesKeith Whitwell2010-11-032-0/+2
| | | | | | | These were previously being left in the default (D3D) mode. This mean that triangles were drawn slightly incorrectly, but also because this state is relied on by the u_blitter code, all blits were half a pixel off.
* r600g: propogate resource usage flags to winsys, use to choose bo domainsKeith Whitwell2010-11-033-7/+31
| | | | | | | | | This opens the question of what interface the winsys layer should really have for talking about these concepts. For now I'm using the existing gallium resource usage concept, but there is no reason not use terms closer to what the hardware understands - eg. the domains themselves.
* r600g: Fixed two memory leaks in winsys.Tilman Sauerbeck2010-11-021-0/+2
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Made radeon_bo::map_count signed.Tilman Sauerbeck2010-11-021-1/+1
| | | | | | That way assert(map_count >= 0) can actually fail when we screwed up. Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Fixed unmap condition in radeon_bo_pb_destroy().Tilman Sauerbeck2010-11-021-4/+6
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().Tilman Sauerbeck2010-11-021-13/+7
| | | | | | | | This ensures that we increase bo->map_count when radeon_bo_map_internal() returns successfully, which in turn makes sure we don't decrement bo->map_count below zero later. Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Removed unused 'ptr' argument from radeon_bo().Tilman Sauerbeck2010-11-023-8/+4
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: In radeon_bo(), call LIST_INITHEAD early.Tilman Sauerbeck2010-10-271-1/+1
| | | | | | | | radeon_bo_destroy() will want to read the list field. Without this patch, we'd end up evaluating the list pointers before they have been properly set up when we destroyed the newly created bo if it cannot be mapped. Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: not fatal if we can't get tiling info from kernelDave Airlie2010-10-231-1/+1
|
* r600g: retrieve tiling info from kernel for shared buffers.Dave Airlie2010-10-183-2/+42
| | | | we need to know if the back is tiled so we can blit from it properly.
* r600g: get tiling info from kernelDave Airlie2010-10-183-0/+68
|
* r600/drm: fix segfaults in winsys create failure pathKeith Whitwell2010-10-151-3/+9
| | | | | | | Would try to destroy radeon->cman, radeon->kman both which were still NULL. Signed-off-by: Dave Airlie <[email protected]>
* r600g: Silence uninitialized variable warning.Vinson Lee2010-10-081-1/+2
|
* r600g: Silence uninitialized variable warning.Vinson Lee2010-10-081-1/+2
|
* r600g: Silence uninitialized variable warning.Vinson Lee2010-10-081-1/+2
|
* r600g: Remove unnecessary header.Vinson Lee2010-10-081-1/+0
|
* r600g: fix dirty state handlingJerome Glisse2010-10-063-7/+7
| | | | | | Avoid having object ending up in dead list of dirty object. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: avoid segfault due to unintialized list pointerJerome Glisse2010-10-062-7/+9
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: userspace fence to avoid kernel call for testing bo busy statusJerome Glisse2010-10-055-47/+99
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: simplify block relocationJerome Glisse2010-10-052-9/+7
| | | | | | | Since flush rework there could be only one relocation per register in a block. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: use dirty list to track dirty blocksBas Nieuwenhuizen2010-10-053-8/+31
| | | | Got a speed up by tracking the dirty blocks in a seperate list instead of looping through all blocks. This version should work with block that get their dirty state disabled again and I added a dirty check during the flush as some blocks were already dirty.
* r600g: improve bo flushingJerome Glisse2010-10-053-822/+822
| | | | | | | | | Flush read cache before writting register. Track flushing inside of a same cs and avoid reflushing same bo if not necessary. Allmost properly force flush if bo rendered too and then use as a texture in same cs (missing pipeline flush dunno if it's needed or not). Signed-off-by: Jerome Glisse <[email protected]>
* r600g: store reloc information in bo structureJerome Glisse2010-10-052-23/+16
| | | | | | | Allow fast lookup of relocation information & id which was a CPU time consumming operation. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: avoid unneeded bo waitDave Airlie2010-10-051-1/+5
| | | | | | if we know the bo has gone not busy, no need to add another bo wait thanks to Andre (taiu) on irc for pointing this out.
* r600g: drop use_mem_constant.Dave Airlie2010-10-053-3/+0
| | | | since we plan on using dx10 constant buffers everywhere.
* r600g: drop mman allocatorDave Airlie2010-10-053-8/+1
| | | | we don't use this since constant buffers are now being used on all gpus.
* r600g: add bo busy backoff.Dave Airlie2010-10-052-0/+15
| | | | | | When we go to do a lot of bos in one draw like constant bufs we need to avoid bouncing off the busy ioctl, this mitigates by backing off on busy bos for a short amount of times.
* r600g: add bo fenced list.Dave Airlie2010-10-053-0/+43
| | | | | this just keeps a list of bos submitted together, and uses them to decide bo busy state for the whole group.
* r600g: Fix SCons build.Vinson Lee2010-10-041-1/+1
|
* r600g: remove dead label & fix indentationJerome Glisse2010-10-041-11/+9
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: rename radeon_ws_bo to r600_boJerome Glisse2010-10-042-1/+1
| | | | Signed-off-by: Jerome Glisse <[email protected]>