Mike Blumenkrantz [Fri, 8 Apr 2022 22:41:48 +0000 (18:41 -0400)]
zink: add a self-dependency for fbfetch renderpasses
it's necessary to have a self-dependency here so that texture barriers
can be emitted during the renderpass to enable fbfetch
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15831>
Mike Blumenkrantz [Mon, 11 Apr 2022 00:19:06 +0000 (20:19 -0400)]
zink: remove compiled conditional for lavapipe usage
this is super annoying since it means that a build of zink cannot
be mix-and-matched with an existing build of lavapipe, e.g., for faster
bisecting
the env var should be sufficient to handle this, and if someone sets it
and doesn't have swrast enabled then they can deal with it
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15844>
Dave Airlie [Sun, 10 Apr 2022 23:32:41 +0000 (09:32 +1000)]
zink: fix tessellation shader key matching.
I happened to run heaven with tess enabled on zink and was seeing 6fps,
and lots of shader recompiles, turns out the tess shader key was
never getting matched properly.
Fixes: 62b8daa889da ("zink: set shader key size to 0 for non-generated tcs")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15843>
Mike Blumenkrantz [Fri, 8 Apr 2022 19:49:08 +0000 (15:49 -0400)]
zink only use zs-specific layout for zs attachments
otherwise this is illegal
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15833>
Mike Blumenkrantz [Fri, 8 Apr 2022 19:45:06 +0000 (15:45 -0400)]
zink: clamp cube size queries to 2 return components
more validation spam eliminated
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15833>
Icecream95 [Mon, 4 Apr 2022 01:02:40 +0000 (13:02 +1200)]
util/hash_table: Remove Unicode byte order mark
The mark can confuse utilities which do not support Unicode, and no
other file has the character.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15728>
Mike Blumenkrantz [Sat, 9 Apr 2022 13:27:28 +0000 (09:27 -0400)]
zink: ci updates
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15821>
Mike Blumenkrantz [Fri, 8 Apr 2022 16:45:22 +0000 (12:45 -0400)]
mesa/st: handle adding pointsize when gl_Position is never written
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15821>
Mike Blumenkrantz [Fri, 8 Apr 2022 16:45:06 +0000 (12:45 -0400)]
nir/lower_point_size_mov: handle case where gl_Position isn't written
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15821>
Mike Blumenkrantz [Fri, 8 Apr 2022 15:36:14 +0000 (11:36 -0400)]
mesa/st: handle copy_deref cases for adding pointsize
these may not have been lowered yet
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15821>
Mike Blumenkrantz [Fri, 8 Apr 2022 15:00:39 +0000 (11:00 -0400)]
mesa/st: fix pointsize adding check
* components is already multiplied by 4
* also verify base maxcomponents for gs
fixes #6282
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15821>
Mike Blumenkrantz [Fri, 8 Apr 2022 14:59:38 +0000 (10:59 -0400)]
mesa: set PointSizeIsOne on context creation
forgot to add this when inverting the flag's meaning previously
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15821>
Mike Blumenkrantz [Sun, 10 Apr 2022 16:25:02 +0000 (12:25 -0400)]
ci: disable v3dv arm64 jobs
these have been broken for almost 48 hours
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15841>
Icecream95 [Fri, 8 Apr 2022 11:05:02 +0000 (23:05 +1200)]
panfrost: Remove BO mapping from import
BOs will be mapped when needed, so there is no need to mmap BOs when
importing them.
Fixes crashes when exporting a non-AFBC resource and importing it back
in the same context.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15818>
Mihai Preda [Mon, 4 Apr 2022 07:07:49 +0000 (10:07 +0300)]
amd/llvm: Transition to LLVM "opaque pointers"
For context, see LLVM opaque pointers:
https://llvm.org/docs/OpaquePointers.html
https://llvm.org/devmtg/2015-10/slides/Blaikie-OpaquePointerTypes.pdf
This fixes the deprecation warnings in src/amd/llvm only.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15572>
Emma Anholt [Fri, 8 Apr 2022 23:23:34 +0000 (16:23 -0700)]
ci/zink: Mark a new GLX flake that hit an innocent MR.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15834>
Yiwei Zhang [Tue, 22 Mar 2022 20:39:06 +0000 (20:39 +0000)]
venus: prepare and feed renderer protocol info into cs
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15495>
Yiwei Zhang [Sat, 26 Mar 2022 04:27:04 +0000 (04:27 +0000)]
venus: update protocol for mask helper and ignore renderer unknown pNext
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15495>
Yiwei Zhang [Tue, 22 Mar 2022 20:34:41 +0000 (20:34 +0000)]
venus: add cs helper stubs to be used by protocol
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15495>
Yiwei Zhang [Fri, 18 Mar 2022 07:08:10 +0000 (07:08 +0000)]
venus: store extension mask in renderer info
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15495>
Emma Anholt [Fri, 8 Apr 2022 23:27:51 +0000 (16:27 -0700)]
ci/softpipe: Mark some flakes that have appeared across a few MRs.
This MR got hit by one, so I checked the logs for the recent NEW flakes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15540>
Emma Anholt [Thu, 24 Mar 2022 04:12:47 +0000 (21:12 -0700)]
st/glsl-to-tgsi: Fix handling of csel(bool, vec, vec).
We were throwing an assertion failure across shader-db on nv92. I'm
guessing this is a regression from !14573.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15540>
Emma Anholt [Fri, 8 Apr 2022 22:51:39 +0000 (15:51 -0700)]
ci/crocus: Disable pixmark-piano trace testing.
It hangchecked for me on hsw recently, too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15832>
Emma Anholt [Fri, 8 Apr 2022 22:50:24 +0000 (15:50 -0700)]
ci/iris: Disable pixmark-piano trace testing.
It gave me a spurious hangcheck on
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/
20946403, and this trace
causes trouble for a lot of drivers so just disable it on all iris.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15832>
Emma Anholt [Wed, 6 Apr 2022 23:17:00 +0000 (16:17 -0700)]
tgsi/transform: Drop a stale comment.
This method returns void.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15782>
Emma Anholt [Wed, 6 Apr 2022 22:14:08 +0000 (15:14 -0700)]
tgsi/transform: Make tgsi_transform_shader() manage token allocation.
Previously, the caller allocated storage and tgsi_transform_shader() would
emit into that, returning how many tokens it emitted. All the callers had
to guess at how much storage was necessary, trying not to over-allocate
but also getting enough that you wouldn't (effectively) silently run out
of space.
Instead, make tgsi_transform_shader() do the allocation for you, taking
just a hint of how much space you think you need, and internally double
size when necessary. Fixes failures on virgl with fp64 since we've added
more fp64 virglrenderer workarounds and its old "XXX: is this enough?"
allocation wasn't any more.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15782>
Emma Anholt [Thu, 7 Apr 2022 22:26:46 +0000 (15:26 -0700)]
nir_to_tgsi: Fix the address reg mapping for images and SSBOs to match G-T-T.
I missed these in the previous fix to mimic GLSL-to-TGSI address reg
behavior, which r600 relies on.
Fixes: 4bb9c0a28a5f ("nir_to_tgsi: Use the same address reg mappings as GLSL-to-TGSI did.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15824>
Emma Anholt [Tue, 5 Apr 2022 16:45:36 +0000 (09:45 -0700)]
nir_to_tgsi: Extract const components of atomic counter offsets into Index.
virglrenderer maps atomic accesses to atomic counter declarations using
the .Index field. We were previously emitting a .Index of 0 for array
accesses, so virglrenderer would emit
atomicIncrement(first_counter[counter_offset+array_index]). This would
mostly work because hardware doesn't care about the bounds of counter
declarations, but if the first counter was a non-array, then the [] GLSL
emit gets dropped (can't array access a scalar!) and you'd access the
non-array first_counter instead.
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15824>
Emma Anholt [Thu, 7 Apr 2022 22:15:03 +0000 (15:15 -0700)]
r600: Add a helper function for rat_index_mode, with documentation and assert.
We have some special requirements on the address regs of our incoming
TGSI, which nir_to_tgsi violated.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15824>
Emma Anholt [Thu, 7 Apr 2022 19:02:43 +0000 (12:02 -0700)]
r600: Stop using ArrayID to look up atomic counters.
Even if you find a matching array ID, you still need to offset by Index
compared to .start, so the ArrayID lookup didn't help.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15824>
Mike Blumenkrantz [Fri, 8 Apr 2022 20:32:40 +0000 (16:32 -0400)]
zink/kopper: don't use generated include in kopper interface
this causes build race conditions
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15830>
Mike Blumenkrantz [Fri, 8 Apr 2022 14:13:56 +0000 (10:13 -0400)]
zink: don't generate VK_ACCESS_SHADER_READ_BIT barrier for vertex inputs
this is both redundant and illegal
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15827>
Mike Blumenkrantz [Fri, 8 Apr 2022 14:26:37 +0000 (10:26 -0400)]
zink: don't rely on implicit access for generated barriers
compute shaders will get this wrong, so calculate access manually
using binding info
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15827>
Mike Blumenkrantz [Fri, 8 Apr 2022 14:19:55 +0000 (10:19 -0400)]
zink: add handling for !sync2 in renderpass dependencies
src/dst stage can't be zero without sync2
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15827>
Mike Blumenkrantz [Fri, 8 Apr 2022 14:19:18 +0000 (10:19 -0400)]
zink: hook up sync2 extension
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15827>
Mike Blumenkrantz [Fri, 8 Apr 2022 17:03:25 +0000 (13:03 -0400)]
zink: bitcast InterpolateAtOffset offset to fvec
required by spec
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15827>
Mike Blumenkrantz [Fri, 8 Apr 2022 17:24:32 +0000 (13:24 -0400)]
zink: clamp out partial texels when creating bufferviews
this is an illegal alignment, so clamp the range to the nearest
texel offset since the shader should be hitting the robustness
case for the partial texel
affects:
dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite.range_size_65537
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15827>
Mike Blumenkrantz [Fri, 8 Apr 2022 13:51:57 +0000 (09:51 -0400)]
zink: only get swapchain present semaphore on batch flush if not presented
otherwise this has already been present-waited and can just be used whenever
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15820>
Mike Blumenkrantz [Fri, 8 Apr 2022 13:51:57 +0000 (09:51 -0400)]
zink: only get swapchain present semaphore on batch flush after acquire
otherwise this was a no-op flush from the frontend that should be ignored
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15820>
Mike Blumenkrantz [Fri, 8 Apr 2022 13:33:37 +0000 (09:33 -0400)]
zink: unset deferred present barrier on flush
don't need to flush this every frame
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15820>
Mike Blumenkrantz [Fri, 8 Apr 2022 13:28:52 +0000 (09:28 -0400)]
zink: only trigger deferred present barrier if swapchain has acquired
otherwise this was just pointlessly flushed by the frontend and
can be ignored
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15820>
Dave Airlie [Fri, 8 Apr 2022 01:45:11 +0000 (11:45 +1000)]
radv: use flush vgt streamout like PAL does.
This uses WRITE_DATA on the ME engine to reset the register, to match what
PAL does on GFX9+.
This fixes
KHR-GL45.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream
on zink/radv.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15812>
Vitalii.Lomaka [Wed, 30 Mar 2022 10:41:37 +0000 (13:41 +0300)]
intel/batch-decoder: Fix uninitialized scalar variables
CID:
1498516
CID:
1498560
Signed-off-by: Vitalii Lomaka <vitalii.lomaka@globallogic.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15685>
Mike Blumenkrantz [Fri, 8 Apr 2022 17:06:44 +0000 (13:06 -0400)]
zink: don't emit SpvCapabilityStorageImageMultisample for fbfetch
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15823>
Mike Blumenkrantz [Fri, 8 Apr 2022 16:07:26 +0000 (12:07 -0400)]
zink: handle multisampled fbfetch
this uses a shader key to flag the fbfetch as per-sample
it doesn't work, but at least it doesn't error anymore?
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15823>
Mike Blumenkrantz [Fri, 8 Apr 2022 15:06:31 +0000 (11:06 -0400)]
zink: handle SUBPASS_MS in ntv
for completeness but also maybe fbfetch
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15823>
Jordan Justen [Fri, 8 Apr 2022 06:35:06 +0000 (23:35 -0700)]
intel/dev: Add ATS-M pci-ids
Ref: Bspec 44477
Ref: https://patchwork.freedesktop.org/series/101907/
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15814>
Emma Anholt [Tue, 5 Apr 2022 17:05:37 +0000 (10:05 -0700)]
nir_to_tgsi: Fix emitting the sample number for non-array MSAA image access.
It's always in .w, rather than being the next component after the
x/y/array index.
Fixes: c6d3fd8c21e0 ("gallium/ntt: Emit sample index when necessary for image load/store.")
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15825>
Emma Anholt [Mon, 28 Mar 2022 23:48:31 +0000 (16:48 -0700)]
virgl: Disable nir_op_ffloor to avoid sending DFLR to virglrenderer.
This means that we send ffract+fsub in place of a normal FLR, but
hopefully virglrenderer can be fixed (or doubles support removed).
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15825>
Samuel Pitoiset [Tue, 5 Apr 2022 11:09:35 +0000 (13:09 +0200)]
radv: introduce new radv_pipeline_stage structure
This is used to store everything for a pipeline stage like the module,
the NIR, the shader arguments etc. This is inspired from ANV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15794>
Samuel Pitoiset [Tue, 5 Apr 2022 12:04:54 +0000 (14:04 +0200)]
radv: add missing multi inclusion define to radv_shader_args.h
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15794>
Samuel Pitoiset [Fri, 8 Apr 2022 06:38:05 +0000 (08:38 +0200)]
radv: rework pipeline and shaders creation feedback
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15794>
Samuel Pitoiset [Thu, 7 Apr 2022 14:01:10 +0000 (16:01 +0200)]
radv: re-order shader stages directly in radv_create_shaders()
We will have to access pStages::pNext for modules and this will also
allow to rework feedback creation.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15794>
Rajnesh Kanwal [Mon, 4 Apr 2022 13:01:56 +0000 (14:01 +0100)]
pvr: Remove logic to set vk_device::alloc.
The field is being already set by vk_device_init().
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15768>
Iago Toral Quiroga [Fri, 8 Apr 2022 11:48:54 +0000 (13:48 +0200)]
v3dv: fix bogus VkDrmFormatModifierProperties2EXT usage
The array is allocated for VkDrmFormatModifierPropertiesEXT, so
writring entried with type VkDrmFormatModifierProperties2EXT is
bogus.
It seems this was a mistake added with a change intended to get
rid of VK_OUTARRAY_MAKE, that changed the type of the write by
mistake.
Fixes: 56a2ccf05864 ('v3dv: Stop using VK_OUTARRAY_MAKE()')
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15819>
Tomeu Vizoso [Tue, 5 Apr 2022 10:20:11 +0000 (12:20 +0200)]
ci: Disable Link Power Management with RTL8153
There are reliability problems with the RTL8153 ethernet driver under
certain network loads, related to incompatibility of the device with
Link Power Management.
Add usbcore.quirks=0bda:8153:k to the kernel command line to enable the
USB_QUIRK_NO_LPM option.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15791>
Tomeu Vizoso [Tue, 5 Apr 2022 10:16:27 +0000 (12:16 +0200)]
Revert "ci/freedreno: Disable a618 jobs"
This reverts commit
96e17287b4abe6ac1e0245473ed9ccfe40d0d54a.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15791>
Juan A. Suarez Romero [Thu, 7 Apr 2022 16:05:36 +0000 (18:05 +0200)]
v3d: do not leak BO on query begin
This happens when we have a sequence of multiple beginQuery / endQuery
with the same target and query identifier.
As a BO is created on beginQuery but not free on endQuery (we need to
wait until either explicitly deleting the query or querying the
results), in the above sequence we are basically leaking the BO.
This ensures that any BO created before is unreference before creating
the new one.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15796>
Erik Faye-Lund [Mon, 21 Mar 2022 10:49:27 +0000 (11:49 +0100)]
wgl: do not disable error-dialogs by default
We don't know if an application developer wants error-dialog by default
or not, even when using a Mesa OpenGL driver.
So let's not assume this is a good thing, and instead make an option for
this behavior that we can enable for CI testing.
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15485>
Erik Faye-Lund [Mon, 21 Mar 2022 10:43:54 +0000 (11:43 +0100)]
util: limit error-dialogs to win32
These dialogs only exist on Windows, so let's not even expose a util
function for this on other platforms.
The code is only ever called from Windows specific code anyway.
While we're at it, clean up the name a bit as well.
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15485>
Erik Faye-Lund [Mon, 21 Mar 2022 10:09:51 +0000 (11:09 +0100)]
wgl: rename force-msaa env-var
This env-var is not specific to the SVGA driver, so we should rename it
for consistency.
While we're at it, let's document the feature.
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15485>
Timur Kristóf [Wed, 6 Apr 2022 12:15:50 +0000 (14:15 +0200)]
radv: Disable NGG for GS with suboptimal output vertex count.
When GS has a lot of output vertices: In this case,
the occupancy of NGG GS is very low because API GS invocations
can't even occupy a single Wave32 wave.
Therefore the legacy pipeline performs better here.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6260
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15767>
Boris Brezillon [Mon, 4 Apr 2022 11:55:00 +0000 (13:55 +0200)]
dzn: Support independent depth/stencil access
Needed for VK_KHR_maintenance2. While at it, fix various places where
we were only issuing resource state transition on the first sub-resource
instead of doing it per-layer/aspect.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Mon, 4 Apr 2022 11:50:02 +0000 (13:50 +0200)]
dzn: Fix 2D <-> 3D blits
layer_count == 1 doesn't imply image_is_3d. So let's add explicit
is_3d checks where appropriate.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Mon, 4 Apr 2022 11:45:06 +0000 (13:45 +0200)]
dzn: Lower partial copy of multisample resources to blits
Unfortunately that won't work on transfer queues, but we don't have a
better option right now.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Fri, 1 Apr 2022 14:16:56 +0000 (07:16 -0700)]
vulkan/util: Make STACK_ARRAY() C++-friendly
C++ doesn't like the {0} initializer pattern when the first
field is not an integer, let's use the {} when __cplusplus is
defined.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Mon, 4 Apr 2022 11:41:30 +0000 (13:41 +0200)]
dzn: Drop extra blank line in dzn_CmdCopyImage2()
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Mon, 4 Apr 2022 11:21:46 +0000 (13:21 +0200)]
dzn: Check image view usage instead of image usage when creating an image view
So we take VkImageViewUsageCreateInfo extension instead of ignoring it.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 16:04:24 +0000 (18:04 +0200)]
dzn: Force sampleCounts to 1 for bgra4 images
Those are not expected to be used as render-target, and Vulkan mandates
that such formats get their sampleCounts set to VK_SAMPLE_COUNT_1_BIT.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Mon, 4 Apr 2022 11:25:48 +0000 (13:25 +0200)]
dzn: Get rid of dzn_GetPhysicalDeviceProperties()
Rely on the vk_common_ wrapper.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:59:22 +0000 (17:59 +0200)]
dzn: Get rid of dzn_GetPhysicalDeviceFeatures()
And rely on the vk_common_ wrapper to get it implemented.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:57:29 +0000 (17:57 +0200)]
dzn: 3D array images don't exist
Let's force maxArrayLayers to one in that case.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Tue, 5 Apr 2022 10:01:05 +0000 (03:01 -0700)]
dzn: Set bufferFeatures to zero on depth/stencil formats
Those are not supposed to advertise buffer features.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:56:37 +0000 (17:56 +0200)]
dzn: Make sure the properties are all zero when the format is not supported
Move one of the is_supported() check before we start filling the
structure so we don't end up with a partially filled object when
we return VK_ERROR_FORMAT_NOT_SUPPORTED (which deqp doesn't seem to like,
so it's probably coming from a spec requirement).
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:52:45 +0000 (17:52 +0200)]
dzn: Return a valid imageFormatProperties.maxMipLevels
maxMipLevels is encoding the maximum number of MIP levels, but
dzn_physical_device_get_max_mip_levels() return the maximum MIP level.
Let's rename the function and add one to the returned value to fix
the problem.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:49:49 +0000 (17:49 +0200)]
dzn: Fix 3D <-> 2D image copies
We just need to treat layers as slices when manipulating 3D resources
whose slices are coming from/going to 2D array layers.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:47:21 +0000 (17:47 +0200)]
dzn: Support 2Darray views on 3D images for color attachments
Those are declared as 3D RTVs in D3D12, and layers are treated as
slices.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:44:19 +0000 (17:44 +0200)]
dzn: Fix dzn_image_get_rtv_desc() for 3D views
VK_REMAINING_ARRAY_LAYERS maps to -1 in the D3D12 world. Let's make sure
we set WSize to -1 in that case, because the layer_count calculated by
dzn_get_layer_count() won't work for 3D images which never have more
than one layer (in case of 3D images, we treat slices as layers).
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:40:55 +0000 (17:40 +0200)]
dzn: Replace C++ references by pointers
Let's keep as much as we can in plain C.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:39:14 +0000 (17:39 +0200)]
dzn: Align the default case in dzn_image_view_prepare_dsv_desc()
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 15:36:52 +0000 (17:36 +0200)]
dzn: Don't crash when EndCommandBuffer() returns an error
Leftover from a debug session.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Thu, 31 Mar 2022 14:19:56 +0000 (07:19 -0700)]
dzn: Fix dzn_translate_viewport() when height < 0
Since negative height is not a thing in D3D12, we need to adjust the
TopLeftY accordingly.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Boris Brezillon [Fri, 1 Apr 2022 08:04:12 +0000 (01:04 -0700)]
dzn: Fix pipeline creation when rasterization is disabled
We use some of the VkGraphicsPipelineCreateInfo fields that should
be ignored when rasterization in disabled, assuming those who be set
to NULL by the caller in that case, which is not mandated by the
Vulkan specification.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
Corentin Noël [Wed, 6 Apr 2022 13:58:46 +0000 (15:58 +0200)]
virgl/ci: Uprev virglrenderer and crosvm
Use a patch file for crosvm instead of relying on private repositories for faster
uprevs.
Use latest virglrenderer to keep the tests in-sync.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15772>
Corentin Noël [Wed, 6 Apr 2022 13:57:40 +0000 (15:57 +0200)]
ci: Only apply patches with the build-skqp prefix
Allows to ship patches for other components too.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15772>
Samuel Pitoiset [Wed, 6 Apr 2022 10:43:12 +0000 (12:43 +0200)]
radv: stop relying on shader modules after SPIRV->NIR
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/15766>
Samuel Pitoiset [Wed, 6 Apr 2022 10:37:47 +0000 (12:37 +0200)]
radv: stop passing the module to the compiler debug callback
After SPIRV->NIR, the driver shouldn't rely on the module. This will
still report messages via VK_EXT_debug_report but the object will be
NULL.
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/15766>
Samuel Pitoiset [Wed, 6 Apr 2022 10:25:33 +0000 (12:25 +0200)]
radv: drop the module reference for enable_mrt_output_nan_fixup
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/15766>
Samuel Pitoiset [Wed, 6 Apr 2022 10:54:37 +0000 (12:54 +0200)]
radv: drop the module reference in radv_can_dump_shader_stats()
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/15766>
Samuel Pitoiset [Wed, 6 Apr 2022 10:23:40 +0000 (12:23 +0200)]
radv: drop the module reference in radv_can_dump_shader()
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/15766>
Samuel Pitoiset [Wed, 6 Apr 2022 10:34:46 +0000 (12:34 +0200)]
radv: copy the spirv module for debugging after compilation
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/15766>
Samuel Pitoiset [Tue, 5 Apr 2022 08:27:28 +0000 (10:27 +0200)]
radv: remove more references to the pipeline layout during compilation
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15749>
Samuel Pitoiset [Tue, 5 Apr 2022 08:33:46 +0000 (10:33 +0200)]
radv: lower ycbcr textures just before applying the pipeline layout
This shouldn't change anything.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15749>
Samuel Pitoiset [Thu, 7 Apr 2022 09:47:45 +0000 (11:47 +0200)]
radv: assert that the arg is declared when used in get_scalar_arg()
Help debugging.
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/15789>
Samuel Pitoiset [Thu, 7 Apr 2022 12:21:31 +0000 (14:21 +0200)]
radv: add radv_is_vrs_enabled()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792>
Samuel Pitoiset [Mon, 4 Apr 2022 10:28:49 +0000 (12:28 +0200)]
radv: add a new helper to initialize various type of pipelines
This is common to graphics, compute and library pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792>
Samuel Pitoiset [Thu, 7 Apr 2022 11:54:12 +0000 (13:54 +0200)]
radv: add radv_generate_pipeline_key() for common graphics/compute keys
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792>
Samuel Pitoiset [Thu, 7 Apr 2022 08:38:43 +0000 (10:38 +0200)]
radv: remove unused parameters in radv_get_{wave,ballot_bit}_size()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792>
Samuel Pitoiset [Wed, 6 Apr 2022 12:32:30 +0000 (14:32 +0200)]
radv: use radv_pipeline_has_ds_attachments() more
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792>
Samuel Pitoiset [Wed, 6 Apr 2022 12:29:12 +0000 (14:29 +0200)]
radv: do not check if VkPipelineRenderingCreateInfo is NULL
The driver converts legacy render pass to dynamic rendering, so this
structure should always be in pNext.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792>