platform/upstream/mesa.git
2 years agoradv: Set uses_sample_shading for copy shaders
Jason Ekstrand [Wed, 13 Jul 2022 18:04:46 +0000 (13:04 -0500)]
radv: Set uses_sample_shading for copy shaders

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

2 years agointel/blorp: Set uses_sample_shading for MSAA blit shaders
Jason Ekstrand [Thu, 2 Dec 2021 05:15:09 +0000 (23:15 -0600)]
intel/blorp: Set uses_sample_shading for MSAA blit shaders

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020>

2 years agopanfrost: Protect pandecode by a mutex
Alyssa Rosenzweig [Tue, 5 Jul 2022 19:21:53 +0000 (15:21 -0400)]
panfrost: Protect pandecode by a mutex

Pandecode is not thread-safe (for a large number of reasons) and does not even
try to be. This is a problem when tracing (or just using PAN_MESA_DEBUG=sync)
multithreaded applications. The most common symptom of the problem are assertion
failures deep in the red-black tree implementation, which is not thread-safe.

Just protect the whole thing by a "in pandecode?" mutex, since this is not
performance sensitive code and we don't really care about the extra
serialization incurred. As pandecode does not recurse into itself, we may simply
lock at the beginning and unlock at the end of each entrypoint in pandecode,
which is thread-safe regardless of how pandecode is used. A few entrypoints are
refactored to avoid early returns to keep the lock/unlock calls in obvious
visual pairs.

Fixes flakes when running the CL CTS with PAN_MESA_DEBUG=sync like we would in
CI (e.g: events.event_flush)

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Tested-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17409>

2 years agopanfrost: Use implementation-specific tile size
Alyssa Rosenzweig [Thu, 7 Jul 2022 22:39:17 +0000 (18:39 -0400)]
panfrost: Use implementation-specific tile size

The physical tile buffer size (and hence the maximum available tilebuffer size)
are implementation-defined. Track this information on the device so we can
correctly select tile sizes, instead of hardcoding the value for Midgard.

Implementation values are pulled from the "Tile bits/pixel" row of the public
Mali data sheet [1]. That row lists the maximum number of bits available for a
pixel given the maximum tile size and pipelining. For currently supported
hardware (v9 and older), that maximum tile size is 16x16. So those values should
be multiplied by (16 * 16 * 2) / 8 to get the physical size in bytes.

This may improve Bifrost/Valhall performance on workloads using multiple render
targets. It also gets us ready for the dazzling array of tile sizes available
with v10.

[1] https://developer.arm.com/documentation/102849/latest/

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

2 years agopanfrost: Make pan_select_max_tile_size O(1)
Alyssa Rosenzweig [Tue, 12 Jul 2022 20:45:09 +0000 (16:45 -0400)]
panfrost: Make pan_select_max_tile_size O(1)

Separate out "calculating the size of each pixel", "selecting a tile size", and
"calculating the colour buffer allocation". Then implement the middle (selecting
a tile size) with a simple constant time expression, rather than a loop. There's
a bit of related clean up in here.

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

2 years agopan/va: Handle BIFROST_MESA_DEBUG=nosb
Alyssa Rosenzweig [Wed, 22 Jun 2022 15:35:32 +0000 (11:35 -0400)]
pan/va: Handle BIFROST_MESA_DEBUG=nosb

For debugging flakes that might be caused due to wrong scoreboarding.

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

2 years agoir3: Fix the no-emitted-vertex condition emission in geom lowering.
Emma Anholt [Tue, 12 Jul 2022 23:10:17 +0000 (16:10 -0700)]
ir3: Fix the no-emitted-vertex condition emission in geom lowering.

The if statement we insert would insert a new block before the end block
(and remove the old pre-end-block).  If the new block ended up later in
the HT due to its pointer's hash value, you'd emit another copy of the if
statement after the last one.  I saw this happen up to 4 times in testing.
The worst case would be if all those additions and removals ended up
reallocating the HT, at which point we might use-after-free.

Fixes inconsistent shader-db results with geometry shaders.

Cc: mesa-stable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17501>

2 years agopan/va: Print instructions with pack assert fails
Alyssa Rosenzweig [Fri, 8 Jul 2022 15:46:11 +0000 (11:46 -0400)]
pan/va: Print instructions with pack assert fails

va_pack asserts a large number of invariants about the instruction being packed.
If one of these fails (due to an invalid instruction), it's helpful to inspect
the failing instruction, as it may not be apparent in a large shader. Pass the
instruction through with all the assertions in va_pack for easier debugging.

Now assertion failures when packing are easier to debug:

   Invalid invariant lo.type == hi.type:
       = STORE.i32.flow2.wls br5, br2, wls_ptr[1], byte_offset:0

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

2 years agopan/va: Use invalid_instruction in more places
Alyssa Rosenzweig [Fri, 8 Jul 2022 15:39:21 +0000 (11:39 -0400)]
pan/va: Use invalid_instruction in more places

By passing the instruction pointer through the packer, we can get better error
messages with invalid_instruction.

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

2 years agopan/va: Dump unencodable instructions
Alyssa Rosenzweig [Wed, 22 Jun 2022 21:01:02 +0000 (17:01 -0400)]
pan/va: Dump unencodable instructions

When we assert out due to certain invalid encoding, it's helpful to know what
instruction is causing the failure, since it may not be obvious from the
assembly for large shaders. Now we get nice errors when failing:

   Invalid opcode:
      br0 = VAR_TEX.f32.flow8.store.skip.lod_mode.center , texture_index:0, varying_index:0

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

2 years agopanfrost: Only key points to point coord origin
Alyssa Rosenzweig [Mon, 20 Jun 2022 23:44:28 +0000 (19:44 -0400)]
panfrost: Only key points to point coord origin

Apparently, the point coord origin within a batch can change with Gallium
(seemingly even with GLES? where that's impossible at an API level?) but that
doesn't matter if we're not drawing points. This might have to do with internal
Gallium CSOs (e.g. u_blitter). Issue noticed in SuperTuxKart, which was getting
state change flushes. Performance on one level on a Valhall GPU improved from
26fps to 29fps.

Fixes: 3641dfe4367 ("panfrost: Flip point coords in hardware")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17430>

2 years agopanfrost: Revert provoking vertex assertion
Alyssa Rosenzweig [Tue, 12 Jul 2022 19:08:39 +0000 (15:08 -0400)]
panfrost: Revert provoking vertex assertion

b6a30b72ab3 ("panfrost: Implement provoking vertices on Valhall") added an
assertion that every draw selects a particular provoking vertex. The intent was
to ensure provoking vertex selection actually happened. Unfortunately, the
assertion is too strong, as the provoking vertex is irrelevant for some (most)
draws. For those, we don't *want* to commit to a particular provoking vertex for
those to avoid flushing.

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

2 years agoglx: Fix drawable refcounting for naked Windows
Adam Jackson [Mon, 11 Jul 2022 23:30:05 +0000 (19:30 -0400)]
glx: Fix drawable refcounting for naked Windows

driFetchDrawable is only ever called from the MakeCurrent path, which
means it has to handle the case of pre-GLX-1.3 Windows being named as
the drawable. When it finds the drawable in the hash, it increments its
refcount before returning it, so for a GLXWindow it would be 2 on first
return, one from glXCreateWindow and one from glXMakeCurrent. But when
it does not find the drawable and creates one for the naked Window, the
reference count on first return would only be 1. As a result, if this
context was then ever bound to a different drawable, the old Window's
DRI drawable state (like the back buffer) would be destroyed.

Fixes piglit's glx-multi-window-single-context and glx-make-current for
a variety of drivers.

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

2 years agointel/compiler: print shaders after nir_remove_unused_varyings
Marcin Ślusarz [Wed, 13 Jul 2022 11:52:52 +0000 (13:52 +0200)]
intel/compiler: print shaders after nir_remove_unused_varyings

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17516>

2 years agoetnaviv: tex_desc: remove descriptor patch TODO comment
Lucas Stach [Sun, 10 Jul 2022 14:37:25 +0000 (16:37 +0200)]
etnaviv: tex_desc: remove descriptor patch TODO comment

There is nothing more TODO here. With softpin, which is available on all
GPUs using texture descriptors, there is no need for the kernel to patch
the descriptor, as the proper GPU virtual address is filled in by userspace.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17448>

2 years agoetnaviv: tex_desc: make error handling more consistent
Lucas Stach [Sun, 10 Jul 2022 14:21:02 +0000 (16:21 +0200)]
etnaviv: tex_desc: make error handling more consistent

There already is a error handling label to free the sampler view
struct and return failure. Consistently use this label to make
error handling more uniform.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17448>

2 years agoetnaviv: add texture descriptor suballocator
Lucas Stach [Sun, 10 Jul 2022 14:03:45 +0000 (16:03 +0200)]
etnaviv: add texture descriptor suballocator

Texture descriptors currently waste a massive ammount of memory, as every
one is allocated via a separate BO. As the allocation granularity of the
kernel is 4KB and the descriptor is only 256B, 93.75% of the allocated
memory is wasted.

Add a simple suballocator for the texture descriptors, to allocate multiple
ones out of a single kernel BO. This isn't perfect, as freed slots in the
suballocated resource are not reused, but worst-case we end up with the
same waste as we had before. This also potentially improves efficiency at
the kernel side, as this reduces the number of BOs needed for the sampler
views in each submit.

As the BO is now used by multiple descriptors, avoid syncing with the GPU
via the cpu_prep/fini calls, as to not introduce stalls between pending
rendering and new descriptors being filled. This is safe, as each
suballocation slot is only used once, so newly filled slots are certainly
not in use by the GPU.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17448>

2 years agoetnaviv: move dummy BOs to screen
Lucas Stach [Sun, 10 Jul 2022 13:21:00 +0000 (15:21 +0200)]
etnaviv: move dummy BOs to screen

The dummy texture descriptor and the dummy render target relocs are not ever
changed by a context operation, so we can save some space by moving them to
the screen and potentially share them and the BOs backing them between
multiple contexts.

Also don't hold two pointers to the same BO, one in the reloc and one raw,
but always just use the reloc one.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17448>

2 years agozink: add missing guards around `have_{ext}`
Eric Engestrom [Mon, 11 Jul 2022 22:33:37 +0000 (23:33 +0100)]
zink: add missing guards around `have_{ext}`

Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17466>

2 years agozink: drop unused VkPhysicalDevicePortabilitySubsetPropertiesKHR
Eric Engestrom [Mon, 11 Jul 2022 22:31:25 +0000 (23:31 +0100)]
zink: drop unused VkPhysicalDevicePortabilitySubsetPropertiesKHR

Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17466>

2 years agozink: fix portability_subset usage after rename from EXTX to KHR
Eric Engestrom [Mon, 11 Jul 2022 17:40:04 +0000 (18:40 +0100)]
zink: fix portability_subset usage after rename from EXTX to KHR

Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17466>

2 years agor600/sfn: emulate pmr::monotonic_buffer_resource if needed
Gert Wollny [Mon, 11 Jul 2022 06:58:48 +0000 (08:58 +0200)]
r600/sfn: emulate pmr::monotonic_buffer_resource if needed

libc++ does not yet implement the c++17 monotonic_buffer_resource,
so emulate it by doing normal allocations that are cleaned up
when the resource is destroyed.

v2: - Use C include and version without namespace aligned_alloc
    - add include for sstream needed with clang++ (maurossi)

Closes: #6836
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17452>

2 years agor600/sfn: lower CLIPVERTEX to clip planes
Gert Wollny [Sun, 3 Jul 2022 17:04:05 +0000 (19:04 +0200)]
r600/sfn: lower CLIPVERTEX to clip planes

With that most piglits for compatibility contexts are
passing, so enable higher compatibility profile support.

v2: fix formatting ahd fallthrough tag (Filip)

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484>

2 years agor600/sfn: Add support for fdph
Gert Wollny [Tue, 12 Jul 2022 09:45:58 +0000 (11:45 +0200)]
r600/sfn: Add support for fdph

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484>

2 years agor600/sfn: Never consider an op with register dest as dead
Gert Wollny [Mon, 11 Jul 2022 18:09:59 +0000 (20:09 +0200)]
r600/sfn: Never consider an op with register dest as dead

Another hot-fix: when a local register is written to, it is
actually unlikely that the value is never used, so just make
sure that this is never done.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484>

2 years agor600: limit loops when trying to merge alu groups
Gert Wollny [Mon, 11 Jul 2022 17:34:05 +0000 (19:34 +0200)]
r600: limit loops when trying to merge alu groups

On Cayman bank_swizzle[4] is never counted up, so add an
additional condition to make sure the loop is finished
at one point. This is a hot-fix, the logic below should be
improved.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484>

2 years agopvr: Implicitly assert that the correct sub-command type is present
Matt Coster [Mon, 4 Jul 2022 11:51:12 +0000 (12:51 +0100)]
pvr: Implicitly assert that the correct sub-command type is present

Now that we have separate C types for the different sub-command types,
we can require a pointer to that type to be passed into functions
which expect the current sub-command to be of a specific type.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17458>

2 years agopvr: Split out unioned structs from struct pvr_sub_cmd
Matt Coster [Wed, 29 Jun 2022 10:34:09 +0000 (11:34 +0100)]
pvr: Split out unioned structs from struct pvr_sub_cmd

This is a simple optimization to make type-specific uses of struct
pvr_sub_cmd slightly less verbose.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17458>

2 years agopvr: Implement vkCmdDraw API.
Rajnesh Kanwal [Wed, 29 Jun 2022 11:16:44 +0000 (12:16 +0100)]
pvr: Implement vkCmdDraw API.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17487>

2 years agov3d,v3dv: stop copying and pasting the translate_swizzle helper
Iago Toral Quiroga [Wed, 13 Jul 2022 07:24:18 +0000 (09:24 +0200)]
v3d,v3dv: stop copying and pasting the translate_swizzle helper

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

2 years agov3d: stop using a smaller texture limit in OpenGL
Iago Toral Quiroga [Wed, 13 Jul 2022 07:05:01 +0000 (09:05 +0200)]
v3d: stop using a smaller texture limit in OpenGL

The compiler has improved significantly since we found this issue
and this is no longer required.

Notice that because we are increasing the number of samplers
supported beyond what we can loop unroll (currently capped at 16),
some piglit tests that test the maximum number of samplers supported
start to fail because they use indirect indexing on a sampler array
and we don't support that (previously the indirect indexing was
removed by loop unrolling). This is a bug in tests which the
GLSL linker detects, failing to compile the shaders.

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

2 years agov3d,v3dv: stop hardcoding various image limits
Iago Toral Quiroga [Wed, 13 Jul 2022 06:41:10 +0000 (08:41 +0200)]
v3d,v3dv: stop hardcoding various image limits

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

2 years agov3dv: clean up get_internal_type_bpp_for_image_aspects
Iago Toral Quiroga [Wed, 13 Jul 2022 06:15:59 +0000 (08:15 +0200)]
v3dv: clean up get_internal_type_bpp_for_image_aspects

Also, remove the FIXME to pre-compute this in images. We only use
this helper from copy/clear operations where we may be working
with a compatible framebuffer format instead of the original image.

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

2 years agonine: replace ulimit with sysconf call
newbluemoon [Mon, 11 Jul 2022 19:21:35 +0000 (21:21 +0200)]
nine: replace ulimit with sysconf call

__UL_GETOPENMAX seems to be glibc specific and not portable.
In glibc’s sysdeps/posix/ulimit.c it is assigned the return
value of sysconf(_SC_OPEN_MAX). So use the latter in the first place.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5176
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17471>

2 years agoiris,anv: correct the max thread number for DG2+
Chuansheng Liu [Fri, 24 Jun 2022 02:19:03 +0000 (10:19 +0800)]
iris,anv: correct the max thread number for DG2+

Correct the max thread number for DG2+ platforms according
to below bspec.

Ref: Bspec: 47202

Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chuansheng Liu <chuansheng.liu@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17506>

2 years agonir/opt_algebraic: Optimize [ui](add|sub)_sat with 0.
Georg Lehmann [Mon, 11 Jul 2022 18:55:37 +0000 (20:55 +0200)]
nir/opt_algebraic: Optimize [ui](add|sub)_sat with 0.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468>

2 years agonir/lower_io: Fix array length of buffers larger than INT32_MAX.
Georg Lehmann [Mon, 11 Jul 2022 18:43:52 +0000 (20:43 +0200)]
nir/lower_io: Fix array length of buffers larger than INT32_MAX.

Before, if the ssbo is too large this would always return 0.
Also, this code is easier to optimize, so the common case of offset 0
and pot stride results in one ushr instead of 5+ instructions.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468>

2 years agoir3: Implement [iu]sub_sat.
Georg Lehmann [Tue, 12 Jul 2022 18:33:49 +0000 (20:33 +0200)]
ir3: Implement [iu]sub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468>

2 years agor600: Lower uadd_sat/usub_sat.
Georg Lehmann [Tue, 12 Jul 2022 18:32:00 +0000 (20:32 +0200)]
r600: Lower uadd_sat/usub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468>

2 years agozink: Lower uadd_sat/usub_sat.
Georg Lehmann [Tue, 12 Jul 2022 18:29:00 +0000 (20:29 +0200)]
zink: Lower uadd_sat/usub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468>

2 years agonir_to_tgsi: Lower uadd_sat/usub_sat.
Georg Lehmann [Tue, 12 Jul 2022 18:27:12 +0000 (20:27 +0200)]
nir_to_tgsi: Lower uadd_sat/usub_sat.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468>

2 years agoutil: Don't block SIGSEGV for new threads
Panagiotis Apostolou [Tue, 28 Jun 2022 06:47:19 +0000 (08:47 +0200)]
util: Don't block SIGSEGV for new threads

SIGSEGV is used by Vulkan API trace layers to track user changes in
device memory mapped to user space. Now with drivers such as Zink, GLES
applications are translated into Vulkan API calls and therefore it is
possible to be tracked by Vulkan api trace layers.
Blocking SIGSEGV hinders one of the memory tracking mechanisms used by
such layers.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17273>

2 years agov3dv: fix comment for point_sprite_mask filed in shader key
Iago Toral Quiroga [Tue, 12 Jul 2022 10:30:00 +0000 (12:30 +0200)]
v3dv: fix comment for point_sprite_mask filed in shader key

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

2 years agoanv: skip flush/invalidate faster
Lionel Landwerlin [Tue, 12 Jul 2022 08:21:57 +0000 (11:21 +0300)]
anv: skip flush/invalidate faster

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17481>

2 years agointel: protect against empty invalidate ranges
Lionel Landwerlin [Tue, 12 Jul 2022 08:20:10 +0000 (11:20 +0300)]
intel: protect against empty invalidate ranges

It's legal for an application to call vkInvalidateMappedMemoryRanges()
/ vkFlushMappedMemoryRanges() with zero sized ranges.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: b91971c240d3 ("anv: use the right helper to invalidate memory")
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6852
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17481>

2 years agoradv: add a dynamic vertex format cache.
Dave Airlie [Mon, 11 Apr 2022 05:37:01 +0000 (15:37 +1000)]
radv: add a dynamic vertex format cache.

With dynamic vertex bindings the vertex format lookups are a lot
more frequent (vs being baked in the pipeline). Add a simple lookup
cache using a dynamic array to keep track of the hw values, and
avoid repeated translation.

This also reduces the memset to just the bitfields since all
the others will be overwritten.

Seen in perf traces gputest gimark with zink on radv.

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

2 years agoanv: add a comment about handling buffer view swizzles on gfx7
Lionel Landwerlin [Tue, 12 Jul 2022 20:07:00 +0000 (23:07 +0300)]
anv: add a comment about handling buffer view swizzles on gfx7

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385>

2 years agoanv: validate image view lowered storage formats for storage
Lionel Landwerlin [Tue, 12 Jul 2022 15:33:47 +0000 (18:33 +0300)]
anv: validate image view lowered storage formats for storage

Ensure that if we have swizzle on the initial format, that the
component bits are identical with the lowered format.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385>

2 years agoanv: deal with isl format swizzles for buffer views
Lionel Landwerlin [Wed, 6 Jul 2022 14:48:27 +0000 (17:48 +0300)]
anv: deal with isl format swizzles for buffer views

For some formats like VK_FORMAT_B5G6R5_UNORM_PACK16, we have no direct
matching HW format. We can support it by swizzling.

We already apply those swizzles for image views. We just forgot to
deal with buffer views.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6235
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385>

2 years agodocs/u_trace: Add documentation for *_GPU_TRACEPOINT envvars
Danylo Piliaiev [Tue, 31 May 2022 11:04:27 +0000 (14:04 +0300)]
docs/u_trace: Add documentation for *_GPU_TRACEPOINT envvars

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>

2 years agofreedreno: Add FD_GPU_TRACEPOINT envvar to toggle tracepoints
Danylo Piliaiev [Tue, 31 May 2022 09:51:13 +0000 (12:51 +0300)]
freedreno: Add FD_GPU_TRACEPOINT envvar to toggle tracepoints

All tracepoints are enabled by default.

Example:
 FD_GPU_TRACEPOINT=-flush_batch

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>

2 years agofreedreno: Refactor tracepoints generation to reduce duplication
Danylo Piliaiev [Mon, 30 May 2022 18:42:55 +0000 (21:42 +0300)]
freedreno: Refactor tracepoints generation to reduce duplication

This way we will not need to repeat arguments for "start" and "end"
tracepoints.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>

2 years agofreedreno: Add the rest of tracepoints with start/end to perfetto
Danylo Piliaiev [Tue, 31 May 2022 09:37:01 +0000 (12:37 +0300)]
freedreno: Add the rest of tracepoints with start/end to perfetto

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>

2 years agoturnip: Add TU_GPU_TRACEPOINT envvar to toggle tracepoints
Danylo Piliaiev [Tue, 31 May 2022 09:54:27 +0000 (12:54 +0300)]
turnip: Add TU_GPU_TRACEPOINT envvar to toggle tracepoints

All tracepoints are enabled by default.

Example:
 TU_GPU_TRACEPOINT=-sysmem_clear

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>

2 years agoturnip: Refactor tracepoints generation to reduce duplication
Danylo Piliaiev [Mon, 30 May 2022 17:49:16 +0000 (20:49 +0300)]
turnip: Refactor tracepoints generation to reduce duplication

This way we will not need to repeat arguments for "start" and "end"
tracepoints.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>

2 years agoutil/u_trace: Fix iteration over config_control
Danylo Piliaiev [Mon, 30 May 2022 18:40:47 +0000 (21:40 +0300)]
util/u_trace: Fix iteration over config_control

Fixes: e1811af75d5b9385f9811724557a81570d0ef98e
("util/perf: add options to enable/disable tracepoints")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781>

2 years agoci/freedreno: Mark an occasional flake pass that happens on a530.
Emma Anholt [Tue, 12 Jul 2022 21:23:51 +0000 (14:23 -0700)]
ci/freedreno: Mark an occasional flake pass that happens on a530.

This MR just saw it happen for the second time I've noticed.

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

2 years agoloader: Just include driconf.h instead of redefining its values.
Emma Anholt [Mon, 11 Jul 2022 19:37:51 +0000 (12:37 -0700)]
loader: Just include driconf.h instead of redefining its values.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470>

2 years agoegl: Just include driconf.h instead of redefining its values.
Emma Anholt [Mon, 11 Jul 2022 19:37:38 +0000 (12:37 -0700)]
egl: Just include driconf.h instead of redefining its values.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470>

2 years agokopper: Respect the vblank_mode env var.
Emma Anholt [Thu, 7 Jul 2022 00:13:37 +0000 (17:13 -0700)]
kopper: Respect the vblank_mode env var.

We were defaulting to a swap interval of 1, but we can follow dri2/dri3's
lead and respect the driconf var.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470>

2 years agoglx: Unify dri2/dri3 vblank_mode logic.
Emma Anholt [Mon, 11 Jul 2022 19:01:27 +0000 (12:01 -0700)]
glx: Unify dri2/dri3 vblank_mode logic.

We need it from kopper, as well.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470>

2 years agokopper: Use the swap interval that was set at swapchain creation time.
Emma Anholt [Mon, 11 Jul 2022 19:24:17 +0000 (12:24 -0700)]
kopper: Use the swap interval that was set at swapchain creation time.

We need to track what the caller has given us for swap interval, and use
that to set the present mode at startup.

Fixes incorrect vblank syncing in apitrace's glretrace, which sets the
swap interval to 0 before the swapchain is made.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470>

2 years agokopper: Fix the return value of kopperSetSwapInterval().
Emma Anholt [Mon, 11 Jul 2022 18:51:54 +0000 (11:51 -0700)]
kopper: Fix the return value of kopperSetSwapInterval().

Compare to dri2SetSwapInterval() and dri3_set_swap_interval()
implementations of the same method.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470>

2 years agoetnaviv: Implement TXD
Marek Vasut [Sat, 23 Apr 2022 13:41:13 +0000 (15:41 +0200)]
etnaviv: Implement TXD

Fill in support for TXD instruction which emits shader TEXLDD opcode.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17500>

2 years agoetnaviv: Rename etna_emit_tex() args
Marek Vasut [Mon, 25 Apr 2022 21:35:26 +0000 (23:35 +0200)]
etnaviv: Rename etna_emit_tex() args

Rename the args from low_bias/compare to src1/src2, since they
are used for different purposes depending on the texture load
type. No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17500>

2 years agovenus: GetPhysicalDeviceSparseImageFormatProperties to match sparse support
Yiwei Zhang [Mon, 11 Jul 2022 22:36:02 +0000 (22:36 +0000)]
venus: GetPhysicalDeviceSparseImageFormatProperties to match sparse support

Test: dEQP-VK.api.info.sparse_image_format_properties2.*

Fixes: 1a7632e54b4 ("venus: add NO_FENCE_FEEDBACK perf option and disable sparse resource")

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17476>

2 years agomicrosoft/spirv_to_dxil: Fix discard to demote + return pass
Enrico Galli [Mon, 11 Jul 2022 21:15:40 +0000 (14:15 -0700)]
microsoft/spirv_to_dxil: Fix discard to demote + return pass

While SPIR-V's OpKill is block terminating, the converted discard
intrinsic is not block terminating. This can lead to issues where
instruction could be placed after discard.

This patch adds an extra pass that drops all instructions after discard
before we convert discards.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17474>

2 years agozink/ci: update list of CTS flakes for RADV
Samuel Pitoiset [Tue, 12 Jul 2022 11:56:13 +0000 (13:56 +0200)]
zink/ci: update list of CTS flakes for RADV

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17492>

2 years agoglx: Fix return values from __glXGetDrawableAttribute
Adam Jackson [Wed, 6 Jul 2022 17:46:24 +0000 (13:46 -0400)]
glx: Fix return values from __glXGetDrawableAttribute

This is intended to return true on attribute-found.

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

2 years agoglx/dri2: Stop tracking the protocol version in the display state
Adam Jackson [Wed, 6 Jul 2022 14:22:39 +0000 (10:22 -0400)]
glx/dri2: Stop tracking the protocol version in the display state

We only use it at init time, no need to keep it around.

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

2 years agoglx: Remove excess screen parameter from CreateContext
Adam Jackson [Fri, 1 Jul 2022 15:50:04 +0000 (11:50 -0400)]
glx: Remove excess screen parameter from CreateContext

This is effectively looked up from the config anyway, which we're
already passing in.

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

2 years agoglx: Remove unused __glXSetupForCommand from __glXIsDirect
Adam Jackson [Thu, 23 Jun 2022 18:44:20 +0000 (14:44 -0400)]
glx: Remove unused __glXSetupForCommand from __glXIsDirect

This was needed when we emitted an xlib request here, but xcb knows the
GLX major opcode for the connection already.

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

2 years agoglx: Remove some can't-happen checks from protocolDestroyDrawable
Adam Jackson [Tue, 21 Jun 2022 21:36:03 +0000 (17:36 -0400)]
glx: Remove some can't-happen checks from protocolDestroyDrawable

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

2 years agofreedreno/a6xx: VPC_SO_NCOMP is actually VPC_SO_BUFFER_STRIDE
Connor Abbott [Tue, 12 Jul 2022 14:55:03 +0000 (16:55 +0200)]
freedreno/a6xx: VPC_SO_NCOMP is actually VPC_SO_BUFFER_STRIDE

This answers the question in a comment in turnip, and fixes some GL46
tests and piglit tests.

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

2 years agovc4: Add links to test bug reports.
Emma Anholt [Sun, 10 Jul 2022 15:39:36 +0000 (08:39 -0700)]
vc4: Add links to test bug reports.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17449>

2 years agovc4: Work around a HW bug with 2-vert line loops.
Emma Anholt [Sun, 10 Jul 2022 15:11:15 +0000 (08:11 -0700)]
vc4: Work around a HW bug with 2-vert line loops.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17449>

2 years agomesa: Fix the error check for VertexAttrib*.
Emma Anholt [Sun, 10 Jul 2022 15:02:51 +0000 (08:02 -0700)]
mesa: Fix the error check for VertexAttrib*.

It was checking "mesa's theoretical max attributes" rather than "the
driver's max attributes."

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17449>

2 years agozink: Do the timestamp-to-ns math in a double to have better precision.
Emma Anholt [Mon, 11 Jul 2022 22:50:50 +0000 (15:50 -0700)]
zink: Do the timestamp-to-ns math in a double to have better precision.

Fixes arb_timer_query-timestamp-get on my radv system, where the GPU has
been on for many days and the timestamp would only increment every once in
a while.

Part of fixing #6808

Fixes: 7a40b734ee2b ("zink: handle timestamp queries")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17477>

2 years agor600/sfn: Don't use assert to test success of operation
Gert Wollny [Tue, 12 Jul 2022 16:15:41 +0000 (18:15 +0200)]
r600/sfn: Don't use assert to test success of operation

With that the actual call will be eliminated if the code is
compiled with NDEBUG.

Fixes: 79ca456b4837b3bc21cf9ef3c03c505c4b4909f6
  r600/sfn: rewrite NIR backend

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6832
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17496>

2 years agovenus: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:06:18 +0000 (13:06 +0100)]
venus: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agopanvk: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:07:04 +0000 (13:07 +0100)]
panvk: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agodzn: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:05:54 +0000 (13:05 +0100)]
dzn: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agoanv: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:03:31 +0000 (13:03 +0100)]
anv: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agopvr: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:05:45 +0000 (13:05 +0100)]
pvr: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agolavapipe: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:05:20 +0000 (13:05 +0100)]
lavapipe: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agozink: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:05:06 +0000 (13:05 +0100)]
zink: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agozink/codegen: use the updated identifiers
Hoe Hao Cheng [Sat, 2 Jul 2022 08:19:13 +0000 (16:19 +0800)]
zink/codegen: use the updated identifiers

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agoturnip: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:04:48 +0000 (13:04 +0100)]
turnip: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agov3dv: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:04:28 +0000 (13:04 +0100)]
v3dv: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Iago Toral Quiroga <itoral@igalia.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agoradv: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:03:58 +0000 (13:03 +0100)]
radv: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agonir: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:07:26 +0000 (13:07 +0100)]
nir: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agovulkan: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:02:59 +0000 (13:02 +0100)]
vulkan: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agovulkan/runtime: use updated tokens from vk.xml
Eric Engestrom [Fri, 1 Jul 2022 12:02:59 +0000 (13:02 +0100)]
vulkan/runtime: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agovulkan: add script to detect & replace identifiers that have been renamed
Eric Engestrom [Thu, 10 Jan 2019 14:02:51 +0000 (14:02 +0000)]
vulkan: add script to detect & replace identifiers that have been renamed

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>

2 years agovulkan/wsi: Add debug variables to force the SW and PRIME buffer blit paths
Jason Ekstrand [Fri, 8 Jul 2022 21:21:25 +0000 (16:21 -0500)]
vulkan/wsi: Add debug variables to force the SW and PRIME buffer blit paths

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17436>

2 years agovulkan/wsi/wayland: Add a BUFFER_TYPE flag
Jason Ekstrand [Fri, 8 Jul 2022 21:47:48 +0000 (16:47 -0500)]
vulkan/wsi/wayland: Add a BUFFER_TYPE flag

This makes all the different ways of presenting a bit more clear.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17436>

2 years agoanv: Init supported extensions before WSI
Jason Ekstrand [Thu, 7 Jul 2022 00:51:03 +0000 (19:51 -0500)]
anv: Init supported extensions before WSI

Otherwise WSI extension support checks won't work.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17436>

2 years agolavapipe: don't crash on null xfb buffer pointer
Mike Blumenkrantz [Mon, 11 Jul 2022 19:04:00 +0000 (15:04 -0400)]
lavapipe: don't crash on null xfb buffer pointer

cc: mesa-stable

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

2 years agolavapipe: don't overwrite entire VkFormatProperties3 struct
Mike Blumenkrantz [Mon, 11 Jul 2022 14:59:00 +0000 (10:59 -0400)]
lavapipe: don't overwrite entire VkFormatProperties3 struct

this clobbers pNext and breaks tooling, as found by Panagiotis Apostolou

Fixes: f72d5a930b1 ("lavapipe: KHR_format_feature_flags2")

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

2 years agozink: Fix BO size when it's not aligned to 16 bytes
SoroushIMG [Mon, 11 Jul 2022 13:00:50 +0000 (14:00 +0100)]
zink: Fix BO size when it's not aligned to 16 bytes

glsl_get_explicit_size can return non-16 byte aligned sizes.
Therefore, make sure the sure the size isrounded up so that OOB does not happen.

Fixes: ea8a0654f5b ("zink: further improve bo sizing")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17460>