summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: disable dual-src hangs evergreen for some reason.Dave Airlie2012-04-141-1/+1
| | | | | | This did work previously, so I've broken something. Signed-off-by: Dave Airlie <[email protected]>
* r600g: initial r600 dual src blending supportDave Airlie2012-04-135-16/+44
| | | | | | survives piglit with no regressions on rv610/evergreen Signed-off-by: Dave Airlie <[email protected]>
* gallium: rename DUAL_SOURCE_BLEND cap to MAX_DUAL_SOURCE_RENDER_TARGETSDave Airlie2012-04-131-1/+3
| | | | | | Though I don't think we'll ever expose > 1. Signed-off-by: Dave Airlie <[email protected]>
* r600g: check gpr count limitVadim Girlin2012-04-091-0/+8
| | | | | | | | | | This should help to prevent gpu lockups. See https://bugs.freedesktop.org/show_bug.cgi?id=48472 NOTE: This is a candidate for the stable branches. Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: inline r600_upload_index_bufferMarek Olšák2012-04-043-14/+5
|
* r600g: inline r600_upload_const_bufferMarek Olšák2012-04-043-50/+32
|
* r600g: handle DISCARD_WHOLE_RESOURCE for buffersMarek Olšák2012-04-042-1/+60
| | | | | | This should prevent stalls and therefore increase perfomance in some cases. Reviewed-by: Alex Deucher <[email protected]>
* r600g: invalidate caches at the beginning of CSMarek Olšák2012-04-041-0/+9
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove dead code after the reworkMarek Olšák2012-04-045-125/+8
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: rework state emission of constant buffersMarek Olšák2012-04-046-93/+188
| | | | | | | | Framerate in ipers: before: 43.6 FPS after: 46.6 FPS Reviewed-by: Alex Deucher <[email protected]>
* r600g: rework state emission of vertex buffersMarek Olšák2012-04-047-67/+93
| | | | | | | | | | | | This reduces a little of CPU overhead. The idea is to translate pipe vertex buffers directly into the CS and not using any intermediate representations. Framerate in Torcs: before: 32.2 after: 34.6 Reviewed-by: Alex Deucher <[email protected]>
* r600g: kill off the fallback for crazy src_offset valuesMarek Olšák2012-04-043-51/+17
| | | | | | | st/mesa doesn't allow src_offset to be greater than stride and the maximum stride r600 supports is 2047. Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove dead code in r600_update_derived_stateMarek Olšák2012-04-031-6/+0
|
* r600g: unduplicate code for PS partial flushMarek Olšák2012-04-011-4/+2
|
* r600g: determine in advance if hw has vertex cacheMarek Olšák2012-04-013-14/+16
|
* r600g: optimize r600_resource_vaMarek Olšák2012-04-013-13/+8
| | | | Avoid calling get_radeon_bo and inline it.
* r600g: cleanup after get_query_result changeMarek Olšák2012-03-302-35/+9
| | | | Finally, union r600_query_result can be removed.
* gallium: adapt to get_query_result interface changeMarek Olšák2012-03-301-1/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* r600g: also disable transform feedback on caymanMarek Olšák2012-03-281-3/+4
| | | | | It's said to cause troubles there. The env var is R600_STREAMOUT again.
* r600g: enable transform feedback on everything that isn't r700Marek Olšák2012-03-271-0/+6
| | | | Use R700_STREAMOUT=1 if you wanna hack transform feedback on r700.
* r600g: add support for TN (trinity) APUsAlex Deucher2012-03-204-4/+7
| | | | | | Note: this is a candidate for the stable branches. Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix r600_get_backend_mask() for virtual addressesAlex Deucher2012-03-191-2/+5
| | | | | | | I don't think we should hit this path for virtual addresses, but just in case. Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix point renderingMarek Olšák2012-03-191-1/+1
| | | | Accidentally broken in c7eaf274a9b7e3e5f4b060be2320.
* gallium/drivers: Use automake to generate makefileTom Stellard2012-03-141-0/+3
|
* r600g: add support for subsampled rgb formatsChristian König2012-03-091-0/+15
| | | | | | v2: r600 formats are msb first! Signed-off-by: Christian König <[email protected]>
* r600g: enable ARB_draw_instancedMarek Olšák2012-03-081-1/+1
|
* r600g: use SX_MISC to implement rasterizer discardMarek Olšák2012-03-084-4/+13
| | | | Yeah I am reworking it again. This is way simpler than the other methods.
* Revert "r600g: fix and improve rasterizer discard for r600-r700"Marek Olšák2012-03-082-15/+6
| | | | | | I will use SX_MISC instead. This reverts commit 597fd6dc8c424a35f8442d5fd9de708013a69830.
* Revert "r600g: rework rasterizer discard for evergreen"Marek Olšák2012-03-085-45/+16
| | | | | | | | | | | | | I will use SX_MISC instead. This reverts commit 734792e83fdc526623d8fe0a60479648c936bd53. Conflicts: src/gallium/drivers/r600/evergreen_hw_context.c src/gallium/drivers/r600/evergreen_state.c src/gallium/drivers/r600/r600_hw_context.c src/gallium/drivers/r600/r600_pipe.h
* r600g: only emit SX_SURFACE_SYNC on r700 if there's CS checker supportMarek Olšák2012-03-071-1/+1
| | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47039
* r600g: replace atom_ prefix with _state and _cmd suffixesMarek Olšák2012-03-058-59/+59
|
* r600g: cleanup includesMarek Olšák2012-03-0519-129/+37
|
* r600g: move r600_context_bo_reloc to r600_pipe.hMarek Olšák2012-03-055-11/+7
| | | | | so that we don't have to include r600_hw_context_priv.h outside of the *hw_context* files.
* r600g: remove unused function r600_context_reg_boMarek Olšák2012-03-052-17/+0
|
* r600g: remove unused definitionsMarek Olšák2012-03-053-12/+0
|
* r600g: don't enable tiling for STAGING and STREAM usage casesMarek Olšák2012-03-051-6/+7
| | | | Reviewed by: Christian König <[email protected]>
* winsys/radeon: add usage parameter to cs_is_buffer_referencedMarek Olšák2012-03-052-2/+2
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: initialize DB_DEPTH_CONTROL at beginning of CSMarek Olšák2012-03-052-0/+3
| | | | | | | | Otherwise streamout with rasterizer discard will make the kernel upset if the state tracker doesn't set a depth-stencil-alpha state. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: initialize VS_GS_OUT_PRIM_TYPEMarek Olšák2012-03-055-0/+38
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: initialize SX_SURFACE_SYNCMarek Olšák2012-03-054-0/+11
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: if pixel shader is NULL, bind a dummy oneMarek Olšák2012-03-053-7/+28
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: add support for missing colorbuffer formatsMarek Olšák2012-03-052-2/+158
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: remove support for SCALED colorbuffer formatsMarek Olšák2012-03-052-34/+0
| | | | | | | | Unused by the current stack and APIs, therefore untestable. It was used to facilitate the transition to integers. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: permit blitting between textures with STREAM and STAGING usageMarek Olšák2012-03-051-8/+1
| | | | | | | | Eventually I'd like to make every format blittable, so that the function can go away. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: fix and improve rasterizer discard for r600-r700Marek Olšák2012-03-052-6/+15
| | | | | | | | | | | | For polygons, we have been using face culling with success, but that doesn't work for points and lines. Setting the point size and line width to 0 fixes it. Also improve it even more by setting SCREEN_SCISSOR to a zero area. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: rework rasterizer discard for evergreenMarek Olšák2012-03-055-16/+46
| | | | | | | | | | | Implement it right using STRMOUT_CONFIG.RAST_STREAM. This fixes rasterizer discard with points and lines. This also adds another derived state. It's a combination of rasterizer discard and streamout enable. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: make some scissor regs invariant on r600-r700Marek Olšák2012-03-052-16/+8
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: make some scissor regs invariant on evergreenMarek Olšák2012-03-052-22/+16
| | | | | | | We only need one scissor for the framebuffer. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: rework scissor for r600-r700Marek Olšák2012-03-056-46/+72
| | | | | | | | | | | | | We must use VPORT_SCISSOR, because that's the only one we can use for multiple scissor rectangles in ARB_viewport_array. R700 can use the VPORT_SCISSOR_ENABLE bit, but R600 doesn't have that and must emit a 8192x8192 rectangle if scissor is disabled. This commit also cleanups magic numbers in create_rs_state. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: rework scissor for evergreenMarek Olšák2012-03-053-71/+31
| | | | | | | | VPORT_SCISSOR is the OpenGL scissor. How do I know? Because there are 16 of them just like GL4.1 has multiple scissor rectangles. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>