platform/upstream/mesa.git
18 months agoac/llvm: remove output variable declaration for radv ps
Qiang Yu [Thu, 30 Mar 2023 01:36:28 +0000 (09:36 +0800)]
ac/llvm: remove output variable declaration for radv ps

radv ps does not support epilog when llvm, so outputs will always
be lowered to exports in nir.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agoaco,radv: lower outputs to exports when nir for monolithic ps
Qiang Yu [Thu, 30 Mar 2023 01:32:58 +0000 (09:32 +0800)]
aco,radv: lower outputs to exports when nir for monolithic ps

Remove the compiler backend code for outputs to exports.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agoaco: support nir_export_amd with ps targets
Qiang Yu [Wed, 29 Mar 2023 10:05:47 +0000 (18:05 +0800)]
aco: support nir_export_amd with ps targets

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agoac/nir/ps: add no_color_export option
Qiang Yu [Wed, 29 Mar 2023 03:50:18 +0000 (11:50 +0800)]
ac/nir/ps: add no_color_export option

For radv which always do ps lower but may use epilog or not.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agoac/nir/ps: use nir_export_dual_src_blend_amd when aco
Qiang Yu [Sun, 23 Apr 2023 05:14:19 +0000 (13:14 +0800)]
ac/nir/ps: use nir_export_dual_src_blend_amd when aco

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agoaco: implement nir_export_dual_src_blend_amd
Qiang Yu [Sun, 23 Apr 2023 04:11:24 +0000 (12:11 +0800)]
aco: implement nir_export_dual_src_blend_amd

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agoaco: move create_fs_dual_src_export_gfx11 above
Qiang Yu [Sun, 23 Apr 2023 05:30:40 +0000 (13:30 +0800)]
aco: move create_fs_dual_src_export_gfx11 above

Will be used in visit_intrinsic(), content is not changed.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agonir: add nir_export_dual_src_blend_amd intrinsic
Qiang Yu [Sun, 23 Apr 2023 03:49:26 +0000 (11:49 +0800)]
nir: add nir_export_dual_src_blend_amd intrinsic

For GFX11 export dual source blend outputs when ACO.
ACO need a pseudo instruction to emit a block of
code which can't be done in nir currently.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agoac/nir/ps: fix null export write mask miss set to 0xf
Rhys Perry [Tue, 25 Apr 2023 13:13:11 +0000 (21:13 +0800)]
ac/nir/ps: fix null export write mask miss set to 0xf

Fixes: c1821544562 ("ac/nir: add ac_nir_lower_ps")
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>

18 months agoradv/rt: remove merged VkRayTracingShaderGroupCreateInfoKHR
Daniel Schürmann [Tue, 25 Apr 2023 11:43:27 +0000 (13:43 +0200)]
radv/rt: remove merged VkRayTracingShaderGroupCreateInfoKHR

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

18 months agoradv/rt: replace uses of pGroups with radv_ray_tracing_group
Daniel Schürmann [Tue, 25 Apr 2023 11:37:29 +0000 (13:37 +0200)]
radv/rt: replace uses of pGroups with radv_ray_tracing_group

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

18 months agoradv: Hash pipeline libraries separately
Friedrich Vock [Mon, 13 Mar 2023 20:16:47 +0000 (21:16 +0100)]
radv: Hash pipeline libraries separately

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

18 months agoradv/rt: add shader stage indices to radv_ray_tracing_group
Daniel Schürmann [Fri, 14 Apr 2023 10:00:03 +0000 (12:00 +0200)]
radv/rt: add shader stage indices to radv_ray_tracing_group

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

18 months agoradv/rt: rename radv_ray_tracing_module -> radv_ray_tracing_group
Daniel Schürmann [Tue, 25 Apr 2023 11:24:55 +0000 (13:24 +0200)]
radv/rt: rename radv_ray_tracing_module -> radv_ray_tracing_group

This name better reflects the purpose and content of this struct.

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

18 months agosvga: set PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY for VGPU10 device
Charmaine Lee [Wed, 12 Apr 2023 21:13:04 +0000 (00:13 +0300)]
svga: set PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY for VGPU10 device

Instead of forcing vertex buffer stride to be 4 byte aligned only,
DX10 actually allows the stride to be non 4-byte aligned but the
alignment of an element must be the nearest power of 2 greater or equal to the
width of the element's format, or 4, whichever is less.  So the requirement is
better met with PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY which if set to
TRUE, the sum of vertex element offset + vertex buffer offset + vertex buffer
stride must be aligned to the vertex attributes component size.
Note: PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY cannot be set
with other alignment-requiring CAPs, so we have to return 0 for all the
other alignement CAPs.

This avoids some unnecessary software vertex translate fallback.

cc: mesa-stable

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22689>

18 months agointel/dev: report stepping for TGL systems
Mark Janes [Tue, 18 Apr 2023 19:20:07 +0000 (12:20 -0700)]
intel/dev: report stepping for TGL systems

Workaround 14010672564 requires a check for the TGL B0 stepping.

Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22458>

18 months agointel/dev: update mesa_defs.json from defect database
Mark Janes [Wed, 12 Apr 2023 21:42:37 +0000 (14:42 -0700)]
intel/dev: update mesa_defs.json from defect database

These modifications represent:

 * changes to defects made since Feb 16, 2023
 * changes to automated processing of defect state

Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22458>

18 months agoglx: add fail check for current context in another thread
Illia Polishchuk [Tue, 25 Apr 2023 08:42:20 +0000 (11:42 +0300)]
glx: add fail check for current context in another thread

The GLX spec for glXMakeCurrent (3.3):
"If ctx is current to some other thread, then glXMakeCurrent will generate
a BadAccess error"

The GLX spec for glXCopyContext (3.3):
"If the destination context is current for some thread then a BadAccess
error is generated"

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7961
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22546>

18 months agoradv/rt: properly destroy radv_ray_tracing_lib_pipeline on error
Daniel Schürmann [Tue, 25 Apr 2023 14:12:19 +0000 (16:12 +0200)]
radv/rt: properly destroy radv_ray_tracing_lib_pipeline on error

Also return the correct error code.

Fixes: 4dafb69d61820c4a9b71856e62797b51f13df91c ('radv/rt: defer library_pipeline allocation')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22684>

18 months agoci/zink: Try to update TGL results for new MSAA behavior.
Emma Anholt [Tue, 25 Apr 2023 17:12:55 +0000 (10:12 -0700)]
ci/zink: Try to update TGL results for new MSAA behavior.

A few fixes, but mostly tons of new GPU hangs.

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

18 months agoci/crocus: Note a recent regression.
Emma Anholt [Tue, 25 Apr 2023 17:04:16 +0000 (10:04 -0700)]
ci/crocus: Note a recent regression.

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

18 months agoci/lima: Skip ppgtt_memory_alignment that flaked a job with the oomkiller.
Emma Anholt [Tue, 25 Apr 2023 16:56:46 +0000 (09:56 -0700)]
ci/lima: Skip ppgtt_memory_alignment that flaked a job with the oomkiller.

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

18 months agoci/panfrost: Drop tex3d-maxsize on g52.
Emma Anholt [Tue, 25 Apr 2023 16:25:57 +0000 (09:25 -0700)]
ci/panfrost: Drop tex3d-maxsize on g52.

Implicated in 3 job-level flakes where Xorg got killed yesterday.

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

18 months agoci: add a660 firmware into rootfs
David Heidelberg [Thu, 20 Apr 2023 13:29:27 +0000 (15:29 +0200)]
ci: add a660 firmware into rootfs

Until we bump to Debian 12 (bookworm).

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22604>

18 months agoci/lava: add support for HDK 888 firmware
David Heidelberg [Thu, 20 Apr 2023 13:14:37 +0000 (15:14 +0200)]
ci/lava: add support for HDK 888 firmware

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22604>

18 months agoci/lava: implement fastboot support
David Heidelberg [Wed, 5 Apr 2023 23:17:26 +0000 (01:17 +0200)]
ci/lava: implement fastboot support

Based on work from Tomeu Vizoso.

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22604>

18 months agoci: add Adreno 660 on sm8350 chipset (HDK 888)
David Heidelberg [Wed, 5 Apr 2023 20:27:09 +0000 (22:27 +0200)]
ci: add Adreno 660 on sm8350 chipset (HDK 888)

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22604>

18 months agoaux/draw: fix memory leak related to ureg_get_tokens()
Patrick Lerda [Wed, 8 Mar 2023 20:27:57 +0000 (21:27 +0100)]
aux/draw: fix memory leak related to ureg_get_tokens()

Indeed, the function nir_to_tgsi() returns an ureg_get_tokens() allocated
object which is assigned locally. The ureg_get_tokens() allocated object
should be freed.

For instance, this issue is triggered with a llvm enabled lima,
"piglit/bin/gl-1.0-rendermode-feedback -auto -fbo":
Direct leak of 512 byte(s) in 1 object(s) allocated from:
    #0 0x7faeaa4500 in __interceptor_realloc (/usr/lib64/libasan.so.6+0xa4500)
    #1 0x7fa4a88f1c in tokens_expand ../src/gallium/auxiliary/tgsi/tgsi_ureg.c:239
    #2 0x7fa4a88f1c in get_tokens ../src/gallium/auxiliary/tgsi/tgsi_ureg.c:262
    #3 0x7fa4a900f4 in copy_instructions ../src/gallium/auxiliary/tgsi/tgsi_ureg.c:2079
    #4 0x7fa4a900f4 in ureg_finalize ../src/gallium/auxiliary/tgsi/tgsi_ureg.c:2129
    #5 0x7fa4a91dfc in ureg_get_tokens ../src/gallium/auxiliary/tgsi/tgsi_ureg.c:2206
    #6 0x7fa4b20a2c in nir_to_tgsi_options ../src/gallium/auxiliary/nir/nir_to_tgsi.c:4011
    #7 0x7fa4a0c914 in draw_create_vertex_shader ../src/gallium/auxiliary/draw/draw_vs.c:77

Fixes: b5e782f5f431 ("aux/draw: use nir_to_tgsi for draw shader in llvm path")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21924>

18 months agoradv: Don't leak the RT prolog binary
Friedrich Vock [Mon, 17 Apr 2023 14:19:11 +0000 (16:19 +0200)]
radv: Don't leak the RT prolog binary

Fixes: 063d0c90 ("radv: Combine all the parts together with a main loop for an RT pipeline.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22535>

18 months agoradv/rt: Plug some memory leaks during shader creation
Friedrich Vock [Mon, 17 Apr 2023 14:14:50 +0000 (16:14 +0200)]
radv/rt: Plug some memory leaks during shader creation

nir_inline_function actually clones instructions instead of moving them.
Free the shaders explicitly after inserting them instead.

Fixes: 207ce6d658 ("radv: Add helper to inline shaders into the main shader.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22535>

18 months agozink: print the type of shader when dumping
Mike Blumenkrantz [Tue, 25 Apr 2023 14:13:53 +0000 (10:13 -0400)]
zink: print the type of shader when dumping

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

18 months agonouveau/codegen: Check nir_dest_num_components
M Henning [Tue, 25 Apr 2023 05:41:03 +0000 (01:41 -0400)]
nouveau/codegen: Check nir_dest_num_components

instead of reaching into a union and pulling out garbage when
the dest is a reg

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8863
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22674>

18 months agofreedreno/a6xx: Change a618 tile_align_h back to 32
Rob Clark [Tue, 25 Apr 2023 17:07:31 +0000 (10:07 -0700)]
freedreno/a6xx: Change a618 tile_align_h back to 32

Commit 60bc7c0e221 ("freedreno: Specify GMEM tile alignment per GPU")
changed the tile_align_h from 32 to 16 (which _should_ be the correct
value).  But this is causing failure in android 9 skqp dstreadshuffle.
(But not, seemingly, with the android 11 version of skia+skqp, which
picks the same tile size.  So this is likely papering something over.)

For now, to unblock things, revert back to the previous tile_align_h.

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

18 months agofreedreno: Fix resource tracking vs rebind/invalidate
Rob Clark [Mon, 24 Apr 2023 22:11:09 +0000 (15:11 -0700)]
freedreno: Fix resource tracking vs rebind/invalidate

We can now no longer rely on certain dirty bits to re-trigger draw time
resource tracking.  We need to use the new fd_dirty*_resource() APIs.

Fixes `org.skia.skqp.SkQPRunner#gles_recordopts` on android 9.

Fixes: 0a62a874fc5 ("freedreno: Re-work dirty-resource tracking")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22683>

18 months agoradv/rmv: Fix import memory
Friedrich Vock [Mon, 17 Apr 2023 14:18:37 +0000 (16:18 +0200)]
radv/rmv: Fix import memory

For some import memory, it is valid to specify zero size.

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

18 months agoradv/rmv: Fix creating RT pipelines
Friedrich Vock [Mon, 17 Apr 2023 14:16:27 +0000 (16:16 +0200)]
radv/rmv: Fix creating RT pipelines

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

18 months agoci/dzn: Run almost the full CTS
Jesse Natalie [Fri, 21 Apr 2023 21:13:42 +0000 (14:13 -0700)]
ci/dzn: Run almost the full CTS

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

18 months agodzn: Re-design custom buffer descriptors
Jesse Natalie [Fri, 21 Apr 2023 18:48:16 +0000 (11:48 -0700)]
dzn: Re-design custom buffer descriptors

Previously, custom buffer descriptors were owned by a descriptor set. Now,
custom buffer descriptors are owned by the buffer. Additionally, we respect
the app-provided sizes when they're smaller than the buffer size, even if
robustness is not enabled, so that size queries work correctly.

This new design fixes several issues:
* Descriptor set copies were broken when they involved custom descriptors,
  because the original descriptor set owned the lifetime of the custom
  descriptor, the new one was just borrowing it. If those lifetimes didn't
  line up, problems would arise.
* A single buffer with the same sub-view placed in multiplel descriptor sets
  would allocate multiple slots, when it only really needed one.
* Custom buffer descriptors now lower the base offset to 0 to allow merging
  multiple overlapping (ending at the same upper bound) descriptors. Since
  the shader is already doing an offset add, making it nonzero is free.
* Dynamic buffer descriptors were incorrect before. The size passed into the
  descriptor set is supposed to be the size from the *dynamic* offset, not the
  size from the static offset. By allocating/populating the descriptor when
  placed into the set, it prevented larger offsets from working correctly. This
  buffer-owned design prevents cmdbufs from having to own lifetime of custom
  descriptors.

Fixes dEQP-VK.ssbo.unsized_array_length.float_offset_explicit_size

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

18 months agodzn: Handle depth bias for point fill mode emulation
Jesse Natalie [Fri, 21 Apr 2023 18:13:12 +0000 (11:13 -0700)]
dzn: Handle depth bias for point fill mode emulation

Fixes dEQP-VK.draw.renderpass.depth_bias.depth_bias_triangle_list_point

This is not complete, there's no slope scale or clamp handling, but it
does handle static or dynamic (though dynamic is untested).

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

18 months agodzn: Handle opaque BC1
Jesse Natalie [Fri, 21 Apr 2023 15:44:03 +0000 (08:44 -0700)]
dzn: Handle opaque BC1

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

18 months agodzn: Use unrestricted copy alignments when available
Jesse Natalie [Fri, 21 Apr 2023 15:43:52 +0000 (08:43 -0700)]
dzn: Use unrestricted copy alignments when available

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

18 months agoci/windows: Update Agility SDK to 1.610.2
Jesse Natalie [Fri, 21 Apr 2023 21:18:51 +0000 (14:18 -0700)]
ci/windows: Update Agility SDK to 1.610.2

Otherwise non-normalized sampling coords are unintentionally disabled

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

18 months agozink: fix store subsitution in `lower_pv_mode_gs_store`
antonino [Tue, 25 Apr 2023 10:29:35 +0000 (12:29 +0200)]
zink: fix store subsitution in `lower_pv_mode_gs_store`

Previously it was assumed that between the and the variable there was
only one deref.

To handle all cases a new function is introduced that recreates a chain
of derefs.

Fixes: 5a4083349f3 ("zink: add provoking vertex mode lowering")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22678>

18 months agonir/zink: use sysvals in `nir_create_passthrough_gs`
antonino [Mon, 24 Apr 2023 11:46:52 +0000 (13:46 +0200)]
nir/zink: use sysvals in `nir_create_passthrough_gs`

Previously the passthrough gs shader loaded some values with uniform
loads using sevaral hardcoded values.

This was not flexible for other drivers and started becoming too
unflexible for zink itself.

Use system values instead and use a lowering pass in zink.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22667>

18 months agopvr: Add PVR_DW_TO_BYTES()
Karmjit Mahil [Tue, 14 Feb 2023 13:04:39 +0000 (13:04 +0000)]
pvr: Add PVR_DW_TO_BYTES()

We use dwords (32 bit) quite a bit around the code base. Previously
we used '* 4', '<< 2', or '* sizeof(uint32_t)' to go from dwords to
bytes. The conversion isn't always clear when other operations
happen in the same line, which can leave one wondering where the
multiplication came from.
PVR_DW_TO_BYTES() should make the code more obvious as well as
making the conversion more consistent.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22658>

18 months agoanv: implement state cache invalidate for Wa_16013063087
Tapani Pälli [Mon, 24 Apr 2023 10:11:48 +0000 (13:11 +0300)]
anv: implement state cache invalidate for Wa_16013063087

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>

18 months agoanv: cleanup bitmask construction for PIPELINE_SELECT
Tapani Pälli [Mon, 24 Apr 2023 10:10:31 +0000 (13:10 +0300)]
anv: cleanup bitmask construction for PIPELINE_SELECT

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>

18 months agoiris: implement state cache invalidate for Wa_16013063087
Tapani Pälli [Mon, 24 Apr 2023 05:52:28 +0000 (08:52 +0300)]
iris: implement state cache invalidate for Wa_16013063087

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>

18 months agobroadcom/compiler: return early for SFU op latency calculation
Iago Toral Quiroga [Tue, 25 Apr 2023 07:32:27 +0000 (09:32 +0200)]
broadcom/compiler: return early for SFU op latency calculation

Since we are returning a fixed latency for these check for them
earlier and return early if they match.

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

18 months agobroadcom/compiler: fix incorrect ALU checks
Iago Toral Quiroga [Tue, 25 Apr 2023 07:04:25 +0000 (09:04 +0200)]
broadcom/compiler: fix incorrect ALU checks

We had a bunch of cases where we would check ALU parameters without
first checking if the ALU op was valid.

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

18 months agoradeonsi: implement fw based mcbp
Pierre-Eric Pelloux-Prayer [Fri, 17 Mar 2023 13:44:42 +0000 (14:44 +0100)]
radeonsi: implement fw based mcbp

Some chips support firmware based mcbp. If supported this means
radeonsi needs to allocate 3 buffers and pass them to the firmware.

From there, the firmware will handle mcbp and register shadowing
on its own so we don't need to insert LOAD packet in the preamble.

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

18 months agoamd: determine info->has_fw_based_shadowing
Pierre-Eric Pelloux-Prayer [Fri, 17 Mar 2023 13:43:47 +0000 (14:43 +0100)]
amd: determine info->has_fw_based_shadowing

The shadow_size value will be 0 if unsupported.

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

18 months agoamd: update amdgpu_drm.h
Pierre-Eric Pelloux-Prayer [Fri, 17 Mar 2023 13:42:19 +0000 (14:42 +0100)]
amd: update amdgpu_drm.h

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

18 months agovenus: fix the RHEL8 build by using syscall for gettid
Marek Olšák [Thu, 13 Apr 2023 19:38:03 +0000 (15:38 -0400)]
venus: fix the RHEL8 build by using syscall for gettid

src/virtio/vulkan/vn_common.c: In function ‘vn_ring_monitor_acquire’:
src/virtio/vulkan/vn_common.c:129:16: error: implicit declaration of function ‘gettid’; did you mean ‘getgid’? [-Werror=implicit-function-declaration]
  129 |    pid_t tid = gettid();

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

18 months agoci/valve: Add a workaround for finding libdrm on navi21s.
Emma Anholt [Mon, 24 Apr 2023 16:39:09 +0000 (09:39 -0700)]
ci/valve: Add a workaround for finding libdrm on navi21s.

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

18 months agoci/zink: Drop anv/lvp validation exceptions that should be fixed in the CTS.
Emma Anholt [Thu, 13 Apr 2023 23:34:11 +0000 (16:34 -0700)]
ci/zink: Drop anv/lvp validation exceptions that should be fixed in the CTS.

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

18 months agoci/deqp: Update to 1.3.5.1 and pull in additional bugfixes from main.
Emma Anholt [Tue, 14 Mar 2023 18:46:11 +0000 (11:46 -0700)]
ci/deqp: Update to 1.3.5.1 and pull in additional bugfixes from main.

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

18 months agoci: Move some timeout xfails to skips.
Emma Anholt [Fri, 14 Apr 2023 00:12:19 +0000 (17:12 -0700)]
ci: Move some timeout xfails to skips.

We generally don't want to wait around for a minute for things to fail.
Note that some of these were already in their skips.

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

18 months agorusticl/device: allow enablement of fp64 via RUSTICL_FEATURES
Karol Herbst [Mon, 24 Apr 2023 11:08:07 +0000 (13:08 +0200)]
rusticl/device: allow enablement of fp64 via RUSTICL_FEATURES

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

18 months agorusticl/platform: add RUSTICL_FEATURES boilerplate
Karol Herbst [Mon, 24 Apr 2023 11:07:38 +0000 (13:07 +0200)]
rusticl/platform: add RUSTICL_FEATURES boilerplate

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

18 months agorusticl/platform: extract env variable parsing from Platform::init
Karol Herbst [Mon, 24 Apr 2023 11:06:01 +0000 (13:06 +0200)]
rusticl/platform: extract env variable parsing from Platform::init

In our platform initialization code we might want to access the parsed env
variables already. So do this in separate steps.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

18 months agorusticl/platform: make the initialization more explicit
Karol Herbst [Mon, 24 Apr 2023 11:01:42 +0000 (13:01 +0200)]
rusticl/platform: make the initialization more explicit

It's not a lazy loaded type so doing the Once::call_once in every
Platform::get gives us a pointless atomic, which might be slow on some
platforms.

Every application has to call clGetPlatformIDs so we only need to do it
there.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

18 months agorusticl/device: improve advertisement of fp64 support
Karol Herbst [Mon, 24 Apr 2023 10:54:59 +0000 (12:54 +0200)]
rusticl/device: improve advertisement of fp64 support

Enabling fp64 support makes rarely sense, but in case we do claim it, we
should also tell if it's a pure software implementation.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

18 months agogallium: Add pipe_shader_state_from_nir
M Henning [Sat, 22 Apr 2023 04:47:28 +0000 (00:47 -0400)]
gallium: Add pipe_shader_state_from_nir

and use it in nouveau

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

18 months agonv50,nvc0: Use ttn for tgsi shaders by default
M Henning [Tue, 4 Apr 2023 05:54:40 +0000 (01:54 -0400)]
nv50,nvc0: Use ttn for tgsi shaders by default

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

18 months agonv50,nvc0: Stop advertising TGSI by default
M Henning [Sun, 2 Apr 2023 05:08:12 +0000 (01:08 -0400)]
nv50,nvc0: Stop advertising TGSI by default

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

18 months agonv50,nvc0: Use nir in nv50_blitter_make_fp
M Henning [Wed, 12 Apr 2023 05:20:08 +0000 (01:20 -0400)]
nv50,nvc0: Use nir in nv50_blitter_make_fp

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

18 months agonvc0: Use nir in nvc0_blitter_make_vp
M Henning [Sun, 9 Apr 2023 01:00:33 +0000 (21:00 -0400)]
nvc0: Use nir in nvc0_blitter_make_vp

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

18 months agonvc0: Use nir in nvc0_program_init_tcp_empty
M Henning [Sun, 2 Apr 2023 05:26:31 +0000 (01:26 -0400)]
nvc0: Use nir in nvc0_program_init_tcp_empty

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

18 months agolavapipe: asst. clean-ups in lvp_execute.c
Brian Paul [Fri, 7 Apr 2023 17:56:57 +0000 (11:56 -0600)]
lavapipe: asst. clean-ups in lvp_execute.c

Move loop var decls into loops.
Use designated initializers.
Replace some questionable memcpy/memset() calls with assignments.
Line-wrap, whitespace fixes.

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

18 months agolavapipe: clean-ups in lvp_physical_device_get_format_properties()
Brian Paul [Fri, 7 Apr 2023 17:26:04 +0000 (11:26 -0600)]
lavapipe: clean-ups in lvp_physical_device_get_format_properties()

Use new pscreen local var to shorten the code.
Line-wrap and align code for easier reading.
Consolidate |= assignments.

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

18 months agolavapipe: clean-ups in lvp_GetQueryPoolResults()
Brian Paul [Wed, 5 Apr 2023 15:42:33 +0000 (09:42 -0600)]
lavapipe: clean-ups in lvp_GetQueryPoolResults()

Simplify the code which puts query results into the destination
buffer:
* Use a uint64 or uint32 pointer instead of uint8 to write the results
  to the buffer for less casting and simplifient pointer incrementing.
* Use MIN2() macro to be more concise.
And fix some indentation.

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

18 months agoci/mold: bump to 1.11.0
David Heidelberg [Sun, 23 Apr 2023 09:21:16 +0000 (11:21 +0200)]
ci/mold: bump to 1.11.0

Fixes LTO issue.

Release notes: https://github.com/rui314/mold/releases/tag/v1.11.0

Acked-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22642>

18 months agollvmpipe: do late init for llvm builder
Mike Blumenkrantz [Thu, 20 Apr 2023 14:33:27 +0000 (10:33 -0400)]
llvmpipe: do late init for llvm builder

this avoids doing any llvm work during lavapipe enumeration which
might otherwise explode if lavapipe is not the actual driver that
gets used

cc: mesa-stable

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600>

18 months agogallivm: break out native vector width calc for reuse
Mike Blumenkrantz [Fri, 21 Apr 2023 14:56:44 +0000 (10:56 -0400)]
gallivm: break out native vector width calc for reuse

breaks dependency on lp_build_init()

cc: mesa-stable

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600>

18 months agov3d/ci: enable glsl 1.30 and 1.40 piglit tests
Juan A. Suarez Romero [Sat, 22 Apr 2023 22:12:13 +0000 (00:12 +0200)]
v3d/ci: enable glsl 1.30 and 1.40 piglit tests

Now that we are exposing OpenGL 3.1, let's enable the proper supported
GLSL versions.

Acked-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22660>

18 months agofreedreno: Add more tracepoint fields
Rob Clark [Fri, 21 Apr 2023 18:51:04 +0000 (11:51 -0700)]
freedreno: Add more tracepoint fields

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

18 months agofreedreno/a6xx: Pass ring to __ONE_REG()
Rob Clark [Sat, 15 Apr 2023 18:32:09 +0000 (11:32 -0700)]
freedreno/a6xx: Pass ring to __ONE_REG()

This happened to work before because the arg to OUT_REG() was also
called 'ring' (or there was a suitable local var in scope!!)

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

18 months agofreedreno: Add dirty state logging
Rob Clark [Sat, 15 Apr 2023 16:51:21 +0000 (09:51 -0700)]
freedreno: Add dirty state logging

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

18 months agofreedreno/perfetto: Add shader_id for compute stages
Rob Clark [Sun, 2 Apr 2023 15:11:32 +0000 (08:11 -0700)]
freedreno/perfetto: Add shader_id for compute stages

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

18 months agomesa/nir: Add some perfetto traces
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>

18 months agofreedreno/ir3: More perfetto tracing
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>

18 months agoutil/log: Add missing "const"
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>

18 months agofreedreno/registers: C++ struct casting
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>

18 months agofreedreno: Extra casting to make C++ happy
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>

18 months agoutil/log: Fix log messages over 1024 characters.
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>

18 months agoanv: support fast color clears on vkCmdClearAttachments
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>

18 months agoanv: expose some helper functions
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>

18 months agoanv: factor out code for ccs_op and mcs_op
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>

18 months agoanv: make anv_can_fast_clear_color_view more generally available
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>

18 months agoanv: Remove dead parameters from copy_fast_clear_dwords
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>

18 months agoanv: Fast clear depth/stencil surface in vkCmdClearAttachments
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>

18 months agoanv: Move and make anv_can_hiz_clear_ds_view non-static
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>

18 months agoanv: Factor out code from anv_image_hiz_clear
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>

18 months agoblob: Don't valgrind assert for defined memory if we aren't writing.
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>

18 months agoci/zink: Enable the validation layer on the TGL GL46 run.
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>

18 months agoci: Move zink's validation layer setup to deqp-runner.sh.
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>

18 months agoci/zink: Re-enable traces now that !20319 has landed.
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>

18 months agoci: Add the Vulkan validation layer to amd64 rootfs builds.
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>

18 months agoci: Make a variable for the repeated rootfs directory name.
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>