There are no Vulkan drivers in Mesa that don't support this feature and
it's a hard requirement for Vulkan 1.2 so there's no reason why we
shouldn't also require it for the runtime render pass code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40154>
These two layouts mean either the depth or the stencil aspect is
compressed. Without TC-compat HTILE (mostly < GFX8), the driver must
expand HTILE.
This prevents regressions with Vulkan runtime code using separate
depth/stencil layouts by default.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40154>
CB_RESOLVE isn't very fast and we already have two different paths,
it's been removed in hw since GFX11. PAL and RadeonSI removed support
for it too.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39957>
Vertex shaders shorter than four instructions can hard-lock R3xx GPUs.
This seems to happen in combination with a small vertex count. This was
seen before, most notably with dummy shaders, but the earlier fix only
removed those dummy shaders, so some occurrences could still slip
through the cracks. Pad all vertex shaders to four instructions on R3xx.
Reviewed-by: Filip Gawin <filip@gawin.net>
Fixes: c6aa639ba9 ("r300: skip draws instead of using a dummy vertex shader")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/337
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40331>
GFX12 encoding added one bit to the stack offset, doubling the limit on
the stack base offset that is possible to encode. In practice, this
always allows using bvh_stack_push* instructions on GFX12 since LDS is
still 64kB.
Cc: mesa-stable
Fixes: 59a39779 (radv/rt: Only use ds_bvh_stack_rtn if the stack base is possible to encode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40405>
In the case that a Wayland compositor is ran with kmsro, the render
driver node will be passed to the client instead of the display node.
With Zink being able to use with KMSRO, now we cannot expect the render
driver node to from be a known driver name.
Fallback render nodes with unknown driver names to Zink instead of
KMSRO, because KMSRO on non-KMS FD is meaningless.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
Currently for unknown drivers names, get_driver_descriptor() will never
return NULL, but the driver descriptor of kmsro will be returned.
However, kmsro is meaningless when the input FD isn't a KMS-capable one.
Add the kmsro descriptor to the descriptor list, and stop to return it
for unknown names (it will still be returned for "kmsro", which the
fallback codepath in pipe_loader_drm_probe_fd_nodup() will use).
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
As Zink has gained support for renderonly devices, wire it up to KMSRO
to allow such kind of usage.
Among all renderonly drivers, Zink is a little special that it does not
bind to a specific driver name, so it's made a fallback option which is
checked after all driver name checks.
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
[Icenowy: split patch, forward port, de-hardcode "powervr"]
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
All other renderonly drivers expose the renderonly screen creation
function via their winsys library.
Add such a library for Zink with currently only the renderonly screen
creation capability.
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
[Icenowy: split patch, forward port]
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
Add support for allocating scanouts via renderonly, to allow Zink usage
with render-only GPUs paired with display-only scanout device.
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
[Icenowy: split patch, forward port, require modifiers]
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
We requires this to be aligned to a 8 byte granuality.
This is something that came up with mesh shader enablement so let's
avoid this footgun with some assertion.
Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40407>
Test Kepler as it was commented out but everything is
running fine.
Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40407>
Not sure why it was missing but it should be part of it.
Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40407>