summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi: calculate NUM_BANKS for DB correctly on CIKMarek Olšák2014-01-061-4/+19
| | | | | | NUM_BANKS is not constant on CIK. Reviewed-by: Alex Deucher <[email protected]>
* radeonsi: set correct pipe config for Hawaii in DBMarek Olšák2014-01-061-15/+18
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeon/compute: Stop leaking LLVMContexts in radeon_llvm_parse_bitcodeAaron Watry2013-12-231-3/+10
| | | | | | | | | | | | | | | | | | | Previously we were creating a new LLVMContext every time that we called radeon_llvm_parse_bitcode, which caused us to leak the context every time that we compiled a CL program. Sadly, we can't dispose of the LLVMContext at the point that it was being created because evergreen_launch_grid (and possibly the SI equivalent) was assuming that the context used to compile the kernels was still available. Now, we'll create a new LLVMContext when creating EG/SI compute state, store it there, and pass it to all of the places that need it. The LLVM Context gets destroyed when we delete the EG/SI compute state. Reviewed-by: Tom Stellard <[email protected]> CC: "10.0" <[email protected]>
* radeonsi: Use htile_buffer for depth only when there is no stencil.Andreas Hartmetz2013-12-221-0/+8
| | | | Signed-off-by: Marek Olšák <[email protected]>
* radeonsi: Only scan pixel shaders for TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFSMichel Dänzer2013-12-201-4/+7
| | | | | | It's not relevant for other shader types. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: set CB_DISABLE if the color mask is 0Marek Olšák2013-12-181-3/+8
| | | | | | Also needed for the DB in-place decompression according to hw docs. Reviewed-by: Alex Deucher <[email protected]>
* radeonsi: add the htile buffer to the CS ioctl buffer listMarek Olšák2013-12-181-0/+2
| | | | | | This may fix the GPU crashes. Reviewed-by: Alex Deucher <[email protected]>
* radeonsi: improve HiZ precision for less and lequal depth functionsMarek Olšák2013-12-171-1/+7
| | | | | | r600g needs this too. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: make DB_RENDER_OVERRIDE an invariant registerMarek Olšák2013-12-173-50/+3
| | | | | | | All this cruft was ported from r600g and isn't needed on SI and later according to hw docs. If we implemented HiS, we would set it to 0. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: flush HTILE when appropriateMarek Olšák2013-12-173-2/+8
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: move invariant regs to si_init_configMarek Olšák2013-12-142-31/+26
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: use shader-based MSAA resolving when hw-based one cannot be usedMarek Olšák2013-12-141-83/+35
| | | | | | | | | | | | This fixes MSAA resolving for 32-bit integer colorbuffers, which isn't implemented by the hardware. It also fixes VM protection faults when resolving MSAA 2D array textures. This may be a CB bug, because shader-based resolving works fine. It may also be faster for upside-down and scaled blits. Reviewed-by: Michel Dänzer <[email protected]>
* gallium/u_blitter: remove useless parameters from some functionsMarek Olšák2013-12-141-3/+2
| | | | Reviewed-by: Brian Paul <[email protected]>
* r600g,radeonsi: fix initialized buffer range tracking for DMA, add commentsMarek Olšák2013-12-121-9/+12
| | | | | | | The DMA functions modify dst_offset and size and util_range_add gets wrong values. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: fix binding the dummy pixel shaderMarek Olšák2013-12-123-24/+11
| | | | | | This fixes valgrind errors in glxinfo. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: fix FS_COLOR0_WRITES_ALL_CBUFS with mixed colorbuffer formatsMarek Olšák2013-12-121-25/+15
| | | | | | The 16bpc packing must be done separately for each render target. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: use the colorbuffer count from the shader keyMarek Olšák2013-12-123-16/+7
| | | | | | | As a result, the initialization of write_all must be done before the compilation. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: remove unused variable in si_pipe_shader_psMarek Olšák2013-12-121-8/+1
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: Write htile state to hardware.Andreas Hartmetz2013-12-123-13/+65
|
* r600g,radeonsi: consolidate buffer code, add handling of DISCARD_RANGE for SIMarek Olšák2013-12-125-121/+6
| | | | | | | | This adds 2 optimizations for radeonsi: - handling of DISCARD_RANGE - mapping an uninitialized buffer range is automatically UNSYNCHRONIZED Reviewed-by: Michel Dänzer <[email protected]>
* r600g,radeonsi: add common interface for buffer invalidationMarek Olšák2013-12-123-3/+3
| | | | | | This will be used by common code in the next commit. Reviewed-by: Michel Dänzer <[email protected]>
* r600g,radeonsi: share flags has_cp_dma and has_streamoutMarek Olšák2013-12-121-4/+6
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: handle PIPE_TRANSFER_DISCARD_WHOLE_RESOURCEMarek Olšák2013-12-123-0/+135
| | | | | | which can come from glBufferData and glMapBufferRange. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: implement accelerated buffer copyingMarek Olšák2013-12-123-4/+64
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: Remove some stale XXX / FIXME commentsMichel Dänzer2013-12-052-5/+1
| | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* gallium/util: implement layered framebuffer clear in u_blitterMarek Olšák2013-12-031-0/+1
| | | | | | | | | | | | | All bound layers (from first_layer to last_layer) should be cleared. This uses a vertex shader which outputs gl_Layer = gl_InstanceID, so each instance goes to a different layer. By rendering a quad and setting the instance count to the number of layers, it will trivially clear all layers. This requires AMD_vertex_shader_layer (or PIPE_CAP_TGSI_VS_LAYER), which only radeonsi supports at the moment. r600 could do this too. Standard DX11 hardware will have to use a geometry shader though, which has higher overhead.
* gallium: add support for AMD_vertex_shader_layerMarek Olšák2013-12-031-0/+1
|
* radeonsi: add driver support for layered rendering and AMD_vertex_shader_layerMarek Olšák2013-12-034-12/+27
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: implement OpenGL edge flagsMarek Olšák2013-12-033-6/+48
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* gallium: new shader cap bit for the amount of sampler viewsRoland Scheidegger2013-11-281-0/+1
| | | | | | | | | Ever since introducing separate sampler and sampler view max this was really missing. Every driver but llvmpipe reports the same number as number of samplers for now, so nothing should break. Reviewed-by: Jose Fonseca <[email protected]>
* radeonsi: implement MSAA for CIKMarek Olšák2013-11-232-8/+21
| | | | | | There are also some changes to the printfs. Reviewed-and-Tested-by: Michel Dänzer <[email protected]>
* radeonsi/compute: Fix LDS size calculationTom Stellard2013-11-211-1/+16
| | | | | | We need to include the number of LDS bytes allocated by the state tracker. CC: "10.0" <[email protected]>
* gallium/drivers: compact compiler flags into Automake.incEmil Velikov2013-11-161-10/+6
| | | | | | | | | | * minimise flags duplication * distingush between VISIBILITY C and CXX flags * set only required flags - C and/or CXX v2: add LLVM_CFLAGS back to AM_CFLAGS (add missing backslash) Signed-off-by: Emil Velikov <[email protected]>
* radeonsi/compute: Dispose of LLVM module after compiling kernelsAaron Watry2013-11-151-0/+1
| | | | | | | | v2: Fix indentation Reviewed-by: Tom Stellard <[email protected]> CC: "10.0" <[email protected]>
* radeonsi/compute: Free program and program.kernels on shutdownAaron Watry2013-11-151-1/+15
| | | | | | | | v2: Fix indentation Reviewed-by: Tom Stellard <[email protected]> CC: "10.0" <[email protected]>
* radeonsi: add support for Hawaii asics (v2)Alex Deucher2013-11-153-0/+15
| | | | | | | Update additional register fields. Reviewed-by: Michel Dänzer <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* radeonsi/compute: Add Sea Islands supportTom Stellard2013-11-111-3/+12
|
* radeonsi: implement ARB_vertex_type_2_10_10_10_revMarek Olšák2013-11-041-0/+7
|
* r600g,radeonsi: properly expose texture buffer formatsMarek Olšák2013-11-041-3/+8
| | | | This exposes GL_ARB_texture_buffer_object_rgb32.
* radeonsi: implement texture buffer objectsMarek Olšák2013-11-043-54/+137
| | | | GLSL 1.40 is done.
* radeonsi: report our border color behaviorMarek Olšák2013-11-041-1/+3
|
* radeonsi: bind a dummy constant buffer in place of NULL buffersMarek Olšák2013-11-043-0/+29
|
* radeonsi: implement uniform buffer objectsMarek Olšák2013-11-044-31/+41
|
* radeonsi: try to fix IA_MULTI_VGT_PARAM programmingMarek Olšák2013-11-043-2/+8
| | | | This doesn't make any difference on Bonaire, but it might help on Hawaii.
* radeonsi: Allow longer intrinsic namesKai Wasserbäch2013-10-301-1/+1
| | | | | | | | | | | Fixes a boat load of Piglit tests for me, which crashed like fdo#70913 before. Thanks to Michel Dänzer for the tip. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70913 Signed-off-by: Kai Wasserbäch <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* gallium: add PIPE_CAP_MIXED_FRAMEBUFFER_SIZESIlia Mirkin2013-10-261-0/+1
| | | | | | | | | This CAP will determine whether ARB_framebuffer_object can be enabled. The nv30 driver does not allow mixing swizzled and linear zsbuf/cbuf textures. Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* r600g,radeonsi: use fences provided by the winsysMarek Olšák2013-10-254-231/+4
|
* radeonsi: add the vertex shader position output if it's missingMarek Olšák2013-10-251-0/+13
| | | | | | This fixes a lockup in piglit/spec/glsl-1.40/execution/tf-no-position. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: respect semantic indices for COLOR[i] fragment shader outputsMarek Olšák2013-10-251-5/+2
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: remove unused si_set_cs_sampler_view()Brian Paul2013-10-231-4/+0
| | | | | | | Fixes build breakage. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70804 Tested-by: Vinson Lee <[email protected]>