aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600/radeonsi: silence zero-length-bounds gcc warningsTimothy Arceri2020-07-081-2/+2
| | | | | Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* gallium: add PIPE_SHADER_CAP_GLSL_16BIT_TEMPS for LowerPrecisionTemporariesMarek Olšák2020-07-071-0/+1
| | | | | Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* gallium: Add pipe cap for primitive restart with fixed indexNeil Roberts2020-06-221-0/+1
| | | | | | | | | | | | | | | | | | | | Adds PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX which is a subset of the primitive restart cap for when the hardware can only support the fixed indices specified in GLES. The switch statements were automatically modified with this command: find \( \( -name \*.cpp -o -name \*.c \) \! -type l \) \ -exec sed -i -r \ 's/^(\s*case\s+PIPE_CAP_PRIMITIVE_RESTART)\s*:.*$/\0\n\1_FIXED_INDEX:/' \ {} \; v2: Add a note in screen.rst Reviewed-by: Eric Anholt <[email protected]> (v1) Reviewed by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5559>
* r600/sfn: Don't set num_components on TESS sysvalue intrinsicsGert Wollny2020-06-222-12/+8
| | | | | | | | | | | | These instructions are not vectorized, and validation rules added for this with 167fa2887f09 nir/validate: validate intr->num_components Fixes: 46a3033b43b9b51cae5c60eea39e7e5af325c4db r600/sfn: Emit some LDS instructions Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5575>
* r600/sfn: Add support for shared atomicsGert Wollny2020-06-226-0/+164
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5575>
* r600/sfn: Add lowering pass for shared IOGert Wollny2020-06-221-0/+90
| | | | | | | Lower shared load and store to use the r600 specific intrinsics. Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5575>
* r600/sfn: Handle memory_barrierGert Wollny2020-06-191-0/+1
| | | | | | | | | I'm not sure whether this should actually be a barrier accross all shader processing units, the TGSI code path seems to handle this only by using GROUP_BARRIER, so let's do the same here. Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206>
* r600/sfn: Take SSBO buffer ID offset into accountGert Wollny2020-06-194-8/+35
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206>
* r600/sfn: Add support for reading cube image array dim.Gert Wollny2020-06-193-15/+40
| | | | | | | | The cube array size can't be queried directly, the number of array elements must be passed via a constant buffer. Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206>
* r600/sfn: Add support for image_sizeGert Wollny2020-06-192-0/+24
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206>
* r600/sfn: Add imageio supportGert Wollny2020-06-193-47/+325
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206>
* r600/sfn: lower image derefsGert Wollny2020-06-192-1/+1
| | | | | | | v2: Signal lowering image derefs by using the CAP Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5206>
* nir: add callback to nir_remove_dead_variables()Timothy Arceri2020-06-031-2/+2
| | | | | | | | | | | | This allows us to do API specific checks before removing variable without filling nir_remove_dead_variables() with API specific code. In the following patches we will use this to support the removal of dead uniforms in GLSL. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797>
* gallium: add shader caps INT16 and FP16_DERIVATIVESMarek Olšák2020-06-021-0/+2
| | | | | Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* meson: use gnu_symbol_visibility argumentDylan Baker2020-06-011-2/+2
| | | | | | | | | | This uses a meson builtin to handle -fvisibility=hidden. This is nice because we don't need to track which languages are used, if C++ is suddenly added meson just does the right thing. Acked-by: Matt Turner <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>
* r600/sfn: remove debug output leftoverGert Wollny2020-05-261-2/+0
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187>
* r600/sfn: Correctly update the number of literals when forcing a newGert Wollny2020-05-261-1/+2
| | | | | | | | | | | | group When forcing a new instruction group by adding a ALU_OP_NOP, the literals for the instruction that triggered this must be taken into account for the next group, so update the number of literals accordingly. Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187>
* r600/sfn: use modern c++ in printing LDS read instructionGert Wollny2020-05-261-4/+4
| | | | | | | Closes #3021 Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187>
* r600/sfn: Fix mapping for f32tof64 and f64tof32Gert Wollny2020-05-262-4/+4
| | | | | | | | | We define the mapping based on the vector unit opcode. Closes #3013 Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187>
* r600: Fix duplicated subexpression in r600_asm.cGert Wollny2020-05-261-1/+1
| | | | | | | | | | Fixes: 4422ce1b04c117f61394a6834cd7933f06ce4e1f r600: force new CF with TEX only if any texture value is written Closes #3012 Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5187>
* r600/sfn: Use correct setter method.Vinson Lee2020-05-251-1/+1
| | | | | | | | | | | | | Fix warning reported by Coverity Scan. Useless call (USELESS_CALL) side_effect_free: Calling v->pin_to_channel() is only useful for its return value, which is ignored. Fixes: 5d10e3ec6066 ("r600/nir: Pin interpolation results to channel") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5197>
* r600: replace fnv1a hash function with xxhashDmitriy Nester2020-05-251-2/+4
| | | | | | | | | xxhash is faster than fnv1a in almost all circumstances, so we're switching to it globally. Signed-off-by: Dmytro Nester <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>
* r600: Use TRUNC_COORD on samplersChristopher Egert2020-05-241-0/+3
| | | | | | | | | As per d573d1d82524b8a2e5f56938069cabc0f0176a0e the same should be done here. It seems like TRUNCATE_COORD not available on r600, so this is limited to evergreen. Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5078>
* r600/sfn: Initialize VertexStageExportForGS m_num_clip_dist member variable.Vinson Lee2020-05-231-0/+1
| | | | | | | | | | | | | Fix warning reported by Coverity Scan. Uninitialized scalar field (UNINIT_CTOR) uninit_member: Non-static class member m_num_clip_dist is not initialized in this constructor nor in any functions that it calls. Fixes: f7df2c57a207 ("r600/sfn: extract class to handle the VS export to different stages") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5180>
* r600/sfn: fix nop channel assignment.Dave Airlie2020-05-201-0/+1
| | | | | | | this fixes a bunch of asserting tests on cayman Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5113>
* r600/sfn: Fix printing ALU op without destGert Wollny2020-05-191-1/+2
| | | | | | | | e.g. GROUP_BARRIER doesn't have a dest. Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Don't reorder outputs by locationGert Wollny2020-05-193-17/+0
| | | | | | | | | This was wrong, if anything it should be sorted by device_location, and NIR usually provides this. Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Fix splitting constants that come from different kcache banks.Gert Wollny2020-05-191-3/+4
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Fix clip vertex output as possible stream variableGert Wollny2020-05-192-2/+4
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: SSBO: Fix query of dest componentsGert Wollny2020-05-191-5/+5
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: use the per shader atomic baseGert Wollny2020-05-198-10/+16
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Add support for texture_samplesGert Wollny2020-05-192-0/+21
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: support indirect sampler buffer reads.Gert Wollny2020-05-191-1/+1
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: assert when alu dest is missingGert Wollny2020-05-191-0/+1
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: remove pointless checkGert Wollny2020-05-191-3/+0
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Don't reject VARYING_SLOT_PCNTGert Wollny2020-05-191-0/+2
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Add FS output sample_maskGert Wollny2020-05-191-2/+4
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Handle loading sample_posGert Wollny2020-05-193-0/+36
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Take FOGC, and backcolors into account im GS outputsGert Wollny2020-05-191-0/+3
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Add support for viewport index outputGert Wollny2020-05-192-2/+20
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Make 3vec loads skip possible movesGert Wollny2020-05-191-6/+2
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Fix handling of output register indexGert Wollny2020-05-191-4/+4
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Make allocate_reserved_registers forward to a virtual functionGert Wollny2020-05-1914-13/+21
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Fix RAT instruction assembly emissionGert Wollny2020-05-191-5/+9
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Fix GDS assembly emissionGert Wollny2020-05-191-21/+17
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Fix RING instruction assembly emissionGert Wollny2020-05-191-2/+2
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Fix memring print outputGert Wollny2020-05-191-1/+1
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: skip copying LOD if the target register is is the sameGert Wollny2020-05-191-1/+2
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: re-use an allocated register in lookupGert Wollny2020-05-191-1/+1
| | | | | | | | | For texture coordinates we always allocate all four components so that we can use these for LOD and, compare etc. Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>
* r600/sfn: Skip move instructions if they are only ssa and without modifiersGert Wollny2020-05-192-1/+26
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5085>