Tapani Pälli
d3ef3657b2
isl: disable mcs (and mcs+ccs) for color msaa on DG2
...
Fixes lots of various test failures in:
dEQP-VK.pipeline.multisample.min_sample_shading_disabled.*
dEQP-GLES3.functional*multisample.*
KHR-GL*sample_variables.*
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13991 >
2022-04-28 05:31:52 +00:00
Jordan Justen
212fb25b26
vulkan/wsi/x11: Use atomic_int with sent_image_count
...
Without this being atomically incremented and decremented, I observed
this assert triggering in debug builds:
src/vulkan/wsi/wsi_common_x11.c:x11_present_to_x11_dri3():
assert(chain->sent_image_count <= chain->base.image_count);
I think this was happening since,
src/vulkan/wsi/wsi_common_x11.c:x11_handle_dri3_present_event()
which decrements chain->sent_image_count may be run in a separate
thread.
Fixes: d0bc1ad377 ("vulkan/wsi/x11: add sent image counter")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15908 >
2022-04-27 20:52:53 -07:00
Dave Airlie
b4bbf9d1ac
llvmpipe: add user memory resources to the debug global list.
...
Otherwise things will crash on destruction.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Fixes: 9a57dceeb7 ("llvmpipe: add support for user memory pointers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16207 >
2022-04-28 11:06:01 +10:00
Rob Clark
6a3dc4e370
freedreno: Use staging transfer if mmap fails
...
With externaly imported resources, we can have situations where we can't
mmap and directly access linear buffers. So use the staging blit path
for this case.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
a6be0cc12d
freedreno: Split out helper for staging blit
...
We are also going to want to use this for fallback when mmap fails.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
0b7d910b2c
freedreno/a6xx: A couple more FD_BO_NOMAP
...
A couple other buffers that we don't need to mmap.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
e42cea4db6
freedreno/drm/virtio: Split up large uploads
...
Might be useful if host cached mmaps.. but OTOH we don't want to burn up
address space.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
0aab310439
freedreno/drm/virtio: Async ccmd batching
...
This could be a bit more clever an avoid extra memcpy.. but that seems
to be in the noise at this point.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
528fa581c1
freedreno/drm/virtio: Pass guest handles to execbuf
...
This is needed for the VIRTGPU_WAIT ioctl to work.
TODO we could perhaps limit this, since it is not needed for residency,
but only fencing. Ie. we could omit cmdstream, and probably anything
that has FD_BO_NOMAP flag.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
cb5f25ea71
freedreno/drm/virtio: Protocol updates
...
This syncs up with the protocol of what eventually landed in virglrender.
1) Move all static params to capset to avoid having to query host
(reduce synchronous round trips at startup)
2) Use res_id instead of host_handle.. costs extra hashtable lookups in
host during submit, but this lets us (with userspace allocated IOVA)
make bo alloc and import completely async.
3) Require userspace allocated IOVA to simplify the protocol and not
have to deal with GEM_NEW/GEM_INFO potentially being synchronous.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
fa23ddf258
freedreno/drm/virtio: Fix SHAREABLE+MAPPABLE
...
A shareable bo should also be mappable if FD_BO_NOMAP is not set.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
441f01e778
freedreno/drm/virtio: Drop blocking in host
...
These paths should be corner cases, but still it is a bad idea to block
in the host (because it is single threaded), so instead just turn waits
in the host into polling in the guest.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
e6b2785811
freedreno/drm/virtio: Use userspace IOVA allocation
...
If supported by host virglrenderer and host kernel, use userspace
allocated GPU virtual addresses. This lets us avoid stalling on
waiting for response from host kernel until we need to know the
host handle (which is usually not until submit time).
Handling the async response from host to get host_handle is done
thru the submit_queue, so that in the submit path (hot) we do not
need any additional synchronization to know that the host_handle
is valid.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
ae01c27ac0
freedreno/drm/virtio: Support ring_idx
...
ring_idx zero is the CPU ring, others map to the priority level, as each
priority level for a given drm_file on the host kernel side maps to a
single fence timeline.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
122cedf98c
freedreno/drm: Move bo common init
...
We'll need this to happen before virtio_bo_new() returns in the next
patch.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
d52455a962
freedreno/drm: Close bo handle after bo->destroy()
...
For userspace allocated iova, we want to give the backend a chance to
release the iova before the handle is closed.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
4ed346c6fb
freedreno/drm: Drop FD_PP_PGTABLE
...
Unused.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
0004cae638
freedreno/drm/virtio: Appease valgrind
...
Valgrind isn't seeing that the kernel is initializing the caps (or
returning an error).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
d79c71c705
freedreno: Misc indent fixes
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Adam Jackson
c865416f44
glx/kopper: Wire up a way for SwapBuffers to fail
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
0394f35424
zink/kopper: add a mechanism for checking swapchain status
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
4af98df955
zink: flag swapchain resources as swapchains
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
625457caaf
zink: handle swapchain acquire failures more directly
...
if acquire fails, the pending operation cannot be completed, so just
drop it
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
494d02eacf
zink: fix return for zink_kopper_acquire
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
ce9cbeee33
zink: rework swapchain object check for acquires
...
this is more accurate
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
a2c9cc7200
zink: unset image layout when killing swapchain
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
5cb9e5db72
zink: handle dead swapchains in acquire
...
this is a no-op failure
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
651b71a6ca
zink: flag swapchains when updating fails
...
these are dead, they just don't know it yet
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
b86c814347
zink: add a util function for finding swapchain resource
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Charmaine Lee
8d73315bce
draw: fix double free of NIR IR
...
Check the shader IR type first before freeing the NIR IR in
draw_delete_xxx_shader() in case the IR has been converted to TGSI
and the NIR IR has already been freed.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16199 >
2022-04-27 21:01:54 +00:00
Lionel Landwerlin
f4f350a06c
anv: reemit 3DSTATE_STREAMOUT after memcpy
...
This doesn't fix anything because memcpy is only used before secondary
buffer execution and we dirty everything after that.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16189 >
2022-04-27 18:43:00 +00:00
Sathishkumar S
f17d3a1251
radeon/vcn: skip create and destroy message for jpeg
...
JPEG does not require create and destroy codec messages.
It is not firmware based, so these messages are redundant.
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/16160 >
2022-04-27 17:13:36 +00:00
Mike Blumenkrantz
de3890daa5
zink: add supported present modes to kopper displaytarget
...
for use later
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16193 >
2022-04-27 16:52:25 +00:00
Icecream95
76cea8e27b
panfrost: Fix pack_32_2x16 implementation
...
Fixes: 6f0eff548c ("pan/bi: Implement packing ops between 32-bit vec1 and 16-bit vec2")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16181 >
2022-04-27 15:30:09 +00:00
Samuel Pitoiset
92e5eee39e
radv: use correct push constants range for internal operations
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16131 >
2022-04-27 15:08:59 +00:00
Juan A. Suarez Romero
031bcf686b
v3d/simulator: add support for AMD cards
...
Dumb buffers do not work with AMD gpus. So use AMD ioctl to create
proper buffers.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16187 >
2022-04-27 14:42:23 +00:00
Juan A. Suarez Romero
9c3144d2ef
v3dv: store device_id on device init
...
Instead of calling later an ioctl to get the device id, let's store it
while initializing the physical device.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16187 >
2022-04-27 14:42:23 +00:00
Jason Ekstrand
3f824e0e85
panvk: Eliminate unused vertex attributes
...
We use nir_assign_io_var_locations() which compacts the varyings and
eliminates any unused input slots. We need to do the same thing when
processing pVertexAttributeDescriptions[] or else we'll end up with
mismatches between the shader and the state setup code.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16183 >
2022-04-27 14:18:25 +00:00
Jason Ekstrand
e248c64f06
panvk: Take buffer offsets into account in BindVertexBuffers
...
Found by inspection. No idea what all it fixes.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16183 >
2022-04-27 14:18:25 +00:00
David Heidelberg
657b0ff861
ci/iris: Enable SKQP on Tiger Lake boards
...
- SKQP gets included now in all amd64 LAVA builds.
- add test job for Tiger Lake (tgl)
- add manual test job for Whiskey Lake (whl), because all runners are
already used
- document that we have 13 tgl machines
Tests failed (on tgl):
- gl_simpleaaclip_aaclip, 1 pixel off : https://okias.pages.freedesktop.org/-/mesa/-/jobs/21790629/artifacts///results/gl/report.html
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16048 >
2022-04-27 12:35:13 +00:00
David Heidelberg
c1e59bea05
ci: intel: Merge anv and iris into src/intel/ci
...
This commit make simple adding tests which use both GL(ES) and VK.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16048 >
2022-04-27 12:35:13 +00:00
Erik Faye-Lund
3620e7e71c
vulkan: drop empty vulkan_wsi_args
...
This is always empty, so let's just get rid of it.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16162 >
2022-04-27 11:51:26 +00:00
Erik Faye-Lund
6623f60c34
vulkan: use c_msvc_compat_args for shared code
...
Due to both Lavapipe on Windows and Dozen, we need to support MSVC in
the shared Vulkan code. So let's make sure we compile with the
compatibility flags for it.
Techinically speaking, we also need this in the wsi subdir, because we
also compile wsi_common_win32.c with MSVC. But wsi_common_wayland.c
contains void-pointer arithmetic, causing compiler errors if we do.
Fixing that properly is a bit more involved, because Meson doesn't love
passing different compiler arguments per source-file. The alternative is
to remove the void-pointer arithmetic, but that seems a bit pointless as
this code will never be compiled on MSVC.
So, let's leave that one out for now. We can probably do better in the
future, but this gets us a step further.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6386
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16162 >
2022-04-27 11:51:26 +00:00
Samuel Pitoiset
e6bcdc763c
radv: enable radv_disable_sinking_load_input_fs for Grid Autosport
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4228
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/16165 >
2022-04-27 13:00:38 +02:00
Samuel Pitoiset
1dbfd2be4b
radv: allow to disable sinking of load inputs for FS via drirc
...
To workaround game bugs where partial derivatives are used in
non-uniform control flow. A proper solution needs to be implemented,
but as a quick fix disabling nir_opt_sink() works.
Cc: mesa-stable
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/16165 >
2022-04-27 13:00:36 +02:00
Lucas Stach
6261ca7425
etnaviv: add tile size helper
...
On older GPUs a color tile was always 64 Byte. On new GPUs with
CACHE128B256BPERLINE support the tile size is either 128 Byte or
256 Byte depending on the TS mode. Add a helper to return the
color tile size and use in in places that use hard-coded tile
size values or do their own calculation.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
2d2f9572c2
etnaviv: use feature bit to check for big tile support
...
128B/256B tile support is not a HALTI5 property, but has its own
separate feature bit.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
4122011697
etnaviv: properly set additional DEC400 compression states
...
With access to HALTI5 GPUs with and without DEC400 compression it's
obvious that the previous compression state setup only worked when
DEC400 was present. Properly set up the compression state bits.
This is only the second part of the fix, first part is moving the
compression state to the correct bit location, which has already
happened via the import of new rnndb headers.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
17d9b0808a
etnaviv: add support for big tile RS states
...
On GPUs with the CACHE128B256BPERLINE feature the RS gained some
new state bits to deal with the new additional information required
for this big tile support.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
c2a3236d1a
etnaviv: clean up tiling setup in etna_compile_rs_state
...
Using the raw layout bits in the tiling setup makes this function harder
to read than necessary. Use the tiling bit defines and assign them to
some local bools with a proper name to make this easier to read.
No functional change.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00