Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | radeonsi: add scratch buffer support for tessellation shaders | Marek Olšák | 2015-07-23 | 1 | -8/+28 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: update invariant registers for tessellation | Marek Olšák | 2015-07-23 | 1 | -2/+6 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: add assertions into draw_vbo and check tessellation | Marek Olšák | 2015-07-23 | 1 | -1/+7 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: set the rasterization primitive type for tessellation | Marek Olšák | 2015-07-23 | 1 | -0/+3 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: set VGT_LS_HS_CONFIG for tessellation | Marek Olšák | 2015-07-23 | 3 | -4/+28 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: update IA_MULTI_VGT_PARAM for tessellation | Marek Olšák | 2015-07-23 | 1 | -3/+51 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: add derived tessellation state | Marek Olšák | 2015-07-23 | 4 | -3/+146 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: implement a fixed-function tessellation control shader and its state | Marek Olšák | 2015-07-23 | 4 | -1/+68 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: set up a ring buffer for tessellation factors | Marek Olšák | 2015-07-23 | 4 | -0/+42 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: add tessellation shader states | Marek Olšák | 2015-07-23 | 3 | -13/+203 |
| | | | | | | ls_rsrc# will be emitted as part of the derived tessellation state Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: update si_get_vs_info and si_get_vs_state for tessellation | Marek Olšák | 2015-07-23 | 1 | -2/+8 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: add shader code generation for tessellation | Marek Olšák | 2015-07-23 | 5 | -29/+851 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: implement TGSI_OPCODE_BARRIER | Marek Olšák | 2015-07-23 | 1 | -0/+12 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: program VGT_SHADER_STAGES_EN for tessellation | Marek Olšák | 2015-07-23 | 4 | -23/+45 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: add translation of PATCH primitives | Marek Olšák | 2015-07-23 | 1 | -0/+2 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: add support for tessellation shader resources and samplers | Marek Olšák | 2015-07-23 | 2 | -8/+37 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: add code for creating, binding and destroying tessellation shaders | Marek Olšák | 2015-07-23 | 3 | -0/+74 |
| | | | | | | This doesn't do anything yet. Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: add debug flags for dumping tessellation shaders | Marek Olšák | 2015-07-23 | 2 | -9/+17 |
| | | | | Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: rework how shader pointers to descriptors are set | Marek Olšák | 2015-07-23 | 5 | -91/+156 |
| | | | | | | | | | | | | | | | | | This is mainly needed for tessellation where a VS can be bound as VS, ES, or LS, and TES (tess. evaluationshader) can be bound as VS or ES or neither. Therefore we need the ability to move pointers to descriptors between shaders arbitrarily. The idea is that the context has a mapping from PIPE_SHADER_x to SPI_SHADER_USER_DATA_x. After a shader is enabled or disabled, si_shader_change_notify should be called to update this mapping accordingly. There is a dirty flag for each shader pointer, but only one emit function for all pointers in the whole context, whose code and logic is separated from descriptors. Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: rename build_streamout_store -> build_tbuffer_store_dwords | Marek Olšák | 2015-07-23 | 1 | -12/+12 |
| | | | | | | It will be reused later. Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: separate primitive ID computation | Marek Olšák | 2015-07-23 | 1 | -7/+20 |
| | | | | | | Support for new shader stages will be added here. Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: move declaring streamout parameters to its own function | Marek Olšák | 2015-07-23 | 1 | -13/+23 |
| | | | | | | It will be reused later. Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | radeonsi: make ES2GS offset sgpr location dynamic | Marek Olšák | 2015-07-23 | 2 | -6/+3 |
| | | | | | | It will have a different location in the tessellation evaluation shader. Reviewed-by: Michel Dänzer <[email protected]> | ||||
* | gallium/radeon: expose emit_fetch | Marek Olšák | 2015-07-23 | 2 | -19/+15 |
| | | | | Radeonsi will use this. | ||||
* | gallium/radeon: expose LLVM functions implementing emit_store | Marek Olšák | 2015-07-23 | 2 | -5/+13 |
| | | | | | | | | emit_store will be reimplemented for tessellation control shader outputs where only radeon_llvm_saturate will be used, but radeonsi will want to fall back to radeon_llvm_emit_store for other register types. This exposes both functions. | ||||
* | st/mesa: enable tessellation if the driver supports it | Marek Olšák | 2015-07-23 | 1 | -0/+5 |
| | |||||
* | st/mesa: set default tessellation levels | Marek Olšák | 2015-07-23 | 6 | -1/+67 |
| | |||||
* | st/mesa: add barrier support | Ilia Mirkin | 2015-07-23 | 1 | -1/+4 |
| | |||||
* | st/mesa: disable copy propagation for tessellation shaders | Ilia Mirkin | 2015-07-23 | 1 | -1/+5 |
| | | | | This can't work due to shared inputs and outputs and barriers. | ||||
* | st/mesa: set vertices_per_patch when drawing | Ilia Mirkin | 2015-07-23 | 1 | -0/+2 |
| | |||||
* | st/mesa: add 2d indexing support to outputs | Ilia Mirkin | 2015-07-23 | 1 | -10/+37 |
| | |||||
* | st/mesa: handle tessellation 2D varyings correctly | Marek Olšák | 2015-07-23 | 1 | -8/+20 |
| | |||||
* | st/mesa: lower gl_TessLevel from float[] to vecn | Ilia Mirkin | 2015-07-23 | 1 | -0/+2 |
| | |||||
* | st/mesa: query shader CAPs for tessellation | Ilia Mirkin | 2015-07-23 | 1 | -0/+15 |
| | | | | The MaxTessPatchComponents query added by Marek. | ||||
* | st/mesa: add texture updates for tessellation programs | Ilia Mirkin | 2015-07-23 | 4 | -0/+72 |
| | |||||
* | st/mesa: handle constbufs/ubos for tessellation shaders | Ilia Mirkin | 2015-07-23 | 3 | -1/+95 |
| | |||||
* | st/mesa: add conversion for tessellation shaders | Marek Olšák | 2015-07-23 | 2 | -98/+274 |
| | | | | Based on code from Ilia Mirkin <[email protected]>. | ||||
* | st/mesa: add tessellation shader states | Ilia Mirkin | 2015-07-23 | 9 | -1/+459 |
| | | | | additional fixes by Marek | ||||
* | mesa: implement GL_IS_PER_PATCH | Marek Olšák | 2015-07-23 | 1 | -2/+8 |
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: use separate varying slots for patch varyings | Marek Olšák | 2015-07-23 | 4 | -12/+49 |
| | | | | | | | The idea is to allow 32 normal varyings and 32 patch varyings, a total of 64. Previously, only a total of 32 was allowed. Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: fix locations of 2-dimensional varyings without varying packing (v2) | Marek Olšák | 2015-07-23 | 1 | -9/+28 |
| | | | | | | v2: renamed producer/consumer_type -> producer/consumer_stage Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: don't demote tess control shader outputs | Marek Olšák | 2015-07-23 | 1 | -1/+5 |
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: disable varying packing between tessellation shaders | Marek Olšák | 2015-07-23 | 1 | -8/+21 |
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: allow indexing of gl_out with a non-const if length isn't known | Marek Olšák | 2015-07-23 | 1 | -0/+10 |
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: allow redeclaration of TCS gl_out[] | Chris Forbes | 2015-07-23 | 1 | -4/+16 |
| | | | | | Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: validate restrictions on use of barrier() | Chris Forbes | 2015-07-23 | 1 | -0/+99 |
| | | | | | | | | | | With the exception of always-taken switch cases (which are indistinguishable from straight line code in our IR), this disallows use of the builtin barrier() function in all the places it may not appear. Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: allow barrier() in tessellation control shaders | Marek Olšák | 2015-07-23 | 1 | -2/+2 |
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: analyze TES usage of gl_ClipDistance | Chris Forbes | 2015-07-23 | 3 | -0/+27 |
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: push vertex count determination down one level | Chris Forbes | 2015-07-23 | 3 | -17/+11 |
| | | | | | | | We have the prog here, so we don't need the caller to work this out for us. Reviewed-by: Kenneth Graunke <[email protected]> | ||||
* | glsl: pass shader stage to lower_output_reads and handle tess control | Ilia Mirkin | 2015-07-23 | 4 | -7/+12 |
| | | | | | | | | | | | | | Tessellation control outputs can be read in directly without first having been written. Accessing these will require some special logic anyways, so just let them through. V2: Never lower tess control output reads, whether patch or not -- both can be read back by other threads. Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> |