Marek Olšák [Sat, 9 Jan 2021 10:27:57 +0000 (05:27 -0500)]
radeonsi: make sctx->vertex_elements always non-NULL
Bind a state with 0 vertex elements there.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 04:14:01 +0000 (23:14 -0500)]
radeonsi: add a specialized function for CP DMA L2 prefetch
This radically simplifies the code to decrease CPU overhead in si_draw_vbo.
The generic CP DMA copy function is too complicated.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 01:34:09 +0000 (20:34 -0500)]
radeonsi: make cik_emit_prefetch_L2 templated and move it to si_state_draw.cpp
This is a great candidate for a template. There are a lot of conditions
that are already templated in si_draw_vbo.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 03:13:13 +0000 (22:13 -0500)]
radeonsi: fix si_num_prims_for_vertices for PIPE_PRIM_POLYGON
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 03:06:42 +0000 (22:06 -0500)]
radeonsi: don't compute average vertex count in si_draw_vbo
It's probably not needed and we also have draw merging on gfx10,
so we should be able to use total_driver_count in theory.
(I may be wrong, but I don't know if having avg_direct_count really
improves anything)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 02:29:39 +0000 (21:29 -0500)]
radeonsi: don't pass pipe_draw_info into si_emit_derived_tess_state
Only one field is used.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 02:16:28 +0000 (21:16 -0500)]
radeonsi: translate pipe_prim_type only when it changes
just sink it into the branch
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 02:10:58 +0000 (21:10 -0500)]
radeonsi: don't pass pipe_draw_info into si_emit_ia_multi_vgt_param
Only one field is used.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 02:07:40 +0000 (21:07 -0500)]
radeonsi: don't pass pipe_draw_info into si_emit_vs_state
only one field is used
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sun, 27 Dec 2020 01:59:38 +0000 (20:59 -0500)]
radeonsi: move emit_cache_flush functions into si_gfx_cs.c
This is a better place for them. They are not inlined anyway.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sat, 19 Dec 2020 21:45:28 +0000 (16:45 -0500)]
radeonsi: don't clear unaligned bits when unbinding vertex buffers
It's initialized to 0, so &= is a no-op.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Marek Olšák [Sat, 26 Dec 2020 17:10:01 +0000 (12:10 -0500)]
radeonsi: constant buffer cleanups
si_set_clip_state unreferenced a NULL pointer = no-op.
si_set_tess_state can just pass the user buffer to si_set_rw_buffer directly.
Then si_upload_const_buffer can be static.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8548>
Mauro Rossi [Sat, 16 Jan 2021 20:46:23 +0000 (21:46 +0100)]
android: freedreno/ir3: Switch over to new encoder/decoder
Fixes the following building error:
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
...
ld.lld: error: undefined symbol: isa_assemble
>>> referenced by ir3_shader.c:151 (external/mesa/src/freedreno/ir3/ir3_shader.c:151)
...
ld.lld: error: undefined symbol: isa_decode
>>> referenced by ir3_shader.c:668 (external/mesa/src/freedreno/ir3/ir3_shader.c:668)
Fixes:
5cae4779c ("freedreno/ir3: Switch over to new encoder/decoder")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8538>
Mauro Rossi [Sat, 16 Jan 2021 20:36:47 +0000 (21:36 +0100)]
android: freedreno/hw/isa: Add description of ir3 ISA
Necessary to build libir3decode and libir3encode for Android
Fixes:
6d94f575d ("freedreno/hw/isa: Add description of ir3 ISA")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Acked-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8538>
Hoe Hao Cheng [Fri, 15 Jan 2021 18:24:20 +0000 (02:24 +0800)]
zink: remove excessive checks for loader version
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8521>
Hoe Hao Cheng [Fri, 15 Jan 2021 17:48:33 +0000 (01:48 +0800)]
zink/codegen: find promotion version using vulkan registry
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8521>
Hoe Hao Cheng [Fri, 15 Jan 2021 09:23:59 +0000 (17:23 +0800)]
zink/codegen: adding/fixing comments and copyright notice
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8521>
Hoe Hao Cheng [Fri, 15 Jan 2021 09:16:54 +0000 (17:16 +0800)]
zink/codegen: codegen-ize load_instance_extensions()
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8521>
Hoe Hao Cheng [Fri, 15 Jan 2021 09:13:51 +0000 (17:13 +0800)]
zink/codegen: enable instance extension unconditionally if promoted
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8521>
Hoe Hao Cheng [Fri, 15 Jan 2021 09:01:44 +0000 (17:01 +0800)]
zink/codegen: make 'struct' optional in Version
while we are at it, fix a typo too
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8521>
Hoe Hao Cheng [Thu, 14 Jan 2021 18:04:50 +0000 (02:04 +0800)]
zink/codegen: add some new attributes to Extension
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8521>
Vinson Lee [Thu, 14 Jan 2021 06:01:58 +0000 (22:01 -0800)]
nouveau: Fix typos.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Pierre Moreau <dev@pmoreau.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8490>
Erico Nunes [Mon, 4 Jan 2021 20:13:30 +0000 (21:13 +0100)]
lima: introduce fs and vs shader cache
Some opengl features require shader recompilation to be implemented in
the mali400 and can only be detected at draw time. In some applications,
this could lead to recompiling shaders on every frame which could kill
performance. Introduce a shader cache to prevent this issue.
lima didn't have vertex shader recompilation yet but it is needed to
implement followup features, so include it here too.
Code heavily borrowed from the vc4 shader cache implementation.
One notable difference between the vc4 reference implementation and lima
is that lima still compiles the base shader at state creation time
without deferring it to the next draw (so that it stays compatible with
behaviour expected by unmodified shader-db, for example).
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Andreas Baierl <ichgeh@imkreisrum.de>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8357>
Alexander Kapshuk [Wed, 13 Jan 2021 19:17:02 +0000 (19:17 +0000)]
frontends/va/image: Eliminate repetitive code on error paths
Removes repetitive code in exit on error paths in the derive image function.
Signed-off-by: Alexander Kapshuk <alexander.kapshuk@gmail.com>
Reviewed-by: Thong Thai <thong.thai@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8481>
Joel Linn [Tue, 17 Nov 2020 23:49:58 +0000 (00:49 +0100)]
freedreno/a2xx: add RB perfcounter 1-3
Xenos driver reads four perf counters in total.
v2: fix register names
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7666>
Joel Linn [Tue, 17 Nov 2020 23:41:10 +0000 (00:41 +0100)]
freedreno/a2xx: fix/add RBBM perfcounter
Xenos driver read two perf counters and their order is also different.
v2: fix typo in register address
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7666>
Ilia Mirkin [Sat, 16 Jan 2021 06:10:24 +0000 (01:10 -0500)]
glsl: only expose int64 atomics when extension is enabled
This limits the exposure of these functions to when the extension is
available. Prevents crashes otherwise, as the rest of the infrastructure
doesn't necessarily expect these functions when the extension is not
available.
Fixes:
40c1f9883e5 ("mesa,glsl: add support for GL_NV_shader_atomic_int64")
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8533>
Ilia Mirkin [Fri, 15 Jan 2021 22:01:27 +0000 (17:01 -0500)]
nv50/ir: clear dnz flag when converting mul/mad to simpler ops
Fixes some assertion failures in the GM107 emitter with the game
'tansei', noticed while debugging gitlab issue 4101.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8534>
Rob Clark [Wed, 13 Jan 2021 23:56:27 +0000 (15:56 -0800)]
freedreno/a6xx: Add r2d support for GMEM resolves
For cases where we need to do an MSAA resolve that BLIT events cannot
handle, fall back to CP_BLIT (r2d)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4085
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8509>
Bas Nieuwenhuizen [Fri, 15 Jan 2021 13:27:02 +0000 (14:27 +0100)]
ac/surface: Fix GFX9 sparse mip info.
Used the wrong offset & pitch for gfx9.
Fixes:
50bafb85ec1 ("ac/surf: Add sparse texture info to radeon_surf.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4072
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8526>
Ilia Mirkin [Wed, 13 Jan 2021 07:14:07 +0000 (02:14 -0500)]
st/mesa: fix broken moves for u2i64 and related ops
These ops just put out mov's directly, which screws up the assignment
logic -- it just tries to only process the "last" mov. Don't try to do
the more optimized thing for 64-bit types, where this is just much
trickier.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8463>
Mike Blumenkrantz [Fri, 14 Aug 2020 15:39:00 +0000 (11:39 -0400)]
zink: reduce blendfactor when alpha_to_one is set
if alpha is 1, some of these blendfactors can be reduced to simpler ones
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8513>
Dave Airlie [Thu, 14 Jan 2021 23:57:52 +0000 (09:57 +1000)]
lavapipe: fix missing piece of VK_KHR_get_physical_device_properties2
I missed two parts of the APIs for this, so add them, should fix
crashes in gstreamer vulkan when it tries to load lvp.
Cc: <mesa-stable@lists.freedesktop.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3989
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8511>
Jeremy Huddleston Sequoia [Wed, 13 Jan 2021 00:44:34 +0000 (16:44 -0800)]
Fall back on clock_gettime when timespec_get() is unavailable
Fixes:
e3a8013de8ca "util/u_queue: add util_queue_fence_wait_timeout"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1020
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4088
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Yurii Kolesnykov <root@yurikoles.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8482>
Alyssa Rosenzweig [Thu, 14 Jan 2021 04:16:30 +0000 (23:16 -0500)]
pan/bi: Fix assertion
Fixes:
bef3fedc814 ("pan/bi: Lower 8bit fragment outputs to 16bit")
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reported-by: Coverity
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8489>
Dave Airlie [Thu, 14 Jan 2021 23:19:03 +0000 (09:19 +1000)]
device-select-layer: update for vulkan 1.2
The vulkan loader doesn't load layers for apps that require a newer
version of vulkan, so this layer didn't get loaded for vulkan 1.2 apps.
I would like to just stick 1.09 in there but it might be worth
validating it works at new version of vulkan I suppose and the major
doesn't revise that often
Fixes:
9bc5b2d169d3 ("vulkan: add initial device selection layer. (v6)")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8508>
Jeremy Huddleston Sequoia [Thu, 14 Jan 2021 18:08:34 +0000 (10:08 -0800)]
darwin: Use the system libunwind
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4094
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8507>
Jeremy Huddleston Sequoia [Thu, 14 Jan 2021 18:16:15 +0000 (10:16 -0800)]
util: Fix pointer to integer conversion error when using libunwind
../src/util/u_debug_stack.c:97:20: error: incompatible pointer to integer conversion assigning to 'unw_word_t' (aka 'unsigned long') from 'void *' [-Werror,-Wint-conversion]
pip.unwind_info = NULL;
^ ~~~~
1 error generated.
Fixes:
70c272004f72 "gallium/util: libunwind support"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4094
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8507>
Jeremy Huddleston Sequoia [Thu, 14 Jan 2021 18:08:07 +0000 (10:08 -0800)]
darwin: Use the system libexpat
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4093
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8506>
Eric Anholt [Mon, 11 Nov 2019 22:43:14 +0000 (14:43 -0800)]
util/format: Simplify the generated unpack code.
We were declaring the temps, then in the same order declaring
assignments to those temps. The code is more legible (and shorter)
with the assignments moved in place.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 22:16:30 +0000 (14:16 -0800)]
mesa: Move the rest of format_unpack.py out of code generation.
There's nothing conditional any more in the template, so just move it
to plain .c code at last.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 21:22:21 +0000 (13:22 -0800)]
mesa: Use a bunch of util functions for Z/S unpacking.
Drops another 2k of text.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 21:51:15 +0000 (13:51 -0800)]
util: Give a reasonable answer when unpacking z32unorm from floats.
We weren't clamping the float Z value, just multiplying it by a big
float and casting that to int. This makes util/format's z unpacking
match Mesa's.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 19:55:11 +0000 (11:55 -0800)]
mesa: Reuse util_format's unpack functions for pure integer formats.
Drops 5k of compiled text from all GL drivers.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 19:35:10 +0000 (11:35 -0800)]
mesa: Reuse util_format's unpack_8unorm.
Drops ~8k of compiled text from all GL drivers.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Mon, 11 Nov 2019 23:29:37 +0000 (15:29 -0800)]
util: Fix rounding of unpack_unorm8 from small unorm formats.
The code was doing the bit-shift trick, but not accounting for the
rounding necessary which the Mesa unpack code was previously doing.
Using the helpers prevents a regression in
KHR-GL46.copy_image.smoke_test on iris as we consolidate the
pack/unpack code.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Wed, 12 Aug 2020 21:30:18 +0000 (14:30 -0700)]
util: Fix UBSan failure on _mesa_unorm_to_unorm.
It complains about shifting 1<<31 being undefined, so make it a 1u.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Mon, 11 Nov 2019 23:02:25 +0000 (15:02 -0800)]
util: Move most of src/mesa/main/format_utils.h to util/format/
This is a set of very nice, complete helpers for moving around bits in
various formats, and we want to retain its behavior when deduplicating
Mesa's format pack/unpack and gallium's.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 18:56:06 +0000 (10:56 -0800)]
mesa: Make _mesa_unpack_rgba_block() use the u_format pack/unpack.
This moves it to non-generated code, since there wasn't any codegen
anyway.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 18:37:54 +0000 (10:37 -0800)]
mesa: Replace the float[4] unpack code with util/format's.
The gallium drivers lose 10-15k of binary by not having this duplicated
unpack code, but classic i965 gains 215k of binary by pulling in
u_format's pack/unpack code. The cost to classic will go down as we drop
more of the duplicated code.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 21:27:04 +0000 (13:27 -0800)]
mesa: Drop incorrect statement about Z unpack behavior.
We pass z32f pixels through without clamping, as one would expect.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Thu, 7 Nov 2019 20:10:51 +0000 (12:10 -0800)]
mesa: Add some little unit tests showing format unpack behavior.
I'm about to refactor pack/unpack code, and it would be nice to
document what it does as I change it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Eric Anholt [Fri, 15 Jan 2021 00:17:21 +0000 (16:17 -0800)]
util/format: Fix pack/unpack of A1R5G5B5_UINT.
Avoids regressing KHR-GL33.packed_pixels.pbo_rectangle.* when
transitioning from mesa/main pack/unpack codegen to util/format's.
Fixes:
b28eb044cdc1 ("gallium: Add equivalents of packed MESA_FORMAT_*UINT formats.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6297>
Rob Clark [Fri, 15 Jan 2021 16:51:39 +0000 (08:51 -0800)]
freedreno/isa: Fix branch/jump offset encoding
When cross compiling with clang, `1ul` would end up 32b instead of 64b,
resulting in 32b fields (like branch/jump offsets) being encoded as
zero. Which results in infinite loops.
Fixes:
e7630ec278f ("freedreno/hw: Add isaspec mechanism for documenting/defining an ISA")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8528>
Mike Blumenkrantz [Thu, 13 Aug 2020 17:50:21 +0000 (13:50 -0400)]
zink: enable PIPE_CAP_CLEAR_TEXTURE
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8512>
Mike Blumenkrantz [Thu, 13 Aug 2020 21:23:51 +0000 (17:23 -0400)]
zink: add a pipe_context::clear_texture hook
there's a lot going on here, but the gist of it is:
* if we're not in a renderpass, use the no_rp clear helpers
* if we're in a renderpass, use our lord and savior u_blitter with a temporary
surface that we create just for the blit
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8512>
Mike Blumenkrantz [Thu, 13 Aug 2020 21:17:38 +0000 (17:17 -0400)]
zink: break out some of the u_blitter setup into util function
we'll be using this for more than just zink_blit, so we can reuse some code
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8512>
Mike Blumenkrantz [Thu, 13 Aug 2020 19:09:30 +0000 (15:09 -0400)]
zink: break out color/zs no_rp clear into separate functions
make more code more reusable
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8512>
Mike Blumenkrantz [Thu, 13 Aug 2020 18:22:14 +0000 (14:22 -0400)]
zink: break out scissor region testing for clear functions
it'll be handy to be able to reuse this
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8512>
Mike Blumenkrantz [Thu, 13 Aug 2020 17:44:56 +0000 (13:44 -0400)]
zink: handle clears with scissor regions
this just sets the info struct members as needed
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8512>
Mike Blumenkrantz [Thu, 13 Aug 2020 15:45:30 +0000 (11:45 -0400)]
zink: start to refactor clearing
we currently only handle clears inside renderpasses, but it's also possible
to perform clears outside of renderpasses, so we can break this logic up a bit
to open the door to handling the non-rp case
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8512>
Mike Blumenkrantz [Thu, 13 Aug 2020 15:38:32 +0000 (11:38 -0400)]
zink: move zink_clear to zink_clear.c
we're going to have a bunch of clear code, so having it all in a concise
place that's consistent with other gallium drivers is helpful
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8512>
Lionel Landwerlin [Tue, 8 Sep 2020 11:33:12 +0000 (14:33 +0300)]
intel/perf: move gt_frequency to results
We want to unify things a bit between GL & Vulkan. So store those
values in the results rather than just in the GL query code.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8525>
Lionel Landwerlin [Thu, 3 Sep 2020 09:19:11 +0000 (12:19 +0300)]
intel/perf: link queries back to the gen_perf_config object
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8525>
Lionel Landwerlin [Mon, 7 Sep 2020 14:35:08 +0000 (17:35 +0300)]
intel/perf: add definition for generic perf counters
Those are not part of the OA report but will be used in upcoming
counters.
v2: Rename counter defines (Marcin)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8525>
Lionel Landwerlin [Tue, 1 Sep 2020 10:09:04 +0000 (13:09 +0300)]
intel/perf: restructure i915 perf version checks
Trying to make things more readable.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8525>
Lionel Landwerlin [Mon, 31 Aug 2020 13:42:32 +0000 (16:42 +0300)]
intel/mi_builder: fix self modifying batches
So far we only write a maximum of 4 dwords further into the batch and
it seems just going over the CS prefetch was enough.
Turns out writing more dwords can delay the writes and we start
prefetching stuff that hasn't landed in memory yet.
This fixes the issue by stalling the CS to ensure the writes have
landed before we go over the prefetch.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
796fccce631bf8 ("intel/mi-builder: add framework for self modifying batches")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8525>
Lionel Landwerlin [Thu, 27 Aug 2020 10:16:46 +0000 (13:16 +0300)]
intel/mi_builder: optimize 64bit immediate register loads & memory stores
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8525>
Lionel Landwerlin [Thu, 27 Aug 2020 12:29:07 +0000 (15:29 +0300)]
anv: don't disable KHR_performance_query in debug mode
This is useful to verify that queries are built properly and avoiding
to deal with i915-perf (typically under simulation).
v2: Remove likely() (Marcin)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8525>
Juan A. Suarez Romero [Tue, 12 Jan 2021 17:45:49 +0000 (18:45 +0100)]
v3d: fix dest offset in TFU setup
It is using the source level instead of the destiny level (base_level)
to compute the dest offset.
This fixes `framebuffer-blit-levels draw rgba -auto -fbo` piglit test.
Fixes:
976ea90bdca ("v3d: Add support for using the TFU to do some blits.")
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/8491>
Danylo Piliaiev [Mon, 11 Jan 2021 16:27:12 +0000 (18:27 +0200)]
freedreno/ir3/parser: add cat7 support
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8420>
Marek Olšák [Mon, 11 Jan 2021 15:37:57 +0000 (10:37 -0500)]
st/mesa: optimize binding and unbinding shader images
- use local variable num_images
- only unbind the number of shader images that we have bound
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
Marek Olšák [Mon, 11 Jan 2021 15:33:54 +0000 (10:33 -0500)]
st/mesa: unbind sampler views, images, and vertex buffers after meta ops
v2: use a null array to unbind sampler views
Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8180>
Marek Olšák [Sun, 20 Dec 2020 08:13:20 +0000 (03:13 -0500)]
cso_context: remove ability to restore VBs, const bufs, sampler views, images
This is meant to decrease CPU overhead and reduce the use of cso_context when
better solutions are possible.
These functions are removed. Gallium frontends should just use pipe_context:
- cso_set_sampler_views
- cso_set_shader_images
- cso_set_constant_buffer*
Additionally, vertex buffers are passed through cso_context but they are not
saved there. The only remaining role of cso_context with regard to vertex
buffers is to decide whether to go through u_vbuf or skip it. u_vbuf also
can't save and restore vertex buffers anymore.
This is how the states are restored for meta ops:
- in st/mesa, set st->dirty |= flags to re-bind whatever state has been
touched
- outside of st/mesa, there is new interface st_context_iface::invalidate_-
_state that external modules can use to essentially set st->dirty through
it (like HUD)
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>
Marek Olšák [Sun, 20 Dec 2020 08:12:47 +0000 (03:12 -0500)]
st/mesa: replace st->pipe with pipe in a few places
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>
Marek Olšák [Sun, 20 Dec 2020 08:01:37 +0000 (03:01 -0500)]
st/mesa: don't use cso_context to set const bufs, sampler views and images
These cso_context functions will be removed and they are no longer needed
by st/mesa. They also cause CPU overhead because they save states.
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>
Marek Olšák [Sun, 20 Dec 2020 07:52:52 +0000 (02:52 -0500)]
st/mesa: don't use cso_context to restore VBs, etc. for PBO glTexSubImage
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>
Marek Olšák [Sun, 20 Dec 2020 07:52:52 +0000 (02:52 -0500)]
st/mesa: don't use cso_context to restore VBs, etc. for PBO glReadPixels
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>
Marek Olšák [Sun, 20 Dec 2020 07:52:52 +0000 (02:52 -0500)]
st/mesa: don't use cso_context to restore VBs, sampler views for glDrawTex*OES
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>
Marek Olšák [Sun, 20 Dec 2020 07:52:52 +0000 (02:52 -0500)]
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>
Marek Olšák [Sun, 20 Dec 2020 07:52:52 +0000 (02:52 -0500)]
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>
Marek Olšák [Sun, 20 Dec 2020 07:52:52 +0000 (02:52 -0500)]
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>
Marek Olšák [Sun, 20 Dec 2020 07:49:07 +0000 (02:49 -0500)]
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>
Marek Olšák [Sun, 20 Dec 2020 07:49:07 +0000 (02:49 -0500)]
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>
Marek Olšák [Sun, 20 Dec 2020 07:45:20 +0000 (02:45 -0500)]
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>
Marek Olšák [Sun, 20 Dec 2020 05:44:03 +0000 (00:44 -0500)]
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>
Marek Olšák [Sun, 20 Dec 2020 05:43:39 +0000 (00:43 -0500)]
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>
Marek Olšák [Sun, 20 Dec 2020 05:43:08 +0000 (00:43 -0500)]
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>
Samuel Pitoiset [Fri, 15 Jan 2021 06:57:53 +0000 (07:57 +0100)]
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>
Mauro Rossi [Thu, 14 Jan 2021 22:15:56 +0000 (23:15 +0100)]
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>
Samuel Pitoiset [Thu, 14 Jan 2021 17:32:16 +0000 (18:32 +0100)]
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>
Eric Anholt [Thu, 14 Jan 2021 23:43:00 +0000 (15:43 -0800)]
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>
Eric Anholt [Thu, 14 Jan 2021 23:41:49 +0000 (15:41 -0800)]
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>
Eric Anholt [Thu, 14 Jan 2021 23:41:04 +0000 (15:41 -0800)]
ci/freedreno: Drop some long-unseen a5xx flakes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8510>
Eric Anholt [Thu, 14 Jan 2021 23:39:48 +0000 (15:39 -0800)]
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>
Eric Anholt [Thu, 14 Jan 2021 23:38:12 +0000 (15:38 -0800)]
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>
Eric Anholt [Thu, 14 Jan 2021 23:34:04 +0000 (15:34 -0800)]
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>
Eric Anholt [Thu, 14 Jan 2021 00:30:15 +0000 (16:30 -0800)]
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>
Eric Anholt [Thu, 14 Jan 2021 00:18:02 +0000 (16:18 -0800)]
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>
Eric Anholt [Wed, 13 Jan 2021 23:48:36 +0000 (15:48 -0800)]
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>