Qiang Yu [Fri, 11 Aug 2023 09:21:27 +0000 (17:21 +0800)]
radeonsi: extract si_get_ps_epilog_args to be shared with aco
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/24989>
Qiang Yu [Thu, 10 Aug 2023 02:19:33 +0000 (10:19 +0800)]
radeonsi: add ps prolog shader part build
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/24989>
Qiang Yu [Mon, 7 Aug 2023 07:18:12 +0000 (15:18 +0800)]
ac,radeonsi: remove unused ps prolog key fields
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/24989>
Qiang Yu [Mon, 7 Aug 2023 06:28:50 +0000 (14:28 +0800)]
radeonsi: extract si_get_ps_prolog_args to be shared with aco
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/24989>
Qiang Yu [Mon, 7 Aug 2023 06:25:14 +0000 (14:25 +0800)]
radeonsi: extract si_prolog_get_internal_binding_slot
To be shared with ps prolog.
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/24989>
Qiang Yu [Sun, 6 Aug 2023 09:19:46 +0000 (17:19 +0800)]
radeonsi: init spi_ps_input_addr for part mode ps
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/24989>
Qiang Yu [Sun, 6 Aug 2023 03:12:17 +0000 (11:12 +0800)]
radeonsi: reduce sgpr count for scratch_offset when aco
aco add scratch_offset to shader args explicitly.
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/24989>
Qiang Yu [Sat, 19 Aug 2023 07:36:00 +0000 (15:36 +0800)]
aco: wait memory ops done before go to next shader part
Next part don't know whether p_end_with_regs args are loaded from
memory ops or not, need to wait it's done here.
Other memory load needs to be waited too like:
a = load_mem()
b = ...
if (...) {
wait_mem(a)
store_mem(a)
}
p_end_with_regs(b)
"a" still needs to be waited, otherwise next shader part regs may
be overwritten by unfinished memory loads.
Memory stores are waited too. When >=gfx10 and last VGT has no
parameter export, we need to wait all memeory stores done before
pos export (see ac_nir_export_position). So when merged shader
(ES+GS or VS+GS) is partially built, first stage needs to wait
all memory stores done, otherwise second stage don't know if
any memory stores pending before.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signe-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Thu, 24 Aug 2023 02:11:40 +0000 (10:11 +0800)]
aco: create exit block for p_end_with_regs to branch to
To handle ps discard in radeonsi part mode shader.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Mon, 21 Aug 2023 02:44:45 +0000 (10:44 +0800)]
aco: fix assertion fail when program contains empty block
radeonsi may generate empty main shader or an empty exit block
for p_end_with_regs to jump to.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Thu, 17 Aug 2023 07:17:20 +0000 (15:17 +0800)]
aco: do not fix_exports when program has epilog
PS with epilog does not need to fix_exports. And radeonsi use
p_end_with_regs so does not have jump instruction at last.
radeonsi may also have exec restore instruction, so may break
before reach to p_end_with_regs.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Sat, 19 Aug 2023 03:20:00 +0000 (11:20 +0800)]
aco,radv,radeonsi: pass spi ps input ena and addr
radeonsi may pass different ena and addr when part mode shader.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Fri, 25 Aug 2023 08:39:19 +0000 (16:39 +0800)]
aco: compact ps expilog color export for radeonsi
radeonsi need to compact color export for ps epilog while radv does not.
radv will fill empty color slot, so won't affected by this change.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Thu, 17 Aug 2023 02:13:26 +0000 (10:13 +0800)]
aco,radv: add radeonsi spec ps epilog code
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Tue, 15 Aug 2023 09:27:48 +0000 (17:27 +0800)]
aco: simplify export_fs_mrt_color
It's now used by ps epilog only.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Mon, 14 Aug 2023 09:05:32 +0000 (17:05 +0800)]
aco,radv: rename ps epilog info inputs to colors
Will add other mrtz args for radeonsi.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Mon, 14 Aug 2023 01:43:18 +0000 (09:43 +0800)]
aco,radv: remove unused ps epilog info fields
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Fri, 11 Aug 2023 08:58:36 +0000 (16:58 +0800)]
aco: add create_fs_end_for_epilog for radeonsi
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Fri, 11 Aug 2023 01:57:42 +0000 (09:57 +0800)]
aco: handle ps outputs from radeonsi
radeonsi will keep outputs <FRAG_RESULT_DATA0.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Wed, 9 Aug 2023 07:07:39 +0000 (15:07 +0800)]
aco: add ps prolog generation for radeonsi
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Fri, 25 Aug 2023 06:25:20 +0000 (14:25 +0800)]
aco: remove p_end_with_regs from needs_exact()
ps needs to handle wqm:
1. main part may compute with args from prolog in wqm mode, so
prolog need to compute these args in wqm mode too.
2. prolog and main part need to end with exact exec, so next
shader part which inherit previous shader part's exec won't
do valid job for helper threads
1 need p_end_with_regs to operate in wqm mode and itself can't
be exact, otherwise some move instruction added by it won't be
in wqm mode so helper threads' compute result is not passed to
next shader part as args.
2 is done by p_end_wqm added by finish_program automatically
after p_end_with_regs.
Piglit tests can trigger the problem:
1. gl-2.1-polygon-stipple-fs
a. ps prolog call discard_if
b. ps main pass wqm exec to epilog
c. ps epilog export color for discarded pixel
2. fs-fwidth-color.shader_test
a. ps prolog need to pass args computed in wqm mode
b. set p_end_with_regs to exact will end wqm mode before
the move instructions, so helper threads's result is not
passed to next shader part
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Fri, 15 Sep 2023 08:42:25 +0000 (16:42 +0800)]
aco: do not eliminate final exec write when p_end_with_regs block
p_end_with_regs just partially end the program, next part need
exec mask to be set correctly. For example p_end_wqm will generate
a exec restore from WQM mode after p_end_with_regs.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Qiang Yu [Tue, 8 Aug 2023 05:14:19 +0000 (13:14 +0800)]
ac,radeonsi: move ps arg pos_fixed_pt to ac_shader_args
It's a HW init reg, not driver spec user sgpr. radv just
doesn't use it. Move it to amd common for aco ps prolog
usage.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
Yiwei Zhang [Mon, 9 Oct 2023 07:28:17 +0000 (00:28 -0700)]
venus: make device memory alloc async
Add a new perf option NO_ASYNC_MEM_ALLOC. Track the ring seqno of the
memory alloc command, and do async ring wait to ensure:
- memory allocation is before resource creation
- memory import is before resource destroy
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25611>
Yiwei Zhang [Sun, 8 Oct 2023 08:13:08 +0000 (01:13 -0700)]
venus: refactor vn_device_memory to prepare for async alloc
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25611>
Yiwei Zhang [Sat, 9 Sep 2023 08:01:30 +0000 (01:01 -0700)]
venus: track VkPhysicalDeviceMemoryProperties instead
For code simplicity.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25611>
Yiwei Zhang [Thu, 5 Oct 2023 07:33:29 +0000 (00:33 -0700)]
venus: remove redundant bo roundtrip and add more docs
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25611>
Emma Anholt [Mon, 9 Oct 2023 23:57:24 +0000 (16:57 -0700)]
ci/crocus: Disable flaky unvanquished-ultra trace
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25626>
Emma Anholt [Mon, 9 Oct 2023 23:50:51 +0000 (16:50 -0700)]
ci/zink: Skip dmat[34] op tests in general, as well
More "make full-run zink CI take less time". You still get dmat2 to see
if double matrices work at all.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25626>
Emma Anholt [Mon, 9 Oct 2023 23:45:58 +0000 (16:45 -0700)]
ci/zink: Skip 3-minute-long glx-visuals timeouts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25626>
Emma Anholt [Mon, 9 Oct 2023 23:44:08 +0000 (16:44 -0700)]
ci/crocus: Generalize the drawarrays-vertex-count flakes.
We just got it for triangle fan as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25626>
Iván Briano [Tue, 19 Sep 2023 00:39:40 +0000 (17:39 -0700)]
nir: round f2f16{_rtne/_rtz} correctly for constant expressions
As noted in the previous commit, the intermediate cast to float from
double can produce wrong results.
Fixes upcoming Vulkan CTS tests:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.input_args.rounding_rte_sconst_conv_from_fp64_up
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.input_args.rounding_rte_sconst_conv_from_fp64_up_nostorage
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.input_args.rounding_rte_sconst_conv_from_fp64_up_vert
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.input_args.rounding_rte_sconst_conv_from_fp64_up_nostorage_vert
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.input_args.rounding_rte_sconst_conv_from_fp64_up_frag
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.input_args.rounding_rte_sconst_conv_from_fp64_up_nostorage_frag
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25281>
Iván Briano [Tue, 19 Sep 2023 00:27:56 +0000 (17:27 -0700)]
util: add double_to_float16 helpers
We convert from doubles to half by going through float in between, but
as noted in the comment in this commit, that can give wrong results in
some cases.
Add some helpers to ensure correct results based on rounding mode that
will be used in the next commit.
v2: Use fi/di from u_math.h (Ian)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25281>
Iván Briano [Fri, 15 Sep 2023 01:09:07 +0000 (18:09 -0700)]
intel/compiler: round f2f16 correctly for RTNE case
v2: bcsel -> b2i32 (Ian)
Fixes upcoming Vulkan CTS tests:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.input_args.rounding_rte_conv_from_fp64_up
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.input_args.rounding_rte_conv_from_fp64_up_nostorage
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.input_args.rounding_rte_conv_from_fp64_up_vert
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.input_args.rounding_rte_conv_from_fp64_up_nostorage_vert
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.input_args.rounding_rte_conv_from_fp64_up_frag
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.input_args.rounding_rte_conv_from_fp64_up_nostorage_frag
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25281>
Iván Briano [Thu, 14 Sep 2023 19:15:20 +0000 (12:15 -0700)]
nir/lower_int64: respect rounding mode when casting to float
Appendix A: Vulkan environemtn for SPIR-V says:
Operations described as “correctly rounded” will return the infinitely
precise result, x, rounded so as to be representable in
floating-point. The rounding mode is not specified, unless the entry
point is declared with the RoundingModeRTE or the RoundingModeRTZ
Execution Mode.
Conversion between types are classified as correctly rounded, so let's
do rounding correctly.
v2: check rounding mode for destination bit size (Georg)
Fixes upcoming Vulkan CTS tests:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp32.input_args.rounding_rtz_conv_from_uint64_up
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp32.input_args.rounding_rtz_conv_from_int64_up
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rtz_conv_from_uint64_up_vert
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rtz_conv_from_int64_up_vert
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rtz_conv_from_uint64_up_frag
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.input_args.rounding_rtz_conv_from_int64_up_frag
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25281>
Iván Briano [Fri, 15 Sep 2023 21:34:31 +0000 (14:34 -0700)]
vulkan/runtime: add internal parameter to vk_spirv_to_nir
If used to compile internal shaders, it will lack the flag while running
through all the optimization passes it does.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25281>
José Roberto de Souza [Tue, 3 Oct 2023 19:58:40 +0000 (12:58 -0700)]
iris: Nuke useless flags from iris_fine_fence_new()
Only IRIS_FENCE_TOP_OF_PIPE was changing the PIPE_CONTROL flags but it
was not set in any caller.
So we can remove IRIS_FENCE_* and flags from iris_fine_fence struct.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25571>
José Roberto de Souza [Tue, 3 Oct 2023 15:54:35 +0000 (08:54 -0700)]
iris: Lock bufmgr->lock before call vma_free() in error path
vma_free() requires that bufmgr->lock is held.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25571>
Mike Blumenkrantz [Tue, 3 Oct 2023 14:40:11 +0000 (10:40 -0400)]
gbm: delete some zink handling
this has never been functional and may never be
Fixes:
d760a9151b7 ("gallium: Learn about kopper")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25526>
Mike Blumenkrantz [Tue, 3 Oct 2023 14:37:49 +0000 (10:37 -0400)]
zink: error at handle export on missing EXT_image_drm_format_modifier
this doesn't work anyway
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25526>
Mike Blumenkrantz [Tue, 3 Oct 2023 12:09:02 +0000 (08:09 -0400)]
egl: don't set ForceSoftware for all zink loading
sometimes this is desired, other times it isn't
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25526>
antonino [Mon, 9 Oct 2023 14:51:11 +0000 (16:51 +0200)]
nir: fix several crashes in `nir_lower_tex`
This patch fixes the following issues that lead to crashes in some cases:
* an instruction is inserted to get texture lod that depends on a
texture instruction that hasn't been inserted yet.
* this code tries to read channel 1 of the lod, but lod is scalar
* the code assumed there would only be 2 srcs, this isn't the case when
bindless is used.
Fixes:
b154a4154b4 ("nir/lower_tex: rewrite tex/txb -> txd/txl before saturating srcs")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25621>
Emma Anholt [Tue, 3 Oct 2023 19:56:28 +0000 (12:56 -0700)]
i915: Use nir_group_loads() to reduce texture indirection phases.
total instructions in shared programs: 467049 -> 467040 (<.01%)
instructions in affected programs: 573 -> 564 (-1.57%)
total tex_indirect in shared programs: 14133 -> 14019 (-0.81%)
tex_indirect in affected programs: 491 -> 377 (-23.22%)
total temps in shared programs: 28543 -> 29178 (2.22%)
temps in affected programs: 3307 -> 3942 (19.20%)
LOST: 0
GAINED: 65
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25533>
Emma Anholt [Tue, 3 Oct 2023 18:46:55 +0000 (11:46 -0700)]
i915: Make exceeding tex indirect count fatal.
The HW should fail to run shaders that have too many phases, so do this so
that we get link failures.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25533>
Emma Anholt [Tue, 3 Oct 2023 19:53:24 +0000 (12:53 -0700)]
i915: Do a test compile at glLinkShader() time.
This lets us throw errors back to the app for shaders that are too
complex. The X server would really like to have this instead of guessing
based on renderer strings when shaders might be too complicated.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25533>
Emma Anholt [Tue, 3 Oct 2023 19:25:42 +0000 (12:25 -0700)]
i915: Save fragment program compile error messages in the fragment shader.
We'll want this for doing linking failure messages for shaders that are
too long.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25533>
Emma Anholt [Tue, 3 Oct 2023 19:13:36 +0000 (12:13 -0700)]
i915: Don't log I915_DEBUG=fs output for blit shaders.
Unless you have NIR_DEBUG=print_internal, the rest of the shader debug
pipeline is also hidden. Cleans up output when looking at shader-db
compiles.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25533>
Emma Anholt [Tue, 3 Oct 2023 18:45:22 +0000 (11:45 -0700)]
i915: Print the relevant counts vs limits when throwing errors.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25533>
Emma Anholt [Tue, 3 Oct 2023 18:42:34 +0000 (11:42 -0700)]
i915: Re-clang-format and enforce it in CI.
I want to be able to mash the format button at any point when hacking on
this thing instead of doing bespoke whitespace.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25533>
Karmjit Mahil [Fri, 22 Sep 2023 09:11:09 +0000 (10:11 +0100)]
pvr: Adjust EOT PBE state to account for the iview's base array layer
Fixes various dEQP array tests.
E.g.
dEQP-VK.pipeline.monolithic.framebuffer_attachment
.1d_array_32_64_4
Reported-by: James Glanville <james.glanville@imgtec.com>
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25348>
Karmjit Mahil [Thu, 21 Sep 2023 14:16:09 +0000 (15:16 +0100)]
pvr: Use the render passes' attachments array to setup ISP state
`pvr_setup_isp_faces_and_control()` can be called from a secondary
command buffer. The render pass info's `attachments` array is only
populated in the primary command buffer on which the render pass
was started, thus the `ds_aspect` being used always ended up being
`0` leading to incorrect ISP state being setup.
This commit changes the function to use the `attachments` array
from the render pass struct instead of the one from the recording
state.
dEQP tests fixed:
dEQP-VK.renderpass.suballocation.attachment
.{1.13, 1.65, 1.74, 3.219, 3.236, 3.314, 3.385, 4.426}
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25351>
Lionel Landwerlin [Mon, 9 Oct 2023 14:20:12 +0000 (17:20 +0300)]
anv: flag 3DSTATE_RASTER as dirty after simple shader primitive
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
50f6903bd9 ("anv: add new low level emission & dirty state tracking")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9899
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25618>
Lionel Landwerlin [Mon, 9 Oct 2023 14:05:39 +0000 (17:05 +0300)]
anv: fix a couple of missing input for 3DSTATE_RASTER programming
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
50f6903bd9 ("anv: add new low level emission & dirty state tracking")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25618>
Lionel Landwerlin [Mon, 9 Oct 2023 13:50:13 +0000 (16:50 +0300)]
anv: add missing workaround handling in simple shader
It's not going to make any real difference because of the type of
primitive used, but it feels safer to have this everywhere after a
3DPRIMITIVE.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25618>
Lionel Landwerlin [Mon, 9 Oct 2023 10:37:18 +0000 (13:37 +0300)]
anv: implement INTEL_DEBUG=reemit
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25618>
Karmjit Mahil [Tue, 19 Sep 2023 16:08:41 +0000 (17:08 +0100)]
pvr: Fix cubemap layer stride
The hw calculates the layer stride with the assumption of a full
mip chain being there even though certain levels might never be
used.
Fix the `layer_size` by accounting for any missing mip levels.
Fixes:
8991e6464 ("pvr: Add a Vulkan driver for Imagination Technologies PowerVR Rogue GPUs")
Reported-by: James Glanville <james.glanville@imgtec.com>
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25344>
SoroushIMG [Sat, 17 Jun 2023 12:59:00 +0000 (13:59 +0100)]
pvr: fix mipmap size calculation for bc formats
The block size given by vk_format_get_blocksize is in blocks, not
texels.
dEQP tests affected:
dEQP-VK.pipeline.monolithic.image_view.view_type*
.format.eac*lod_base_mip_level
Fixes:
8991e6464 ("pvr: Add a Vulkan driver for Imagination Technologies PowerVR Rogue GPUs")
Signed-off-by: SoroushIMG <soroush.kashani@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25344>
Erik Faye-Lund [Fri, 6 Oct 2023 09:03:55 +0000 (11:03 +0200)]
docs: use html_static_path for static files
I'm not sure why I picked html_extra_path instead, as it's meant for
slightly less directly related files than what html_static_path is for.
So let's switch. It shouldn't make much of a real-world difference, but
should make it a bit easier to understand what this is about.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 09:29:46 +0000 (11:29 +0200)]
docs: only link to old docs from html
Only the HTML builder knows about these files, so we can't really link
to them when using other builders. This only matter to the link-checker
right now, because that's the only other builder we use.
It's a bit sad that we can't linkcheck files like these, but it doesn't
work either way. Another way of making it work could be to use the
download-role for these files. I'm not sure I think that's any better,
as that makes the code read a bit more confusingly to me; the intent
isn't to *download* the files, but to view them as raw-text.
I could go either way here, though. Neither is fantastic IMO, but
neither is a disaster either.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 09:33:34 +0000 (11:33 +0200)]
docs: mark some redirects as allowed
These redirects are all fine. I don't think we want to apply them,
because they are more about implementation details on the target site.
So let's just mark them as OK. They cause no harm.
There's also some redirects that are all about authentication. We also
don't want to apply these, because they would break the links.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 09:43:28 +0000 (11:43 +0200)]
docs: keep up with intels ever-moving documentation
No location is ever good enough for Intel. Let's catch up with their
latests churns in documentation URLs...
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 08:56:38 +0000 (10:56 +0200)]
docs: use doc-role when linking to lists article
This makes the link-checker see the target.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 08:53:32 +0000 (10:53 +0200)]
docs: apply some trivial redirects
These were found by using the linkcheck builder.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 08:50:14 +0000 (10:50 +0200)]
docs: link to upstream etnaviv
The Wiki in this repo has been removed, and the about section mentions
that this is laanwj's personal fork, and not the upstream. So let's
update the link to the upstream repo instead.
There's no wiki there either, but the main repo itself contains a readme
file with some docs. Most of this is pretty stale, but it seems better
than nothing.
In the longer run, we should probably create a page about etnaviv in the
drivers directory of these docs, and try to keep that up to date.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 08:45:02 +0000 (10:45 +0200)]
docs: update link to git-wiki
The Git Wiki has been long deprecated, and is now partially removed. The
article we pointed to here seems to not have been backed up.
However, there's a new place that documents installing on Windows in the
Git Docs instead. So let's send users there instead.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 08:43:28 +0000 (10:43 +0200)]
docs: update anchor for link
GitLab has renamed "specific" runners to "project"-runners. And
additionally, they currently document two ways of creating them.
Let's update the link to point to the new, non-deprecated way.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 08:24:40 +0000 (10:24 +0200)]
docs: update a few links to https
These links forward to the HTTPS version now, let's save the users a
redirect.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Erik Faye-Lund [Fri, 6 Oct 2023 08:05:45 +0000 (10:05 +0200)]
docs: fix linkcheck
When running with the linkcheck builder,
app.builder.default_translator_class is None, making us throw an
exception and give up.
We don't need the bootstrap extension in this case, so just do nothing
instead.
Fixes:
f72033bb707 ("docs: add bootstrap extension")
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25585>
Yonggang Luo [Fri, 4 Aug 2023 05:24:08 +0000 (13:24 +0800)]
util: Deduplicate macros between u_math.h and macros.h
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24484>
Vinson Lee [Sun, 8 Oct 2023 17:09:59 +0000 (10:09 -0700)]
anv: Fix transfer type assert
Fix defect reported by Coverity Scan.
Constant expression result (CONSTANT_EXPRESSION_RESULT)
always_true_or: The or condition
type != ANV_TIMESTAMP_CAPTURE_AT_CS_STALL || type != ANV_TIMESTAMP_REWRITE_COMPUTE_WALKER
will always be true because type cannot be equal to two different values
at the same time, so it must be not equal to at least one of them.
Fixes:
5112b421462 ("anv: Handle end of pipe with MI_FLUSH_DW on transfer queue")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25605>
Rob Clark [Thu, 5 Oct 2023 22:26:12 +0000 (15:26 -0700)]
freedreno: Rework supported-modifiers handling
We should be taking into account the format while deciding if we support
a given modifier or not. So a simple array of supported modifiers does
not do the trick.
While we are at it, also handle QCOM_TILED3. (We really only use
QCOM_TILED2 in GMEM so it isn't user visible.)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9938
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25575>
David Heidelberg [Mon, 25 Sep 2023 16:42:35 +0000 (22:12 +0530)]
ci/freedreno: re-enable Cheza (Adreno 630) runners
Problems we're resolved.
This reverts commit
1f3446499f2d3ffa056e3c5928ecbc8c4faac836.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25376>
Caio Oliveira [Tue, 3 Oct 2023 06:24:51 +0000 (23:24 -0700)]
util: Avoid waste space when linear alloc'ing large sizes
In the linear allocator, when a size larger than the minimum
buffer size is allocated, we currently create the new buffer
to fit exactly the requested size.
In that case, don't bother updating the `latest` pointer, since
this newly created buffer is already full. In the worst case,
the current `latest` is full and it would be the same; in the
best case, there's still room for small allocations, so we avoid
wasting space if the next allocations would fit.
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25517>
Thomas H.P. Andersen [Sat, 7 Oct 2023 14:45:30 +0000 (16:45 +0200)]
nvk: set optimization level to 3
The refactor in
a4f8fd9dd53d90307c98c1b4ed15ec1deaa8f8d3 changed NV50_PROG_OPTIMIZE
from 3 to 0.
Running with NV50_PROG_OPTIMIZE=0 causes some shaders to not compile. One example is
dEQP-VK.pipeline.monolithic.creation_cache_control.compute_pipelines.duplicate_single_recreate_explicit_caching
which fails with:
"Assertion `insn->src(src0 & FA_SRC_MASK).getFile() == FILE_GPR' failed"
A similar error also happen when testing Serious Sam Fusion 2017
Reviewed-by: M Henning <drawoc@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25601>
Eric Engestrom [Thu, 9 Mar 2023 11:33:53 +0000 (11:33 +0000)]
ci: print deqp version in the job log
This allows to easily verify which version was actually running in some
job, to notice if an image tag wasn't properly bumped, for instance.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21850>
Eric Engestrom [Tue, 11 Jul 2023 12:30:08 +0000 (13:30 +0100)]
v3d/ci: move traces job to wayland
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24094>
David Heidelberg [Sat, 7 Oct 2023 19:05:07 +0000 (21:05 +0200)]
ci: do not report failed job when flakes reporting fails
It's not critical for the job itself.
Suggested-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25604>
Eric Engestrom [Mon, 18 Oct 2021 22:02:52 +0000 (23:02 +0100)]
pick-ui: add `Backport-to: XX.Y` nomination
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13664>
Eric Engestrom [Wed, 3 Nov 2021 20:36:11 +0000 (20:36 +0000)]
pick-ui: use more expressive variable names
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13664>
Eric Engestrom [Wed, 3 Nov 2021 20:36:11 +0000 (20:36 +0000)]
pick-ui: use assignment expressions
Python 3.8 is 2 years old by now, I think it's time to allow using its
features, especially for a script that's only used by the release
maintainers.
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13664>
Mark Collins [Tue, 3 Oct 2023 19:12:13 +0000 (19:12 +0000)]
tu,util/driconf: Add option to not reserve descriptor set
A descriptor set is internally reserved for descriptor set dynamic
offset which might not be used by an applications which otherwise
requires an extra descriptor set. This driconf option allows making
that trade-off by dropping support for dynamic offsets in exchange
for an extra descriptor set which means 5 usable descriptor sets on
A6XX and 8 on A7XX.
Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25534>
Mark Collins [Tue, 3 Oct 2023 18:22:49 +0000 (18:22 +0000)]
tu: Support higher descriptor set count for A7XX
Allows for the descriptor set count to vary at runtime depending on
the specific GPU to allow for 7 usable descriptor sets on A7XX with
one reserved for dynamic offsets.
Passing VK-CTS: dEQP-VK.binding_model.*
Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25534>
Mark Collins [Tue, 3 Oct 2023 15:58:56 +0000 (15:58 +0000)]
freedreno/common: Add max_sets property to A6xxGPUInfo
A7XX increases the maximum amount of descriptor sets from 5 to 8,
the amount of descriptor sets was added as a property of the
A6xxGPUInfo to accommodate it changing across GPUs.
Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25534>
Lionel Landwerlin [Sat, 7 Oct 2023 13:13:35 +0000 (16:13 +0300)]
anv: fix index buffer size programming
This is a merge issue due to 2 MRs touching the same code.
Fixes a few maintence5 tests like : dEQP-VK.robustness.bind_index_buffer2.offset_0.draw_indexed.oo_size
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
50f6903bd9 ("anv: add new low level emission & dirty state tracking")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25599>
Marek Olšák [Fri, 7 Apr 2023 03:34:47 +0000 (23:34 -0400)]
nir: handle nir_var_mem_ubo in nir_clone_uniform_variable
for UBOs
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25394>
Marek Olšák [Wed, 5 Apr 2023 10:40:59 +0000 (06:40 -0400)]
nir: expose reusable linking helpers for cloning uniform loads
for the new varying optimizer
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25394>
Marek Olšák [Tue, 26 Sep 2023 04:10:44 +0000 (00:10 -0400)]
nir: gather dual slot input information
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25394>
Marek Olšák [Tue, 26 Sep 2023 04:09:49 +0000 (00:09 -0400)]
nir: take dual slot input info into account when computing IO driver locations
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25394>
Marek Olšák [Mon, 13 Mar 2023 04:18:47 +0000 (00:18 -0400)]
nir: add dual-slot input information into load_input intrinsics
This is necessary to allow optimizing VS inputs after nir_lower_io, which
is currently impossible because the loss of dual-slot information in NIR
would break VS inputs. With this, driver locations can be recomputed by
calling nir_recompute_io_bases. It's a prerequisite for optimizing varyings
with lowered IO.
When this is used, we will be able to eliminate unused dual-slot VS inputs
as well as unused low and high halves of dual-slot VS inputs for the first
time, which can happen due to optimizations of varyings. Without this,
st/mesa binds vertex buffers for dual-slot inputs that are fully or
partially unused in the shader.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25394>
Marek Olšák [Thu, 31 Aug 2023 14:54:39 +0000 (10:54 -0400)]
nir: recompute IO bases after DCE in nir_lower_io_passes
otherwise the IO bases can be incorrect due to non-DCE'd input loads
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25394>
Marek Olšák [Fri, 1 Sep 2023 22:56:10 +0000 (18:56 -0400)]
nir: sort variables by location in nir_lower_io_passes to work around a bug
I don't know why this is necessary, but it unblocks the work on varying
optimizations.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25394>
Gert Wollny [Fri, 6 Oct 2023 07:31:24 +0000 (09:31 +0200)]
virgl: Use common clear_texture if host doesn't support the feature
v2: Fix include (osy)
Fixes:
a1eabeff (gallium: remove PIPE_CAP_CLEAR_TEXTURE)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9944
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25580>
Vignesh Raman [Fri, 6 Oct 2023 05:14:35 +0000 (10:44 +0530)]
ci: Uprev crosvm
Recent commit in linux kernel 6.6 rc3 broke booting
in crosvm. Latest crosvm contains a fix for this issue.
So bump the crosvm version to latest.
https://issuetracker.google.com/issues/
303128596
https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4906858
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25582>
David Heidelberg [Sat, 7 Oct 2023 08:17:57 +0000 (10:17 +0200)]
ci/lima: farm is down, disable for now
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25596>
Martin Roukala (né Peres) [Fri, 6 Oct 2023 18:20:11 +0000 (21:20 +0300)]
ci/b2c: switch containers to a back-up ahead of valve-infra renaming
We are about to rename mupuf/valve-infra into gfx-ci/ci-tron.
While most resources will transparently be redirected, gitlab does
not allow us to keep our containers during the migration.
To work around that, I uploaded the current containers to Eric's fork
of valve-infra. Let's use these containers until the migration is over!
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25593>
Faith Ekstrand [Fri, 6 Oct 2023 23:46:07 +0000 (18:46 -0500)]
nvk: Invalidate SKED caches at the top of command buffers
This is the cache that caches QMDs. We need to invalidate it or else we
can end up with cache collisions and end up running the wrong shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25595>
Faith Ekstrand [Thu, 5 Oct 2023 17:34:35 +0000 (12:34 -0500)]
nvk: Invalidate sampler/texture header caches in BeginCommandBuffer()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25595>
Faith Ekstrand [Fri, 6 Oct 2023 23:45:32 +0000 (18:45 -0500)]
nvk: Add a nvk_cmd_buffer_compute_cls() helper
We have one of these for 3D and it's more ergonamic.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25595>
Faith Ekstrand [Fri, 6 Oct 2023 23:42:34 +0000 (18:42 -0500)]
nouveau: Generate headers for Maxwell B compute
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25595>
Ian Romanick [Thu, 5 Oct 2023 00:41:08 +0000 (17:41 -0700)]
intel/fs: Add DP4A to get_lowered_simd_width
While working on cooperative matrix support, I noticed some invalid
DP4A instructions being generated.
dp4a(32) g33<1>UD g21<8,8,1>UD g1.0<0,1,0>UD g9<1,1,1>UD
This violates the constraint that the destination or a source can only
access two consecutive GRFs.
I'm a little surprised that validation didn't catch this. Perhaps
because it's a 3 source instruction? Either way, it seems like a bigger
project to fix that.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Fixes:
0f809dbf404 ("intel/compiler: Basic support for DP4A instruction")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25554>