Jason Ekstrand
c8e191e369
turnip: Use nir_gather_xfb_info
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
0eab41559f
lavapipe: Use nir_shader_gather_xfb_info
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
e5ff2c2242
anv: Use nir_shader_gather_xfb_info
...
Now that the resulting xfb_info is stashed on the shader, we can put
this with all the other NIR stuff and only fetch it out at the last
minute when we upload the kernel.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
23b55dcff4
nir: Add a nir_xfb_info to nir_shader
...
We want to be able to carry this along with the shader instead of always
having to re-generate it from scratch. A new nir_gather_xfb_info()
helper is also added which, instead of returning it, adds it to the
shader.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
3e04432b3a
nir: Rename nir_gather_xfb_info to nir_shader_get_xfb_info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jesse Natalie
f812cc0fe6
nir: Consider PNTC to be a varying
...
Fixes: 3528dcdf ("nir: add nir_io_semantics::no_varying, no_sysval_output, and helpers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6091
Reviewed-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16761 >
2022-05-31 20:51:22 +00:00
Mike Blumenkrantz
1c019ee1ba
st/pbo_compute: fix z coords for compute pbos
...
without manually taking the value from the global_id vec, this will
end up being offset.y again, which breaks z-indexing
Fixes: e7b9561959 ("gallium: implement compute pbo download")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16728 >
2022-05-31 20:05:49 +00:00
Mike Blumenkrantz
15f37d8d6f
st/pbo_compute: make compute download conditional in shader slightly more readable
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16728 >
2022-05-31 20:05:49 +00:00
Mike Blumenkrantz
70fb3a4700
st/pbo_compute: use different calc for non-3d compute buffer sizing
...
this avoids looking at irrelevant 3d pixelstore params like
GL_PACK_IMAGE_HEIGHT when they don't apply, which will cause the storage
buffer to be incorrectly sized and break the operation
Fixes: e7b9561959 ("gallium: implement compute pbo download")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16728 >
2022-05-31 20:05:49 +00:00
Mike Blumenkrantz
5b02facc8c
st/pbo_compute: do pbo readback directly to the buffer object if it exists
...
no point in copying more than needed
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16802 >
2022-05-31 19:23:11 +00:00
Mike Blumenkrantz
4b5bb21318
zink: drop largePoints requirement
...
this is not required by any version of GL, so don't pretend it's needed
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16758 >
2022-05-31 19:10:42 +00:00
Mike Blumenkrantz
63a9e0a986
zink: drop wideLines requirement
...
this is not a requirement for any version of GL, so don't pretend it's
a requirement
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16758 >
2022-05-31 19:10:42 +00:00
Mike Blumenkrantz
9bb9511edc
zink: remove first_frame stalling
...
this is fixed by kopper
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16796 >
2022-05-31 18:57:44 +00:00
Jesse Natalie
cb2cc69ebb
dzn: Update fails/flakes
...
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
8edecb3c1e
CI/d3d12: Add skips and update baselines
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
863b3abbbc
d3d12: Re-add missed bitmasks to shader key comparison
...
Fixes: a064e63e ("d3d12: Reduce cost of shader key comparisons")
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
f61788d7d3
nir_lower_task_shader: Fix return from lower_task_intrin (bool, not void*)
...
Fixes: 8aff8d3d ("nir: Add common task shader lowering to make the backend's job easier.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Rhys Perry
982cc9bcf5
aco/tests: update for GFX11's removal of SDWA
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
e68e6c75ca
aco: use v_perm_b32 to copy 0xff00/0x00ff/0xff/0x00
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
dae1629778
aco: disable sdwa on gfx11
...
Instead of SDWA v_mov_b32/v_xor_b32, we can use a combination of
v_add_u16/v_sub_u16 (add/sub swap, similar to xor swap) and v_perm_b32
with a literal.
I don't know yet if GFX11 adds any new instructions which makes this
easier, but this approach should have full functionality.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
d51dd7527b
aco/tests: fix gfx11 variants printed as gfx12
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
c8bde76a42
aco/tests: disable regalloc.subdword_alloc.reuse_16bit_operands on GFX11
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
9b60a67841
aco: clarify a portion of do_pack_2x16
...
This confused me a bit when I first saw it.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
8384189b6c
aco: use p_parallelcopy for uniform reduction with zero source
...
I think v_mov_b32 was only used because a sub-dword p_parallelcopy
couldn't take constants on some gfx levels. That shouldn't be the case
anymore.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16595 >
2022-05-31 18:07:34 +00:00
Juan A. Suarez Romero
3e73fd40a6
v3d: expose GL_ARB_draw_buffers_blend
...
This automatically exposes GL_OES_draw_buffers_indexed too.
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/16747 >
2022-05-31 17:25:50 +00:00
Juan A. Suarez Romero
4357dff4e9
v3d: fix blending for mixed RT formats
...
Blending configuration needs to be adapted in case the RT format does
not have an alpha channel. This is handled so far correctly.
But when we have two RT, one with alpha and other without it, we need
to split the blend configuration, so one is adapted and the other not.
Otherwise we would be changing the blend config for the wrong RT.
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/16747 >
2022-05-31 17:25:50 +00:00
Juan A. Suarez Romero
836ce97f5e
ci: bump VK-GL-CTS to 1.3.2.0
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Alejandro Piñeiro <apinheiro@igalia.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16689 >
2022-05-31 15:02:08 +00:00
Mike Blumenkrantz
e1f46524e3
zink: lower subgroup width to 1 for unsupported subgroup vote stages
...
this should handle unsupported gfx subgroup vote
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Mike Blumenkrantz
e342a57ea6
zink: fix subgroup vote detection
...
this is uses the 1.1 features, not 1.3
also check the shader stages available since the GL extension requires
all of them
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Mike Blumenkrantz
566033beb9
zink: use correct scope for subgroup vote ops
...
this is restricted to subgroup for vulkan use
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Mike Blumenkrantz
aaf0d4490e
zink: emit spirv cap for subgroup vote ops
...
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Mike Blumenkrantz
591da8cf5d
zink: require draw params ext/cap in ntv if drawid is used
...
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Jason Ekstrand
eb0d571ce4
nir: Add a correctness note for nir_lower_phis_to_regs_block
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16111 >
2022-05-31 14:12:21 +00:00
Jason Ekstrand
4a4d6cdc80
nir: Handle register sources in lower_phis_to_regs_block
...
During certain control-flow manipulation passes, we go out-of-SSA
temporarily in certain areas of the code to make control-flow
manipulation easier. This can result in registers being in phi sources
temporarily. If two sub-passes run before we get a chance to do
clean-up, we can end up doing some out-of-SSA and then a bit more
out-of-SSA and trigger this case. It's easy enough to handle.
Fixes: a620f66872 ("nir: Add a couple quick-and-dirty out-of-SSA helpers")
Fixes: 79a987ad2a ("nir/opt_if: also merge break statements with ones after the branch")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6370
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16111 >
2022-05-31 14:12:21 +00:00
Jason Ekstrand
faa51a10ed
isl: Add some asserts about multisampled surfaces
...
This isn't really necessary because the API doesn't allow MSAA and
mipmapping at the same time but people forget that pretty often so it's
good to have it as documentation if nothing else.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129 >
2022-05-31 13:42:28 +00:00
Jason Ekstrand
8d8fb6429c
anv: Implement VK_EXT_image_view_min_lod
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129 >
2022-05-31 13:42:28 +00:00
Jason Ekstrand
a19ed1f46a
intel/isl: Add isl_view::min_lod_clamp for IVB+
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129 >
2022-05-31 13:42:28 +00:00
Jason Ekstrand
56b66abc0b
vulkan/runtime: Add min_lod to vk_image_view
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129 >
2022-05-31 13:42:28 +00:00
Pierre-Eric Pelloux-Prayer
dad36b5f12
radeonsi: enable use_waterfall_for_divergent_tex_samplers
...
And run the nir_divergence_analysis pass in si_get_nir_shader to make
sure it's up to date.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2253
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16709 >
2022-05-31 13:08:07 +00:00
Pierre-Eric Pelloux-Prayer
9776c1cff2
ac/llvm: add use_waterfall_for_divergent_tex_samplers option
...
GLSL says that indexing in a samplers array should be done with
a dynamically uniform value.
If the app doesn't obey this constraint, it'll get incorrect
results.
But there's one case where the app might be correct and yet
get incorrect result: if 2 consecutive draws are used, with no
state changes in between, the hardware might run them in the
same wave and the app will get incorrect result as-if it was
using non-dynamically uniform index.
To prevent this, this commit takes advantage of the divergence
analysis pass - if the index is marked as divergent, then it will
have the same effect as using ACCESS_NON_UNIFORM in SPIR-V.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16709 >
2022-05-31 13:08:07 +00:00
Karol Herbst
9ff04985b9
nir/gce: pin call instructions
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16202 >
2022-05-31 12:36:48 +00:00
Karol Herbst
ad34d81c48
nir/gather_info: allow to run it before inlining
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16202 >
2022-05-31 12:36:48 +00:00
M Henning
abc7f51455
nv50: Fix tlsSpace alignment
...
Commit d1ff453a added this alignment in the wrong spot - it needs to
happen after RA because spilling can increment this 32 bits at a time.
Also assert that we align this correctly now.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16596 >
2022-05-31 12:27:29 +00:00
Timur Kristóf
2027f28b30
ac/nir/taskmesh: Use 3 dimensional workgroup ID.
...
For the sake of consistency, do not rely on a 1-dimensional
workgroup ID anymore.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16721 >
2022-05-31 08:24:48 +00:00
Timur Kristóf
c6d12a510c
ac/nir/taskmesh: Use task shader lowering from common NIR code.
...
This also implements task_payload atomics for RADV.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16721 >
2022-05-31 08:24:48 +00:00
Timur Kristóf
c69b771e35
radv, ac/nir: Fix multiview layer export for mesh shaders.
...
Unfortunately, radv_lower_multiview is not suitable for mesh shaders
because it can't know the mapping between API mesh shader
invocations and output primitives.
Additionally, when lowering view id to layer, it must be created
as a per-primitive PS input.
Fixes: d32656bc65
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16504 >
2022-05-31 07:58:29 +00:00
Erico Nunes
c636660585
lima/ci: reenable lima-mali450-piglit-gpu:arm64
...
With the kernel uprev we are no longer affected by the kernel
regression that was causing issues.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16641 >
2022-05-31 06:31:15 +00:00
Erico Nunes
4cb4c3b755
lima/ci: update piglit ci expectations
...
This new test reports a failure and started to run during the time
piglit runs were temporarily disabled.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16641 >
2022-05-31 06:31:15 +00:00
Erico Nunes
3d7b2f0186
ci: update linux kernel to v5.17
...
In addition to pushing it to the current latest stable, the v5.17 kernel
for mesa CI pulls a patch to address a regression in drm that affects at
least the lima jobs.
The dtb for sc7180-trogdor-lazor-limozeen-nots is also updated since the
old one no longer exists in v5.17.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16641 >
2022-05-31 06:31:15 +00:00
Iago Toral Quiroga
0ce346368f
v3dv: limit sync for barriers to hw queues selected by source mask
...
Until know when we consumed a barrier we would implement it by
setting the serialize flag on a job, which would cause it to
be serialized across all hardware queues (CL, CSD, TFU). However,
now that we track the source(s) of the barrier, we can restrict this
to only the relevant queue(s) instead (multisync path only).
It should be noted that we can implement transfers via TFU or CL
jobs, so if the source of a barrier is a transfer, we currently
synchronize against both the TFU and the CL queues, however, we
may be able to more effectively track this in the future to
restrict this to just one of the queues.
Also, for secondary command buffers we are taking the easy way
out and always synchronize against all queues, but we should
be able to do the same for secondaries without too much effort.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16743 >
2022-05-31 06:06:10 +00:00