summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* r600g: remove obsolete todo commentsMarek Olšák2012-03-059-32/+22
| | | | | | | | Also use XXX in the other ones, because it's the most used word for that purpose in Mesa. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: correctly handle queries which don't need begin_queryMarek Olšák2012-03-051-6/+27
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: don't suspend timer queries for u_blitterMarek Olšák2012-03-055-23/+88
| | | | | | | | | | | | Timer queries should be able to measure the time spent in u_blitter as well. Queries are split into two groups: the timer ones and the others (streamout, occlusion), because we should only suspend non-timer queries for u_blitter, and later if the non-timer queries are suspended, the context flush should only suspend and resume the timer queries. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: release query buffers in destroy_queryMarek Olšák2012-03-051-0/+9
| | | | | | | This fixes a memory leak introduced with the rework. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: move all query code into r600_query.cMarek Olšák2012-03-055-456/+414
| | | | | | | | And rename or inline functions where appropriate. There is no reason to keep this stuff in r600_hw_context.c. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"Marek Olšák2012-03-051-4/+0
| | | | | | | This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc. It was decided to refactor the transfer API instead of adding workarounds to address the performance issues.
* r600g: use u_default_transfer_flush_region for all resource typesMarek Olšák2012-02-273-9/+3
|
* r600g: use u_default_transfer_inline_write for all resource typesMarek Olšák2012-02-273-26/+3
|
* r600g: fix streamout cache flush for r600Marek Olšák2012-02-271-4/+12
| | | | Figured out by trial and error.
* r600g: cleanup r600_transfer_structMarek Olšák2012-02-272-16/+12
| | | | | Especially rename staging_texture to staging and change its type to r600_resource. I will reuse it for buffers later.
* r600g: check for R600_STREAMOUT env var in winsysMarek Olšák2012-02-271-2/+2
|
* r600g: move initialization of use_surface flag into screen_createMarek Olšák2012-02-275-25/+18
| | | | Also change the type to bool and give it a less ambiguous name.
* r600g: properly check whether texture is busy in get_transferMarek Olšák2012-02-271-9/+5
|
* r600g: rename r600_resource_texture::depth to bool is_depthMarek Olšák2012-02-275-16/+16
| | | | It's used as a boolean.
* gallium: remove PIPE_SHADER_CAP_OUTPUT_READMarek Olšák2012-02-271-2/+0
| | | | | | | | | | | | r600g is the only driver which has made use of it. The reason the CAP was added was to fix some piglit tests when the GLSL pass lower_output_reads didn't exist. However, not removing output reads breaks the fallback for glClampColorARB, which assumes outputs are not readable. The fix would be non-trivial and my personal preference is to remove the CAP, considering that reading outputs is uncommon and that we can now use lower_output_reads to fix the issue that the CAP was supposed to workaround in the first place.
* r600g: rework queriesMarek Olšák2012-02-233-116/+167
| | | | | | | | | | | | | | | | We always mapped the query buffer in begin_query, causing stalls if the buffer was busy. This commit reworks it such that the query buffer is only mapped in get_query_result as it's supposed to be. The query buffer is no longer treated as a ring buffer. Instead, the results are just appended and when the buffer is full, we create a new one. One query can have more than one query buffer, though that's a very rare case. Begin_query releases all query buffers. Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: cleanup magic numbers in set_xx_samplerMarek Olšák2012-02-232-6/+6
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove duplicated evergreen_context_ps_partial_flushMarek Olšák2012-02-233-15/+3
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove duplicated evergreen_context_pipe_state_set_samplerMarek Olšák2012-02-233-31/+5
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove duplicated set_xx_resource functionsMarek Olšák2012-02-234-48/+13
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove duplicated function r600_state_sampler_initMarek Olšák2012-02-233-18/+3
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: fixup name of evergreen-specific functionMarek Olšák2012-02-231-5/+5
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: simplify fail paths in create_contextMarek Olšák2012-02-231-22/+15
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: fix possible crashes in destroy_context when failing in create_contextMarek Olšák2012-02-232-25/+38
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>