summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* 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
* svga: fix the rasterizer state resetsZack Rusin2012-03-071-2/+2
| | | | | | | | | | | draw module calls back into the driver and sets certain parts of the state to whatever it needs, unfortunately unless you get the ordering of calls to draw just right you'll end up reseting your own driver state. That's what was happening to us draw module would under certain conditions reset our own driver state. Reviewed-by: Brian Paul <[email protected]>
* 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-053-3/+3
| | | | | 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-0511-41/+6
| | | | | | | This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc. It was decided to refactor the transfer API instead of adding workarounds to address the performance issues.
* r300/compiler: Add support for inline literalsTom Stellard2012-03-0412-9/+192
| | | | | On R500 chips, shader instructions can take 7-bit (3-bit mantissa, 4-bit exponent) floating point values as inputs in place of registers.
* r300g: init chan=0 to silence warningBrian Paul2012-02-291-1/+1
|
* svga: fix max_lod clamping in update_tss_binding()Brian Paul2012-02-291-2/+2
| | | | | | | | | After biasing we need to clamp to be sure we don't exceed the number of levels in the mipmap. This fixes an assertion at svga_sampler_view.c:70 v2: simplify the biasing, clamping code per Jose's suggestion. Reviewed-by: José Fonseca <[email protected]>
* svga: Advertise SVGA3D_DEVCAP_MAX_POINT_SIZE.José Fonseca2012-02-284-7/+15
| | | | | | | | | | | Backends usually advertise a SVGA3D_DEVCAP_MAX_POINT_SIZE between 63 and 256, so an hardcoded max point size of 80 is often incorrect. This limitation does not apply for anti-aliased points (as they are done via draw module) but we still advertise the same limit for both, because all others pipe drivers do. Reviewed-by: Brian Paul <[email protected]>
* svga: Remove unused SVGA_TEX_UNITS constant.José Fonseca2012-02-271-1/+0
|
* svga: Clamp advertised PIPE_SHADER_CAP_MAX_TEMPS to SVGA3D_TEMPREG_MAX.José Fonseca2012-02-271-2/+2
| | | | | | | | Some backends may advertise more temps than SVGA3D_TEMPREG_MAX, but the driver is hardwired to only support up to the value defined by SVGA3D_TEMPREG_MAX, so clamp to it. Reviewed-by: Brian Paul <[email protected]>
* 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-276-14/+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.
* r300g: Use automake to generate Makefile v3Tom Stellard2012-02-265-80/+43
| | | | | | | | | | v2: - s/$(top_builddir)/$(top_srcdir)/ - Always generate Makefile.in v3: - Fixes from Matt Turner - Use Mesa CFLAGS
* r300g: Reorganize the compiler unit testsTom Stellard2012-02-264-2/+12
|
* r300/compiler: Schedule KIL instructions before output writesTom Stellard2012-02-261-0/+4
|