aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600.h
Commit message (Collapse)AuthorAgeFilesLines
...
* winsys/radeon: move managing GEM domains back to driversMarek Olšák2011-12-241-0/+3
| | | | | | | | This partially reverts commit 363ff844753c46ac9c13866627e096b091ea81f8. It caused severe performance drops in Nexuiz. Reported by Phoronix. Tested by me on r300g and by IRC people on r600g.
* r600g: implement transform feedbackMarek Olšák2011-12-171-0/+21
| | | | | | | | r600: DONE. r700: MOSTLY (done but locks up). Evergreen: MOSTLY (done but doesn't work for an unknown reason). The kernel support will come soon.
* u_vbuf_mgr: rename to u_vbufMarek Olšák2011-11-221-1/+1
|
* r600g: the type of OCCLUSION_PREDICATE result should be booleanMarek Olšák2011-11-111-1/+4
|
* r600g: flush the whole context when CS is full, not just hw_contextMarek Olšák2011-11-101-0/+3
| | | | Because we disable render condition in r600_flush, but not in r600_context_flush.
* r600g: put the rest of CS overflow checks in r600_need_cs_spaceMarek Olšák2011-11-101-1/+0
|
* r600g: properly reserve CS space for queries_suspendMarek Olšák2011-11-101-1/+3
|
* r600g: cosmetic changes in query codeMarek Olšák2011-11-091-4/+2
| | | | Mainly updating comments and removing one use of a magic number.
* r600g: shortcut ctx->screen->ws to ctx->wsMarek Olšák2011-10-301-0/+1
|
* r600g: remove one pointless flushMarek Olšák2011-10-291-5/+1
| | | | | | | | It's not useful for anything. The rest of the patch is just a cleanup resulting from some of the variables being no longer used. There are no piglit regressions.
* r600g: only maintain the list of active queriesMarek Olšák2011-10-281-7/+4
| | | | | | | | And not all existing queries. The only reason we have that list is to be able to suspend and resume the active ones. This reduces looping over queries when suspending and resuming. The queries no longer have to track some of their states.
* r600g: remove redundant variable r600_query::buffer_sizeMarek Olšák2011-10-281-1/+0
|
* winsys/radeon: move GEM domains out of the drivers into winsysMarek Olšák2011-09-301-3/+0
| | | | | | | | | | | | | | | The drivers don't need to care about the domains. All they need to set are the bind and usage flags. This simplifies the winsys too. This also fixes on r600g: - fbo-depth-GL_DEPTH_COMPONENT32F-copypixels - fbo-depth-GL_DEPTH_COMPONENT16-copypixels - fbo-depth-GL_DEPTH_COMPONENT24-copypixels - fbo-depth-GL_DEPTH_COMPONENT32-copypixels - fbo-depth-GL_DEPTH24_STENCIL8-copypixels I can't explain it. Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove struct radeon (or what's left of it)Marek Olšák2011-09-301-7/+2
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: move family and chip_class from struct radeon to r600_screenMarek Olšák2011-09-301-3/+0
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: merge r600_bo with r600_resourceMarek Olšák2011-09-301-37/+22
| | | | | | | I have moved 'last_flush' and 'binding' from r600_bo to winsys/radeon. The other members are now part of r600_resource. Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove an irrelevant XXX commentMarek Olšák2011-09-121-1/+1
|
* r600g: set the return type of radeon_destroy to voidMarek Olšák2011-09-121-1/+1
|
* r600g: remove r600_drm_public.hMarek Olšák2011-09-121-0/+1
|
* r600g: inline some of the winsys r600_get functionsMarek Olšák2011-09-121-5/+0
|
* r600g: compute tiling info in the pipe, not in the winsysMarek Olšák2011-09-121-1/+0
| | | | The winsys doesn't need it.
* r600g: set read/write usage flags for each relocationMarek Olšák2011-08-161-6/+14
| | | | | | This takes advantage of the new GEM_WAIT ioctl when mapping buffers. Reviewed-by: Alex Deucher <[email protected]>
* r600g: undefine RADEON_CTX_MAX_PM4Marek Olšák2011-08-161-2/+0
| | | | | | winsys/radeon has its own definition. Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove an unused parameter from r600_bo_destroyMarek Olšák2011-08-161-3/+3
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: merge radeon_bo with r600_boMarek Olšák2011-08-161-1/+1
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: use buffer_map/unmap from radeon_winsysMarek Olšák2011-08-161-1/+2
| | | | | | This also drops the unneeded bo_busy/wait functions. Reviewed-by: Alex Deucher <[email protected]>
* r600g: set the flush callback in radeon_winsysMarek Olšák2011-08-161-1/+1
| | | | | | I have also renamed the winsys function. Reviewed-by: Alex Deucher <[email protected]>
* r600g: emit CS using radeon_winsysMarek Olšák2011-08-161-2/+2
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove struct r600_relocMarek Olšák2011-08-161-13/+2
| | | | | | That is really private to winsys/radeon. Reviewed-by: Alex Deucher <[email protected]>
* r600g: let radeon_winsys maintain the list of relocationsMarek Olšák2011-08-161-1/+2
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove now-unused r600_context::fenced_boMarek Olšák2011-08-161-1/+1
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: put radeon_winsys in screen::winsys, don't include drm_driver in the pipeMarek Olšák2011-08-161-3/+4
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: cleanup includes in winsysMarek Olšák2011-08-161-6/+2
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: use backend mask for occlusion queriesVadim Girlin2011-08-031-0/+4
| | | | | | | | | | | | | Use backend_map kernel query if supported, otherwise analyze ZPASS_DONE results to get the mask. Fixes lockups with predicated rendering due to incorrect query buffer initialization on some cards. Note: this is a candidate for the 7.11 branch. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: remove dummy function r600_bo_offsetMarek Olšák2011-08-021-5/+2
| | | | Always returned 0.
* r600g: remove unused codeMarek Olšák2011-08-021-1/+0
|
* r600g: fix queries and predicationVadim Girlin2011-07-151-6/+13
| | | | | | | Use all zpass data for predication instead of the last block only. Use query buffer as a ring instead of reusing the same area for each new BeginQuery. All query buffer offsets are in bytes to simplify offsets math.
* r600g: reduce flushes for queriesVadim Girlin2011-07-051-1/+2
|
* r600g: fix check for empty csVadim Girlin2011-06-301-0/+1
|
* r600g: move depth texture flushing out of line.Dave Airlie2011-06-141-0/+1
| | | | | | this needs a piglit run. Signed-off-by: Dave Airlie <[email protected]>
* r600g: split resource emit path from main register emit pathDave Airlie2011-06-081-0/+4
| | | | | | | | | Since resources don't generally vary in size, this splits the emit path, it also takes into a/c that texture and vertex resources have different number of relocs, and avoids emitting the extra reloc for vertex resources. Signed-off-by: Dave Airlie <[email protected]>
* r600g: inline r600_bo_reference.Dave Airlie2011-06-081-2/+13
| | | | | | This relies on the reference member being first, so document it. Signed-off-by: Dave Airlie <[email protected]>
* r600g: remove pre-r6xx asic families and pci idsAlex Deucher2011-06-071-32/+0
| | | | | | Not sure why these were included originally. Signed-off-by: Alex Deucher <[email protected]>
* r600g: add missing r300 familiesMarek Olšák2011-06-071-0/+5
| | | | Wondering why r600g needs to include r300_pci_ids.h
* r600g: use an enabled list to track enabled blocks.Dave Airlie2011-06-071-0/+2
| | | | | | | | At the end of flushing we were scanning over 450 blocks with generally about 50 enabled. This reduces the scanning to just the list of enabled blocks. Signed-off-by: Dave Airlie <[email protected]>
* r600g/winsys: overhaul resource range/blocks.Dave Airlie2011-06-071-0/+4
| | | | | | | There isn't much point taking the overhead of range/block lookups on resources we aren't going to be getting resource registers at wierd offsets. Signed-off-by: Dave Airlie <[email protected]>
* r600g: move resource setting to its own structures.Dave Airlie2011-06-071-6/+12
| | | | | | | | | resource setting could be a fair bit more lightweight, this patch just separates the resource structs from the standard reg tracking structs in the driver, later patches will improve the winsys. Signed-off-by: Dave Airlie <[email protected]>
* r600g: sampler and texture state doesn't need a range/block.Dave Airlie2011-06-031-0/+3
| | | | | | | | | These are handled separately in the winsys, so don't need the calculations done at this point. this manifested as a crash in point-sprite, Thanks to XoD on #radeon for pointing it out. Signed-off-by: Dave Airlie <[email protected]>
* r600g: decrease CPU time on set buffer resourcesDave Airlie2011-06-021-0/+15
| | | | | | | | This splits the initialisation and the setting of values in the resource buffers. We only should end up initialising once and updateing with new values when needed. Signed-off-by: Dave Airlie <[email protected]>
* r600g: work out range/block etc at state build time.Dave Airlie2011-06-021-5/+6
| | | | | | | | This moves the overhead of working out the range/block to state build time, it also allows the compiler to use constants for a lot of things instead of working them out each time. Signed-off-by: Dave Airlie <[email protected]>