summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/r600
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* r600g: use r600_bo for relocation argument, simplify codeJerome Glisse2010-10-044-19/+29
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: allow r600_bo to be a sub allocation of a big boJerome Glisse2010-10-042-4/+4
| | | | | | | Add bo offset everywhere needed if r600_bo is ever a sub bo of a bigger bo. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: rename radeon_ws_bo to r600_boJerome Glisse2010-10-044-44/+44
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: TODO domain managementDave Airlie2010-10-041-2/+2
| | | | | no wonder it was slow, the code is deliberately forcing stuff into GTT, we used to have domain management but it seems to have disappeared.
* r600g: fix wwarning in bo_map functionDave Airlie2010-10-041-0/+1
|
* r600g: break out of search for reloc bo after finding it.Dave Airlie2010-10-041-0/+1
| | | | this function was taking quite a lot of pointless CPU.
* r600g: setup basic loop consts on r600 + evergreen.Dave Airlie2010-10-012-0/+42
| | | | this sets up a single loop constant like r600c does.
* r600g: flush SH cache on constant change on evergreenDave Airlie2010-10-011-2/+2
|
* r600g: fix evergreen draw-buffersDave Airlie2010-10-011-1/+1
| | | | just a typo in the register headers.
* r600g: add cb flushing for extra buffers + depth buffer on r600/evergreenDave Airlie2010-10-012-3/+37
|
* r600g: sync vertex/texture cache on resources on evergreenDave Airlie2010-10-011-2/+2
| | | | | this gets rid of lots of the instability on evergreen, which isn't surprising since it really broken not to flush caches.
* r600g: add reloc for evergreen color attribDave Airlie2010-10-011-12/+12
| | | | we'll need this for color tiling on evergreen.
* r600g: add winsys support for CTL constants.Dave Airlie2010-10-013-0/+22
| | | | | These need to be emitted, we also need them to do proper vtx start, instead of abusing index offset.
* r600g: use Elements macro instead of manual sizeofsDave Airlie2010-10-012-10/+12
|
* r600g: keep a mapping around for each boJohn Doe2010-09-302-51/+54
| | | | | | Save a lot of call into the kernel and thus improve performances. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: don't double count dirty blockJohn Doe2010-09-303-26/+42
| | | | | | | This avoid to overcount the number of dwords we need and thus avoid maximazation of cs buffer use. Signed-off-by: Jerome Glisse <[email protected]