Rob Clark [Thu, 16 Mar 2023 18:30:21 +0000 (11:30 -0700)]
mesa/nir: Add some perfetto traces
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>
Rob Clark [Thu, 16 Mar 2023 18:04:13 +0000 (11:04 -0700)]
freedreno/ir3: More perfetto tracing
Some useful trace points that I had laying around.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>
Rob Clark [Sat, 15 Apr 2023 16:47:19 +0000 (09:47 -0700)]
util/log: Add missing "const"
Fixes warning:
warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>
Rob Clark [Sun, 23 Apr 2023 14:55:55 +0000 (07:55 -0700)]
freedreno/registers: C++ struct casting
Using C style `(struct foo){ ..args..}` at least confuses eclipse, so
for C++ code use `{ ..args.. }` instead.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>
Rob Clark [Sun, 23 Apr 2023 14:54:54 +0000 (07:54 -0700)]
freedreno: Extra casting to make C++ happy
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>
Emma Anholt [Thu, 20 Apr 2023 23:12:57 +0000 (16:12 -0700)]
util/log: Fix log messages over 1024 characters.
The first attempt at the sprintf would have consumed part of va, so if
we're going to recurse on overflow to try again in a new allocation then
we have to do our work on a copy.
This was a common failure mode for MESA_GLSL=source, where it would just print:
Mesa: info: GLSL source for fragment shader 1:
Mesa: info: (null)
Fixes:
7a18a1712a0a ("util/log: improve logger_file newline handling")
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22618>
Iván Briano [Tue, 6 Dec 2022 00:16:49 +0000 (16:16 -0800)]
anv: support fast color clears on vkCmdClearAttachments
As long as some conditions are met.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>
Iván Briano [Mon, 5 Dec 2022 23:52:09 +0000 (15:52 -0800)]
anv: expose some helper functions
v2: (Rohan Garg)
- Make set_fast_clear_state take an image and format instead of an iview
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>
Iván Briano [Mon, 5 Dec 2022 23:42:33 +0000 (15:42 -0800)]
anv: factor out code for ccs_op and mcs_op
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>
Iván Briano [Tue, 25 Oct 2022 16:31:37 +0000 (09:31 -0700)]
anv: make anv_can_fast_clear_color_view more generally available
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>
Iván Briano [Tue, 15 Nov 2022 23:20:51 +0000 (15:20 -0800)]
anv: Remove dead parameters from copy_fast_clear_dwords
There's only one caller of this function and always passes false.
v2: (Nanley Chery)
- Also remove the aspect parameter
v3: (Nanley Chery)
- Rename the function so it's more clear in which direction it works
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>
Sagar Ghuge [Tue, 22 Sep 2020 00:56:08 +0000 (17:56 -0700)]
anv: Fast clear depth/stencil surface in vkCmdClearAttachments
Instead of doing a slow depth clear, we can do depth fast clear in
vkClearAttachments.
Sascha Willems occlusionquery demo shows more than 2% perf boost with
this series.
On Felix's Tigerlake with the GPU at fixed frequency, this patch
improves performance of RoTR by +0.5%.
v2: (Nanley Chery)
- Clear stencil surface along with depth.
- Check for multilayer resources.
- Lookout for state.attachments.
- Fallback on slow clear for BDW and CHV if conditional rendering
enabled.
- Keep flush in same function.
v3: (Nanley Chery)
- Return immediately after fast clearing.
- Remove unnecessary comment.
v4: (Nanley Chery)
- Add assertion for BLORP_BATCH_NO_EMIT_DEPTH_STENCIL.
- Remove unnecessary local variable.
- Add 3DSTATE_WM_HZ_OP comment.
v5: (Nanley Chery)
- Fix comments.
- Don't take fast depth clear path if BLORP_BATCH_PREDICATE_ENABLE set.
- Refactor code in can_hiz_clear_att.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>
Sagar Ghuge [Thu, 10 Sep 2020 21:40:08 +0000 (14:40 -0700)]
anv: Move and make anv_can_hiz_clear_ds_view non-static
v2:
- Pass const image view param. (Nanley)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>
Sagar Ghuge [Tue, 22 Sep 2020 00:40:39 +0000 (17:40 -0700)]
anv: Factor out code from anv_image_hiz_clear
Refactoring code from anv_image_hiz_clear which helps in future patches
to support fast depth clear in vkCmdClearAttachments.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>
Emma Anholt [Thu, 20 Apr 2023 21:57:41 +0000 (14:57 -0700)]
blob: Don't valgrind assert for defined memory if we aren't writing.
The VK pipeline cache passes a NULL bytes with a nonzero size to a
NULL-data blob to set up the size of the blob. In this case, we don't
actually execute the memcpy, so the non-existent "bytes" doesn't need to
have defined contents. Avoids a valgrind warning:
==972858== Unaddressable byte(s) found during client check request
==972858== at 0x147F4166: blob_write_bytes (blob.c:165)
==972858== by 0x147F4166: blob_write_bytes (blob.c:158)
==972858== by 0x14695FFF: vk_pipeline_cache_object_serialize (vk_pipeline_cache.c:240)
[...]
==972858== Address 0x0 is not stack'd, malloc'd or (recently) free'd
Fixes:
591da9877900 ("vulkan: Add a common VkPipelineCache implementation")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22617>
Emma Anholt [Wed, 5 Apr 2023 19:34:16 +0000 (12:34 -0700)]
ci/zink: Enable the validation layer on the TGL GL46 run.
We recently had an issue where an anv merge failed due to a bug in zink,
which validation would have caught. Get some coverage by default on the
main branch.
This increases runtime from 9:30 to 12:10. I don't feel good about this,
but I've got https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4398 in
flight to try to knock the time back down.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22459>
Emma Anholt [Wed, 5 Apr 2023 19:31:51 +0000 (12:31 -0700)]
ci: Move zink's validation layer setup to deqp-runner.sh.
I want the path to be always set in case someone wants some
ZINK_DEBUG=validation, rather than having to do it per test job.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22459>
Emma Anholt [Wed, 29 Mar 2023 20:37:24 +0000 (13:37 -0700)]
ci/zink: Re-enable traces now that !20319 has landed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22459>
Emma Anholt [Wed, 5 Apr 2023 19:49:50 +0000 (12:49 -0700)]
ci: Add the Vulkan validation layer to amd64 rootfs builds.
We're going to want this for zink testing on actual HW drivers. I haven't
sorted out the arm64 build yet, so no tu coverage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22459>
Emma Anholt [Wed, 5 Apr 2023 19:45:39 +0000 (12:45 -0700)]
ci: Make a variable for the repeated rootfs directory name.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22459>
Sathishkumar S [Thu, 13 Apr 2023 06:48:54 +0000 (12:18 +0530)]
frontends/va: return matching drm format for yuyv pipe format
return the matching drm format for YUYV pipe format in pipe_format_to_drm_format(), else
vlVaExportSurfaceHandle() fails to export a surface handle for YUYV surface.
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22497>
Mike Blumenkrantz [Mon, 24 Apr 2023 15:40:16 +0000 (11:40 -0400)]
zink: fix array copying in pv lowering
Fixes:
5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22669>
Mike Blumenkrantz [Mon, 24 Apr 2023 15:19:57 +0000 (11:19 -0400)]
nir/gs: fix array type copying for passthrough gs
same mechanics as in zink passes
Fixes:
d0342e28b32 ("nir: Add helper to create passthrough GS shader")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22669>
Jesse Natalie [Mon, 24 Apr 2023 14:19:24 +0000 (07:19 -0700)]
dzn: Align-up heap sizes when allocating memory
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8895
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22666>
Samuel Pitoiset [Fri, 21 Apr 2023 09:51:29 +0000 (11:51 +0200)]
radv: do not overallocate the CS array during submissions
Preambles/postambles are no longer added to the CS array.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22653>
André Almeida [Sun, 23 Apr 2023 20:43:11 +0000 (17:43 -0300)]
radv: Search for guilty contexts at radv_check_status
When a GPU hung happens, all contexts are notified. They will receive
INNOCENT_CONTEXT if they are not the context that triggered the reset,
or GUILTY_CONTEXT otherwise.
At radv_check_status(), we return on the first context that was notified
as [GUILTY, INNOCENT]_CONTEXT, without further checks. This can make an
app think that it's innocent if the guilty context is not the first one
on the list of hw_ctx to be checked.
Check every context for a guilty one before returning CONTEXT_INNOCENT.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: André Almeida <andrealmeid@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22648>
Luca Weiss [Sun, 23 Apr 2023 18:09:22 +0000 (20:09 +0200)]
freedreno: Enable A506
Enable the Adreno 506 that is found in SoCs such as Snapdragon 450,
Snapdragon 625 or Snapdragon 632 (msm8953 family).
Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22647>
Mike Blumenkrantz [Thu, 20 Apr 2023 19:49:00 +0000 (15:49 -0400)]
zink: add a driver workaround to disable background compiles
it's stupid to do optimized background compiles if the driver is going
to create the exact same pipeline, so add a workaround to disable
this behavior
should improve ci runtimes on lavapipe by some amount
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22613>
Juan A. Suarez Romero [Thu, 13 Apr 2023 16:57:39 +0000 (18:57 +0200)]
v3d: add support for ARB_texture_cube_map_array
This implements support for texture cubemap arrays.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22482>
Mike Blumenkrantz [Thu, 20 Apr 2023 18:03:19 +0000 (14:03 -0400)]
zink: add z32s8 as mandatory GL3.0 profile attachment format
fixes #8616
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22608>
Mike Blumenkrantz [Thu, 20 Apr 2023 17:21:28 +0000 (13:21 -0400)]
zink: don't pin flush queue threads if no threads exist
Fixes:
270f9c0b063 ("zink: add ZINK_DEBUG=flushsync")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22611>
Karol Herbst [Thu, 13 Apr 2023 19:14:33 +0000 (21:14 +0200)]
rusticl: don't set size_t-is-usize for >=bindgen-0.65
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8827
Fixes:
20c90fed5a0 ("rusticl: added")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22484>
Martin Roukala (né Peres) [Mon, 24 Apr 2023 05:51:31 +0000 (08:51 +0300)]
zink/ci: mark 77 multisample-related tests as fixed
Reference: #6302
Fixes:
a004825266fd ("zink: don't render with multisampling when it is disabled")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22650>
Karol Herbst [Thu, 20 Apr 2023 10:58:19 +0000 (12:58 +0200)]
ac/llvm: support shifts on 16 bit vec2
In OpenCL we can actually end up with those.
Fixes `basic astype` and those `integer_ops` OpenCL CTS tests:
integer_hadd
integer_rhadd
integer_upsample
quick_short_shift
quick_ushort_shift
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22597>
Karol Herbst [Tue, 15 Nov 2022 23:34:29 +0000 (00:34 +0100)]
radeonsi: lower mul_high
Fixes `integer_mad_hi` and `integer_mul_hi` `integer_ops` tests
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22597>
Sergi Blanch Torne [Wed, 29 Mar 2023 07:21:50 +0000 (09:21 +0200)]
Revert "ci: disable Collabora's LAVA lab for maintance"
This reverts commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/
def1d097c9e1637923f5315820586b06de2f28d0
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22182>
Eric Engestrom [Mon, 24 Apr 2023 09:23:36 +0000 (10:23 +0100)]
v3d: document that `V3D_DEBUG=shaderdb` is *not* for shader-db
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/22659>
Iago Toral Quiroga [Thu, 20 Apr 2023 10:49:22 +0000 (12:49 +0200)]
broadcom/compiler: fix incorrect check for SFU op
Before testing the waddr for SFU we should first validate this
is indeed a valid (not NOP) magic write. Use the helper we have for
this which gets this right.
total instructions in shared programs:
12898957 ->
12850958 (-0.37%)
instructions in affected programs: 4328937 -> 4280938 (-1.11%)
helped: 19974
HURT: 439
Instructions are helped.
total max-temps in shared programs: 2211503 -> 2210893 (-0.03%)
max-temps in affected programs: 12924 -> 12314 (-4.72%)
helped: 509
HURT: 20
Max-temps are helped.
total sfu-stalls in shared programs: 22233 -> 21975 (-1.16%)
sfu-stalls in affected programs: 722 -> 464 (-35.73%)
helped: 297
HURT: 54
Sfu-stalls are helped.
total inst-and-stalls in shared programs:
12921190 ->
12872933 (-0.37%)
inst-and-stalls in affected programs: 4337977 -> 4289720 (-1.11%)
helped: 20015
HURT: 404
Inst-and-stalls are helped.
total nops in shared programs: 333743 -> 305911 (-8.34%)
nops in affected programs: 86902 -> 59070 (-32.03%)
helped: 14545
HURT: 76
Nops are helped.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22593>
Iago Toral Quiroga [Mon, 24 Apr 2023 06:51:47 +0000 (08:51 +0200)]
broadcom/compiler: add a v3d_qpu_instr_is_legacy_sfu helper
This checks for the deprecated, old-style SFU instructions triggered by
magic writes.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22593>
Iago Toral Quiroga [Mon, 24 Apr 2023 06:48:39 +0000 (08:48 +0200)]
broadcom/compiler: fix v3d_qpu_uses_sfu
We should check that the alu op is valid before testing the
write address.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22593>
antonino [Tue, 4 Apr 2023 16:55:52 +0000 (18:55 +0200)]
zink: fix line strip offsets in pv mode emulation
Offsets for line strips don't need to alternate like they do for
triangle strips.
Fixes:
5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22599>
antonino [Tue, 4 Apr 2023 15:00:53 +0000 (17:00 +0200)]
zink: fix exit condition on pv emulation loop
The exit condition was not correct causing the pv emulation lowering
pass to emit garbage for incomplete primitives.
Fixes:
5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22599>
antonino [Tue, 4 Apr 2023 14:49:57 +0000 (16:49 +0200)]
zink: use ring buffer to preserve last element
Previously, whenever a vertex was emitted immediately after emitting a
primitive, that vertex would not use the attributes that where assigned
last because the position variable got set.
Now the temporary attributes array is treated as a ring buffer and
whenever the position is set to 0 it's previous value is used as an
offset when accessing it. This way when a new primitive is created the
attributes at index 0 correspond to the last attributes written.
Fixes:
5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22599>
antonino [Tue, 4 Apr 2023 10:20:37 +0000 (12:20 +0200)]
zink: fix pv mode lowring index calculation
The provoking vertex mode pass was calculating an offset and then using
it directly instead of adding it to the base index.
Fixes:
5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22599>
Marcin Ślusarz [Fri, 21 Apr 2023 10:51:47 +0000 (12:51 +0200)]
anv: move nir_shader_gather_info to anv_pipeline_nir_preprocess
Fixes dEQP-VK.mesh_shader.ext.misc.custom_attributes*.
Fixes:
16c7c377186 ("anv: move preprocessing of NIR right before compilation")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22629>
SoroushIMG [Wed, 19 Apr 2023 21:10:15 +0000 (22:10 +0100)]
zink: refcount the correct query pool
otherwise the pool is freed before the query and zink will
give the vulkan driver NULL query pool which can make it crash.
this was seen when running the following cases with
primitivesGeneratedQueryWithRasterizerDiscard and color write
features disabled:
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.triangles_fractional_odd_spacing
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.triangles_fractional_even_spacing
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.quads_equal_spacing
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.quads_fractional_odd_spacing
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.quads_fractional_even_spacing
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_equal_spacing_ccw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_equal_spacing_ccw_point_mode
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_equal_spacing_cw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_equal_spacing_cw_point_mode
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_ccw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_ccw_point_mode
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_cw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_cw_point_mode
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_even_spacing_ccw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_even_spacing_ccw_point_mode
Fixes:
e5d517f3622 ("zink: rework query pool overflow")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22575>
SoroushIMG [Thu, 16 Feb 2023 09:43:40 +0000 (09:43 +0000)]
zink: fix incorrect line mode check for bresenham
the line requirement check logic was assuming mode index 0
is bresenhamLines, but it is actually rectangularLines.
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22575>
SoroushIMG [Mon, 17 Apr 2023 17:44:50 +0000 (18:44 +0100)]
zink: take location_frac into account in lower_line_smooth_gs
blender-demo-cube_diorama trace in traces-db hits this.
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22575>
SoroushIMG [Mon, 3 Apr 2023 13:29:01 +0000 (14:29 +0100)]
zink: do not emit line stipple dynamic state when emulating
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22575>
Samuel Pitoiset [Fri, 21 Apr 2023 13:44:56 +0000 (15:44 +0200)]
radv: add the perf counters BO to the preambles BO list
If the submission isn't chained for any reasons, we might end by
submitting the performance counter preambles without a command
buffer that added this BO to its list.
Found by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22627>
Sergi Blanch Torne [Wed, 29 Mar 2023 07:18:53 +0000 (09:18 +0200)]
ci: disable Collabora's LAVA lab for maintance
This is to inform you of some planned downtime in the LAVA lab as follows:
Start: 2023-04-24 08:00 GMT
End: 2023-04-24 12:00 GMT
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22181>
Mike Blumenkrantz [Thu, 20 Apr 2023 20:35:36 +0000 (16:35 -0400)]
zink: add validation exceptions for shader object extension enable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 20:40:43 +0000 (16:40 -0400)]
zink: use EXT_shader_object to (re)implement separate shaders
this reimplements the same functionality that exists already, but
using shader object instead of GPL
it must be disabled by default, as this extension is not (currently)
compatible with feedback loops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Mon, 10 Apr 2023 22:18:16 +0000 (18:18 -0400)]
zink: remove redundant compute program batch ref
this is already handled in the function above
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 7 Apr 2023 16:18:19 +0000 (12:18 -0400)]
zink: run bo lowering passes for separate shader compile with uniform inlining
this is otherwise unable to pass ntv
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 22:17:07 +0000 (18:17 -0400)]
zink: add a 'separate' flag to shader module compile to indicate separate shaders
not used yet
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 20:04:31 +0000 (16:04 -0400)]
zink: move separate shader dsl creation to compiler function
no functional changes, just reordering
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 20:04:17 +0000 (16:04 -0400)]
zink: minor whitespace cleanup
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 19:52:46 +0000 (15:52 -0400)]
zink: use zink_shader_object for precompiled separate shaders
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 19:48:40 +0000 (15:48 -0400)]
zink: more zink_shader_object conversion
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 19:39:45 +0000 (15:39 -0400)]
zink: make zink_shader_spirv_compile static
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 19:00:24 +0000 (15:00 -0400)]
zink: wrap return of compile_module()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 18:56:11 +0000 (14:56 -0400)]
zink: wrap zink_shader_compile_separate() return
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 31 Mar 2023 18:53:39 +0000 (14:53 -0400)]
zink: hook up EXT_shader_object
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Mon, 10 Apr 2023 17:01:19 +0000 (13:01 -0400)]
zink: use tes to generate tcs
this makes more sense considering the tcs will be stored onto the tes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22612>
Mike Blumenkrantz [Fri, 21 Apr 2023 14:41:34 +0000 (10:41 -0400)]
draw: fix viewmask iterating
the frontend has to be flushed and setup again if only
the viewmask has changed since the last draw
Fixes:
03cbb7b104e ("draw: add view_mask rendering support")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22628>
Thomas H.P. Andersen [Sun, 4 Jul 2021 09:41:52 +0000 (11:41 +0200)]
nir/nir_lower_vec3_to_vec4: Use the nir_shader_instructions_pass() helper
Extracts some per-impl code to nir_lower_vec3_to_vec4 and then
converts to use the nir_shader_instructions_pass helper.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683>
Thomas H.P. Andersen [Thu, 19 Jan 2023 16:27:31 +0000 (17:27 +0100)]
nir/nir_lower_to_source_mods: Use the nir_shader_instructions_pass() helper
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683>
Thomas H.P. Andersen [Sun, 4 Jul 2021 09:25:50 +0000 (11:25 +0200)]
nir/nir_lower_two_sided_color: Use the nir_shader_instructions_pass() helper
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683>
Thomas H.P. Andersen [Sat, 3 Jul 2021 13:10:05 +0000 (15:10 +0200)]
nir/nir_lower_uniforms_to_ubo: Use the nir_shader_instructions_pass() helper
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683>
Thomas H.P. Andersen [Thu, 19 Jan 2023 16:28:13 +0000 (17:28 +0100)]
nir/nir_lower_var_copies: Use the nir_shader_instructions_pass() helper
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683>
Thomas H.P. Andersen [Thu, 1 Jul 2021 23:16:13 +0000 (01:16 +0200)]
nir/nir_lower_viewport_transform: Use the nir_shader_instructions_pass() helper
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683>
Thomas H.P. Andersen [Thu, 1 Jul 2021 23:15:23 +0000 (01:15 +0200)]
nir/nir_lower_wpos_ytransform: Use the nir_shader_instructions_pass() helper
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683>
Thomas H.P. Andersen [Thu, 1 Jul 2021 16:02:37 +0000 (18:02 +0200)]
nir/nir_lower_wpos_center: Use the nir_shader_instructions_pass() helper
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683>
Axel Davy [Sun, 2 Apr 2023 15:35:53 +0000 (17:35 +0200)]
frontend/nine: fix wfog
When wfog support is advertised, unless an orthogonal
projection matrix is detected, w is supposed to be used
instead of z for the fog equation when done in the pixel
shader.
Due to the spec being ambiguous, and tests being incomplete,
it seems we had got things wrong.
New tests confirm the behaviour.
For the explanation we will denote z_vs and w_vs the position
output's z and w channels in the vertex shader, and
z_ps, w_ps the position input z and w channels in the pixel shader.
w_ps = 1/w_vs
z_ps = z_vs/w_vs
In the programmable pixel shader, we used z_ps/w_ps, thus z_vs.
As basically z_vs and w_vs are usually in the same range, we didn't
notice an obvious difference with the correct behaviour.
In the ff pixel shader, we used z_ps for zfog and w_vs else.
z_ps was always used if a programmable vertex shader was detected.
This latter behaviour led to issue
https://gitlab.freedesktop.org/mesa/mesa/-/issues/8341
While using z_ps/w_ps like for programmable ps fixes the issue visually
for the same reason as it did for programmable ps, it breaks
wine tests using XYZRHW. These tests show that when passing
pre-transformed vertices and an orthogonal projection matrix,
z_vs is used, and due to the XYZRHW property, this is not
recovered by the z_ps/w_ps computation (instead z_ps=z_vs).
For the game affected by the issue, the projection matrix set
is not orthogonal.
The direct3D spec indicates that the projection matrix must be
set correctly for fog to work properly, even if we do not use the
transformation pipeline (could be related to xyzrhw, or programmable vs
or both). Previous tests had shown that the projection matrix
has the last two values of the last column tested against 0 and 1,
in order to activate zfog or wfog.
The R500 spec indicates that either z or 1/1/w can be used as source
for the fog computation, but it is not clear whether this is z_vs or
z_ps.
Tests confirmed the intuition that the correct behaviour
is to use z_ps (zfog) when an orthogonal projection matrix is set
(the spec spirit being that in that case z_ps=z_vs),
and 1/w_ps (wfog) else (even if programmable shaders are used).
This patch introduces this behaviour.
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8341
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22583>
Axel Davy [Thu, 13 Apr 2023 17:44:04 +0000 (19:44 +0200)]
frontend/nine: fix fog key overflow
FOGTABLEMODE is 2 bits. It could thus
overwrite the part of the ps key reserved
for centroid interpolation.
Fix the size of FOGTABLEMODE and the key
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22583>
Axel Davy [Thu, 21 Jul 2022 16:44:56 +0000 (18:44 +0200)]
frontend/nine: Apply writemask to pointsize
Seen when working on the code.
It seems like a sane thing to do, but it
might be wrong.
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22583>
Axel Davy [Thu, 21 Jul 2022 16:42:02 +0000 (18:42 +0200)]
frontend/nine: Fix missing clamping of pointsize for ff
Seen while working on this code.
It seems to be a sane thing to do.
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22583>
Juan A. Suarez Romero [Sat, 22 Apr 2023 17:42:19 +0000 (19:42 +0200)]
v3dv/ci: rename waiver test
Apparently dEQP-VK.draw.inverted_depth_ranges.nodepthclamp_deltazero was
renamed to dEQP-VK.draw.renderpass.inverted_depth_ranges.nodepthclamp_deltazero.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22641>
Gert Wollny [Tue, 11 Apr 2023 12:17:40 +0000 (14:17 +0200)]
r600/sfn: make sure f2u32 is lowered late and correctly for 64 bit floats
With the latest changes in opt_algebraic we got f2u32 in the final code
that should be lowered before conversion to assembly.
Fixes:
b3685f3ba7fddbe73f363ff4d53ca734841e4b06
nir/algebraic: insert patterns inside optimizations list
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22640>
Tatsuyuki Ishi [Mon, 17 Apr 2023 13:41:43 +0000 (22:41 +0900)]
util: Add mesa_blake3 wrappers.
The wrappers mirrors the mesa_sha1 API to ease migration.
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22387>
Tatsuyuki Ishi [Mon, 10 Apr 2023 02:44:54 +0000 (11:44 +0900)]
util/blake3: Patch with hidden visibility for asm symbols.
For Unix platforms, the symbol visibility needs to be hidden to avoid
exposing them in driver shared objects.
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22387>
Tatsuyuki Ishi [Thu, 30 Mar 2023 07:21:57 +0000 (16:21 +0900)]
util: Add a copy of BLAKE3 hash library.
The files are copied from upstream repo, with a few modifications to fix
build errors, as described in the README.
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22387>
Dylan Baker [Fri, 21 Apr 2023 18:36:35 +0000 (11:36 -0700)]
docs: update calendar for 23.0.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Dylan Baker [Fri, 21 Apr 2023 18:36:34 +0000 (11:36 -0700)]
docs: update calendar for 23.0.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Dylan Baker [Fri, 21 Apr 2023 18:36:33 +0000 (11:36 -0700)]
docs: update calendar for 23.0.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Dylan Baker [Thu, 20 Apr 2023 23:32:10 +0000 (16:32 -0700)]
docs: Add sha256 sum for 23.0.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Dylan Baker [Thu, 20 Apr 2023 23:06:54 +0000 (16:06 -0700)]
docs: add release notes for 23.0.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Dylan Baker [Fri, 7 Apr 2023 17:10:13 +0000 (10:10 -0700)]
docs: Add sha256 sum for 23.0.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Dylan Baker [Fri, 7 Apr 2023 16:22:42 +0000 (09:22 -0700)]
docs: add release notes for 23.0.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Dylan Baker [Sat, 25 Mar 2023 05:42:38 +0000 (22:42 -0700)]
docs: Add sha256 sum for 23.0.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Dylan Baker [Sat, 25 Mar 2023 03:04:38 +0000 (20:04 -0700)]
docs: add release notes for 23.0.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22635>
Rob Clark [Wed, 19 Apr 2023 20:36:58 +0000 (13:36 -0700)]
freedreno: Inline single-caller helpers
Now that we don't have the batch_reset() path, we can inline
batch_init() and batch_fini().
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22602>
Rob Clark [Wed, 19 Apr 2023 20:22:42 +0000 (13:22 -0700)]
freedreno: Remove unused fd_batch_reset()
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22602>
Gert Wollny [Fri, 21 Apr 2023 08:17:44 +0000 (10:17 +0200)]
r600/sfn: Lower tess levels to vectors in TCS
Thanks @anholt for pointing me in the right direction
Fixes:
84006587 glsl: Delete the lower_tess_level
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8884
v2: replace direct call to lowering pass with nir compiler option
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22622>
Hans-Kristian Arntzen [Fri, 21 Apr 2023 15:22:47 +0000 (17:22 +0200)]
wsi/x11: Fix present ID signal when IDLE comes before COMPLETE.
It appears to be possible that IDLE is observed before COMPLETE.
In this case, an application may access present_id in subsequent
QueuePresentKHR and race against the fence worker reading present_id.
Solve this by adding a separate signal_present_id that is used when
completing to avoid the race.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22633>
Samuel Pitoiset [Fri, 21 Apr 2023 09:53:30 +0000 (11:53 +0200)]
Revert "ci/radv: Demote navi21 to manual until recent flakiness resolves."
This reverts commit
2a9b990fa3ed003354f4ee68105e4f0cbf8ce0b3.
This should be fixed now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22625>
Samuel Pitoiset [Fri, 21 Apr 2023 08:11:36 +0000 (10:11 +0200)]
radv/amdgpu: fix adding continue preambles and postambles BOs to the list
Previously, continue preambles and postambles were added directly to
the CS array which means all BOs were correctly added to the BO list,
and this has been broken recently. IB BOs need to be added to the list.
When a BO isn't added to the list as part of a submission, it might
randomly VM faults.
This fixes VM faults and random GPU hangs on NAVI21 in Mesa CI.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8849
Fixes:
41a9bced313 ("radv: Fill continue preambles and postambles properly.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22625>
Harri Nieminen [Thu, 20 Apr 2023 10:15:05 +0000 (13:15 +0300)]
broadcom: fix typos
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22591>
antonino [Fri, 21 Apr 2023 13:09:32 +0000 (15:09 +0200)]
zink/ci: remove xt_framebuffer_multisample-interpolation fail
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22626>