mesa.git
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>

4 years agopanfrost: Account for differing types in blend lower
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>

4 years agopanfrost: Conditionally allow fp16 blending
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>

4 years agopanfrost: Switch to pan_lower_framebuffer
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>

4 years agopanfrost: Un/pack sRGB via NIR
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>

4 years agopanfrost: Un/pack R11G11B10
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>

4 years agopanfrost: Un/pack RGB10_A2_UINT
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>

4 years agopanfrost: Un/pack RGB10_A2_UNORM
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>

4 years agopanfrost: Un/pack RGB565 and RGB5A1
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>

4 years agopanfrost: Un/pack UNORM 4
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>

4 years agopanfrost: Flesh out dispatch
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>

4 years agopanfrost: Un/pack 8-bit UNORM
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>

4 years agopanfrost: Un/pack pure 8-bit
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>

4 years agopanfrost: Un/pack pure 16-bit
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>

4 years agopanfrost: Un/pack pure 32-bit
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>

4 years agopanfrost: Stub out lowering boilerplate
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>

4 years agopanfrost: Determine classes for stores
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>

4 years agopanfrost: Determine load classes for formats
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>

4 years agopanfrost: Add quirks for blend shader types
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>

4 years agopanfrost: Determine unpacked type for formats
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>

4 years agopanfrost: Add theory for new framebuffer lowering
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>

4 years agopan/mdg: Implement raw colourbuf loads on T720
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>

4 years agopan/mdg: Drop the u8 from the colorbuf op names
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>

4 years agopan/mdg: Print 8-bit constants
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>

4 years agopan/mdg: Handle bitsize for packs
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>

4 years agopan/mdg: Treat packs "specially"
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>

4 years agopan/mdg: Add pack_unorm_4x8 via 8-bit
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>

4 years agopan/mdg: Handle un/pack opcodes as moves
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>

4 years agoiris: Fixup copy'n'paste mistake in Makefile.sources
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>

4 years agointel/dev: Don't consider all TGL SKUs as GT1 only
Satyeshwar Singh [Thu, 28 May 2020 07:44:26 +0000 (00:44 -0700)]
intel/dev: Don't consider all TGL SKUs as GT1 only

We should be passing _gt instead of 1 to GEN12_FEATURES or else all TGL
SKUs will be considered as gt1 only.

Fixes: 54996ad4927 ("intel/dev: Split .num_subslices out of GEN12_FEATURES macro")
Signed-off-by: Satyeshwar Singh <satyeshwar.singh@intel.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5261>

4 years agor300g: Remove extra printf format specifiers.
Vinson Lee [Sat, 30 May 2020 00:13:35 +0000 (17:13 -0700)]
r300g: Remove extra printf format specifiers.

Fix warning reported by Coverity Scan.
Missing argument to printf format specifier (PRINTF_ARGS)
missing_argument: No argument for format specifier %s.

Fixes: 04c1536bf7ab ("r300g: rasterizer debug logging")
Fixes: 85efb2fff0d4 ("r300g: try to use color varyings for texcoords if max texcoord limit is exceeded")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5274>

4 years agonouveau: allow invalidating coherent/persistent buffer backings
Ilia Mirkin [Sat, 30 May 2020 06:47:42 +0000 (02:47 -0400)]
nouveau: allow invalidating coherent/persistent buffer backings

This is needed to support the core's usage of coherent buffers for
glVertex-style input. The reason why this was disallowed is that any
mappings will be invalidated. Let the state tracker worry about that,
and just reallocate when we're told.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5276>

4 years agointel/fs: Emit HALT for discard on Gen4-5
Jason Ekstrand [Sat, 25 Apr 2020 19:59:30 +0000 (14:59 -0500)]
intel/fs: Emit HALT for discard on Gen4-5

Using HALT to immediately jump to the end of the shader is required to
implement GL_EXT_gpu_shader4 and OpenGL 3.0.  However, vanilla OpenGL
1.2 doesn't forbid it and it likely makes something somewhere faster.
We should be consistent and implement the same discard behavior on all
hardware if we can.

The rules for HALT on Gen4-5 are a bit different from Gen6+.  On the
older hardware, there is no stack for HALT; instead it's up to software
to save and restore mask registers.  However, there's no real saving
needed since we only use HALT to jump to the end of the program where
we're about about to do our FB writes.  All we need to do is reset AMask
to DMask, the value it was initialized to at the start of the thread.

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

4 years agointel/fs: Fix unused texture coordinate zeroing on Gen4-5
Jason Ekstrand [Sun, 26 Apr 2020 14:48:16 +0000 (09:48 -0500)]
intel/fs: Fix unused texture coordinate zeroing on Gen4-5

We were inserting the right number of MOVs but, thanks to the way we
advanced msg_end earlier in the function, were often writing the zeros
past the end of where we actually read in the register file.

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

4 years agointel/vec4: Stomp the return type of RESINFO to UINT32
Jason Ekstrand [Sat, 25 Apr 2020 19:15:11 +0000 (14:15 -0500)]
intel/vec4: Stomp the return type of RESINFO to UINT32

We already do this in the FS back-end; we just weren't doing it in vec4
so RESINFO messages weren't returning the right data.

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

4 years agoradv: fix regression with builtin cache
Timothy Arceri [Fri, 29 May 2020 07:02:24 +0000 (17:02 +1000)]
radv: fix regression with builtin cache

If the ~/.cache dir already exists continue on without failing.

Fixes: cd61f5234d2c ("radv: Handle failing to create .cache dir.")
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5249>

4 years agogallium/dri: Remove lowered_yuv tracking for plane mapping.
Bas Nieuwenhuizen [Fri, 29 May 2020 11:47:00 +0000 (13:47 +0200)]
gallium/dri: Remove lowered_yuv tracking for plane mapping.

Just heard that etnaviv is also compatible with it even
in the non-lowered cases, so let us enable it for everyone.

Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5253>

4 years agopanfrost: Fix printf format specifier.
Vinson Lee [Thu, 28 May 2020 23:36:54 +0000 (16:36 -0700)]
panfrost: Fix printf format specifier.

bifrost_sampler_descriptor.zero1 is of type uint8_t.

Fix warning reported by Coverity.

Invalid type in argument to printf format specifier (PRINTF_ARGS)
invalid_type: Argument s->zero1 to format specifier %lx was expected to
have type unsigned long but has type unsigned char.

Fixes: 6148d1be4bb5 ("panfrost: Fix size of bifrost sampler descriptor")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5248>

4 years agoglthread: don't upload for glDraw inside a display list and always sync
Marek Olšák [Thu, 28 May 2020 20:21:39 +0000 (16:21 -0400)]
glthread: don't upload for glDraw inside a display list and always sync

Let the vbo module handle it, not glthread.

This handles functions set in vbo_initialize_save_dispatch.

Fixes: 2840bc3065b ("glthread: upload non-VBO vertices and indices for non-Indirect non-IBM draws")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3001
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5246>

4 years agoutil/format: Add more multi-planar formats.
Bas Nieuwenhuizen [Sun, 24 May 2020 22:05:20 +0000 (00:05 +0200)]
util/format: Add more multi-planar formats.

These don't have a fourcc code as far as I can tell, but we want
them for internal Vulkan use.

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

4 years agoutil/format: Use correct pipe format for VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM.
Bas Nieuwenhuizen [Sun, 24 May 2020 20:57:28 +0000 (22:57 +0200)]
util/format: Use correct pipe format for VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM.

NV12 is UVUVUV (https://wiki.videolan.org/YUV#NV12) and in Vulkan is
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM. So U=B and V=R. So plane order in
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM is YUV, which is PIPE_FORMAT_IYUV.

Further confirmation: https://fourcc.org/yuv.php U=Cb V=Cr. From the nir
ycbcr conversion, B=Cb and R=Cr.

Fixes: 75d7ee80291 "util/format: translate 422_UNORM and 420_UNORM vulkan formats"
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5195>

4 years agoutil/format: Add VK_FORMAT_D16_UNORM_S8_UINT.
Bas Nieuwenhuizen [Sun, 24 May 2020 17:11:16 +0000 (19:11 +0200)]
util/format: Add VK_FORMAT_D16_UNORM_S8_UINT.

Not participating in packing/unpacking/stencil-only/depth-only,
because it doesn't mix well in a single plane.

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

4 years agoetnaviv: Fix memory leak on error path.
Vinson Lee [Tue, 26 May 2020 22:54:06 +0000 (15:54 -0700)]
etnaviv: Fix memory leak on error path.

Fix warning reported by Coverity Scan.

Resource leak (RESOURCE_LEAK)
leaked_storage: Variable pq going out of scope leaks the storage it
points to.

Suggested-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Fixes: eed5a009897a ("etnaviv: convert perfmon queries to acc queries")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5220>

4 years agopanfrost: Probe G31/G52 if PAN_MESA_DEBUG=bifrost
Alyssa Rosenzweig [Fri, 29 May 2020 23:24:45 +0000 (19:24 -0400)]
panfrost: Probe G31/G52 if PAN_MESA_DEBUG=bifrost

We're not *quite* ready to open the flood gates on Bifrost (a major
blocker is CI, which is itself blocked on the lockdowns - expected to be
resolved in the coming months..)

Nevertheless, let's add a debug option to probe on compatible Bifrost
devices to avoid keeping out-of-tree patches around.

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

4 years agopanfrost: Add GPU IDs for G31/G52
Alyssa Rosenzweig [Fri, 29 May 2020 23:24:05 +0000 (19:24 -0400)]
panfrost: Add GPU IDs for G31/G52

Dvalin/Gondul respectively.

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

4 years agopanfrost: Disable QUAD_STRIP/POLYGON on Bifrost
Alyssa Rosenzweig [Fri, 29 May 2020 18:02:43 +0000 (14:02 -0400)]
panfrost: Disable QUAD_STRIP/POLYGON on Bifrost

Support was dropped and now raises a DATA_INVALID_FAULT on G31. Unknown
if retained on other devices. GL_QUADS is still ok.

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

4 years agopan/bi: Passthrough deps of the branch target
Alyssa Rosenzweig [Thu, 28 May 2020 19:38:04 +0000 (15:38 -0400)]
pan/bi: Passthrough deps of the branch target

Now that we have the infrastructure, follow the branch.

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

4 years agopan/bi: Allow two successors in header packing
Alyssa Rosenzweig [Thu, 28 May 2020 19:23:18 +0000 (15:23 -0400)]
pan/bi: Allow two successors in header packing

We need to take the union of the dependencies.

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

4 years agopan/bi: Measure backwards branches as well
Alyssa Rosenzweig [Thu, 28 May 2020 19:01:14 +0000 (15:01 -0400)]
pan/bi: Measure backwards branches as well

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

4 years agopan/bi: Add bi_foreach_block_from_rev helper
Alyssa Rosenzweig [Thu, 28 May 2020 19:01:38 +0000 (15:01 -0400)]
pan/bi: Add bi_foreach_block_from_rev helper

Needed for next commit.

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

4 years agopan/bi: Defer block naming until after emit
Alyssa Rosenzweig [Thu, 28 May 2020 18:44:33 +0000 (14:44 -0400)]
pan/bi: Defer block naming until after emit

This ensures names are meaningful.

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

4 years agopan/bi: Pack unconditional branch
Alyssa Rosenzweig [Thu, 28 May 2020 18:38:44 +0000 (14:38 -0400)]
pan/bi: Pack unconditional branch

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

4 years agopan/bi: Set branch conditional bit
Alyssa Rosenzweig [Thu, 28 May 2020 18:15:09 +0000 (14:15 -0400)]
pan/bi: Set branch conditional bit

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

4 years agopan/bi: Set back-to-back bit more accurately
Alyssa Rosenzweig [Thu, 28 May 2020 18:13:12 +0000 (14:13 -0400)]
pan/bi: Set back-to-back bit more accurately

See Connor's ISA notes. Basically set unless it's a branch (explicit or
fallthrough).

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