platform/upstream/mesa.git
19 months agospirv: add SpvCapabilityFragmentFullyCoveredEXT
Samuel Pitoiset [Tue, 21 Feb 2023 16:00:05 +0000 (17:00 +0100)]
spirv: add SpvCapabilityFragmentFullyCoveredEXT

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

19 months agoradv: initialize cmd_buffer upload list earlier
Benjamin Cheng [Sun, 19 Mar 2023 20:27:51 +0000 (16:27 -0400)]
radv: initialize cmd_buffer upload list earlier

When cs allocation fails in radv_create_cmd_buffer,
radv_destroy_cmd_buffer is called before returning
VK_ERROR_OUT_OF_HOST_MEMORY. At that point, the upload list is not
initalized yet, so SIGSEGV will occur when trying to iterate through the
upload bo list. Initialize the upload list earlier to avoid this.

Signed-off-by: Benjamin Cheng <ben@bcheng.me>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22016>

19 months agozink: add ZINK_DEBUG=flushsync
Mike Blumenkrantz [Thu, 16 Mar 2023 12:41:55 +0000 (08:41 -0400)]
zink: add ZINK_DEBUG=flushsync

this disables the submission thread

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

19 months agozink: don't update fbfetch in db mode if inputAttachmentDescriptorSize==0
Mike Blumenkrantz [Thu, 16 Mar 2023 12:31:16 +0000 (08:31 -0400)]
zink: don't update fbfetch in db mode if inputAttachmentDescriptorSize==0

turnip gets away with this somehow, so silence harmless validation errors

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

19 months agozink: rework handling of unordered->ordered write buffer barriers
Mike Blumenkrantz [Mon, 20 Mar 2023 14:49:55 +0000 (10:49 -0400)]
zink: rework handling of unordered->ordered write buffer barriers

this improves handling for barriers that originate from a write in the
unordered cmdbuf, adding tracking to resources to better determine access
in the unordered cmdbuf and then utilizing that to generate a single split
memory barrier added at the end of the unordered cmdbuf for all the buffers
written to on that cmdbuf

the next step will be to also merge the read access down onto the end-of-cmdbuf
barrier so that all stream upload-type functionality becomes a single barrier

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

19 months agozink: always set sampler layouts when unbinding fb images while rp optimizing
Mike Blumenkrantz [Wed, 15 Mar 2023 17:26:16 +0000 (13:26 -0400)]
zink: always set sampler layouts when unbinding fb images while rp optimizing

this may or may not always be accurate, but in the cases where it is, it should
avoid some renderpass splitting, and in the cases where it isn't, there may
already be issues

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

19 months agozink: only run post-fb-unbind layout stuff if the resource isn't being destroyed
Mike Blumenkrantz [Mon, 20 Mar 2023 20:37:27 +0000 (16:37 -0400)]
zink: only run post-fb-unbind layout stuff if the resource isn't being destroyed

if refcount==1, the resource won't be used any further, and all the code
in this block is only for resources that will be used as samplers,
so don't run any of it

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

19 months agozink: add an assert to ensure zsbuf invalidation doesn't break rendering
Mike Blumenkrantz [Wed, 15 Mar 2023 17:09:19 +0000 (13:09 -0400)]
zink: add an assert to ensure zsbuf invalidation doesn't break rendering

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

19 months agozink: force unordered_write=false when binding image descriptors
Mike Blumenkrantz [Wed, 8 Mar 2023 23:38:51 +0000 (18:38 -0500)]
zink: force unordered_write=false when binding image descriptors

there's no way to link up image layouts between the unordered cmdbuf
and the main one, so if an op is promoted to unordered after an image
is used as a descriptor, the layout will be broken

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

19 months agozink: fix unordered access for image descriptors
Mike Blumenkrantz [Wed, 8 Mar 2023 20:48:33 +0000 (15:48 -0500)]
zink: fix unordered access for image descriptors

previously the unordered access flags would be set before the deferred
barrier was added, which would guarantee no descriptor barriers could
be deferred and thus terminate renderpasses any time a new descriptor
was bound that was both an image and needed a layout change

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

19 months agozink: add batch refs for framebuffer surfaces on bind and ref update
Mike Blumenkrantz [Mon, 6 Mar 2023 12:12:51 +0000 (07:12 -0500)]
zink: add batch refs for framebuffer surfaces on bind and ref update

if this scenario occurs:

* bind fb on ctx A
* draw
* flush + change context to B
* read fb on ctx B
* delete ctx A

then a dead batch write will be left on the fb bo

cc: mesa-stable

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

19 months agozink: flag some rp ends as unsafe
Mike Blumenkrantz [Mon, 20 Mar 2023 13:43:50 +0000 (09:43 -0400)]
zink: flag some rp ends as unsafe

the only "safe" rp ends are:
* set_framebuffer_state (new rp)
* flush_resource (present)
* flush (end of rp)

any other rp end needs its rp info sanitized to avoid e.g., reapplying clears

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

19 months agozink: never split a renderpass for a loadop change
Mike Blumenkrantz [Mon, 20 Mar 2023 13:41:56 +0000 (09:41 -0400)]
zink: never split a renderpass for a loadop change

not sure if this was possible, but make sure it's not

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

19 months agozink: delete unused barrier api
Mike Blumenkrantz [Fri, 3 Mar 2023 19:10:26 +0000 (14:10 -0500)]
zink: delete unused barrier api

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

19 months agozink: simplify resource_check_defer_buffer_barrier()
Mike Blumenkrantz [Fri, 3 Mar 2023 12:53:07 +0000 (07:53 -0500)]
zink: simplify resource_check_defer_buffer_barrier()

this is a remnant of when the function was used for both images
and buffers

no functional changes

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

19 months agozink: handle swapchain creation failure less lazily
Mike Blumenkrantz [Thu, 9 Mar 2023 12:51:16 +0000 (07:51 -0500)]
zink: handle swapchain creation failure less lazily

this is a real scenario

cc: mesa-stable

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

19 months agonir/lower_mediump: Fix assertion about copy_deref lowering matching.
Emma Anholt [Wed, 1 Mar 2023 19:02:28 +0000 (11:02 -0800)]
nir/lower_mediump: Fix assertion about copy_deref lowering matching.

Copy and paste typo.  We shouldn't have copy_derefs during this pass,
anyway, but caught a failure with my upcoming unit testing.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl/lower_precision: Add actual spec quotes for "check_parameters"
Emma Anholt [Thu, 2 Mar 2023 21:14:01 +0000 (13:14 -0800)]
glsl/lower_precision: Add actual spec quotes for "check_parameters"

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl: Fix the precision of atomic counter builtin function args.
Emma Anholt [Thu, 2 Mar 2023 21:10:06 +0000 (13:10 -0800)]
glsl: Fix the precision of atomic counter builtin function args.

More special-casing dropped from GLSL lower_precision.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl/lower_precision: Drop most special-casing of builtin arg precision.
Emma Anholt [Thu, 2 Mar 2023 21:04:14 +0000 (13:04 -0800)]
glsl/lower_precision: Drop most special-casing of builtin arg precision.

bitCount is still special in that our lowering would try to demote its arg
based on the precision of its output, and it shouldn't do that.  But the
other special cases now have appropriate qualifiers on them at the IR
level.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl: Set the precision of function return value temporaries.
Emma Anholt [Thu, 2 Mar 2023 00:02:38 +0000 (16:02 -0800)]
glsl: Set the precision of function return value temporaries.

The signature should dictate the precision of the temp we store into.
This ends up ignored by lower_precision for now, which always rewrites it
so as to handle custom lowering of builtin precision..

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl: Handle highp promotion of builtin function args in the builtins.
Emma Anholt [Wed, 1 Mar 2023 23:04:49 +0000 (15:04 -0800)]
glsl: Handle highp promotion of builtin function args in the builtins.

It's what the spec says to do.  This will may help us avoid special-casing
these functions if we ever lower precision after builtin inlining.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl: Set the precisions of builtin function arguments and returns.
Emma Anholt [Wed, 1 Mar 2023 23:31:21 +0000 (15:31 -0800)]
glsl: Set the precisions of builtin function arguments and returns.

These have precision qualifiers defined in the spec, in which case we
should emit them them while generating builtin signatures and code.  We've
been special-casing them in GLSL lower_precision, but now we can just rely
on the precision qualifier of the builtin if non-NONE.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl/lower_precision: Add a cut-down testcase for #8124
Emma Anholt [Thu, 2 Mar 2023 19:46:24 +0000 (11:46 -0800)]
glsl/lower_precision: Add a cut-down testcase for #8124

This pattern is the core of the webgl conformance failure, I think.  And,
I think actually lower_precision was doing the right thing, just the
conformance test going through ANGLE was screwing up.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl/lower_precision: Add a unit test that I thought we might fail at.
Emma Anholt [Thu, 2 Mar 2023 18:25:31 +0000 (10:25 -0800)]
glsl/lower_precision: Add a unit test that I thought we might fail at.

If you lowered precision too late, it would be easy to break this.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoglsl: Simplify vector constructors from scalars.
Emma Anholt [Thu, 2 Mar 2023 18:11:54 +0000 (10:11 -0800)]
glsl: Simplify vector constructors from scalars.

No need to generate a temp in this case.  Cleanup I noticed while looking
at lower_precision behavior (and I've included a testcase to sanity check
that things work out).

This causes a tiny amount of scheduling change on freedreno:

total instructions in shared programs: 11010012 -> 11010012 (0.00%)
instructions in affected programs: 147 -> 147 (0.00%)

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21666>

19 months agoanv: Implement VK_KHR_map_memory2
Faith Ekstrand [Mon, 20 Mar 2023 22:02:45 +0000 (17:02 -0500)]
anv: Implement VK_KHR_map_memory2

Reviewed-by: Iván Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22031>

19 months agoanv: Limit memory maps to the client-allocated size
Faith Ekstrand [Mon, 20 Mar 2023 22:02:40 +0000 (17:02 -0500)]
anv: Limit memory maps to the client-allocated size

No need to expose extra padding or CCS data to the client map.  Now that
we have the data, we can also make the BindBufferMemory asserts a bit
more accurate.

Reviewed-by: Iván Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22031>

19 months agovulkan: Provide wrappers for VK_EXT_map_memory2 functions
Faith Ekstrand [Mon, 20 Mar 2023 22:02:36 +0000 (17:02 -0500)]
vulkan: Provide wrappers for VK_EXT_map_memory2 functions

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Iván Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22031>

19 months agovulkan: Update XML and headers to 1.3.244
Faith Ekstrand [Mon, 20 Mar 2023 22:02:31 +0000 (17:02 -0500)]
vulkan: Update XML and headers to 1.3.244

Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Iván Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22031>

19 months agozink: convert luminance/alpha clear colors in dynamic texture clear
Mike Blumenkrantz [Mon, 20 Mar 2023 13:00:16 +0000 (09:00 -0400)]
zink: convert luminance/alpha clear colors in dynamic texture clear

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

19 months agozink: split out luminance/alpha clear conversion code for reuse
Mike Blumenkrantz [Mon, 20 Mar 2023 12:50:29 +0000 (08:50 -0400)]
zink: split out luminance/alpha clear conversion code for reuse

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

19 months agoglx: fix memory leak related to __glXCloseDisplay()
Patrick Lerda [Mon, 13 Mar 2023 12:02:10 +0000 (13:02 +0100)]
glx: fix memory leak related to __glXCloseDisplay()

Indeed, the unbind function is not called which could lead
to an unbalanced refcount state for the "drawable" object.

For instance, with "piglit/bin/glx-fbo-binding -auto"
while setting GALLIUM_REFCNT_LOG=refcnt.log.

Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22024>

19 months agoamd/common: fix a typo
Lang Yu [Sat, 18 Mar 2023 01:20:37 +0000 (09:20 +0800)]
amd/common: fix a typo

Fixes: 35f053ba8cd ("radv: Fix corrupted mipmap copies on GFX9+")

Signed-off-by: Lang Yu <lang.yu@amd.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22000>

19 months agoradv/rt: Handle load_constant instructions when inlining shaders
Konstantin Seurer [Sat, 18 Mar 2023 11:57:04 +0000 (12:57 +0100)]
radv/rt: Handle load_constant instructions when inlining shaders

Fixes the following tests:
dEQP-VK.ray_query.builtin.rayqueryterminate.ahit.aabbs,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.ahit.triangles,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.call.aabbs,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.call.triangles,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.chit.aabbs,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.chit.triangles,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.miss.aabbs,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.miss.triangles,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.rgen.aabbs,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.rgen.triangles,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.sect.aabbs,Fail
dEQP-VK.ray_query.builtin.rayqueryterminate.sect.triangles,Fail

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8647
Fixes: fda262f ("radv/rt: move Ray Tracing shader creation into separate file")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22002>

19 months agozink: further eliminate zs implicit feedback loops for read-only access
Mike Blumenkrantz [Fri, 17 Mar 2023 16:22:26 +0000 (12:22 -0400)]
zink: further eliminate zs implicit feedback loops for read-only access

if all access is read-only then there is no feedback loop

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

19 months agozink: explicitly eliminate feedback loops for unused zsbufs
Mike Blumenkrantz [Fri, 17 Mar 2023 13:51:53 +0000 (09:51 -0400)]
zink: explicitly eliminate feedback loops for unused zsbufs

this avoids a GENERAL/FEEDBACK_LOOP layout transition where possible

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

19 months agozink: rename add_implicit_color_feedback_loop()
Mike Blumenkrantz [Fri, 17 Mar 2023 13:49:39 +0000 (09:49 -0400)]
zink: rename add_implicit_color_feedback_loop()

this is used for zs too

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

19 months agozink: allow zink_is_zsbuf_used() without tc / rp optimizing
Mike Blumenkrantz [Fri, 17 Mar 2023 13:47:56 +0000 (09:47 -0400)]
zink: allow zink_is_zsbuf_used() without tc / rp optimizing

this info should be up-to-date and usable now in all cases

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

19 months agozink: don't flag rp layout check on next draw when rp optimizing
Mike Blumenkrantz [Fri, 17 Mar 2023 17:00:56 +0000 (13:00 -0400)]
zink: don't flag rp layout check on next draw when rp optimizing

this will always be a no-op, so save the cpu cycles

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

19 months agozink: improve no-oping of write -> readonly zsbuf layouts
Mike Blumenkrantz [Fri, 17 Mar 2023 16:56:43 +0000 (12:56 -0400)]
zink: improve no-oping of write -> readonly zsbuf layouts

if descriptor binds exist this will have to change layouts anyway,
so allow readonly since it might be a more compatible layout

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

19 months agozink: add a fixup case for readonly zsbuf clears
Mike Blumenkrantz [Fri, 17 Mar 2023 16:55:00 +0000 (12:55 -0400)]
zink: add a fixup case for readonly zsbuf clears

this shouldn't currently be possible to hit, but in the future it may

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

19 months agozink: track whether the fb zsbuf is readonly
Mike Blumenkrantz [Fri, 17 Mar 2023 16:49:04 +0000 (12:49 -0400)]
zink: track whether the fb zsbuf is readonly

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

19 months agozink: fix dsa state parsing for tc info
Mike Blumenkrantz [Fri, 17 Mar 2023 16:35:56 +0000 (12:35 -0400)]
zink: fix dsa state parsing for tc info

stencil test implies zs write

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

19 months agozink: track zsbuf info even when rp optimizing is disabled
Mike Blumenkrantz [Fri, 17 Mar 2023 13:47:10 +0000 (09:47 -0400)]
zink: track zsbuf info even when rp optimizing is disabled

this should allow zsbuf elimination in some cases

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

19 months agoradv: fix NGG streamout with VS and GPL on GFX11
Samuel Pitoiset [Wed, 15 Feb 2023 14:12:42 +0000 (15:12 +0100)]
radv: fix NGG streamout with VS and GPL on GFX11

With GPL it's not possible to know the primitive topology when
compiling the pre-rasterization stages. For NGG, we use the maximum
number of vertices per prim and rely on the hardware to ignore the
extra bits for points/lines.

Though, this can't work for NGG streamout because the number of
vertices per prim is used to compute a streamout offset. The only
way to solve this is to pass the number of vertices per prim through
a new user SGPR.

This fixes a bunch of streamout tests with Zink/RADV on GFX11.

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

19 months agointel: Add TODO about removal of 2Mb alignment in i915
José Roberto de Souza [Thu, 16 Mar 2023 19:09:56 +0000 (12:09 -0700)]
intel: Add TODO about removal of 2Mb alignment in i915

Xe kmd don't suffer this yet because it still lacks MTL support.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21972>

19 months agoanv: Apply memory alignment requirements in Xe kmd
José Roberto de Souza [Tue, 14 Mar 2023 20:27:53 +0000 (13:27 -0700)]
anv: Apply memory alignment requirements in Xe kmd

Without alignment vm bind will fail and during gem buffer creation
size also need to be aligned otherwise the range in vm bind can be
bigger than allocated size for smem.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21972>

19 months agointel: Set mem_alignment in Xe kmd
José Roberto de Souza [Tue, 14 Mar 2023 20:25:50 +0000 (13:25 -0700)]
intel: Set mem_alignment in Xe kmd

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21972>

19 months agoanv: Use intel_device_info memory alignment
José Roberto de Souza [Tue, 14 Mar 2023 19:37:57 +0000 (12:37 -0700)]
anv: Use intel_device_info memory alignment

It was also necessary to initialize mem_alignment in the tests
otherwise vma allocation would fail with stubs.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21972>

19 months agointel: Move memory aligment information to intel_device_info
José Roberto de Souza [Tue, 14 Mar 2023 19:34:36 +0000 (12:34 -0700)]
intel: Move memory aligment information to intel_device_info

This same information is also used in ANV, so intel_device_info is
a better place to have it.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21972>

19 months agov3d/ci: add another depthstencil-default_fb-drawpixels-* to the flakes
Eric Engestrom [Mon, 20 Mar 2023 14:16:26 +0000 (14:16 +0000)]
v3d/ci: add another depthstencil-default_fb-drawpixels-* to the flakes

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

19 months agoci: move docs-stuff out of root .gitlab-ci.yml
Erik Faye-Lund [Thu, 16 Mar 2023 10:08:28 +0000 (11:08 +0100)]
ci: move docs-stuff out of root .gitlab-ci.yml

Unlike most other cases, we don't put the YAML-file in a ci-folder,
because we already have one for the CI-specific docs. So let's just
leave the YAML file directly in the docs-folder.

This should fix the problem that any docs-changes that touches the
CI-rules needs a full CI run just because of touching the root
.gitlab-ci.yml file. This causes needless friction and wastes CI
resources.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21953>

19 months agopvr: Add initial support for VK_FORMAT_S8_UINT
Jarred Davies [Tue, 24 Jan 2023 20:42:03 +0000 (20:42 +0000)]
pvr: Add initial support for VK_FORMAT_S8_UINT

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21594>

19 months agopvr: Select a single aspect format for the texture state of DS image views
Jarred Davies [Thu, 19 Jan 2023 10:46:16 +0000 (10:46 +0000)]
pvr: Select a single aspect format for the texture state of DS image views

This change also means the texture state words will be based off of the
image view's format instead of the image's format.

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21594>

19 months agopvr: Add support for multiple emits from EOT program
Jarred Davies [Fri, 3 Mar 2023 12:01:19 +0000 (12:01 +0000)]
pvr: Add support for multiple emits from EOT program

Co-authored-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596>

19 months agopvr: Generate dummy emit for renders without any emits
Jarred Davies [Wed, 1 Mar 2023 23:51:38 +0000 (23:51 +0000)]
pvr: Generate dummy emit for renders without any emits

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596>

19 months agopvr: Generate EOT program at runtime
Jarred Davies [Sun, 26 Feb 2023 08:10:37 +0000 (08:10 +0000)]
pvr: Generate EOT program at runtime

Also removes hardcoded EOT program.

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21596>

19 months agoradv: add helpers for destroying various pipeline types
Samuel Pitoiset [Tue, 14 Mar 2023 09:47:26 +0000 (10:47 +0100)]
radv: add helpers for destroying various pipeline types

Much cleaner than having a single function for everything.

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

19 months agoradv: rename RADV_PIPELINE_LIBRARY to RADV_PIPELINE_RAY_TRACING_LIB
Samuel Pitoiset [Mon, 20 Mar 2023 08:34:11 +0000 (09:34 +0100)]
radv: rename RADV_PIPELINE_LIBRARY to RADV_PIPELINE_RAY_TRACING_LIB

This seems more consistent with graphics pipeline libraries and it
avoids any confusion.

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

19 months agoUprev Piglit to 60e7f0586bac0cfcfcb5871046e31ca2057a5117
Collabora's Gfx CI Team [Mon, 20 Mar 2023 07:16:56 +0000 (07:16 +0000)]
Uprev Piglit to 60e7f0586bac0cfcfcb5871046e31ca2057a5117

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

19 months agov3dv: use vk_get_physical_device_features
Eric Engestrom [Thu, 16 Mar 2023 09:38:38 +0000 (09:38 +0000)]
v3dv: use vk_get_physical_device_features

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21959>

19 months agov3dv: reorder features as 1.0, 1.1, 1.2, 1.3
Eric Engestrom [Thu, 16 Mar 2023 09:38:38 +0000 (09:38 +0000)]
v3dv: reorder features as 1.0, 1.1, 1.2, 1.3

Easier to follow than 1.0, 1.3, 1.2, 1.1 :)

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21959>

19 months agov3dv: use common GetPhysicalDeviceFeatures
Eric Engestrom [Thu, 16 Mar 2023 09:38:38 +0000 (09:38 +0000)]
v3dv: use common GetPhysicalDeviceFeatures

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21959>

19 months agodocs/developers: Add Igalia as Mesa consultancy
Samuel Iglesias Gonsálvez [Mon, 20 Mar 2023 07:36:44 +0000 (07:36 +0000)]
docs/developers: Add Igalia as Mesa consultancy

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

19 months agov3d: fix `dirty` bitset being too small to accept V3D_DIRTY_SSBO
Eric Engestrom [Sun, 19 Mar 2023 21:26:40 +0000 (21:26 +0000)]
v3d: fix `dirty` bitset being too small to accept V3D_DIRTY_SSBO

Many of the `V3D_DIRTY_*` flags are above 32 bits, but for now the only
one used here is V3D_DIRTY_SSBO.

`shader->uniform_dirty_bits`, where `dirty` ends up, is already 64 bits.

Fixes: 45bb8f2957108056de10 ("broadcom: Add V3D 3.3 gallium driver called "vc5", for BCM7268.")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22019>

19 months agoutil/00-mesa-defaults: add Akka Arrh workaround
Timothy Arceri [Fri, 17 Mar 2023 04:24:53 +0000 (15:24 +1100)]
util/00-mesa-defaults: add Akka Arrh workaround

Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21979>

19 months agomesa ctx->API --> _mesa_is_foo(ctx)
volodymyr.o [Mon, 27 Feb 2023 13:19:30 +0000 (15:19 +0200)]
mesa ctx->API --> _mesa_is_foo(ctx)

replaces direct API checks with _mesa_is_...() checks

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8340

Signed-off-by: Volodymyr Obohzyn volodymyr.obozhyn@globallogic.com
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21556>

19 months agogallium/xlib: call fence_finish() in XMesaSwapBuffers()
Brian Paul [Fri, 17 Mar 2023 20:23:29 +0000 (14:23 -0600)]
gallium/xlib: call fence_finish() in XMesaSwapBuffers()

Before we can present the buffer we need to wait for the fence to
finish.  This fixes severe flickering of unfinished rendering in
many demos/tests.  This has been broken for a while, I think.

Note, this is for the non-DRI / Xlib-based GLX.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21993>

19 months agoci: Uprev Piglit
Oleksii Bozhenko [Fri, 17 Mar 2023 10:03:07 +0000 (12:03 +0200)]
ci: Uprev Piglit

Signed-off-by: Oleksii Bozhenko <oleksii.bozhenko@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21810>

19 months agoglsl: fix gl_CullDistance lowering from float[8] to vec4[2]
Oleksii Bozhenko [Thu, 9 Mar 2023 12:06:15 +0000 (14:06 +0200)]
glsl: fix gl_CullDistance lowering from float[8] to vec4[2]

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7152
Fixes: ad355652c20b ("glsl: Extend lowering pass for gl_ClipDistance to support other arrays")

Signed-off-by: Oleksii Bozhenko oleksii.bozhenko@globallogic.com
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21810>

19 months agozink: add debug markers for draws
Mike Blumenkrantz [Thu, 16 Mar 2023 17:42:39 +0000 (13:42 -0400)]
zink: add debug markers for draws

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

19 months agozink: catch zs u_blitter ops for draw markers
Mike Blumenkrantz [Thu, 16 Mar 2023 17:39:43 +0000 (13:39 -0400)]
zink: catch zs u_blitter ops for draw markers

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

19 months agozink: round geometry for u_blitter debug markers
Mike Blumenkrantz [Thu, 16 Mar 2023 17:34:46 +0000 (13:34 -0400)]
zink: round geometry for u_blitter debug markers

this otherwise gets weird values

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

19 months agozink: implement unordered u_blitter calls
Mike Blumenkrantz [Tue, 28 Feb 2023 20:15:09 +0000 (15:15 -0500)]
zink: implement unordered u_blitter calls

as long as a few bits of state are swapped around and none of the "main"
cmdbuf state is applied, it becomes possible to promote the entire
u_blitter operation to the unordered cmdbuf and execute it there as
a "transfer" operation that can continue to enable further reordering

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

19 months agozink: add zink_context::unordered_blitting to preserve unordered flags
Mike Blumenkrantz [Tue, 28 Feb 2023 17:46:19 +0000 (12:46 -0500)]
zink: add zink_context::unordered_blitting to preserve unordered flags

not currently used but will be used to wrap u_blitter

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

19 months agozink: split out pipeline rp info update function
Mike Blumenkrantz [Fri, 17 Mar 2023 22:26:26 +0000 (18:26 -0400)]
zink: split out pipeline rp info update function

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

19 months agozink: manually apply barriers whenever zink_context::blitting is set
Mike Blumenkrantz [Tue, 28 Feb 2023 19:37:46 +0000 (14:37 -0500)]
zink: manually apply barriers whenever zink_context::blitting is set

this simplifies some codepaths at runtime by short-circuiting some
of the more complex operations since it's already known in advance
exactly which images will be used for which purpose

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

19 months agozink: reset fb clears using the clears_enabled mask
Mike Blumenkrantz [Sat, 18 Mar 2023 13:58:43 +0000 (09:58 -0400)]
zink: reset fb clears using the clears_enabled mask

iterating was fine before, but it will become problematic to reset
all the clears once they start being stashed for unordered ops

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

19 months agozink: add a dynamic render version of clear_texture hook
Mike Blumenkrantz [Thu, 2 Mar 2023 17:12:32 +0000 (12:12 -0500)]
zink: add a dynamic render version of clear_texture hook

this avoids the (sizable) overhead of going through the previous path
with set_frame_buffer state et al, instead just firing off a quick
begin+end rendering with a clear

it's also easily reorderable

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

19 months agozink: add a function for applying u_blitter barriers
Mike Blumenkrantz [Sat, 18 Mar 2023 14:14:41 +0000 (10:14 -0400)]
zink: add a function for applying u_blitter barriers

this handles transitions for a sampler_view src -> framebuffer dst
operation

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

19 months agozink: end rp earlier in set_framebuffer_state
Mike Blumenkrantz [Wed, 15 Mar 2023 18:04:32 +0000 (14:04 -0400)]
zink: end rp earlier in set_framebuffer_state

this way any barriers occuring from unbinds won't have to do rp calc

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

19 months agozink: double check layouts for possible feedback loop images
Mike Blumenkrantz [Sat, 18 Mar 2023 12:41:00 +0000 (08:41 -0400)]
zink: double check layouts for possible feedback loop images

if a feedback loop hasn't yet been added for an image with both
descriptor and fb binds, queue a check for that to avoid mismatch

affects godot-tps-gles3-high.trace

cc: mesa-stable

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

19 months agozink: add some asserts for zs layout in dynamic render
Mike Blumenkrantz [Fri, 17 Mar 2023 22:29:53 +0000 (18:29 -0400)]
zink: add some asserts for zs layout in dynamic render

assert all the things

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

19 months agomeson: implement quirk for the compilation under armv7 GCC with LTO
David Heidelberg [Sun, 26 Feb 2023 17:46:04 +0000 (18:46 +0100)]
meson: implement quirk for the compilation under armv7 GCC with LTO

Until https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108163 gets fixed.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21554>

19 months agoci: disable weston session timeout for llvmpipe
David Heidelberg [Sat, 18 Mar 2023 13:51:11 +0000 (14:51 +0100)]
ci: disable weston session timeout for llvmpipe

Fixes: d57a4b57df5a ("ci: disable weston session timeout")

Cc: mesa-stable
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22004>

19 months agoci: distribute XDG_RUNTIME_DIR with setup-test-env script
David Heidelberg [Sat, 18 Mar 2023 13:49:59 +0000 (14:49 +0100)]
ci: distribute XDG_RUNTIME_DIR with setup-test-env script

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8615
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8646

Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22004>

19 months agofreedreno+tu: Add a690 support
Rob Clark [Mon, 31 Oct 2022 18:53:10 +0000 (11:53 -0700)]
freedreno+tu: Add a690 support

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

19 months agofreedreno+tu: Big GMEM support
Rob Clark [Fri, 24 Feb 2023 22:41:14 +0000 (14:41 -0800)]
freedreno+tu: Big GMEM support

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

19 months agofreedreno: Specify GMEM tile alignment per GPU
Rob Clark [Sun, 22 Jan 2023 18:57:30 +0000 (10:57 -0800)]
freedreno: Specify GMEM tile alignment per GPU

They differ presumably based on # of CCU/SP and DDR bus topology.

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

19 months agoUpdate my mailmap aliases
Bas Nieuwenhuizen [Fri, 17 Mar 2023 23:30:28 +0000 (00:30 +0100)]
Update my mailmap aliases

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

19 months agoradv: Fix inserting stack_size into the cache
Konstantin Seurer [Thu, 16 Mar 2023 20:19:45 +0000 (21:19 +0100)]
radv: Fix inserting stack_size into the cache

Fixes: 3e03fe4 ("radv/rt: move stack_sizes into radv_ray_tracing_module")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21969>

19 months agoradv: Fix loading stack_size from the cache
Konstantin Seurer [Thu, 16 Mar 2023 20:04:37 +0000 (21:04 +0100)]
radv: Fix loading stack_size from the cache

Fixes: 3e03fe4 ("radv/rt: move stack_sizes into radv_ray_tracing_module")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21969>

19 months agoci/intel: add dEQP-EGL.functional.wide_color.window_fp16_default_colorspace flake
David Heidelberg [Fri, 17 Mar 2023 19:05:11 +0000 (20:05 +0100)]
ci/intel: add dEQP-EGL.functional.wide_color.window_fp16_default_colorspace flake

Occasionally flake since Wayland got enabled.

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21990>

19 months agoci/traces: add two skips due to flakes
David Heidelberg [Fri, 17 Mar 2023 19:01:31 +0000 (20:01 +0100)]
ci/traces: add two skips due to flakes

The unvanquished flaked time to time from beginning, minetest-v2 has
occasional 1 tiny change in the pixel.

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21990>

19 months agoci/freedreno: add recent occasional flakes
David Heidelberg [Fri, 17 Mar 2023 18:50:49 +0000 (19:50 +0100)]
ci/freedreno: add recent occasional flakes

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21990>

19 months agozink: expand ZINK_DEBUG=sync to cover copy ops
Mike Blumenkrantz [Wed, 1 Mar 2023 20:20:27 +0000 (15:20 -0500)]
zink: expand ZINK_DEBUG=sync to cover copy ops

useful for debugging

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

19 months agozink: add tracing for copy ops
Mike Blumenkrantz [Tue, 28 Feb 2023 11:41:52 +0000 (06:41 -0500)]
zink: add tracing for copy ops

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

19 months agointel/fs: handle interpolation modes for at_sample and at_offset too
Iván Briano [Thu, 17 Mar 2022 02:26:54 +0000 (19:26 -0700)]
intel/fs: handle interpolation modes for at_sample and at_offset too

Fixes dEQP-VK.draw.*.linear_interpolation.*

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19647>

19 months agoradv: Fix missing wait of GS copy shader upload for dmashaders.
Tatsuyuki Ishi [Fri, 17 Mar 2023 14:02:50 +0000 (23:02 +0900)]
radv: Fix missing wait of GS copy shader upload for dmashaders.

Fixes: 0cde42a506f ("radv: Wait for shader uploads asynchronously.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21985>