platform/upstream/mesa.git
3 years agoaco: Remove use of deprecated Operand constructors in aco_builder.h
Tony Wasserka [Tue, 29 Jun 2021 16:51:41 +0000 (18:51 +0200)]
aco: Remove use of deprecated Operand constructors in aco_builder.h

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11653>

3 years agoaco: Remove use of deprecated Operand constructors in test_to_hw_instr.cpp
Tony Wasserka [Tue, 29 Jun 2021 16:53:36 +0000 (18:53 +0200)]
aco: Remove use of deprecated Operand constructors in test_to_hw_instr.cpp

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11653>

3 years agoaco: Replace Operand literal constructors with factory member functions
Tony Wasserka [Tue, 29 Jun 2021 17:24:16 +0000 (19:24 +0200)]
aco: Replace Operand literal constructors with factory member functions

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11653>

3 years agoci: Make sure that we build the piglit dmabuf tests.
Emma Anholt [Mon, 12 Jul 2021 21:39:30 +0000 (14:39 -0700)]
ci: Make sure that we build the piglit dmabuf tests.

Force the option rather than relying on autodetection -- ARM runners were
apparently finding the necessary deps, but the x86 rootfs (radeonsi, iris)
and x86_test-gl container (i915g) were not.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11834>

3 years agozink: simplify modifier ifdefs
Mike Blumenkrantz [Tue, 13 Jul 2021 12:55:27 +0000 (08:55 -0400)]
zink: simplify modifier ifdefs

these are the only two defines referenced, so they can be defined to 0
for platforms that don't support modifiers in order to remove a ton of
ifdefs and make the code more readable

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11847>

3 years agofreedreno/ir3: Add float immed "FLUT" support
Rob Clark [Mon, 25 Jan 2021 17:43:24 +0000 (09:43 -0800)]
freedreno/ir3: Add float immed "FLUT" support

We can encode a limited set of float immeds into cat2 instructions,
using hw's float lookup table (FLUT) feature.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/36
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8705>

3 years agofreedreno/computerator: Add script to probe FLUT values
Rob Clark [Sat, 10 Jul 2021 17:29:00 +0000 (10:29 -0700)]
freedreno/computerator: Add script to probe FLUT values

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

3 years agoturnip: Split tu6_emit_xs()
Rob Clark [Mon, 12 Jul 2021 19:00:38 +0000 (12:00 -0700)]
turnip: Split tu6_emit_xs()

Emit all the state layout config (such as push-const CONSTLEN) first,
before emitting anything that depends on that state.  This fixes an
issue that was showing up when FLUT is enabled in ir3 (which results
in higher probability of not having any immediats lowered to push-
consts).

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

3 years agoturnip: avoid some UB
Rob Clark [Sun, 11 Jul 2021 19:40:05 +0000 (12:40 -0700)]
turnip: avoid some UB

Reduce a bit of extra noise that makes diffing cmdstream traces more
annoying.

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

3 years agoglsl: Delete lower_texture_projection
Jason Ekstrand [Mon, 12 Jul 2021 16:50:04 +0000 (11:50 -0500)]
glsl: Delete lower_texture_projection

This is only used by i965 and we've been getting it through
nir_lower_tex since forever.  Get rid of the GLSL IR pass.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11827>

3 years agoci: only trigger gallium_core_file_list jobs from dri and glx frontend changes
Mike Blumenkrantz [Mon, 12 Jul 2021 19:07:01 +0000 (15:07 -0400)]
ci: only trigger gallium_core_file_list jobs from dri and glx frontend changes

these are the only frontends which may be used by gallium drivers in ci,
so stop triggering all driver jobs when other frontends are changed since
those changes can never affect ci

<MrCooper> Not that simple unfortunately. E.g. the llvmpipe-piglit-cl job hits
           src/gallium/frontends/clover & possibly src/gallium/targets/opencl,
           many jobs hit src/gallium/{frontends,targets}/dri and probably
           src/gallium/targets/pipe-loader, lavapipe jobs hit src/gallium/{frontends,targets}/lavapipe.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11832>

3 years agoci: add vulkan files to lavapipe rules
Mike Blumenkrantz [Mon, 12 Jul 2021 19:26:04 +0000 (15:26 -0400)]
ci: add vulkan files to lavapipe rules

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11833>

3 years agopan/bi: Create a nop clause when the shader starts with ATEST
Icecream95 [Tue, 13 Jul 2021 08:01:07 +0000 (20:01 +1200)]
pan/bi: Create a nop clause when the shader starts with ATEST

Otherwise there would be no clause with the dependencies needed for
ATEST set, so the GPU would get stuck.

Not needed on v7, as there shader_wait_dependency in the RSD will wait
for the dependencies before the shader starts.

Explicitly create a NOP instruction, as it is assumed that clauses
have a non-zero count of instructions in various places.

Fixes GPU timeouts in many applications, such as SuperTuxKart and
GZDoom.

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

3 years agopanfrost: Fix full_threads calculation on v6
Icecream95 [Tue, 13 Jul 2021 06:29:13 +0000 (18:29 +1200)]
panfrost: Fix full_threads calculation on v6

Fixes: 8ba2f9f6985 ("panfrost: Create a blitter library to replace the existing preload helpers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11842>

3 years agogbm/dri: Fix leaking bo memory on failure path
Heinrich Fink [Tue, 13 Jul 2021 09:12:56 +0000 (11:12 +0200)]
gbm/dri: Fix leaking bo memory on failure path

In gbm_dri_bo_create, when modifiers are requested but not supported, do
not return NULL immediately, but first go to cleanup section to free
already allocated buffer object.

Fixes: cb9ae4273d68 ("dri: add loader_dri_create_image helper")
Signed-off-by: Heinrich Fink <hfink@snap.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11844>

3 years agopps: Panfrost documentation
Antonio Caggiano [Thu, 6 May 2021 11:20:01 +0000 (13:20 +0200)]
pps: Panfrost documentation

Add documentation for the Panfrost Perfetto datasource.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10215>

3 years agopps: Panfrost pps driver
Antonio Caggiano [Thu, 18 Mar 2021 18:29:33 +0000 (19:29 +0100)]
pps: Panfrost pps driver

Add the Panfrost pps driver.

v2: Human readable names for counter blocks and use `unreachable`.
v3: Use libpanfrost_perf to collect counter values.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10215>

3 years agomesa: clear shader_info::is_lowered in prog_to_nir
Pierre-Eric Pelloux-Prayer [Tue, 29 Jun 2021 08:10:17 +0000 (10:10 +0200)]
mesa: clear shader_info::is_lowered in prog_to_nir

This needs to be resetted each time prog_to_nir is called because it
turns st_nir_assign_vs_in_locations into a no-op when set.

Fixes: 81d106d6eca ("radeonsi: lower IO intrinsics - complete rewrite of input/output scanning")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5001
Reviewed-by: Isaac Bosompem <mrisaacb@google.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11636>

3 years agov3dv: use defines for push constant offsets used by texel buffer copy shaders
Iago Toral Quiroga [Tue, 13 Jul 2021 07:47:53 +0000 (09:47 +0200)]
v3dv: use defines for push constant offsets used by texel buffer copy shaders

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11843>

3 years agov3dv: allow batching texel buffer copies for 3D images
Iago Toral Quiroga [Tue, 13 Jul 2021 07:23:13 +0000 (09:23 +0200)]
v3dv: allow batching texel buffer copies for 3D images

For these we only need to check that the depth extent we are
copying is the same across regions in the batch, since we use
that to specify the number of layers in the framebuffer used
for the copy.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11843>

3 years agov3dv: implement layered texel buffer copies using a geometry shader
Iago Toral Quiroga [Mon, 12 Jul 2021 11:16:06 +0000 (13:16 +0200)]
v3dv: implement layered texel buffer copies using a geometry shader

Instead of specifying a separate framebuffer per layer which is expected
to be much slower.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11843>

3 years agov3dv: fix push constant range for texel buffer copy pipelines
Iago Toral Quiroga [Mon, 12 Jul 2021 10:38:05 +0000 (12:38 +0200)]
v3dv: fix push constant range for texel buffer copy pipelines

As per get_texel_buffer_copy_fs(), we load 24 bytes of data.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11843>

3 years agozink: remove duplicate format-mapping on little-endian
Erik Faye-Lund [Wed, 16 Jun 2021 11:00:57 +0000 (13:00 +0200)]
zink: remove duplicate format-mapping on little-endian

Doing *both* of thse ends up rewriting the previous mapping. Since this
doesn't seem to have lead to issues, it seems like the new mapping works
just as well.

Fixes: a22a1c0324e ("zink: Fix VK_FORMAT_A8B8G8R8_SRGB_PACK32 mapping on big-endian")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11417>

3 years agoloader: Handle failure to load DRI driver library
James Jones [Fri, 9 Jul 2021 15:40:19 +0000 (08:40 -0700)]
loader: Handle failure to load DRI driver library

I factored out the chunk of loader code that dlopen()s
libraries from the rest of the DRI driver loader function
in this commit:

  commit bc343154f816b637b200933e1c1a35db19f478ef
  Author: James Jones <jajones@nvidia.com>
  Date:   Thu Apr 22 23:17:08 2021 -0700

  loader: Factor out driver library loading code

However, I failed to adjust the DRI loader function that
now uses the new helper function to handle the case where
the requested DRI library is not found.

This change restores the prior behavior, and also ensures
loader_open_driver() consistently returns NULL in the
out_driver_handle parameter on failure.

Fixes: bc343154f816 ("loader: Factor out driver library loading code")
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11807>

3 years agoaco: fix extract_vector optimization
Daniel Schürmann [Thu, 8 Jul 2021 14:49:18 +0000 (16:49 +0200)]
aco: fix extract_vector optimization

If the allocated_vec map contains a different RegType
for the elements, ensure that the size matches exactly.

Otherwise, it could happen that extracting a dword
element matched with a subdword element.

No fossil-db changes.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11823>

3 years agoaco: fix self-intersecting register swaps
Daniel Schürmann [Wed, 7 Jul 2021 15:41:56 +0000 (17:41 +0200)]
aco: fix self-intersecting register swaps

Splitting self-intersecting register swaps into
3 sections was unnecessary and only worked because
the middle section was always empty for full dword
swaps.

No fossil-db changes.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11823>

3 years agolavapipe: add the separate depth/stencil layout enable.
Dave Airlie [Tue, 13 Jul 2021 02:09:02 +0000 (12:09 +1000)]
lavapipe: add the separate depth/stencil layout enable.

This was missing.

Fixes: ac07ad8414cd ("lavapipe: implement KHR_separate_depth_stencil_layouts")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11840>

3 years agopanfrost: Fix format swizzles on G72
Alyssa Rosenzweig [Tue, 13 Jul 2021 00:27:03 +0000 (20:27 -0400)]
panfrost: Fix format swizzles on G72

Careless typo. Cleaner fix suggested by Icecream95.

Reported-by: macc24
Tested-by: macc24
Fixes: 531d80de7c7 ("panfrost: Specialize blendable_formats for v6")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11837>

3 years agorelnotes: add some missing zink/lavapipe updates
Mike Blumenkrantz [Tue, 13 Jul 2021 00:38:17 +0000 (20:38 -0400)]
relnotes: add some missing zink/lavapipe updates

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

3 years agofeatures: mark off line rasterization for lavapipe
Mike Blumenkrantz [Tue, 13 Jul 2021 00:34:46 +0000 (20:34 -0400)]
features: mark off line rasterization for lavapipe

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

3 years agozink: add a pipe_screen::resource_create_with_modifiers hook
Mike Blumenkrantz [Fri, 9 Apr 2021 14:14:30 +0000 (10:14 -0400)]
zink: add a pipe_screen::resource_create_with_modifiers hook

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: add fallback for linear modifier use
Mike Blumenkrantz [Tue, 22 Jun 2021 12:33:04 +0000 (08:33 -0400)]
zink: add fallback for linear modifier use

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: don't pass modifier count to first image create
Mike Blumenkrantz [Wed, 14 Apr 2021 14:07:32 +0000 (10:07 -0400)]
zink: don't pass modifier count to first image create

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: explicitly disallow using the modifier image create for non-linear images
Mike Blumenkrantz [Wed, 14 Apr 2021 14:06:20 +0000 (10:06 -0400)]
zink: explicitly disallow using the modifier image create for non-linear images

the first call is just for the base image, the second call is the one that needs
modifiers

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: use VkImageDrmFormatModifierListCreateInfoEXT for creating from modifier array
Mike Blumenkrantz [Fri, 9 Apr 2021 14:13:53 +0000 (10:13 -0400)]
zink: use VkImageDrmFormatModifierListCreateInfoEXT for creating from modifier array

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: add a pipe_screen::resource_get_param hook
Mike Blumenkrantz [Fri, 9 Apr 2021 14:12:40 +0000 (10:12 -0400)]
zink: add a pipe_screen::resource_get_param hook

this is used for querying image properties

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: store modifier aspect to resource
Mike Blumenkrantz [Wed, 14 Apr 2021 12:29:16 +0000 (08:29 -0400)]
zink: store modifier aspect to resource

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: start storing modifiers to the base resource struct
Mike Blumenkrantz [Thu, 8 Apr 2021 20:24:51 +0000 (16:24 -0400)]
zink: start storing modifiers to the base resource struct

need these for rebinds

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: populate modifier props onto screen object during init
Mike Blumenkrantz [Thu, 8 Apr 2021 20:10:24 +0000 (16:10 -0400)]
zink: populate modifier props onto screen object during init

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agozink: implement support for non-planar DRM modifiers
Erik Faye-Lund [Mon, 19 Oct 2020 12:17:27 +0000 (14:17 +0200)]
zink: implement support for non-planar DRM modifiers

Planar DRM modifiers are a bit more tricky, so let's kick that ball down
the road. For now, this should help a bit.

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10782>

3 years agomailmap: Add two more lines for Alyssa Rosenzweig
Jason Ekstrand [Sun, 11 Jul 2021 14:44:24 +0000 (09:44 -0500)]
mailmap: Add two more lines for Alyssa Rosenzweig

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

3 years agoConvert a few files to UTF-8
Jason Ekstrand [Sun, 11 Jul 2021 04:28:52 +0000 (23:28 -0500)]
Convert a few files to UTF-8

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

3 years agomailmap: Update for Emma's new e-mail address
Jason Ekstrand [Thu, 8 Jul 2021 20:35:43 +0000 (15:35 -0500)]
mailmap: Update for Emma's new e-mail address

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11788>

3 years agopan/bi: Add a bundling heuristic
Alyssa Rosenzweig [Wed, 5 May 2021 21:38:02 +0000 (17:38 -0400)]
pan/bi: Add a bundling heuristic

Pick instructions locally that are likely to minimize nop's globally.
Note the obvious greedy solution is ineffective. Instead the principle
is to choose instructions which will increase _future_ scheduler
freedom, on the assumption that means fewer nop's overall will be
needed.

There is no concern about register pressure and little concern about
message timing, since this is post-RA and message ordering was fixed.

total tuples in shared programs: 125304 -> 123770 (-1.22%)
tuples in affected programs: 88301 -> 86767 (-1.74%)
helped: 548
HURT: 198
helped stats (abs) min: 1.0 max: 31.0 x̄: 3.43 x̃: 2
helped stats (rel) min: 0.33% max: 16.67% x̄: 3.09% x̃: 2.44%
HURT stats (abs)   min: 1.0 max: 12.0 x̄: 1.73 x̃: 1
HURT stats (rel)   min: 0.27% max: 11.11% x̄: 2.82% x̃: 2.35%
95% mean confidence interval for tuples value: -2.39 -1.72
95% mean confidence interval for tuples %-change: -1.77% -1.27%
Tuples are helped.

total clauses in shared programs: 26059 -> 25655 (-1.55%)
clauses in affected programs: 10821 -> 10417 (-3.73%)
helped: 311
HURT: 42
helped stats (abs) min: 1.0 max: 6.0 x̄: 1.44 x̃: 1
helped stats (rel) min: 0.48% max: 16.00% x̄: 5.26% x̃: 5.00%
HURT stats (abs)   min: 1.0 max: 2.0 x̄: 1.05 x̃: 1
HURT stats (rel)   min: 2.13% max: 33.33% x̄: 7.49% x̃: 6.25%
95% mean confidence interval for clauses value: -1.26 -1.02
95% mean confidence interval for clauses %-change: -4.28% -3.21%
Clauses are helped.

total cycles in shared programs: 12154.79 -> 12114.83 (-0.33%)
cycles in affected programs: 1907.63 -> 1867.67 (-2.09%)
helped: 227
HURT: 99
helped stats (abs) min: 0.041665999999999315 max: 1.2083360000000027 x̄: 0.22 x̃: 0
helped stats (rel) min: 0.36% max: 20.00% x̄: 4.14% x̃: 3.85%
HURT stats (abs)   min: 0.041665999999999315 max: 0.5 x̄: 0.09 x̃: 0
HURT stats (rel)   min: 0.28% max: 9.09% x̄: 2.75% x̃: 2.63%
95% mean confidence interval for cycles value: -0.15 -0.09
95% mean confidence interval for cycles %-change: -2.51% -1.59%
Cycles are helped.

total arith in shared programs: 4658.13 -> 4603.42 (-1.17%)
arith in affected programs: 3449.83 -> 3395.12 (-1.59%)
helped: 509
HURT: 249
helped stats (abs) min: 0.041665999999999315 max: 1.2083360000000027 x̄: 0.14 x̃: 0
helped stats (rel) min: 0.36% max: 20.00% x̄: 3.56% x̃: 2.63%
HURT stats (abs)   min: 0.041665999999999315 max: 0.5 x̄: 0.07 x̃: 0
HURT stats (rel)   min: 0.28% max: 25.00% x̄: 3.32% x̃: 2.27%
95% mean confidence interval for arith value: -0.09 -0.06
95% mean confidence interval for arith %-change: -1.64% -0.97%
Arith are helped.

total quadwords in shared programs: 111394 -> 110114 (-1.15%)
quadwords in affected programs: 78074 -> 76794 (-1.64%)
helped: 503
HURT: 204
helped stats (abs) min: 1.0 max: 43.0 x̄: 3.33 x̃: 2
helped stats (rel) min: 0.41% max: 13.79% x̄: 3.02% x̃: 2.44%
HURT stats (abs)   min: 1.0 max: 26.0 x̄: 1.94 x̃: 1
HURT stats (rel)   min: 0.48% max: 7.55% x̄: 2.44% x̃: 2.22%
95% mean confidence interval for quadwords value: -2.16 -1.46
95% mean confidence interval for quadwords %-change: -1.67% -1.21%
Quadwords are helped.

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

3 years agopan/bi: Calculate dependency graph when bundling
Alyssa Rosenzweig [Thu, 21 Jan 2021 02:02:12 +0000 (21:02 -0500)]
pan/bi: Calculate dependency graph when bundling

Code is ported from Midgard, modified to be scalar, post-RA, and to put
the arrays on the worklist instead of the instruction to save memory.
This enables out-of-order scheduling.

total tuples in shared programs: 128691 -> 125304 (-2.63%)
tuples in affected programs: 114091 -> 110704 (-2.97%)
helped: 844
HURT: 377
helped stats (abs) min: 1.0 max: 150.0 x̄: 4.88 x̃: 3
helped stats (rel) min: 0.30% max: 26.42% x̄: 5.56% x̃: 4.35%
HURT stats (abs)   min: 1.0 max: 8.0 x̄: 1.94 x̃: 1
HURT stats (rel)   min: 0.20% max: 33.33% x̄: 6.84% x̃: 3.23%
95% mean confidence interval for tuples value: -3.16 -2.38
95% mean confidence interval for tuples %-change: -2.19% -1.27%
Tuples are helped.

total clauses in shared programs: 27579 -> 26059 (-5.51%)
clauses in affected programs: 20606 -> 19086 (-7.38%)
helped: 941
HURT: 39
helped stats (abs) min: 1.0 max: 21.0 x̄: 1.66 x̃: 1
helped stats (rel) min: 0.69% max: 44.44% x̄: 10.48% x̃: 9.09%
HURT stats (abs)   min: 1.0 max: 2.0 x̄: 1.15 x̃: 1
HURT stats (rel)   min: 1.89% max: 10.00% x̄: 4.73% x̃: 4.55%
95% mean confidence interval for clauses value: -1.63 -1.47
95% mean confidence interval for clauses %-change: -10.27% -9.48%
Clauses are helped.

total cycles in shared programs: 12262.54 -> 12154.79 (-0.88%)
cycles in affected programs: 2210.54 -> 2102.79 (-4.87%)
helped: 374
HURT: 56
helped stats (abs) min: 0.041665999999999315 max: 6.25 x̄: 0.30 x̃: 0
helped stats (rel) min: 0.42% max: 26.00% x̄: 6.90% x̃: 7.14%
HURT stats (abs)   min: 0.041665999999999315 max: 0.5833319999999986 x̄: 0.11 x̃: 0
HURT stats (rel)   min: 0.16% max: 100.00% x̄: 55.17% x̃: 50.00%
95% mean confidence interval for cycles value: -0.29 -0.21
95% mean confidence interval for cycles %-change: -1.37% 3.73%
Inconclusive result (%-change mean confidence interval includes 0).

total arith in shared programs: 4852.29 -> 4658.13 (-4.00%)
arith in affected programs: 4525.17 -> 4331 (-4.29%)
helped: 1112
HURT: 166
helped stats (abs) min: 0.041665999999999315 max: 6.25 x̄: 0.19 x̃: 0
helped stats (rel) min: 0.42% max: 33.33% x̄: 6.59% x̃: 5.36%
HURT stats (abs)   min: 0.041665999999999315 max: 0.5833319999999986 x̄: 0.07 x̃: 0
HURT stats (rel)   min: 0.16% max: 100.00% x̄: 25.05% x̃: 2.40%
95% mean confidence interval for arith value: -0.17 -0.14
95% mean confidence interval for arith %-change: -3.44% -1.51%
Arith are helped.

total quadwords in shared programs: 117141 -> 111394 (-4.91%)
quadwords in affected programs: 104390 -> 98643 (-5.51%)
helped: 1245
HURT: 76
helped stats (abs) min: 1.0 max: 69.0 x̄: 4.74 x̃: 4
helped stats (rel) min: 0.28% max: 35.00% x̄: 7.88% x̃: 6.45%
HURT stats (abs)   min: 1.0 max: 8.0 x̄: 2.01 x̃: 1
HURT stats (rel)   min: 0.20% max: 10.00% x̄: 3.52% x̃: 4.25%
95% mean confidence interval for quadwords value: -4.61 -4.09
95% mean confidence interval for quadwords %-change: -7.56% -6.88%
Quadwords are helped.

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

3 years agopan/bi: Handle 4-src instructions in scheduler
Alyssa Rosenzweig [Thu, 8 Jul 2021 21:32:28 +0000 (17:32 -0400)]
pan/bi: Handle 4-src instructions in scheduler

Spill to a move. This allows us to emit SHADDX and general CSEL.

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

3 years agopan/bi: Add bi_before_tuple convenience method
Alyssa Rosenzweig [Thu, 8 Jul 2021 21:31:05 +0000 (17:31 -0400)]
pan/bi: Add bi_before_tuple convenience method

For constructing instructions during scheduling.

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

3 years agopan/bi: Handle multiple destinations in scheduler
Alyssa Rosenzweig [Thu, 8 Jul 2021 21:30:32 +0000 (17:30 -0400)]
pan/bi: Handle multiple destinations in scheduler

Needed for correct handling of pseudo ops like SHADDX and CUBEFACE

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

3 years agopan/bi: Do helper termination analysis on clauses
Alyssa Rosenzweig [Mon, 12 Jul 2021 15:11:27 +0000 (11:11 -0400)]
pan/bi: Do helper termination analysis on clauses

Unlike the dependency analysis for the skip bits which is a function of
the data flow graph, the thread termination analysis is dependent on the
actual sequence of instructions. As such, it must be done after
scheduling to be correct in the presence of out-of-order scheduling.

Furthermore it's specified in terms of clauses, not instructions.
Reflecting this in our code gets a nice simplification. As a side effect
this puts extra td flags on subsequent clauses, which matches the DDK's
behaviour. (Maybe td is just a hint?)

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

3 years agopan/bi: Update ins->link after scheduling
Alyssa Rosenzweig [Mon, 12 Jul 2021 16:05:28 +0000 (12:05 -0400)]
pan/bi: Update ins->link after scheduling

Otherwise foreach_instr and friends will be subtly wrong. None of our
current passes rely on this but it's a footgun.

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

3 years agopan/bi: Make bi_foreach_instr_in_tuple safer
Alyssa Rosenzweig [Mon, 12 Jul 2021 16:00:44 +0000 (12:00 -0400)]
pan/bi: Make bi_foreach_instr_in_tuple safer

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

3 years agopan/bi: Refuse to CSE non-SSA sources
Alyssa Rosenzweig [Mon, 12 Jul 2021 14:26:05 +0000 (10:26 -0400)]
pan/bi: Refuse to CSE non-SSA sources

They might have changed in between.

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

3 years agopanfrost: Only access blitter from per-gen
Alyssa Rosenzweig [Mon, 12 Jul 2021 22:09:43 +0000 (18:09 -0400)]
panfrost: Only access blitter from per-gen

Now the blitter may be compiled per-gen legally.

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

3 years agopanfrost: Init/destroy blitter from per-gen file
Alyssa Rosenzweig [Mon, 12 Jul 2021 22:05:18 +0000 (18:05 -0400)]
panfrost: Init/destroy blitter from per-gen file

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

3 years agopanfrost: Remove pan_blitter integration
Alyssa Rosenzweig [Mon, 12 Jul 2021 21:56:14 +0000 (17:56 -0400)]
panfrost: Remove pan_blitter integration

This was useful when panvk was being bootstrapped, allowing the blitter
to be tested against a known-working driver. With panvk in-tree, I don't
see a compelling reason to keep pan_blitter support wired in but
off-by-default. Keeping it will complicate the GenXML change we're about
to make.

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

3 years agopanfrost: Avoid GenXML enum dependences
Alyssa Rosenzweig [Thu, 8 Jul 2021 18:59:49 +0000 (14:59 -0400)]
panfrost: Avoid GenXML enum dependences

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

3 years agopanfrost: Remove reference to mali_blend_equation_packed
Alyssa Rosenzweig [Thu, 8 Jul 2021 18:54:01 +0000 (14:54 -0400)]
panfrost: Remove reference to mali_blend_equation_packed

Genxml dependent.

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

3 years agopanfrost: Use generic delete for ZSA
Alyssa Rosenzweig [Thu, 8 Jul 2021 18:49:10 +0000 (14:49 -0400)]
panfrost: Use generic delete for ZSA

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

3 years agopanfrost: Pin an architecture for blending
Alyssa Rosenzweig [Thu, 8 Jul 2021 17:59:18 +0000 (13:59 -0400)]
panfrost: Pin an architecture for blending

Need to pick something but it's all the same, even on Valhall.

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

3 years agopanfrost: Give WLS Instances a default
Alyssa Rosenzweig [Thu, 8 Jul 2021 16:37:39 +0000 (12:37 -0400)]
panfrost: Give WLS Instances a default

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

3 years agopanfrost: Use smaller sizes in blend table
Alyssa Rosenzweig [Thu, 8 Jul 2021 15:16:59 +0000 (11:16 -0400)]
panfrost: Use smaller sizes in blend table

Saves a few kb.

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

3 years agopanfrost: Specialize blendable_formats for v6
Alyssa Rosenzweig [Thu, 8 Jul 2021 15:12:06 +0000 (11:12 -0400)]
panfrost: Specialize blendable_formats for v6

Let's bake the swizzle in.

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

3 years agopanfrost: Compile format table multiple times
Alyssa Rosenzweig [Thu, 8 Jul 2021 15:07:00 +0000 (11:07 -0400)]
panfrost: Compile format table multiple times

This allows us to unify the midgard and bifrost tables and just #ifdef
the differences. It will soon also allow us to fix a bunch of enums and
specialize blendable formats.

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

3 years agopanfrost: Add GenXML macros
Alyssa Rosenzweig [Thu, 8 Jul 2021 15:06:42 +0000 (11:06 -0400)]
panfrost: Add GenXML macros

From intel.

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

3 years agopanfrost: Remove panfrost_bifrost_swizzle
Alyssa Rosenzweig [Thu, 8 Jul 2021 00:21:38 +0000 (20:21 -0400)]
panfrost: Remove panfrost_bifrost_swizzle

Deprecated and now unused.

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

3 years agopanvk: Don't use panfrost_bifrost_swizzle
Alyssa Rosenzweig [Thu, 8 Jul 2021 00:20:52 +0000 (20:20 -0400)]
panvk: Don't use panfrost_bifrost_swizzle

It's not needed. This produces chooses slightly different formats on v7
but no functional change.

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

3 years agopanfrost: Move arch-independent pan_format code
Alyssa Rosenzweig [Thu, 8 Jul 2021 00:08:40 +0000 (20:08 -0400)]
panfrost: Move arch-independent pan_format code

Now pan_format.c is just tables.

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

3 years agopanfrost: Inline panfrost_get_z_internal_format
Alyssa Rosenzweig [Thu, 8 Jul 2021 00:06:33 +0000 (20:06 -0400)]
panfrost: Inline panfrost_get_z_internal_format

Trivial, get it out of the way so pan_format can focus on the tables.

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

3 years agopanfrost: Assert that injected jobs are for blits
Alyssa Rosenzweig [Tue, 6 Jul 2021 23:33:55 +0000 (19:33 -0400)]
panfrost: Assert that injected jobs are for blits

Remove a level of indentation.

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

3 years agopanfrost: Inline away pan_invocation.c
Alyssa Rosenzweig [Tue, 6 Jul 2021 23:31:25 +0000 (19:31 -0400)]
panfrost: Inline away pan_invocation.c

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

3 years agopanfrost: Express pack_work_groups more concisely
Alyssa Rosenzweig [Tue, 6 Jul 2021 23:28:33 +0000 (19:28 -0400)]
panfrost: Express pack_work_groups more concisely

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

3 years agopanfrost: Inline away pan_pool.c
Alyssa Rosenzweig [Tue, 6 Jul 2021 23:19:02 +0000 (19:19 -0400)]
panfrost: Inline away pan_pool.c

Just noise now that it's been abstracted for panvk.

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

3 years agopanfrost: Move panfrost_vertex/instance_id to per-gen
Alyssa Rosenzweig [Tue, 6 Jul 2021 23:16:29 +0000 (19:16 -0400)]
panfrost: Move panfrost_vertex/instance_id to per-gen

Now the rest of pan_attributes.c is GenXML-independent.

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

3 years agopanfrost: Inline flip_compare_func into pan_encoder.h
Alyssa Rosenzweig [Tue, 6 Jul 2021 23:12:24 +0000 (19:12 -0400)]
panfrost: Inline flip_compare_func into pan_encoder.h

This will become the home for little GenXML-aware helpers, suitable to
be #include'd from pan_cmdstream.c (or panvk equivalent).

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

3 years agolavapipe: expose strict-lines feature
Erik Faye-Lund [Wed, 7 Jul 2021 09:54:32 +0000 (11:54 +0200)]
lavapipe: expose strict-lines feature

The strictLines-feature requires lines to be rasterized as rectangles
by default instead of using the parallelograms you get from extending
bresenham lines along their minor axis.

Now that we can specify the line mode fully we can actually express
this, so let's do so.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11782>

3 years agolavapipe: re-expose line-rasterization extension
Erik Faye-Lund [Wed, 7 Jul 2021 15:06:47 +0000 (17:06 +0200)]
lavapipe: re-expose line-rasterization extension

While we're at it, let's also enable rectangular line support, now that
we can properly control it.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11782>

3 years agollvmpipe: respect rectangular_lines
Erik Faye-Lund [Wed, 7 Jul 2021 09:50:45 +0000 (11:50 +0200)]
llvmpipe: respect rectangular_lines

With the new rectangular_lines state, we can now support rasterizing
wide lines correctly according to the vulkan spec, where this can be
specified independently of the rest of the state.

Because rectangular lines are orthogonal to multi-sampling, we now need
to also adjust with the pixel-offset in the rectangle code-path as well.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11782>

3 years agodraw: respect line_rectangular state
Erik Faye-Lund [Wed, 7 Jul 2021 21:44:44 +0000 (23:44 +0200)]
draw: respect line_rectangular state

Now that we have a separate flag to signal rectangular lines, let's use
that instead of the smooth-flag.

This should have the benefit of also drawing rectangular lines when
multisampling stippled, non-smooth lines. But it seems there were no
test for that, so no results to update.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11782>

3 years agogallium: explicitly specify line rasterization mode
Erik Faye-Lund [Wed, 7 Jul 2021 09:44:20 +0000 (11:44 +0200)]
gallium: explicitly specify line rasterization mode

Currently, drivers infer the line rasterization mode from the
multisampling and line_smooth rasterization state. This is always
correct for OpenGL, but is subtly incorrect for DirectX 9, 10 and
Vulkan (when VK_EXT_line_rasterization is supported).

So let's allow front-ends to choose freely between rectangle and
paralellogram rendering.

The reason why there's no added cap for this, is that the implicit
selection that drivers currently do will work just as well (or more
correclty, just as subtly wrong) as before. And there's nothing
reasonable the front-ends can do to get the correct behavior, so
there's really no fall-back code to write either.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11782>

3 years agolavapipe: fix disable_multisample condition
Erik Faye-Lund [Wed, 7 Jul 2021 09:34:39 +0000 (11:34 +0200)]
lavapipe: fix disable_multisample condition

There's two of the line-modes that warrants disabling multisampling,
and that's bresenham and smooth lines.

The reason we need this for the smooth lines case, is that multisampling
overrides the smooth-flag.

Fixes: 9fbf6b2abff ("lavapipe: implement VK_EXT_line_rasterization")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11782>

3 years agolavapipe: do not disable multisampling for smooth lines
Erik Faye-Lund [Wed, 7 Jul 2021 10:02:39 +0000 (12:02 +0200)]
lavapipe: do not disable multisampling for smooth lines

Smooth lines are also rasterized with rectangles instead of using
bresenham-style lines, so let's make sure we exclude those as well
from this test.

Fixes: 9fbf6b2abff ("lavapipe: implement VK_EXT_line_rasterization")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11782>

3 years agoaco/meson: remove inc_gallium from include_directories
Daniel Schürmann [Mon, 12 Jul 2021 17:46:25 +0000 (19:46 +0200)]
aco/meson: remove inc_gallium from include_directories

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11258>

3 years agoaco: Format.
Daniel Schürmann [Wed, 9 Jun 2021 08:14:54 +0000 (10:14 +0200)]
aco: Format.

Manually adjusted some comments for more intuitive line breaks.

Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11258>

3 years agoaco: add .clang-format file
Daniel Schürmann [Wed, 9 Jun 2021 06:53:11 +0000 (08:53 +0200)]
aco: add .clang-format file

Based on src/amd/.clang-format with following changes:
Language: Cpp
Standard: c++14
PointerAlignment: Left
IndentAccessModifiers: False
SpaceBeforeCtorInitializerColon: True
AllowShortCaseLabelsOnASingleLine: True
AllowShortFunctionsOnASingleLine: InlineOnly
AllowShortBlocksOnASingleLine: Empty
AllowShortLambdasOnASingleLine: All
BraceWrapping:
  SplitEmptyFunction: false
  SplitEmptyRecord: false
  BeforeLambdaBody: true
IncludeBlocks: Regroup (with specified IncludeCategories)

Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11258>

3 years agozink: ci updates
Mike Blumenkrantz [Mon, 12 Jul 2021 16:59:53 +0000 (12:59 -0400)]
zink: ci updates

this one no longer flakes

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11829>

3 years agozink: zero out sampler/image descriptor surface info for null descriptor updates
Mike Blumenkrantz [Mon, 12 Jul 2021 16:57:29 +0000 (12:57 -0400)]
zink: zero out sampler/image descriptor surface info for null descriptor updates

this is the surface struct used by the caching manager to generate a ref update template,
which means it must be kept in sync with the current state of descriptors

when the struct is zeroed, it implies that no refs need to be taken for the cached set

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11829>

3 years agoir3/print: Manual formatting fixups
Connor Abbott [Mon, 12 Jul 2021 17:01:06 +0000 (19:01 +0200)]
ir3/print: Manual formatting fixups

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

3 years agoir3: Reformat source with clang-format
Connor Abbott [Fri, 9 Jul 2021 12:50:05 +0000 (14:50 +0200)]
ir3: Reformat source with clang-format

Generated using:

cd src/freedreno/ir3 && clang-format -i {**,.}/*.c {**,.}/*.h -style=file

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

3 years agofreedreno: Add some options to .clang-format
Connor Abbott [Mon, 12 Jul 2021 10:42:40 +0000 (12:42 +0200)]
freedreno: Add some options to .clang-format

In preparation for reformatting ir3.

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

3 years agoir3: Manually reformat some places
Connor Abbott [Fri, 9 Jul 2021 11:34:26 +0000 (13:34 +0200)]
ir3: Manually reformat some places

clang-format does a bad job with a few tables and macros, and there were
some places it was doing wonky things because comments were longer than
80 characters and it tries to fix that without reformatting the comment
itself. Add magic comments to tell it to turn itself off and retab those
places manually (well, with a regex!).

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

3 years agoir3: Update .editorconfig and .dir-locals.el
Connor Abbott [Mon, 12 Jul 2021 13:03:38 +0000 (15:03 +0200)]
ir3: Update .editorconfig and .dir-locals.el

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

3 years agoir3/lower_parallelcopy: Don't manually set wrmask
Connor Abbott [Mon, 12 Jul 2021 13:09:20 +0000 (15:09 +0200)]
ir3/lower_parallelcopy: Don't manually set wrmask

It's automatically set. This avoids some weird line wrapping with
clang-format.

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

3 years agoir3: Add ir3_collect() for fixed-size collects
Connor Abbott [Mon, 12 Jul 2021 16:11:21 +0000 (18:11 +0200)]
ir3: Add ir3_collect() for fixed-size collects

This avoids having the specify the size, and fixes weird formatting with
clang-format.

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

3 years agoir3: Add missing include to ir3_parser.y
Connor Abbott [Fri, 9 Jul 2021 13:33:12 +0000 (15:33 +0200)]
ir3: Add missing include to ir3_parser.y

This prevents build errors in the generated ir3_parser.h when
clang-format reshuffles the header includes.

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

3 years agovulkan/wsi/wl: add wl_shm support for lavapipe.
Dave Airlie [Mon, 12 Jul 2021 00:29:28 +0000 (10:29 +1000)]
vulkan/wsi/wl: add wl_shm support for lavapipe.

This adds swrast support for rendering from lavapipe.

Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11819>

3 years agoRevert "ci/panfrost: Temporarily disable sun50i/RK3288"
Daniel Stone [Mon, 12 Jul 2021 16:55:04 +0000 (17:55 +0100)]
Revert "ci/panfrost: Temporarily disable sun50i/RK3288"

Back by popular demand etc

This reverts commit 9868b15164488f3a87d3204ff8788e9ce2f9c132.

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

3 years agokmsro: Add mali-dp
Michael Walle [Fri, 28 May 2021 12:29:52 +0000 (14:29 +0200)]
kmsro: Add mali-dp

The NXP LS1028A SoC includes a mali-dp display controller and a vivante
GPU. This allows using the Etnaviv driver on this SoC.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11419>

3 years agost/xa: Mark default xa_get_pipe_format case unreachable.
Vinson Lee [Sun, 14 Feb 2021 04:56:43 +0000 (20:56 -0800)]
st/xa: Mark default xa_get_pipe_format case unreachable.

Fix defect reported by Coverity Scan.

Uninitialized scalar variable (UNINIT)
uninit_use: Using uninitialized value fdesc. Field fdesc.format is uninitialized.

Fixes: 9f2f5b3d7fd ("st/xa: Initial import of the xa state-tracker and the xa-vmwgfx target.")
Suggested-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9035>

3 years agoutil/meson: include inc_gallium
Daniel Schürmann [Fri, 9 Jul 2021 20:19:23 +0000 (22:19 +0200)]
util/meson: include inc_gallium

There are several dependencies on headers from
   /gallium/include/pipe/

which currently mean that dependencies on util
must include gallium to compile.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11811>

3 years agoi915g: Fix backface stencil when front_ccw is set.
Emma Anholt [Sun, 4 Jul 2021 05:12:21 +0000 (22:12 -0700)]
i915g: Fix backface stencil when front_ccw is set.

If we're doing separate front/back stencil ops, then in the absence of a
hardware bit for setting front_ccw (which you can already see from how we
manage cull face) we need to flip front/back stencil register settings.

Closes: #4974, #4975
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11706>