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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Alyssa Rosenzweig [Wed, 13 May 2020 20:27:25 +0000 (16:27 -0400)]
panfrost: Account for differing types in blend lower
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 20:01:08 +0000 (16:01 -0400)]
panfrost: Conditionally allow fp16 blending
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 19:04:47 +0000 (15:04 -0400)]
panfrost: Switch to pan_lower_framebuffer
It now supports what we need.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Thu, 14 May 2020 22:54:38 +0000 (18:54 -0400)]
panfrost: Un/pack sRGB via NIR
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Thu, 14 May 2020 22:06:58 +0000 (18:06 -0400)]
panfrost: Un/pack R11G11B10
NIR has a helper for it already; we can reuse.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Thu, 14 May 2020 21:59:52 +0000 (17:59 -0400)]
panfrost: Un/pack RGB10_A2_UINT
It's different. Because forget me.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Thu, 14 May 2020 21:35:25 +0000 (17:35 -0400)]
panfrost: Un/pack RGB10_A2_UNORM
It's a funny one.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Thu, 14 May 2020 18:49:08 +0000 (14:49 -0400)]
panfrost: Un/pack RGB565 and RGB5A1
Basically the same as RGBA4
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Thu, 14 May 2020 17:31:07 +0000 (13:31 -0400)]
panfrost: Un/pack UNORM 4
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 18:53:21 +0000 (14:53 -0400)]
panfrost: Flesh out dispatch
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 18:06:55 +0000 (14:06 -0400)]
panfrost: Un/pack 8-bit UNORM
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 17:55:51 +0000 (13:55 -0400)]
panfrost: Un/pack pure 8-bit
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 17:35:20 +0000 (13:35 -0400)]
panfrost: Un/pack pure 16-bit
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 16:36:45 +0000 (12:36 -0400)]
panfrost: Un/pack pure 32-bit
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 18:43:50 +0000 (14:43 -0400)]
panfrost: Stub out lowering boilerplate
Structure ourselves as a NIR pass replacing loads/stores with
unpacked/packed versions as necessary. Not actually functional yet.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 16:23:53 +0000 (12:23 -0400)]
panfrost: Determine classes for stores
Fewer special cases here, thankfully.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 16:22:22 +0000 (12:22 -0400)]
panfrost: Determine load classes for formats
Via quirks.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 16:15:28 +0000 (12:15 -0400)]
panfrost: Add quirks for blend shader types
Every hardware has its own set of what it can and can't do... let's
document it all as quirks so the lowering code is GPU-agnostic.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 16:07:46 +0000 (12:07 -0400)]
panfrost: Determine unpacked type for formats
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 15:50:18 +0000 (11:50 -0400)]
panfrost: Add theory for new framebuffer lowering
We take a somewhat different strategy that should be more flexible.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Sat, 30 May 2020 01:11:11 +0000 (21:11 -0400)]
pan/mdg: Implement raw colourbuf loads on T720
Uses a similar path to the fp16 cbuf loads on T760. It should make sense
given the symmetry with T860.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Sat, 30 May 2020 01:08:32 +0000 (21:08 -0400)]
pan/mdg: Drop the u8 from the colorbuf op names
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Thu, 14 May 2020 17:30:41 +0000 (13:30 -0400)]
pan/mdg: Print 8-bit constants
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 22:42:19 +0000 (18:42 -0400)]
pan/mdg: Handle bitsize for packs
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 22:41:52 +0000 (18:41 -0400)]
pan/mdg: Treat packs "specially"
We maybe would prefer synthetic ops? We'll find out in due time..
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Tue, 12 May 2020 23:07:48 +0000 (19:07 -0400)]
pan/mdg: Add pack_unorm_4x8 via 8-bit
More efficient than the 32-bit version in NIR.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Alyssa Rosenzweig [Wed, 13 May 2020 20:17:46 +0000 (16:17 -0400)]
pan/mdg: Handle un/pack opcodes as moves
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Chris Wilson [Fri, 29 May 2020 18:51:28 +0000 (19:51 +0100)]
iris: Fixup copy'n'paste mistake in Makefile.sources
In changing iris_seqno.[ch] to iris_fine_fence.[ch] and moving the
lines earlier, the newline escape was forgotten.
Fixes: 034329128b703f8c2e8a ("iris: Rename iris_seqno to iris_fine_fence")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5264>