summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_pipe.h
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi: fix buffer invalidation of unbound texture buffer objectsMarek Olšák2014-08-141-0/+1
| | | | | | | This maintains a list of all TBOs in a pipe_context. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: remove nr_vertex_buffersMarek Olšák2014-07-181-2/+1
| | | | | | | | Unused. Also inline util_set_vertex_buffers_count and simplify it. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: move vertex buffer descriptors from IB to memoryMarek Olšák2014-07-181-1/+3
| | | | | | | | | | This removes the intermediate storage (pm4 state) and generates descriptors directly in a staging buffer. It also reduces the number of flushes, because the descriptors no longer take CS space. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: add support for fine-grained sampler view updatesMarek Olšák2014-07-181-1/+0
| | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: move sampler descriptors from IB to memoryMarek Olšák2014-07-181-2/+2
| | | | | | | | | | | | | | Sampler descriptors are now represented by si_descriptors. This also adds support for fine-grained sampler state updates and the border color update is now isolated in a separate function. Border colors have been broken if texturing from multiple shader stages is used. This patch doesn't change that. BTW, blitting already makes use of fine-grained state updates. u_blitter uses 2 textures at most, so we only have to save 2. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: assume LLVM 3.4.2 is always presentMarek Olšák2014-07-181-4/+0
| | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: rename definitions of shader limitsMarek Olšák2014-07-111-3/+1
| | | | Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* radeonsi: implement set_min_samplesMarek Olšák2014-06-021-0/+4
| | | | This is how per-sample shading is enabled.
* radeonsi: Enable geometry shaders with LLVM 3.4.1Tom Stellard2014-05-091-0/+4
| | | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
* radeonsi: Don't use anonymous struct trick in atom trackingAdam Jackson2014-05-081-1/+1
| | | | | | | | I'm somewhat impressed that current gccs will let you do this, but sufficiently old ones (including 4.4.7 in RHEL6) won't. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
* radeonsi: merge si_flush with si_context_flushMarek Olšák2014-04-161-2/+2
| | | | | | This also removes si_flush_gfx_ring. Reviewed-by: Christian König <christian.koenig@amd.com>
* gallium/radeon: create and return a fence in the flush functionMarek Olšák2014-04-161-5/+2
| | | | | | All flush functions get a fence parameter. cs_create_fence is removed. Reviewed-by: Christian König <christian.koenig@amd.com>
* radeonsi: Implement DMA blitNiels Ole Salscheider2014-03-201-0/+9
| | | | | | | | | | | | | | This code is a slightly modified version of evergreen_dma_blit (and evergreen_dma_copy as well as evergreen_dma_copy_tile). It would be nice to share some of the code in the long term. I have reused some "cik"-prefixed functions that also return the right value for SI. I am not sure if they should be renamed. v2: Marek> removed gfx.flush in si_dma_copy_tile Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
* r600g, radeonsi: fix primitives-generated query with disabled streamoutMarek Olšák2014-03-111-0/+1
| | | | | | | | | | | | | | | | | Buffers are disabled by VGT_STRMOUT_BUFFER_CONFIG, but the query only works if VGT_STRMOUT_CONFIG.STREAMOUT_0_EN is enabled. This moves VGT_STRMOUT_CONFIG to its own state. The register is set to 1 if either streamout or the primitives-generated query is enabled. However, the primitives-emitted query is also incremented, so it's disabled by setting VGT_STRMOUT_BUFFER_SIZE to 0 when there is no buffer bound. This fixes piglit: ARB_transform_feedback2/counting with pause EXT_transform_feedback/primgen-query transform-feedback-disabled Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: implement fast color clearMarek Olšák2014-03-111-0/+1
| | | | | | This works for both multi-sample and single-sample color buffers. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: convert the framebuffer state to atom-basedMarek Olšák2014-03-111-0/+3
| | | | | | | | | | | This looks like r600g. The shared Cayman MSAA code is used here. The real motivation for this is that I need the ability to change values of color registers after the framebuffer state is set. The PM4 state cannot be modified easily after it's generated. With this, I can just change r600_surface::cb_color_xxx and set framebuffer.atom.dirty=true and it's done. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: move framebuffer-related state to a new struct si_framebufferMarek Olšák2014-03-111-5/+9
| | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* r600g,radeonsi: share r600_surfaceMarek Olšák2014-02-251-4/+0
| | | | | | I'm gonna use this in radeonsi. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* radeonsi: Put GS ring buffer descriptors with streamout buffer descriptorsMichel Dänzer2014-01-291-2/+4
| | | | | | And mark the constant buffers as read only for the GPU again. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* radeonsi: Pass VS resource descriptors to the HW ES shader stage as wellMichel Dänzer2014-01-291-2/+1
| | | | | | | This makes sure constants and samplers work in the vertex shader even when a geometry shader is active. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* radeonsi: Initial geometry shader supportMichel Dänzer2014-01-291-1/+9
| | | | | | | Partly based on the corresponding r600g work by Vadim Girlin and Dave Airlie. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* radeonsi: cleanup includes, add missing licenseMarek Olšák2014-01-281-10/+0
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* radeonsi: move some inline functions from si_pipe.h to si_state.cMarek Olšák2014-01-281-39/+0
| | | | | | | | | And si_tex_aniso_filter is unused. v2: remove INLINE occurences Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* radeonsi: remove si_resource.hMarek Olšák2014-01-281-1/+13
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* radeonsi: remove si.hMarek Olšák2014-01-281-1/+5
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* radeonsi: inline si_translate_index_bufferMarek Olšák2014-01-281-5/+0
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* radeonsi: inline si_upload_index_bufferMarek Olšák2014-01-281-5/+0
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* r600g,radeonsi: consolidate get_compute_paramMarek Olšák2014-01-281-1/+0
| | | | | | | v2: added fprintf to r600_get_llvm_processor_name Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* r600g,radeonsi: consolidate variables for CS tracingMarek Olšák2014-01-281-5/+0
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* r600g,radeonsi: consolidate the contents of r600_resource.cMarek Olšák2014-01-281-3/+0
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* radeonsi: use queries from r600gMarek Olšák2014-01-281-19/+0
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* radeonsi: Rename the commonly occurring rctx/r600 variables.Andreas Hartmetz2014-01-141-10/+10
| | | | | | The "r" stands for R600. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* radeonsi: Rename R600->SI in some remaining defines.Andreas Hartmetz2014-01-141-6/+6
| | | | | | I had previously considered that unsafe. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* radeonsi: Rename r600->si for functions in si_pipe.h.Andreas Hartmetz2014-01-141-19/+19
| | | | Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* radeonsi: Rename r600->si for structs in si_pipe.h.Andreas Hartmetz2014-01-141-16/+16
| | | | Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* radeonsi: Apply si_* file naming scheme.Andreas Hartmetz2014-01-141-0/+263
Reviewed-by: Marek Olšák <marek.olsak@amd.com>