summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-02-10r600/sfn: Add compute shader skeletonGert Wollny7-0/+223
This adds some very basic compute shader support. v2: fix compilation with gcc-6 v3: rebase: correct barrier intrinstic Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: Add VS for TCS shader skeletonGert Wollny2-0/+27
This adds the VS shader type that handles the output to tesselation shaders Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: Add support for geometry shaderGert Wollny7-1/+459
v2: fix compilation with gcc-6 Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: add emitVertex instructionsGert Wollny3-0/+45
More preparation for GS support Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: Add MemRingOut instructionsGert Wollny3-1/+143
Preparing support for Geometry shaders. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: Add a load GDS result instructionGert Wollny2-0/+32
This is required to read results for atomic SSBO instructions Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: Add lowering arrays to scratch and according instructionsGert Wollny10-4/+281
Make use of the scratch space for arrays that are larger then 100 elements. Since for IO r600 is vector based, there is a bit of a scratch space waste here for arrays that use types smaller then vec4. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: add register remappingGert Wollny12-0/+171
Make use of the live range evaluation to merge registers. Since the live ranges are evaluated for register indices, the algorithm is not optimal, but for most piglits up to glsl-3.3 it does the job. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: add live range evaluation for the GPRGert Wollny13-1/+1571
The algoritm is basically a copy of the TGSI implementation without the array bits. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: Add the WaitAck instructionGert Wollny6-0/+115
Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: Add the VS in and FS out vectorizationGert Wollny9-0/+993
Since the nir default implementation doesn't support vectorizing the VS inputs and FS outputs, additional lowering passes are added here to do just that. The work is based on the Timothy Arceri's related work. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600: enable NIR backend DEBUG flag for supported architecturesGert Wollny3-27/+115
When NIR is enabled, a few features that are not yet supported will be explicitely disabled. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600/sfn: Add a basic nir shader backendGert Wollny47-6/+12955
This commit adds support for vertex and fragment shaders from NIR, and support for most TEX and ALU instructions. Thanks Dave Airlied for adding support for a number of ALU instructions. v2: fix compilation with gcc-6 v3: rebase: use mesa/core glsl_type_size function Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600: Update state code to accept NIR shadersGert Wollny4-24/+67
v2: Correct commit message (Konstantin Kharlamov) Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600: Add NIR compiler optionsGert Wollny1-0/+29
Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600: Increase space for IO values to agree with PIPE_MAX_SHADER_IN/OUTPUTSGert Wollny1-2/+2
Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10r600: force new CF with TEX only if any texture value is writtenGert Wollny1-1/+3
This works aound splitting the CF when the gradient is set. Signed-off-by: Gert Wollny <gw.fossdev@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
2020-02-10svga: Use pipe_shader_state_from_tgsi to set shader stateNeha Bhende1-1/+1
Use pipe_shader_state_from_tgsi() to set shader state for transformed shader so that we get all correct data for respective shader state. This fixes several regressed glretrace, piglit crashes found during merging upsteam mesa Fixes: bf12bc2dd7a2 (draw: add nir info gathering and building support) Reviewed-by: Charmaine Lee <charmainel@vmware.com>
2020-02-10svga: fix size of format_conversion_table[]Neha Bhende1-0/+2
Since we are now using sparse matrix for format_conversion_table, we have to make sure we have last entry in table which gives the sense of required size of format_conversion_table Fixes: 84db6ba7 ("svga: Drop unsupported formats from the format table") Reviewed-by: Charmaine Lee <charmainel@vmware.com>
2020-02-10gallium/swr: simplify environmental variabled expansion codeKrzysztof Raszkowski1-29/+0
There were 2 versions of code doing the same thing. Since std::regexp are locale-sensitive better is to leave old good way to do this. Reviewed-by: Jan Zielinski <jan.zielinski@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3761> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3761>
2020-02-10aco: fix waiting for scalar stores before "writing back" data on GFX8-GFX9Samuel Pitoiset1-6/+9
Seems required also on GFX8-GFX9 to achieve correct behaviour. This is an undocumented behaviour but it makes real sense to me. pipeline-db on GFX9: Totals from affected shaders: SGPRS: 1018 -> 1018 (0.00 %) VGPRS: 516 -> 516 (0.00 %) Code Size: 40516 -> 40636 (0.30 %) bytes Max Waves: 280 -> 280 (0.00 %) This fixes some sort of sun flickering with Assassins Creed Origins. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2488 Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3750> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3750>
2020-02-10Vulkan overlay: use the corresponding image index for each swapchainGeorg Lehmann1-3/+8
pImageIndices should be a pointer to the current image index otherwise every swapchain but the first one could have a wrong image index Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3741> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3741>
2020-02-10zink: only inspect dual-src limit if feature enabledErik Faye-Lund1-0/+2
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3689> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3689>
2020-02-10zink: emit blend-target indexErik Faye-Lund3-0/+11
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3689>
2020-02-10zink: replace unset buffer with a dummy-bufferErik Faye-Lund3-5/+18
This fixes a crash in spec@!opengl 1.1@ppgtt_memory_alignment Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3673> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3673>
2020-02-07radeonsi: don't report that multi-plane formats are supportedMarek Olšák1-7/+0
Fixes: a554b45d - st/mesa: don't lower YUV when driver supports it natively Closes: #2376 Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3632> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3632>
2020-02-07zink: fixup sampler-usageErik Faye-Lund2-15/+19
It seems I got this stuff all wrong, and looked at driver_location rather than the binding. But since we mess with the binding, we need to adjust things a bit to get things right. This still isn't great as-is, but it seems to work. In the future, we should move to having samplers always at bindings 0 and up, and just update the bindings that are used by either of the stages. But this band-aid should be OK for now. This fixes 0AD for me. Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3668> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3668>
2020-02-07zink: lower away fdphErik Faye-Lund2-0/+4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3668>
2020-02-07etnaviv: enable texture upload memory throttlingChristian Gmeiner1-0/+16
Fixes oom-killer during piglit's streaming-texture-upload on a SolidRun CuBox-i with 2GB of RAM. Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3745> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3745>
2020-02-07freedreno/ir3: Fold const only when the type is floatHyunjun Ko1-0/+11
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
2020-02-07freedreno/ir3: put the conversion back for half const to the right place.Hyunjun Ko1-6/+6
The previous commit leads to match immed values unexpectedly. This makes constlen for each shader including bvert wrong. Also fixes atan2 for mediump deqp tests. Fixes: cbd1f47433b ("freedreno/ir3: convert back to 32-bit values for half constant registers.") v2: Move conversion up above fabs/fneg modifier handling as well. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
2020-02-07freedreno/ir3: Add cat4 mediump opcodesHyunjun Ko2-0/+18
v2: Reworked to assign half-opcodes in ir3_ra.c (krh). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
2020-02-07freedreno/ir3: fold const conversion into consumerRob Clark2-1/+20
A sequence like: (nop3)cov.f32f16 hr0.x, c0.x mul.f hr4.y, hr1.z, hr0.x can be turned into: mul.f hr4.y, hr1.z, hc0.x Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
2020-02-07freedreno/ir3: fix printing half constant registers.Hyunjun Ko1-3/+4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
2020-02-07freedreno/ir3: Set IR3_REG_HALF flag on src as well in immediate MOVKristian H. Kristensen1-1/+1
This lets is_same_type_reg() recognize that the dst and src of the immediate MOV are the same and unblocks fp16 constant propagation. Signed-off-by: Kristian H. Kristensen <hoegsberg@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
2020-02-07freedreno: android: fix build of perfcounters.Martin Fuzzey2-4/+5
Some dependencies were missing on android causing a build failure. Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3736> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3736>
2020-02-07freedreno: android: add a6xx-pack.xml.h generation to android buildMartin Fuzzey1-1/+6
The generation of a6xx-pack.xml.h was missing in the android build scripts leading to a build failure. Signed-off-by: Martin Fuzzey <martin.fuzzey@flowbird.group> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3736>
2020-02-07freedreno: android: fix build failure on android due to python versionMartin Fuzzey1-7/+7
The freedreno gen_header.py script now only works under python3. It contains a "print()" call which prints a blank line under python3 but prints "()" under python2.7. However the Android build currently uses python2. This leads to incorrect code generation and a later build error. .../STATIC_LIBRARIES/libfreedreno_registers_intermediates/registers/adreno_common.xml.h:163:2: error: expected identifier or '(' () Fix this by adding MESA_PYTHON3 and using it for the freedreno scripts. Signed-off-by: Martin Fuzzey <martin.fuzzey@flowbird.group> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3736>
2020-02-07gallium/swr: Fix llvm11 compilation issuesKrzysztof Raszkowski5-12/+34
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3747> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3747>
2020-02-07Vulkan Overlay: Don't try to change the image layout to present twiceGeorg Lehmann1-22/+27
The render pass already does the transition. The pipeline barrier is still needed to transfer the queue family ownership. Fixes: 320b0f66c274 ("vulkan/overlay: bounce image back to present layout") Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740>
2020-02-07aco: do not use ds_{read,write}2 on GFX6Samuel Pitoiset1-4/+6
According to LLVM, these instructions have a bounds checking bug. LLVM only uses them on GFX7+. This fixes broken geometry in Assassins Creed Origins. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2489 Fixes: 4a553212fa1 ("radv: enable ACO support for GFX6") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3746> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3746>
2020-02-07intel/vec4: fix valgrind errors with vf_values arrayTapani Pälli1-1/+2
Fixes valgrind errors introduced since commit a8ec4082. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2346 Fixes: a8ec4082 ("nir+vtn: vec8+vec16 support") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3691> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3691>
2020-02-07lima/parser: Change value name in RSW parserAndreas Baierl1-1/+1
Second value of SHADER_ADDRESS is the length of the first instruction in the shader, so give it a better name. Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3619> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3619>
2020-02-07lima/parser: Extend AUX0 findingsAndreas Baierl1-2/+34
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3619>
2020-02-07lima/parser: Fix RSW depth test parsingAndreas Baierl1-4/+6
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3619>
2020-02-07i965: remove duplicated commentLeandro Ribeiro1-2/+1
Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2416> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2416>
2020-02-07llvmpipe: advertise 4 vertex streamsDave Airlie1-2/+4
Reviewed-by: Roland Scheidegger <sroland@vmware.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
2020-02-07draw: don't emit vertex to streams with no outputsDave Airlie1-0/+5
Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
2020-02-07draw: emit multiple streams to streamout.Dave Airlie1-1/+1
Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
2020-02-07draw/gs: track emitted prims + verts per stream.Dave Airlie2-17/+14
This adds tracking of the emitted prims/verts per-stream. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>