Samuel Pitoiset
0e81ec98ce
radv: move user_data_0 to the shader info pass
...
Using the next stage is enough to determine the base reg.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
dd855c7772
radv: determine and store the next graphics stage to radv_shader_info
...
This will be useful in many cases.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
d109362a3d
radv: copy bound shaders to the cmdbuf state
...
To stop relying on the pipeline everywhere.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
16bd3664da
radv: move dirtying flags for mesh shading to radv_bind_pre_rast_shader()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
0fbe0c4d1b
radv: stop using last_vgt_api_stage_{locs} during cmdbuf recording
...
Use the last VGT shader instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
2dfe49a948
radv: determine the last VGT shader at pipeline bind time
...
And replace streamout_shader by last_vgt_shader which is similar.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
19c329f4f9
radv: keep track of active stages as part of the cmdbuf state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
6caa180dc7
radv: add an assertion about shader stage to radv_bind_pre_rast_shader()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
1f878334c0
radv: add radv_bind_shader() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
59a2a4f87f
radv: pass a shaders array to radv_get_shader()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Samuel Pitoiset
52fa8e1f61
radv: pass shader/base_reg to radv_emit_view_index_per_stage
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22128 >
2023-03-29 10:18:24 +00:00
Eric Engestrom
1f552f1bf3
kmsro: sort drivers alphabetically
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:30 +00:00
Eric Engestrom
5cf91a6406
kmsro: uniformize renderonly creation
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:30 +00:00
Eric Engestrom
c7723da5be
vc4: change create_renderonly signature to uniformize it
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:30 +00:00
Eric Engestrom
ed12e071ab
v3d: change create_renderonly signature to uniformize it
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:30 +00:00
Eric Engestrom
6caa166ffe
panfrost: change create_renderonly signature to uniformize it
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:29 +00:00
Eric Engestrom
b5082223be
lima: change create_renderonly signature to uniformize it
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:29 +00:00
Eric Engestrom
d0c845ecb0
freedreno: change create_renderonly signature to uniformize it
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:29 +00:00
Eric Engestrom
09f42948ad
etnaviv: change create_renderonly signature to uniformize it
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:29 +00:00
Eric Engestrom
49996def65
asahi: change create_renderonly signature to uniformize it
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22144 >
2023-03-29 09:34:29 +00:00
Mike Blumenkrantz
66fe427ebc
zink: stop leaking separate shader nir
...
this is a huge memleak
Fixes: e3b746e3a3
("zink: use GPL to handle (simple) separate shader objects")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22175 >
2023-03-29 08:14:01 +00:00
Emma Anholt
ba48753b5f
ci/zink: Update the tgl manual run xfails.
...
These have been consistent for 3 runs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22146 >
2023-03-29 07:52:45 +00:00
Emma Anholt
4219a3c049
ci/etnaviv: Polish the gc2000 xfails a bit.
...
These were consistent in the last 3 CI runs. The rest of the failures in
those runs were flakes spread all around the general shader tests, which
are correlated with GPU hangs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22146 >
2023-03-29 07:52:45 +00:00
Emma Anholt
04d1c71e4d
ci/crocus: Fix 1.3.5.0 xfails.
...
Whoops, copy and pasted the wrong lines from another board, this GPU is
GL4.6 not 4.5.
Fixes: ecca3b9655
("ci/crocus: Update expectations from VK CTS 1.3.5.0.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22146 >
2023-03-29 07:52:45 +00:00
Sai Teja Pottumuttu
11d32fb44f
anv: Fix stride mismatch in mesa and minigbm
...
It is observed that in display resolutions where width is not equal to
stride, vulkan rendering is being distorted. This is happening due to
stride calculation mismatch between minigbm and mesa.
This fix makes sure that the stride calculated in minigbm is passed to
anv and isl.
The issue was found while debugging the following android cts tests and
thus fixes them as well.
android.graphics.cts.VulkanPreTransformTest#testVulkanPreTransformNotSetToMatchCurrentTransform
android.graphics.cts.VulkanPreTransformTest#testVulkanPreTransformSetToMatchCurrentTransform
Signed-off-by: Sai Teja Pottumuttu <sai.teja.pottumuttu@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22163 >
2023-03-29 07:09:28 +00:00
Tapani Pälli
ca4ec49b0e
anv: use primitive ID override when shader does not supply it
...
Patch moves over this fix from iris driver.
Fixes following test on DG2:
dEQP-VK.rasterization.culling.primitive_id
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com > [v1]
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22130 >
2023-03-29 02:43:57 +00:00
Samuel Pitoiset
84faaca38a
radv: stop using the pipeline for emitting shaders
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095 >
2023-03-29 02:20:50 +00:00
Samuel Pitoiset
8f9b0088ab
radv: pass the ES shader to radv_pipeline_emit_hw_ngg()
...
This allows to remove the radv_pipeline dependency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095 >
2023-03-29 02:20:50 +00:00
Samuel Pitoiset
69da185793
radv: use the ES type to apply a workaround for NGG on GFX10
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095 >
2023-03-29 02:20:50 +00:00
Samuel Pitoiset
73ac2a22ec
radv: use the shader info stage to simplify emitting NGG shaders
...
Instead of relying on the pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095 >
2023-03-29 02:20:50 +00:00
Samuel Pitoiset
09d713ee53
radv: stop using the pipeline for emitting PS inputs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095 >
2023-03-29 02:20:50 +00:00
Samuel Pitoiset
168f282908
radv: add radv_get_last_vgt_shader() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095 >
2023-03-29 02:20:50 +00:00
Samuel Pitoiset
5c3c80be45
radv: emit the GS copy shader outside of radv_pipeline_emit_hw_gs()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095 >
2023-03-29 02:20:50 +00:00
Samuel Pitoiset
d071e36851
radv: stop using get_vs_output_info() when emitting VS/NGG shaders
...
It's always the current shader outinfo struct.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095 >
2023-03-29 02:20:50 +00:00
Luigi Santivetti
71fd9c2be0
pvr: fix segfault in dEQP-VK.ycbcr.query.*
...
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22061 >
2023-03-29 00:17:40 +00:00
Georg Lehmann
fd3ea4ffc2
aco: clean up to_mad_mix
...
These instructions are 32bit, so they don't support opsel anyway.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22103 >
2023-03-28 23:30:08 +00:00
Samuel Pitoiset
51237a6508
radv/ci: update CI lists for Polaris10 and Pitcairn
...
Recent ac/surface changes fixed those.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22127 >
2023-03-28 22:56:15 +00:00
Mike Blumenkrantz
4147dbdb7e
zink: use c++ template to deduplicate image barrier functions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22057 >
2023-03-28 22:28:59 +00:00
Mike Blumenkrantz
46d324e9a7
zink: minor tweaks for image barriers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22057 >
2023-03-28 22:28:59 +00:00
Mike Blumenkrantz
60af511fc6
zink: use c++ template to deduplicate all the buffer barrier code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22057 >
2023-03-28 22:28:59 +00:00
Mike Blumenkrantz
bf0af0f8ed
zink: move all barrier-related functions to c++
...
this will enable a lot of deduplication
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22057 >
2023-03-28 22:28:59 +00:00
Mike Blumenkrantz
f5fe8d4f5c
zink: break out a src region barrier check for reuse
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22057 >
2023-03-28 22:28:59 +00:00
Mike Blumenkrantz
d8f3f6613a
zink: fix some type mismatches for c++ compilation
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22057 >
2023-03-28 22:28:59 +00:00
Alyssa Rosenzweig
145295e517
asahi: Don't lie about seamless cube maps
...
Now that mesa/st is setting seamless_cube_map properly we don't need to play any
games here. Remove the hack workaround.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21978 >
2023-03-28 21:30:12 +00:00
Alyssa Rosenzweig
bf3027c391
mesa/st: Normalize wrap modes for seamless cubes
...
The OpenGL specification requires that seamless cube maps ignore the wrap mode,
but some hardware may try to respect the wrap mode even for seamless cubes
contrary to the spec. Since OpenGL maps samplers 1:1 to textures (at least
without bindless texture support...), it's easy to override the wrap mode for
seamless cubes to something that works for the hardware.
I'm not sure if there is value in gating this behaviour behind a CAP. On one
hand, there is a tiny bit of extra CPU overhead added to change samplers. On the
other hand, normalizing wrap modes might improve CSO caching, and normalizing to
a non-BORDER mode avoids the expensive border colour code later in the function.
We will need a different workaround in our Vulkan driver. Potentially, we'll
have to duplicate *every* sampler to have a cubemap version and a non-cubemap
version, selecting a sampler in the shader based on the texture opcode. That
sucks and implementing it would depend on subtle details of how we implement
descriptor sets, so it's not like we would share that code with the GL driver
anyway. In the mean time, let's get this right for GL without the performance
hit of duplication.
Fixes dEQP-GLES3.functional.texture.filtering.cube.* on Asahi, as well as a
smattering of dEQP-GLES31.functional.texture.filtering.cube_array.* fails on
softpipe.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21978 >
2023-03-28 21:30:12 +00:00
Alyssa Rosenzweig
f2506780c8
mesa/st: Only set seamless for GLES3
...
6148e3aae7
("mesa: Fix ctx->Texture.CubeMapSeamless") introduced a hack, where
seamless cube maps would be requested even for GLES2 contexts despite the spec,
on the assumption that GLES2 gallium drivers would ignore the bit. But that
requires Gallium drivers to know what GLES version they advertise, which is a
horrible layering violation. When the commit was written 8 years ago, there were
classic drivers to contend with so it made sense as a fix to get GLES 3.0 up and
running. With classic drivers gone, it's time to sunset the hack and restore the
intended behaviour by setting ctx->Texture.CubeMapSeamless only once we know the
version.
In addition to fixing a semantic issue in the Gallium contract and preventing a
regression from the next commit, this fixes cube maps on Mali-T720 under
Panfrost. In general, Panfrost supports GLES3 (and honours the seamless flag
everywhere) but on T720 we only advertise GLES2 due to missing MRT support on
older Midgard devices, so we need the flag set properly to distinguish these
cases.
Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21978 >
2023-03-28 21:30:12 +00:00
Paul Gofman
1646f7d977
driconf: add a workaround for Kaiju-A-Gogo
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22152 >
2023-03-28 20:35:11 +00:00
Qiang Yu
aa314c746f
radeonsi: monolithic PS emit epilog in nir directly
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552 >
2023-03-28 19:57:11 +00:00
Qiang Yu
c182154456
ac/nir: add ac_nir_lower_ps
...
Lower ps output to nir_export_amd.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552 >
2023-03-28 19:57:11 +00:00
Qiang Yu
bf9c1699cd
nir: add nir_fisnan helper function
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552 >
2023-03-28 19:57:11 +00:00