mesa.git
4 years agoglsl: add update_array_sizes() helper to the NIR uniform linker
Timothy Arceri [Tue, 5 May 2020 04:18:23 +0000 (14:18 +1000)]
glsl: add update_array_sizes() helper to the NIR uniform linker

This will be used to reduce the size of uniform arrays and replace
the current glsl ir pass. Doing this in NIR allows us to better
optimise the size of uniform arrays.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910>

4 years agoglsl: add struct to gather more info about uniform array access
Timothy Arceri [Tue, 5 May 2020 04:13:51 +0000 (14:13 +1000)]
glsl: add struct to gather more info about uniform array access

This will be used in the following patches to allow the linker
to resize uniform arrays based on array dereferences.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910>

4 years agoutil: add BITSET_LAST_BIT() helper
Timothy Arceri [Wed, 29 Apr 2020 04:15:12 +0000 (14:15 +1000)]
util: add BITSET_LAST_BIT() helper

This is the reverse of BITSET_FFS()

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910>

4 years agoi965: call brw_nir_lower_uniforms() after uniform linking is complete
Timothy Arceri [Wed, 6 May 2020 04:01:41 +0000 (14:01 +1000)]
i965: call brw_nir_lower_uniforms() after uniform linking is complete

i965 currently uses the NIR uniform linker for spirv support. Until
now the only reason there has been no issue with calling the
lowering pass before the linker is because no garbage collection
is done between the calls.

An upcoming change to the linker will add an optimisation to resize
unform arrays where possible. Because lowering causes the array
defs to no longer be used the new optimisation ends up resizing the
arrays to 0. To fix this we move the lowering call after the
linking calls.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910>

4 years agogbm: document that gbm_bo_map exposes a linear view
Simon Ser [Thu, 28 May 2020 10:27:07 +0000 (12:27 +0200)]
gbm: document that gbm_bo_map exposes a linear view

Drivers (Gallium, i965) expose a linear view of the buffer via
gbm_bo_map.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5238>

4 years agoglsl: Don't replace lrp pattern with lrp if arguments are not floats
Danylo Piliaiev [Fri, 29 May 2020 13:20:45 +0000 (16:20 +0300)]
glsl: Don't replace lrp pattern with lrp if arguments are not floats

We don't have "lrp(int, int, int)" and validation of ir_triop_lrp
fails down the road.

Fixes: 8d37e991
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3059
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Tested-by: Witold Baryluk <witold.baryluk@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5257>

4 years agospirv: Use scoped barriers for SpvOpControlBarrier
Boris Brezillon [Tue, 5 May 2020 08:31:02 +0000 (10:31 +0200)]
spirv: Use scoped barriers for SpvOpControlBarrier

If use_scoped_barrier is set to true, we don't have to split the control
and memory barriers.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4900>

4 years agointel/compiler: Extract control barriers from scoped barriers
Boris Brezillon [Tue, 5 May 2020 08:18:29 +0000 (10:18 +0200)]
intel/compiler: Extract control barriers from scoped barriers

Add a lowering pass extracting all control barriers embedded in scoped
barriers into proper control barriers so we can get rid of the logic
inserting control barriers when an SpvOpControlBarrier with WorkGroup
scope is parsed in spirv_to_nir().

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4900>

4 years agonir: Replace the scoped_memory barrier by a scoped_barrier
Boris Brezillon [Tue, 5 May 2020 07:13:20 +0000 (09:13 +0200)]
nir: Replace the scoped_memory barrier by a scoped_barrier

SPIRV OpControlBarrier can have both a memory and a control barrier
which some hardware can handle with a single instruction. Let's
turn the scoped_memory_barrier into a scoped barrier which can embed
both barrier types. Note that control-only or memory-only barriers can
be supported through this new intrinsic by passing NIR_SCOPE_NONE to the
unused barrier type.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Suggested-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4900>

4 years agospirv: Split the vtn_emit_scoped_memory_barrier() logic
Boris Brezillon [Thu, 23 Apr 2020 12:16:43 +0000 (14:16 +0200)]
spirv: Split the vtn_emit_scoped_memory_barrier() logic

We are about to add support for scoped control+memory barriers. Let's
move the convert from SPIRV to NIR enums logic in helpers so we can
easily re-use them.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4900>

4 years agoradv: enable zero VRAM for all VKD3D (DX12->VK) games
Samuel Pitoiset [Fri, 29 May 2020 18:26:00 +0000 (20:26 +0200)]
radv: enable zero VRAM for all VKD3D (DX12->VK) games

To fix rendering issues with Metro Exodus, RE2 and 3 and probably
more titles. It seems the default behaviour of DX12 anyways.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3064
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5262>

4 years agoradv: enable zero VRAM for Doom Eternal
Samuel Pitoiset [Fri, 29 May 2020 18:02:49 +0000 (20:02 +0200)]
radv: enable zero VRAM for Doom Eternal

That fixes some rendering issues. Probably some unitialized data
from the game.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3064
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5262>

4 years agogitlab-ci: bump piglit checkout commit
Timothy Arceri [Wed, 3 Jun 2020 00:23:32 +0000 (10:23 +1000)]
gitlab-ci: bump piglit checkout commit

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797>

4 years agoglsl/spirv: remove dead uniforms in spirv nir linker
Timothy Arceri [Mon, 4 May 2020 04:33:56 +0000 (14:33 +1000)]
glsl/spirv: remove dead uniforms in spirv nir linker

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797>

4 years agoglsl: remove dead uniforms in the nir linker
Timothy Arceri [Wed, 29 Apr 2020 02:20:47 +0000 (12:20 +1000)]
glsl: remove dead uniforms in the nir linker

This is now possible as we do uniform linking via a nir based linker.

Shader-db results for IRIS (SKL):

total instructions in shared programs: 14947192 -> 14946397 (<.01%)
instructions in affected programs: 39498 -> 38703 (-2.01%)
helped: 230
HURT: 18

total cycles in shared programs: 324868402 -> 324847058 (<.01%)
cycles in affected programs: 706701 -> 685357 (-3.02%)
helped: 599
HURT: 449

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797>

4 years agoglsl: add can_remove_uniform() helper to the NIR linker
Timothy Arceri [Thu, 28 May 2020 01:08:42 +0000 (11:08 +1000)]
glsl: add can_remove_uniform() helper to the NIR linker

This helper reflects the rules we follow in the GLSL IR linker when
deciding if we can remove a dead uniform. This check is required to
avoid regressions when turning on NIR dead uniform clean up in the
following patch.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797>

4 years agonir: add callback to nir_remove_dead_variables()
Timothy Arceri [Thu, 28 May 2020 00:59:28 +0000 (10:59 +1000)]
nir: add callback to nir_remove_dead_variables()

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 <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797>

4 years agonir: add glsl_get_ifc_packing() helper
Timothy Arceri [Thu, 30 Apr 2020 03:36:02 +0000 (13:36 +1000)]
nir: add glsl_get_ifc_packing() helper

This will be used in the following patch.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797>

4 years agopan/mdg: Don't double-replicate blend on T720
Alyssa Rosenzweig [Tue, 2 Jun 2020 22:12:14 +0000 (18:12 -0400)]
pan/mdg: Don't double-replicate blend on T720

We already do this unconditionally in NIR.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5305>

4 years agoradv: Use common gfx10_format_table.h
Bas Nieuwenhuizen [Mon, 1 Jun 2020 23:44:52 +0000 (01:44 +0200)]
radv: Use common gfx10_format_table.h

Save some python code and build time, as well as some code duplication.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291>

4 years agoradv: Include gfx10_format_table.h only from a single source file.
Bas Nieuwenhuizen [Mon, 1 Jun 2020 22:45:14 +0000 (00:45 +0200)]
radv: Include gfx10_format_table.h only from a single source file.

The radeonsi variant has everything in the header, so lets not
include it everywhere.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291>

4 years agoradeonsi: Define gfx10_format in the common header.
Bas Nieuwenhuizen [Mon, 1 Jun 2020 22:55:22 +0000 (00:55 +0200)]
radeonsi: Define gfx10_format in the common header.

So we don't have to have multiple definitions of the struct when
sharing with radv.

While at it put the table properly in a C file so we don't have to
deal with multiple definitions, and the struct definition isn't
in generated source.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291>

4 years agoamd/common,radeonsi: Move gfx10_format_table to common.
Bas Nieuwenhuizen [Mon, 1 Jun 2020 21:49:22 +0000 (23:49 +0200)]
amd/common,radeonsi: Move gfx10_format_table to common.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291>

4 years agoradeonsi: Explicitly map Z16_UNORM_S8_UINT to None for GFX10.
Bas Nieuwenhuizen [Mon, 1 Jun 2020 22:34:28 +0000 (00:34 +0200)]
radeonsi: Explicitly map Z16_UNORM_S8_UINT to None for GFX10.

We should always use separate planes for textures with this format.

Fixes: 273ead81f1a "util/format: Add VK_FORMAT_D16_UNORM_S8_UINT."
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5291>

4 years agoRevert "CI: Disable Panfrost T720/T760"
Daniel Stone [Tue, 2 Jun 2020 18:59:00 +0000 (19:59 +0100)]
Revert "CI: Disable Panfrost T720/T760"

Switches have been rewired, VLANs have been reconfigured, network
elements with non-functional remote management have been removed from
racks and thrown on desks in anger.

This reverts commit ae6e1aee7d1bd49ae494b8a25ca33d092a3a145a.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5301>

4 years agoci: bare-metal: make it possible to use a script for serial
Christian Gmeiner [Sat, 9 May 2020 19:49:52 +0000 (21:49 +0200)]
ci: bare-metal: make it possible to use a script for serial

Makes it possible to use e.g. a ser2net script to talk to the devices.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5268>

4 years agozink: Use store_dest_raw instead of storing an uint
Erik Faye-Lund [Thu, 28 May 2020 12:41:17 +0000 (14:41 +0200)]
zink: Use store_dest_raw instead of storing an uint

I cleaned up the other similar call-sites, but somehow missed this one.
There's nothing different with this, so let's also fix this.

Fixes: 16339646f03 ("zink/spirv: rename functions a bit")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5250>

4 years agoradv: Explicitly cast TIMESTAMP_NOT_READY value to uin32_t where needed.
Oschowa [Wed, 27 May 2020 10:09:20 +0000 (12:09 +0200)]
radv: Explicitly cast TIMESTAMP_NOT_READY value to uin32_t where needed.

Fixes a clang warning.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228>

4 years agoaco: Use correct reference type in for-range-loop.
Oschowa [Wed, 27 May 2020 10:00:19 +0000 (12:00 +0200)]
aco: Use correct reference type in for-range-loop.

Fixes a clang warning.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228>

4 years agoaco: Don't std::move temporary object.
Oschowa [Fri, 22 May 2020 10:52:05 +0000 (12:52 +0200)]
aco: Don't std::move temporary object.

Fixes the following clang warning:

mesa/src/amd/compiler/aco_optimizer.cpp:2928:15: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
   ctx.uses = std::move(dead_code_analysis(program));

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228>

4 years agoaco: Don't declare 'Block' as class, but define as struct.
Oschowa [Fri, 22 May 2020 10:40:29 +0000 (12:40 +0200)]
aco: Don't declare 'Block' as class, but define as struct.

Fixes clang warnings.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228>

4 years agoradv: Don't take absolute value of unsigned type.
Oschowa [Fri, 22 May 2020 10:37:27 +0000 (12:37 +0200)]
radv: Don't take absolute value of unsigned type.

Fixes clang warnings.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5228>

4 years agoradv/aco: Always enable subgroup shuffle.
Timur Kristóf [Tue, 26 May 2020 23:31:35 +0000 (01:31 +0200)]
radv/aco: Always enable subgroup shuffle.

It is now supported by both backends on all hw.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5223>

4 years agoaco: Implement subgroup shuffle on GFX6-7.
Timur Kristóf [Tue, 26 May 2020 23:28:03 +0000 (01:28 +0200)]
aco: Implement subgroup shuffle on GFX6-7.

GFX6 and GFX7 don't have the ds_bpermute (or permute) instruction,
but we would like to support subgroup shuffle on these old GPUs.

So we introduce a new pseudio instruction which will be lowered
to an "unrolled loop" that emulates bpermute on GFX6 and GFX7
using readlane instructions, while also respecting the exec mask
thanks to v_cmpx.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5223>

4 years agoaco/gfx10: Refactor of GFX10 wave64 bpermute.
Timur Kristóf [Tue, 26 May 2020 23:22:28 +0000 (01:22 +0200)]
aco/gfx10: Refactor of GFX10 wave64 bpermute.

The emulated GFX10 wave64 bpermute no longer needs a linear_vgpr,
so we don't consider it a reduction anymore. Additionally, the
code is slightly reorganized in preparation for the GFX6 emulated
bpermute.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5223>

4 years agoradeonsi: add a hack to disable TRUNC_COORD for shadow samplers
Marek Olšák [Tue, 26 May 2020 09:39:08 +0000 (05:39 -0400)]
radeonsi: add a hack to disable TRUNC_COORD for shadow samplers

This fixes dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.sampler2dshadow_vertex.

This is probably a dEQP bug.

Fixes: d573d1d82524b8a2e5f56938069cabc0f0176a0e
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209>

4 years agoradeonsi: pass at most 3 images and/or shader buffers via user SGPRs for compute
Marek Olšák [Thu, 21 May 2020 09:13:25 +0000 (05:13 -0400)]
radeonsi: pass at most 3 images and/or shader buffers via user SGPRs for compute

This should slightly decrease shader lifetime.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209>

4 years agoradeonsi: remove const_buffers_declared hacks
Marek Olšák [Thu, 21 May 2020 08:18:19 +0000 (04:18 -0400)]
radeonsi: remove const_buffers_declared hacks

This was a bug that was uncovered by 4553fc66a5f23607c2e872d8ac8755c747bd0bd2.

Piglit: spec@arb_uniform_buffer_object@maxblocks

Fixes: 4553fc66a5f23607c2e872d8ac8755c747bd0bd2
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209>

4 years agoradeonsi: remove unused leftover code for INDIRECT_BUFFER inside IBs
Marek Olšák [Sun, 24 May 2020 12:34:30 +0000 (08:34 -0400)]
radeonsi: remove unused leftover code for INDIRECT_BUFFER inside IBs

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209>

4 years agonir: gather which images are MSAA
Marek Olšák [Sun, 24 May 2020 19:52:26 +0000 (15:52 -0400)]
nir: gather which images are MSAA

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209>

4 years agonir: gather which images are buffers
Marek Olšák [Thu, 21 May 2020 09:13:01 +0000 (05:13 -0400)]
nir: gather which images are buffers

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209>

4 years agonir: don't count samplers and images in interface blocks
Marek Olšák [Tue, 26 May 2020 08:36:33 +0000 (04:36 -0400)]
nir: don't count samplers and images in interface blocks

Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5209>

4 years agoac/nir: support v2f16 derivatives
Marek Olšák [Mon, 11 May 2020 07:01:50 +0000 (03:01 -0400)]
ac/nir: support v2f16 derivatives

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac/nir: set the second v_cvt_pkrtz argument to undef if it's unused
Marek Olšák [Mon, 11 May 2020 20:31:58 +0000 (16:31 -0400)]
ac/nir: set the second v_cvt_pkrtz argument to undef if it's unused

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac/nir: select v_cvt_pkrtz for all conversions from f32 to f16 for radeonsi
Marek Olšák [Sun, 10 May 2020 03:00:44 +0000 (23:00 -0400)]
ac/nir: select v_cvt_pkrtz for all conversions from f32 to f16 for radeonsi

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac/nir: handle nir_op_[fiu]2[fiu]mp opcodes
Marek Olšák [Sun, 3 May 2020 23:30:31 +0000 (19:30 -0400)]
ac/nir: handle nir_op_[fiu]2[fiu]mp opcodes

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac/nir: support 16-bit data in image opcodes
Marek Olšák [Mon, 4 May 2020 13:30:40 +0000 (09:30 -0400)]
ac/nir: support 16-bit data in image opcodes

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac/nir: support 16-bit data in buffer_load_format opcodes
Marek Olšák [Mon, 4 May 2020 14:43:07 +0000 (10:43 -0400)]
ac/nir: support 16-bit data in buffer_load_format opcodes

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac/nir: remove type and num_channels args from ac_build_buffer_store_common
Marek Olšák [Mon, 4 May 2020 14:55:08 +0000 (10:55 -0400)]
ac/nir: remove type and num_channels args from ac_build_buffer_store_common

They were only used for type overloading where we can just use
the type of data.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac/nir: support vector types in the type suffix of overloaded intrinsics
Marek Olšák [Mon, 4 May 2020 11:01:04 +0000 (07:01 -0400)]
ac/nir: support vector types in the type suffix of overloaded intrinsics

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac/nir: use more types from ac_llvm_context
Marek Olšák [Mon, 4 May 2020 13:27:49 +0000 (09:27 -0400)]
ac/nir: use more types from ac_llvm_context

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agoac: rename has_double_rate_fp16 -> has_packed_math_16bit
Marek Olšák [Sun, 3 May 2020 23:27:27 +0000 (19:27 -0400)]
ac: rename has_double_rate_fp16 -> has_packed_math_16bit

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5003>

4 years agogallium: add shader caps INT16 and FP16_DERIVATIVES
Marek Olšák [Sun, 10 May 2020 21:05:00 +0000 (17:05 -0400)]
gallium: add shader caps INT16 and FP16_DERIVATIVES

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agoglsl: lower samplers with highp coordinates correctly
Marek Olšák [Sun, 10 May 2020 22:00:55 +0000 (18:00 -0400)]
glsl: lower samplers with highp coordinates correctly

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agoglsl: lower the precision of imageLoad
Marek Olšák [Sun, 10 May 2020 00:57:25 +0000 (20:57 -0400)]
glsl: lower the precision of imageLoad

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agoglsl: lower mediump partial derivatives
Marek Olšák [Sun, 10 May 2020 01:38:34 +0000 (21:38 -0400)]
glsl: lower mediump partial derivatives

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agoglsl: lower mediump integer types to int16 and uint16
Marek Olšák [Sat, 9 May 2020 02:42:43 +0000 (22:42 -0400)]
glsl: lower mediump integer types to int16 and uint16

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agoglsl: handle int16 and uint16 types and add instructions for mediump
Marek Olšák [Sat, 9 May 2020 02:16:42 +0000 (22:16 -0400)]
glsl: handle int16 and uint16 types and add instructions for mediump

v2: add more changes to ir_validate.cpp

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agoglsl: treat lowp as mediump when lowering builtins
Marek Olšák [Tue, 5 May 2020 01:52:09 +0000 (21:52 -0400)]
glsl: treat lowp as mediump when lowering builtins

This seems to have been missed.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agonir: add options::vectorize_vec2_16bit to limit vectorization to vec2 16
Marek Olšák [Mon, 4 May 2020 00:10:57 +0000 (20:10 -0400)]
nir: add options::vectorize_vec2_16bit to limit vectorization to vec2 16

for hardware that is scalar but can do 2 16-bit operations on low and high
16 bits of registers at once.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agonir: fix lower_wpos for 16-bit fddy
Marek Olšák [Mon, 11 May 2020 06:56:47 +0000 (02:56 -0400)]
nir: fix lower_wpos for 16-bit fddy

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agonir: lower int16 and uint16 in nir_lower_mediump_outputs
Marek Olšák [Mon, 11 May 2020 03:04:23 +0000 (23:04 -0400)]
nir: lower int16 and uint16 in nir_lower_mediump_outputs

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agonir: add int16 and uint16 type helpers
Marek Olšák [Mon, 11 May 2020 04:42:51 +0000 (00:42 -0400)]
nir: add int16 and uint16 type helpers

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agonir: add i2imp and u2ump opcodes for conversions to mediump
Marek Olšák [Sat, 9 May 2020 02:05:46 +0000 (22:05 -0400)]
nir: add i2imp and u2ump opcodes for conversions to mediump

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agonir: Fold f2f16(b2f32(x)) to b2f16(x)
Alyssa Rosenzweig [Mon, 11 May 2020 15:05:15 +0000 (11:05 -0400)]
nir: Fold f2f16(b2f32(x)) to b2f16(x)

By definition.

This reduces register pressure on freedreno so that the noubo expected
failure goes away.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>

4 years agomeson: remove "empty array"/"array of an empty string" confusion
Eric Engestrom [Mon, 14 May 2018 15:40:47 +0000 (16:40 +0100)]
meson: remove "empty array"/"array of an empty string" confusion

Until Meson 0.47, setting `-D arrayoption=` was not the same as setting
`-D arrayoption=[]`; the latter cleared the array, while the former
filled it with an empty string option.

Since Meson 0.47 [1], the former maps to the latter, so empty items can
only be set by explicitly giving an array containing an empty string,
ie. `-D arrayoption="['']"`; however note that this is *not* what we
want in any of the current Mesa code anyway.

This makes the code handling array options a bit more complicated, and
a lot more error-prone, so let's get rid of the confusion by removing
the empty-string option.

[1] https://github.com/mesonbuild/meson/commit/f3a8f9c34d95d862fb4d12869a7b31cea592561f

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/386>

4 years agoturnip: fix RENDER_COMPONENTS value
Jonathan Marek [Tue, 2 Jun 2020 02:02:19 +0000 (22:02 -0400)]
turnip: fix RENDER_COMPONENTS value

This fixes render_components being 0 when mrt_count=8, because shift by 32
is UB and in arm64 it ends up shifting by 0. This fixes tests with 8 MRTs.

Fixes the 3d path sysmem CmdClearAttachments to set RENDER_COMPONENTS, as
it was previously relying on tu6_emit_mrt setting it, but it is now part of
the pipeline state.

Also switch back to the previous behavior of not setting render components
for VK_ATTACHMENT_UNUSED attachments: we don't update the MRT state for
such attachments so we definitely don't want to be trying writing to those.

Fixes: 078aa9df8daff60e52a66d8f ("tu: Move RENDER_COMPONENTS setting to pipeline state")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5292>

4 years agoCI: Disable Panfrost T720/T760
Daniel Stone [Tue, 2 Jun 2020 12:39:14 +0000 (14:39 +0200)]
CI: Disable Panfrost T720/T760

We're reconfiguring our Cambridge office lab networking and physical
setup for more scalability amongst other things. We can still run jobs
on one RK3399 at the peak outage, but we'll lose the T7x0 this morning,
so disable it until it's all back.

T820 is still disabled due to an unrelated BayLibre internal outage.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296>

4 years agogitlab-ci: Use separate docker images for cross builds
Michel Dänzer [Mon, 1 Jun 2020 17:08:30 +0000 (19:08 +0200)]
gitlab-ci: Use separate docker images for cross builds

Using x86_build-base as a separate base layer as well for storage &
network bandwidth efficiency.

Using separate images allows dropping the workarounds from the cross
build job scripts.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296>

4 years agogitlab-ci: Add x86_build-base docker image
Michel Dänzer [Sat, 30 May 2020 13:53:41 +0000 (15:53 +0200)]
gitlab-ci: Add x86_build-base docker image

Similar to x86_test-base.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296>

4 years agogitlab-ci: Move meson back to x86_test-gl/vk ephemeral packages lists
Michel Dänzer [Tue, 2 Jun 2020 08:53:07 +0000 (10:53 +0200)]
gitlab-ci: Move meson back to x86_test-gl/vk ephemeral packages lists

And python3-distutils back to x86_test-gl's list.

These are not used for building Mesa, only for other components used in
test jobs.

This partially reverts commit c1a290bdd57536d6afcff6a02f1512fba7328729
"meson: Bump required version to 0.52.0".

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296>

4 years agogitlab-ci: Stop using packages from Debian testing
Michel Dänzer [Sat, 30 May 2020 22:09:18 +0000 (00:09 +0200)]
gitlab-ci: Stop using packages from Debian testing

Not needed anymore (for now?).

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296>

4 years agogitlab-ci: Use Debian 10 wine-development packages
Michel Dänzer [Sat, 30 May 2020 22:08:30 +0000 (00:08 +0200)]
gitlab-ci: Use Debian 10 wine-development packages

They're version 4.2, new enough for the MinGW job tests to pass.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296>

4 years agogitlab-ci: Move LLVM/clang 6/7 packages to the x86_build_old image
Michel Dänzer [Sat, 30 May 2020 21:55:28 +0000 (23:55 +0200)]
gitlab-ci: Move LLVM/clang 6/7 packages to the x86_build_old image

They're available in Debian 9 (stretch) as well.

This will avoid conflicts with packages from Debian testing.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5296>

4 years agodocs: add missing "shader_" in VK_KHR_shader_subgroup_extended_types
Rhys Perry [Tue, 2 Jun 2020 10:25:11 +0000 (11:25 +0100)]
docs: add missing "shader_" in VK_KHR_shader_subgroup_extended_types

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5295>

4 years agovulkan-overlay/meson: use install_data instead of configure_file
Dylan Baker [Thu, 21 May 2020 01:00:14 +0000 (18:00 -0700)]
vulkan-overlay/meson: use install_data instead of configure_file

We don't want to copy the file into the build directory, we want to
install it. That's what install_data is for.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2924
Fixes: 56ccea58ae7f6fd56cf4a1697d2cceb68866b552
       ("vulkan/overlay: Add basic overlay control script.")

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agomeson: deprecated 'true' and 'false' in combo options for 'enabled' and 'disabled'
Dylan Baker [Tue, 19 May 2020 21:01:47 +0000 (14:01 -0700)]
meson: deprecated 'true' and 'false' in combo options for 'enabled' and 'disabled'

To prepare to use meson's builtin feature options in the future, which
are more powerful and provide useful feature for packagers, like the
ability to turn all "automagic" features off, and then explicitly turn
on the ones they want.

This is designed to make the transition softer, since the 'true' and
'false' are still accepted, just with a warning.

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agomeson: use 2 space not 3 space indent
Dylan Baker [Fri, 24 Apr 2020 20:11:44 +0000 (13:11 -0700)]
meson: use 2 space not 3 space indent

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agomeson: use gnu_symbol_visibility argument
Dylan Baker [Fri, 24 Apr 2020 20:10:41 +0000 (13:10 -0700)]
meson: use gnu_symbol_visibility argument

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 <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agodrm-shim/meson: Use portable override_options for setting C standard
Dylan Baker [Tue, 19 May 2020 21:19:25 +0000 (14:19 -0700)]
drm-shim/meson: Use portable override_options for setting C standard

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agodrm-shim/meson: The name of the target is a string not a list
Dylan Baker [Tue, 19 May 2020 21:18:39 +0000 (14:18 -0700)]
drm-shim/meson: The name of the target is a string not a list

This happens to work, but it's not guaranteed to

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agomeson: Use builtins for checking gnu __attributes__
Dylan Baker [Fri, 24 Apr 2020 19:39:27 +0000 (12:39 -0700)]
meson: Use builtins for checking gnu __attributes__

This requires less code, and will fast skip on compilers that are known
to not have these, like MSVC.

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agomeson: Use build_always_stale instead of build_always
Dylan Baker [Fri, 24 Apr 2020 19:29:42 +0000 (12:29 -0700)]
meson: Use build_always_stale instead of build_always

which was deprecated in 0.47. This doesn't change behavior, just shuts
up a warning.

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agomeson: Use the check_header function
Dylan Baker [Fri, 24 Apr 2020 19:28:39 +0000 (12:28 -0700)]
meson: Use the check_header function

Instead of open coding it. This was new in 0.47

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agomeson: Bump required version to 0.52.0
Dylan Baker [Fri, 24 Apr 2020 17:58:53 +0000 (10:58 -0700)]
meson: Bump required version to 0.52.0

This matches what other graphics space projects require now, and allows
us to simplify a number of cases, as well as make use of new features in
meson.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2737
Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>

4 years agopan/mdg: Enable out-of-order execution after texture ops
Alyssa Rosenzweig [Thu, 21 May 2020 23:14:23 +0000 (19:14 -0400)]
pan/mdg: Enable out-of-order execution after texture ops

We don't make great use of it (due to the scheduler not being aware
yet), but we can pack for it regardless and maybe pick up some win.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286>

4 years agopan/mdg: Add quirk for missing out-of-order support
Alyssa Rosenzweig [Mon, 1 Jun 2020 18:26:11 +0000 (14:26 -0400)]
pan/mdg: Add quirk for missing out-of-order support

Added in T760, like the other good parts of Midgard.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286>

4 years agopan/mdg: Disassemble out-of-order bits
Alyssa Rosenzweig [Thu, 21 May 2020 22:51:52 +0000 (18:51 -0400)]
pan/mdg: Disassemble out-of-order bits

Optimization for texture instructions, allowing ALU and LD/ST within a
single thread while a texture read is still in flight.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286>

4 years agopanfrost: Remove unused nir_lower_framebuffer pass
Alyssa Rosenzweig [Mon, 25 May 2020 17:21:37 +0000 (13:21 -0400)]
panfrost: Remove unused nir_lower_framebuffer pass

Superseded.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284>

4 years agopanfrost: Don't flush explicitly when mipmapping
Alyssa Rosenzweig [Wed, 20 May 2020 18:33:38 +0000 (14:33 -0400)]
panfrost: Don't flush explicitly when mipmapping

The reorder work already takes cares of this nicely.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284>

4 years agopanfrost: Use VTX tag for vertex texturing
Alyssa Rosenzweig [Thu, 21 May 2020 17:23:46 +0000 (13:23 -0400)]
panfrost: Use VTX tag for vertex texturing

Fixes BARRIER faults.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284>

4 years agopanfrost: Permit AFBC of RGB8
Alyssa Rosenzweig [Thu, 21 May 2020 23:43:18 +0000 (19:43 -0400)]
panfrost: Permit AFBC of RGB8

Ugly but hey.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284>

4 years agopanfrost: Fix PRESENT flag mix-up
Alyssa Rosenzweig [Thu, 21 May 2020 23:53:34 +0000 (19:53 -0400)]
panfrost: Fix PRESENT flag mix-up

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284>

4 years agopan/mdg: Fuse f2f16 into load_interpolated_input
Alyssa Rosenzweig [Fri, 22 May 2020 20:23:06 +0000 (16:23 -0400)]
pan/mdg: Fuse f2f16 into load_interpolated_input

To become a ld_vary intrinsic.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5283>

4 years agopan/mdg: Handle 16-bit ld_vary
Alyssa Rosenzweig [Fri, 22 May 2020 20:22:48 +0000 (16:22 -0400)]
pan/mdg: Handle 16-bit ld_vary

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5283>

4 years agopanfrost: Update fails list
Alyssa Rosenzweig [Fri, 15 May 2020 16:19:15 +0000 (12:19 -0400)]
panfrost: Update fails list

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>

4 years agopanfrost: Use internal_format throughout
Alyssa Rosenzweig [Thu, 21 May 2020 21:01:38 +0000 (17:01 -0400)]
panfrost: Use internal_format throughout

Fixes R32F_S8 texturing.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>

4 years agopanfrost: Add separate_stencil BO to batch
Alyssa Rosenzweig [Thu, 21 May 2020 20:35:48 +0000 (16:35 -0400)]
panfrost: Add separate_stencil BO to batch

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>

4 years agopanfrost: Check for large tilebuffer requirements
Alyssa Rosenzweig [Thu, 14 May 2020 23:53:33 +0000 (19:53 -0400)]
panfrost: Check for large tilebuffer requirements

Fixes the rest of dEQP-GLES3.functional.fragment_out.array.uint.*, this
situation occurs with MRT and large pixels.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>

4 years agopanfrost: Let Gallium pack colours
Alyssa Rosenzweig [Thu, 14 May 2020 23:33:18 +0000 (19:33 -0400)]
panfrost: Let Gallium pack colours

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>