Factor this step out of pvr_render_pass_setup_load_ops() for keeping
the code more organised and easier to follow.
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
In preparation to add more helpers, rename some function to improve
consistency.
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
The starting offset is always `0` and there isn't really a reason
for why it should be non-zero, we always want to DMA into the
shareds from the beginning, for the load_ops, so removing it.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
To clear up the ambiguity of uncompressed/compressed formats:
- Always use the correct enum type to refer to them, and
- Split the border colour table into two halves so the compressed tex
format enum can be used as an index directly without applying an
offset.
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
Devices with the feature tpu_border_colour_enhanced don't require
e5b9g9r9 formats to be encoded and instead read the channels directly
as f16 values. Without this special handling, two channels were left
uninitialised, leading to random test failures.
Fixes: dEQP-VK.pipeline.monolithic.sampler.view_type.*
.format.e5b9g9r9_ufloat_pack32.address_modes.*_clamp_to_border_*
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
The smp emission code will be moved back to pco_nir_tex following the
addition of the updated tq shader gen code.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
Instead of setting these explicitly in the shader, set it in the sampler state.
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com>
Co-authored-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
Will be used later for the NIR run time generation of these tq shaders.
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
Seen in dEQP-VK.renderpass.suballocation.formats.d16_unorm.input.clear.store.clear
and dEQP-VK.renderpass.suballocation.formats.d16_unorm.input.clear.dont_care.clear
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
"Soft" renderpass start clears are already handled in pvr_clear_attachments_render_init.
The other assert is completely unnecessary and the case of undefined usage is in fact valid.
It means the depth has been partially cleared.
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
Seen in dEQP-VK.renderpass.suballocation.formats.r8g8b8a8_srgb.load.clear
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
Adds support for packing and unpacking r10g10b10a2 unorm and
r11g11b10 float formats, as well as partial 2x16 and 4x8 formats.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
It was not waiting for previous frag/geom to complete, overwriting their results
midway. Subsequent frag/geom were not waiting for the reset-program to complete,
so it was resetting the transform-feedback write-index and primitives_written
counts midway or after the frag/geom complete. This resulted in incorrect XFB
data and query-results.
Signed-off-by: Iliyan Dinev <iliyan.dinev@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
This enables the legacy SPM program implementation to function with
the updated descriptor set code, until it is replaced with NIR/uscgen.
Signed-off-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
This enables the legacy query program implementation to function with
the updated descriptor set code, until it is replaced with NIR/uscgen.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
We get away without this right now, but once we start calling enough of
the runtime that uses spirv-tools, this stops working due to pulling in
symbols that aren't marked as hidden.
So let's do add this, so we can properly hide all needless symbols.
Tested-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>