Commit graph

141245 commits

Author SHA1 Message Date
Marek Olšák
82a388dc2d st/mesa: don't use cso_context to restore VBs, sampler views for glDrawPixels
These cso_context capabilities will be removed.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Marek Olšák
f2141d3a9d st/mesa: don't use cso_context to restore VBs for glClear
These cso_context capabilities will be removed.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Marek Olšák
cde98f3e0e st/mesa: don't use cso_context to restore VBs, sampler views for glBitmap
These cso_context capabilities will be removed.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Marek Olšák
98e8dc1db8 gallium/pp: don't use cso_context to restore VBs, constbuf 0 and sampler views
These cso_context capabilities will be removed.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Marek Olšák
2813688f8d gallium/hud: don't use cso_context to restore VBs, constbuf 0 and sampler views
These cso_context capabilities will be removed.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Marek Olšák
a93ca3be01 gallium/api: add state invalidate interface as alternative to cso_save/restore
Some cso_context save/restore capabilities will be removed to decrease
CPU overhead. This is the alternative solution that e.g. the HUD will use.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Marek Olšák
7afa7cb4b4 gallium/tests: stop using cso_set_sampler_views
It will be removed.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Marek Olšák
2a0195f4b9 st/xa: stop using cso_set_sampler_views
It will be removed.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Marek Olšák
fc78ecd379 st/nine: stop using cso_set_sampler_views
It will be removed.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
2021-01-15 04:01:12 -05:00
Samuel Pitoiset
95c5675180 ci: mark some sparse CTS as expected failures on RAVEN
Same as Vega10.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8518>
2021-01-15 07:28:02 +00:00
Mauro Rossi
4bc9f7d53f android: r600/sfn: add sfn_nir_lower_64bit.cpp to Makefile.sources
Fixes the following building errors:

FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
...
ld.lld: error: undefined symbol: r600::r600_nir_split_64bit_io(nir_shader*)
>>> referenced by sfn_nir.cpp:981 (external/mesa/src/gallium/drivers/r600/sfn/sfn_nir.cpp:981)
...
ld.lld: error: undefined symbol: r600::r600_nir_64_to_vec2(nir_shader*)
>>> referenced by sfn_nir.cpp:1010 (external/mesa/src/gallium/drivers/r600/sfn/sfn_nir.cpp:1010)
...
ld.lld: error: undefined symbol: r600::r600_merge_vec2_stores(nir_shader*)
>>> referenced by sfn_nir.cpp:1015 (external/mesa/src/gallium/drivers/r600/sfn/sfn_nir.cpp:1015)

Fixes: 165fb5117b ("r600/sfn: add lowering passes to get 64 bit ops lowered to 32 bit vec2")
Cc: 21.0 <mesa-stable>
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8505>
2021-01-15 07:21:05 +00:00
Samuel Pitoiset
c6849f9687 radv: do not invalidate the L2 metadata cache on compute queues
The flush VA space was only allocated for command buffers on the
graphics queue. Also, the ZPASS_DONE event should never be emitted
on compute queues because it hangs.

Invalidating the L2 metadata cache is only required for coherency
between the RBs and L2, so only on the graphics queue.

The L2 cache is invalidated at beginning of any IBs and that should
also invalidate the L2 metadata cache for compute anyways.

Fixes: 4a783a3c ("radv: Use L2 coherency on GFX9+.")
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/8494>
2021-01-15 07:36:11 +01:00
Eric Anholt
953067ef5a ci/freedreno: Remove some long-unseen a6xx known flakes.
We haven't seen any of these since June.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8510>
2021-01-15 03:30:40 +00:00
Eric Anholt
eab2bb4691 ci/freedreno: Drop skip list stuff from a5xx flakes.
I clearly copied the wrong file when setting this up.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8510>
2021-01-15 03:30:40 +00:00
Eric Anholt
13be54ee08 ci/freedreno: Drop some long-unseen a5xx flakes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8510>
2021-01-15 03:30:40 +00:00
Eric Anholt
4ba6f4a053 ci/freedreno: Remove a bunch of stale flakes from a3xx.
I haven't seen these in the CI channel in many months.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8510>
2021-01-15 03:30:40 +00:00
Eric Anholt
22bf4831b8 ci/freedreno: Fix up the xfail/flake handling of a3xx texture functions.
There's only one that's been unstable for the last couple months, and it's
almost always a fail, so just mark that one's state.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8510>
2021-01-15 03:30:40 +00:00
Eric Anholt
783f726ea2 ci/freedreno: Mark some a5xx separate_shader tests as xfails.
These almost always fail for us, so we get flake complaints on basically
every job.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8510>
2021-01-15 03:30:40 +00:00
Eric Anholt
fea6446b30 gallium/ntt: Avoid referencing undefined channels of system values.
Fixes failure to compile the shader on the host with gl_NumWorkGroups (for
example) on virgl.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8488>
2021-01-14 15:59:22 -08:00
Eric Anholt
37363ef663 gallium/ntt: Add support for store_per_vertex_output.
Needed by virgl and r600 to use NTT.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8488>
2021-01-14 15:59:19 -08:00
Eric Anholt
97d5bc7de3 gallium/ntt: Don't vectorize IBFE/UBFE/BFI.
Since our source language only allows scalar offset/bits arguments,
virglrenderer only handled scalar values too.  Just refuse to vectorize
these to prevent breakage.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8488>
2021-01-14 15:59:17 -08:00
Eric Anholt
942ee6a547 mesa/st: Dump nir-to-tgsi output when ST_DEBUG=tgsi or nir is set.
Suggested by Gert Wollny, and oh how I've wanted this.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8488>
2021-01-14 15:59:10 -08:00
Eric Anholt
45048f4829 mesa/st: Lower shader images before handing off to NIR-to-TGSI.
Otherwise you'll just throw unknown intrinsic errors on drivers ignorant
of this NIR option.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8488>
2021-01-14 15:59:08 -08:00
Eric Anholt
500dfc05da mesa/st: Make a single helper for the NIR-to-TGSI transfer.
The common path means that we get NIR IR dumping on builtin shaders, too.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8488>
2021-01-14 15:59:04 -08:00
Rob Clark
f70c50b643 frontend/dri: Expose RGB[AX]_SRGB as well
platform_android prefers RGB[AX] over BGR[AX] to avoid buggyness with
older android versions.  But we need to include the corresponding SRGB
formats as well.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2888
Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8452>
2021-01-14 23:04:53 +00:00
Mike Blumenkrantz
3d88e65e88 zink: decouple renderpass from framebuffer state
a framebuffer is based on the surfaces attached to it

a renderpass is based on the operations being performed

a zink_framebuffer object doesn't necessarily need to be changed
if the renderpass changes, as this might just indicate that a clear operation
is being used instead of a load, so we can cache the corresponding vk objects
into the zink_framebuffer based on the renderpass ops being used to (eventually)
reduce fb object thrashing by doing more incremental updates

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8227>
2021-01-14 22:11:42 +00:00
Mike Blumenkrantz
49bb791991 zink: use 'fb' variable name for zink_framebuffer objects in zink_framebuffer.c
let's be a bit consistent and intuitive

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8227>
2021-01-14 22:11:42 +00:00
Mike Blumenkrantz
301de75b25 zink: rename param in zink_create_framebuffer
this is consistent with other state naming

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8227>
2021-01-14 22:11:42 +00:00
Mike Blumenkrantz
b4da9f42e5 zink: ralloc zink_framebuffer structs
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8227>
2021-01-14 22:11:42 +00:00
Mike Blumenkrantz
c6741f52bd zink: remove renderpass refcounting
this is useless because we never destroy renderpasses during the lifetime
of a process and don't want to do so

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8227>
2021-01-14 22:11:42 +00:00
Mike Blumenkrantz
b2e5dadd22 zink: add batch flag for checking renderpass state
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8227>
2021-01-14 22:11:42 +00:00
Mike Blumenkrantz
448c85acfc zink: rework framebuffer state
we don't want to actually be tracking any null surfaces, so instead use
the vk object for this purpose

also store the fb state onto the fb object so we have this info available
at all times

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8227>
2021-01-14 22:11:42 +00:00
Danylo Piliaiev
39a2da738d ir3: add debug option to override shader assembly
IR3_SHADER_DEBUG=vs,tcs,tes... now also prints shader's sha1.

When there is a file named %sha1%.asm in IR3_SHADER_OVERRIDE_PATH
directory - ir3 assembly from file would be parsed, assembled, and
will override the shader with corresponding sha1 hash.

Parsing failure is considered unrecoverable error.
Upon successful override shader's assembly is printed with:
 "Native code (overridden) for unnamed ..."

This debug option allows easier testing of small changes in
assembly without modifying the compiler or using computerator.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8388>
2021-01-14 21:51:16 +00:00
Mike Blumenkrantz
64f939020d zink: only emit streamout targets during draw if we have them
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8503>
2021-01-14 20:37:24 +00:00
Marek Olšák
39c415d5fd mesa: always set valid index bounds for non-indexed draws for classic drivers
This should fix crashing piglit tests on the i915 classic driver.

Fixes: 2358da81d2 - mesa: switch (Multi)DrawArrays to DrawGallium

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8453>
2021-01-14 15:10:02 -05:00
Jordan Justen
fc1bd69bbd iris: Fix android build due to missing link to libmesa_iris_gen125
Reported-by: Yugang Fan
Fixes: cd3251d6ba ("intel/iris: Build gen 12.5")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8426>
2021-01-14 11:51:29 -08:00
Danylo Piliaiev
cea4d85093 turnip: make GS use correct varyings size from previous stage
Fixes:
 dEQP-VK.tessellation.invariance.primitive_set.triangles_fractional_even_spacing_ccw
 dEQP-VK.tessellation.invariance.outer_edge_division.triangles_fractional_even_spacing
 dEQP-VK.tessellation.invariance.outer_edge_symmetry.triangles_fractional_odd_spacing_cw
 dEQP-VK.tessellation.invariance.outer_edge_symmetry.quads_fractional_odd_spacing_ccw
 dEQP-VK.tessellation.invariance.outer_edge_symmetry.isolines_equal_spacing_cw
 dEQP-VK.tessellation.invariance.outer_edge_index_independence.triangles_equal_spacing_ccw
 dEQP-VK.tessellation.invariance.outer_edge_index_independence.triangles_fractional_even_spacing_cw
 dEQP-VK.tessellation.invariance.inner_triangle_set.triangles_equal_spacing

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8497>
2021-01-14 19:06:07 +00:00
Yevhenii Kolesnikov
0c08a66ce5 iris: only set point sprite overrides if actually using points
Fixes black screen in some FNA games.

Cc: <mesa-stable@lists.freedesktop.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3431
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7218>
2021-01-14 18:36:15 +00:00
Mike Blumenkrantz
322a3d4fb0 zink: partially enable SSBO pipe cap
this enables atomic counters

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
2bfa998960 zink: add more usage bits for buffer types
these things can be anything they want to be when they grow up

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
e79d905f5a zink: flag ssbo buffer resources as having pending writes on batch
ssbos are the only descriptor type we support (so far) that allows writes
during the draw, so we have to ensure that we set the right flag on the batch
reference to handle sync if the buffer is later read from

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
d0d1888af0 zink: split UBOs and samplers into 'read' batch references during draw
we have the technology, so now we can just flag these resources as being
read from instead of also being written to, freeing them up for concurrent reads
without requiring fencing

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
fa321e0cc4 zink: start supporting atomic shader ops
this handles atomic_add, which is what atomic counters use

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
400c7743f6 zink: modify ubo loading in ntv to work for ssbos
if ssbo variables are declared using the same structure as ubos, then
the mechanics here are identical, and we can just add a couple extra lines
to handle the atomic ops and different array usage

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
3dd5500f7b zink: emit ssbo variables in ntv
we're structuring these the same as ubos so we can reuse the same load
function later

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
6e22f52ba1 zink: hook up ssbo shader bindings
this is just the struct zink_shader binding point stuff, but nothing is
using it yet

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
f5ab1a1f00 zink: add set_shader_buffers pipe_context method
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
2fa1cf99b9 zink: add util function for emitting ntv atomic ops
these all need specific memory params, but otherwise they're the same
as normal ops, so we can just make a helper function here to add in the memory
params

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
621fb6a72a zink: add spirv builder function for runtime array type
we'll need this for ssbos

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>
2021-01-14 18:13:28 +00:00
Mike Blumenkrantz
652e51e1f3 nir/lower_uniforms_to_ubo: set explicit_binding on uniform_0
this variable is always bound to buffer index 0, so the binding info
here is actually useful

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7935>
2021-01-14 17:29:09 +00:00