summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/r600
AgeCommit message (Collapse)Author
2010-11-10r600g: allow driver to work without submitting cmd to GPUJerome Glisse
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 <jglisse@redhat.com>
2010-11-10ws/r600: match bo_busy shared/fence logic in bo_waitKeith Whitwell
Fixes crash in piglit depthrange-clear.
2010-11-08r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)Benjamin Franzke
2010-11-03r600g: set hardware pixel centers according to gl_rasterization_rulesKeith Whitwell
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.
2010-11-03r600g: propogate resource usage flags to winsys, use to choose bo domainsKeith Whitwell
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.
2010-11-02r600g: Fixed two memory leaks in winsys.Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02r600g: Made radeon_bo::map_count signed.Tilman Sauerbeck
That way assert(map_count >= 0) can actually fail when we screwed up. Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02r600g: Fixed unmap condition in radeon_bo_pb_destroy().Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().Tilman Sauerbeck
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 <tilman@code-monkey.de>
2010-11-02r600g: Removed unused 'ptr' argument from radeon_bo().Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-10-27r600g: In radeon_bo(), call LIST_INITHEAD early.Tilman Sauerbeck
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 <tilman@code-monkey.de>
2010-10-23r600g: not fatal if we can't get tiling info from kernelDave Airlie
2010-10-18r600g: retrieve tiling info from kernel for shared buffers.Dave Airlie
we need to know if the back is tiled so we can blit from it properly.
2010-10-18r600g: get tiling info from kernelDave Airlie
2010-10-15r600/drm: fix segfaults in winsys create failure pathKeith Whitwell
Would try to destroy radeon->cman, radeon->kman both which were still NULL. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-08r600g: Silence uninitialized variable warning.Vinson Lee
2010-10-08r600g: Silence uninitialized variable warning.Vinson Lee
2010-10-08r600g: Silence uninitialized variable warning.Vinson Lee
2010-10-08r600g: Remove unnecessary header.Vinson Lee
2010-10-06r600g: fix dirty state handlingJerome Glisse
Avoid having object ending up in dead list of dirty object. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-06r600g: avoid segfault due to unintialized list pointerJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-05r600g: userspace fence to avoid kernel call for testing bo busy statusJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-05r600g: simplify block relocationJerome Glisse
Since flush rework there could be only one relocation per register in a block. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-05r600g: use dirty list to track dirty blocksBas Nieuwenhuizen
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.
2010-10-05r600g: improve bo flushingJerome Glisse
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 <jglisse@redhat.com>
2010-10-05r600g: store reloc information in bo structureJerome Glisse
Allow fast lookup of relocation information & id which was a CPU time consumming operation. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-05r600g: avoid unneeded bo waitDave Airlie
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.
2010-10-05r600g: drop use_mem_constant.Dave Airlie
since we plan on using dx10 constant buffers everywhere.
2010-10-05r600g: drop mman allocatorDave Airlie
we don't use this since constant buffers are now being used on all gpus.
2010-10-05r600g: add bo busy backoff.Dave Airlie
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.
2010-10-05r600g: add bo fenced list.Dave Airlie
this just keeps a list of bos submitted together, and uses them to decide bo busy state for the whole group.
2010-10-04r600g: Fix SCons build.Vinson Lee
2010-10-04r600g: remove dead label & fix indentationJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: rename radeon_ws_bo to r600_boJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: use r600_bo for relocation argument, simplify codeJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: allow r600_bo to be a sub allocation of a big boJerome Glisse
Add bo offset everywhere needed if r600_bo is ever a sub bo of a bigger bo. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: rename radeon_ws_bo to r600_boJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: TODO domain managementDave Airlie
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.
2010-10-04r600g: fix wwarning in bo_map functionDave Airlie
2010-10-04r600g: break out of search for reloc bo after finding it.Dave Airlie
this function was taking quite a lot of pointless CPU.
2010-10-01r600g: setup basic loop consts on r600 + evergreen.Dave Airlie
this sets up a single loop constant like r600c does.
2010-10-01r600g: flush SH cache on constant change on evergreenDave Airlie
2010-10-01r600g: fix evergreen draw-buffersDave Airlie
just a typo in the register headers.
2010-10-01r600g: add cb flushing for extra buffers + depth buffer on r600/evergreenDave Airlie
2010-10-01r600g: sync vertex/texture cache on resources on evergreenDave Airlie
this gets rid of lots of the instability on evergreen, which isn't surprising since it really broken not to flush caches.
2010-10-01r600g: add reloc for evergreen color attribDave Airlie
we'll need this for color tiling on evergreen.
2010-10-01r600g: add winsys support for CTL constants.Dave Airlie
These need to be emitted, we also need them to do proper vtx start, instead of abusing index offset.
2010-10-01r600g: use Elements macro instead of manual sizeofsDave Airlie
2010-09-30r600g: keep a mapping around for each boJohn Doe
Save a lot of call into the kernel and thus improve performances. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-30r600g: don't double count dirty blockJohn Doe
This avoid to overcount the number of dwords we need and thus avoid maximazation of cs buffer use. Signed-off-by: Jerome Glisse <jglisse@redhat.com