Samuel Pitoiset [Wed, 22 Feb 2023 15:34:18 +0000 (16:34 +0100)]
radv: enable SAMPLE_COVERAGE_ENA if the fully covered built-in is used
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21497>
Samuel Pitoiset [Wed, 22 Feb 2023 15:32:26 +0000 (16:32 +0100)]
radv: lower nir_intrinsic_load_fully_covered
The sample coverage VGPR input would be the inner coverage and 0 means
it's uncovered.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21497>
Samuel Pitoiset [Wed, 22 Feb 2023 15:31:18 +0000 (16:31 +0100)]
spirv,nir: add support for SpvBuiltInFullyCoveredEXT
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>