Commit Graph

192551 Commits

Author SHA1 Message Date
Faith Ekstrand cd176c8784 nvk: Fix zero-size vertex/index buffer bindings pre-Turing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 2439cb8450 nvk: Use nvk_buffer_addr_range() for index buffers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand c3682ccf60 nak: Implement depth clip control pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand e287ba95b0 nak/sm50: Fix the encoding of ffma with cbuf in src2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 3353374287 nak: Add tests for OpLop2 and OpLop3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand dc4ebfd562 nak/sm50: OpLop2 does not have .X
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 680ec0ec26 nak/sm50: OpIAdd2 only supports one negate modifier
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 563b32c2c3 nak: Implement From<bool> for Pred
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 9badf675ad nvk: Don't push bound UBOs on Volta and earlier
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 16509db66b nak/nir: Don't emit CCtl for release barriers on Maxwell
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand dee02cf220 nak: Fix OpCCtl encoding on Maxwell
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 940e52ad15 nvk: Squash txq results to 0 for null descriptors
We don't have "real" null descriptors on Maxwell.  They return 0 okay
but they don't query right so we have to smash the result.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand efd86d6daa nak/builder: Fix isetp64 for pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand a33507d621 nak/sm50: Set the .x bit for isetp
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand b87bd4b608 nak/hw_tests: Add debug printing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand bfcb9995da nak: Add tests for OpISetP
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 6056bc4afa nak: Add tests for nak_builder::iadd64
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 074ba214fe nak: Add tests for nak_builder::isetp64
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 05bbfa7963 nak: Align shader data to the min CBuf alignment
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand 8050b57c28 nak/calc_instr_deps: Set a delay of 13 for flow ops pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Faith Ekstrand c29980b218 nak: IMul and IMad are variable latency pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
2024-07-26 15:46:59 +00:00
Eric Engestrom 2bc82b7147 ci/baremetal: fix logic for retrying boot when it failed
Contrary to what the original commit said, this is actually still used
(see .gitlab-ci/bare-metal/poe-powered.sh:205), and the boot retry logic
has been broken ever since, exacerbating the rpi farm boot problems.

Fixes: 97b2afa16a ("ci/bare-metal: Drop the 2 vs 1 exit code from poe_run.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30340>
2024-07-26 14:29:56 +00:00
Adam Jackson b919bdc6f6 gallium/video: Move DRI2 support behind legacy-x11
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Adam Jackson ae51322d7b egl/x11: Move DRI2 client support behind legacy-x11
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Adam Jackson 6292dfb939 glx: Move DRI2 client support behind legacy-x11
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Adam Jackson e8c1d966e5 meson: Introduce the legacy-x11 option
We're going to use this to hide support for excessively old or weird
xserver environments.

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29969>
2024-07-26 11:38:42 +00:00
Rhys Perry a8a15dc5b5 aco: add struct and helpers for exec potentially empty
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30320>
2024-07-26 11:08:27 +00:00
Rhys Perry 39264a90c3 aco: consider exec empty after divergent continue then divergent break
For:
loop {
   if (divergent)
      continue
   if (divergent)
      break
   //exec is potentially empty here
   loop {
      if (divergent)
         break
   }
}
If a subset of invocations take the continue and then the rest take the
break, then exec will be empty after the break.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30320>
2024-07-26 11:08:27 +00:00
Mary Guillemard e863acb318 panvk: Pass attrib_buf_idx_offset to desc_copy_info
This was missing from the original fix and was causing MMU falults on
"dEQP-VK.memory.pipeline_barrier.host_write_uniform_texel_buffer.*".

Fixes: cec45cac84 ("panvk: Fix image support in vertex jobs")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30378>
2024-07-26 08:55:26 +00:00
Mary Guillemard 4c1c169e54 panfrost: Add B8G8R8A8_SNORM in panfrost_pipe_format
Was missing and causing a DATA_INVALID_FAULT on panvk with
"dEQP-VK.texture.texel_buffer.uniform.snorm.b8g8r8a8-snorm" test.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30378>
2024-07-26 08:55:26 +00:00
Juan A. Suarez Romero 8f8b520c78 vc4: fix typo in simulator conditional declaration
Fixes: f1f8c465d5 ("vc4,v3d,v3dv: avoid compiling in unused `sim_file` field in the {vc4,v3d}_screen/v3dv_physical_device struct")
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30357>
2024-07-26 07:33:00 +00:00
GKraats ad02bfe41d i915g: fix max_lod at mipmap-sampling
At update_map at i915_state_sampler.c max_lod is no longer set to 1
for npots. This almost totally disabled mipmapping.
Max_lod should still be set to 1, but only if it is still 0,
because no mipmap-levels are present.
According to existing comment at update_map this is needed, to
avoid problems at sampling,
if MIN_FILTER and MAX_FILTER differ.

Cc: mesa-stable

Signed-off-by: GKraats <vd.kraats@hccnet.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28638>
2024-07-26 04:26:54 +00:00
GKraats bb95d744ca i915g: fix mipmap-layout for npots
Remove at i945_texture_layout_2d() call of  util_next_power_of_two(),
which oversized the npot-blocks for every level to get power of 2
for width and height. Hardware doesnot expect these oversized
npot-blocks, causing mangled mipmapping.
This also is done at i915_texture_layout_2d(), which is
used by older gen3-gpus.

Cc: mesa-stable

Signed-off-by: GKraats <vd.kraats@hccnet.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28638>
2024-07-26 04:26:54 +00:00
GKraats a1a301488b i915g: fix generation of large mipmaps
Generation of mipmaps was failing for large heights.
If height > 1365 LEVEL 1 couldnot be generated because of
the max texture size limit (2048). This is solved by using an
offset at the texture-buffer at overflow situations.
The height of the offset must be multiple of 8.
This solves the problem mentioned at MR !27561 (closed).

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10410

Cc: mesa-stable

Signed-off-by: GKraats <vd.kraats@hccnet.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28638>
2024-07-26 04:26:53 +00:00
Mike Blumenkrantz c71c1d2a01 st/interop: return unsupported without screen hooks
this will enable some refactoring

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30377>
2024-07-26 02:42:28 +00:00
Mike Blumenkrantz ed2ec808b1 glx: delete tests
nobody needs these and they complicate glx interfaces by existing

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30365>
2024-07-26 02:11:33 +00:00
Mike Blumenkrantz bb5145bcb8 llvmpipe: only use vma allocations on linux
this was broken on other platforms

Fixes: a062544d3d ("llvmpipe: Use an anonymous file for memory allocations")

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30229>
2024-07-25 21:24:36 +00:00
Mike Blumenkrantz a8ff1bdc83 llvmpipe: handle vma allocation failure
Fixes: a062544d3d ("llvmpipe: Use an anonymous file for memory allocations")

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30229>
2024-07-25 21:24:36 +00:00
Dave Airlie 3e01422a16 gallivm/sample: fix sampling indirect from vertex shaders
When doing indirect sampling, we just fetch one value per lane,
but type.length == 1 caused num_quads to be 0 which caused things
to crash.

Fixes dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex.sampler2d

Cc: mesa-stable
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30358>
2024-07-25 20:45:58 +00:00
Georg Lehmann 97aa3464b9 radv/rt: remove one VALU from traversal loop
Not much, but something, I guess?

Foz-DB Navi31:
Totals from 93 (0.12% of 79395) affected shaders:
MaxWaves: 1338 -> 1354 (+1.20%)
Instrs: 3689907 -> 3689721 (-0.01%); split: -0.01%, +0.00%
CodeSize: 18921812 -> 18922920 (+0.01%); split: -0.00%, +0.01%
VGPRs: 9012 -> 8988 (-0.27%)
Latency: 23153748 -> 23167640 (+0.06%)
InvThroughput: 4490882 -> 4493136 (+0.05%)
Copies: 287888 -> 287728 (-0.06%)
VALU: 2022082 -> 2021916 (-0.01%)
SALU: 458904 -> 459064 (+0.03%)

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30342>
2024-07-25 20:24:23 +00:00
Yiwei Zhang 3e6b73a75a Revert "meson: disallow Venus debug + LTO build via GCC"
This reverts commit 423ba5d1c7.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30355>
2024-07-25 19:14:31 +00:00
Gurchetan Singh 7cc199502f vulkan/runtime: introduce vk_meta_object_list
Code movement: Move the object list + destroy_object
function to separate files.

This allows vk_command_buffer.{h, c} to not depend on all
of vk_meta, which depends on vk_pipeline, which depends on
NIR.

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30355>
2024-07-25 19:14:31 +00:00
Renato Pereyra 97ed2e4d4b egl: Refactor init of CPU tracing in EGL for Android
eglGetPlatformDisplay is called by Android's Zygote when preloading
EGL at boot. When Perfetto is initialized by `util_cpu_trace_init`, it
launches side threads to handle tasks. Unfortunately, Zygote does not
tolerate unexpected threads created within its PID. As a result, Zygote
aborts and Android devices fail to boot.

Signed-off-by: Renato Pereyra <renatopereyra@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30360>
2024-07-25 18:37:37 +00:00
Yiwei Zhang f788c87d02 venus: fix a race condition between gem close and gem handle tracking
After using sparse array to manager virtgpu bo, we set gem_handle to 0
to indicate that the bo is invalid. However, the gem handle gets closed
before that and can be reused by another newly created bo, leading to
the tracked gem handle being unexpectedly zero'ed out.

Fixes: 88f481dd74 ("venus: make sure gem_handle and vn_renderer_bo are 1:1")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30362>
2024-07-25 18:13:21 +00:00
Caio Oliveira 23b0798551 intel/brw: Move interp_reg and per_primitive_reg out of fs_visitor
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30169>
2024-07-25 15:37:13 +00:00
Caio Oliveira a5cc8c4807 intel/brw: Move VARYING_PULL_CONSTANT_LOAD from fs_visitor to fs_builder
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30169>
2024-07-25 15:37:13 +00:00
Caio Oliveira 8a39231e4f intel/brw: Move calculate_cfg out of fs_visitor
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30169>
2024-07-25 15:37:13 +00:00
Caio Oliveira b98930c770 intel/brw: Move regalloc and scheduling functions out of fs_visitor
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30169>
2024-07-25 15:37:13 +00:00
Caio Oliveira 5cb1f46fd1 intel/brw: Remove workgroup_size() helper from fs_visitor
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30169>
2024-07-25 15:37:13 +00:00
Caio Oliveira 17b7e49089 intel/brw: Move out of fs_visitor and rename print instructions
They use the brw_print prefix now.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30169>
2024-07-25 15:37:13 +00:00