Commit graph

178076 commits

Author SHA1 Message Date
Lucas Stach
3bae3217d5 etnaviv: drm: don't skip flush when there are active PMRs
When there are active PMRs attached to the command buffer we can
not optimize the flush away, as that results in the queries never
reaching their expected sequence number, livelocking readers
waiting for the query result.

Fixes: 148658638e7f ("etnaviv: drm: Be able to mark end of context init")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30055>
2024-07-08 08:11:47 +00:00
Timothy Arceri
d1767ddd13 glsl/tests: fix test_gl_lower_mediump
This fixes test_gl_lower_mediump to properly test linking, which also
means we can drop all the custom nir calls as we are now simply passing
the tests directly through the real nir linking code.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30034>
2024-07-08 06:38:19 +00:00
Timothy Arceri
2f5b99ec17 glsl/standalone: init EmptyUniformLocations
This updates the scaffolding to reflect init_shader_program() and
will be required in the following patch to avoid a segfault.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30034>
2024-07-08 06:38:19 +00:00
Timothy Arceri
5ae5229e3d glsl/mesa: remove UniformHash field
Unused since 9617184bc2

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30034>
2024-07-08 06:38:19 +00:00
Eric Engestrom
801ed4d032 ci: simplify setting .no-auto-retry now that it isn't bundled with unrelated rules:
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30004>
2024-07-07 19:31:44 +00:00
Eric Engestrom
f37af2ab8c ci: split .no-auto-retry out of .scheduled_pipeline-rules
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30004>
2024-07-07 19:31:44 +00:00
Konstantin Seurer
d9e41e8a8c nir: Stop using "capture : true" for nir_opt_algebraic
"calture : true" is suboptimal and and prevents the script from writing
multiple files in one go.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30041>
2024-07-06 15:51:06 +00:00
Dmitry Baryshkov
b018489245 freedreno/registers: drop display-related register files
Neither freedreno nor turnip make use of the display-related source
files. With the XML files being imported to the kernel, drop them from
Mesa to prevent possible confusion and/or deviation between those files.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27787>
2024-07-06 15:16:48 +00:00
Sviatoslav Peleshko
b0b1907fa5 mesa: Fix PopAttrib not restoring states that changed on deeper stack level
Currently on each pop we reset the PopAttribState to the value from the
last push. But if we assume a sequence "push(X), push(Y), changeX(),
pop(), pop()": the first pop will remove X from PopAttribState, so the
second pop will not even try to restore X, leaving a wrong value forever.
Fix this by "bubbling up" the changed states that were not restored by pop.

Fixes: 68030bbf ("mesa: only pop states in glPopAttrib that have been changed since glPushAttrib")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11417
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30038>
2024-07-06 07:08:30 +00:00
Faith Ekstrand
73ec9f0183 nvk: Silently fail to enumerate if not on nouveau
The NVIDIA proprietary driver exposes a DRM device these days and this
can trip up NVK as it advertises an NVIDIA device id.  We fail to
enumerate but the check for nouveau happens too late and we throw a
warning.  This means tha if NVK is even installed side-by-side with the
proprietary driver, we spam warnings on every device enumeration.  It's
better to fail silently.

Fixes: 83786bf1c9 ("nvk: add vulkan skeleton")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11441
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30035>
2024-07-05 20:36:01 +00:00
Faith Ekstrand
1b56292733 nvk: Don't emit conservative rasterization before Maxwell B
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30054>
2024-07-05 20:22:58 +00:00
Faith Ekstrand
ea2aa3ca83 nvk: Re-order conservative rasterization checks
Generally, we check for the newest generation first and treat the later
generations as a fallback path.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30054>
2024-07-05 20:22:58 +00:00
Faith Ekstrand
08a667e786 nvk: Fix whitespace issues around conservative rasterization
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30054>
2024-07-05 20:22:58 +00:00
Christian Gmeiner
d1b5a44877 etnaviv: isa: Add support for extended instructions
An extended instruction uses 0x7f as opcode and stores the extended
opcode in the IMMED of src2.

Reverse engineered with the following dEQPs:
 - dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb.int_lowp_vertex
 - dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb.uvec3_lowp_fragment

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30010>
2024-07-05 20:07:11 +00:00
Christian Gmeiner
63944c3347 etnaviv: isa: Drop 1:1 mapping of opc to bits
As we switched to an isaspec powered encoder there is no
need for this strict mapping of opc to instruction bits.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30010>
2024-07-05 20:07:11 +00:00
Danylo Piliaiev
17c12a9924 turnip/kgsl: Support external memory via ION/DMABUF buffers
android12-5.10 kernel has ION disabled and the buffers should
be allocated via dma_heap.

Also before that there was ION abi breakage, which is handled here, see:
https://source.android.com/devices/architecture/kernel/ion_abi_changes

ion_4.19.h and ion.h are copied from libion:
https://android.googlesource.com/platform/system/memory/libion

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14928>
2024-07-05 15:33:47 +00:00
Tatsuyuki Ishi
048f761fae vk_entrypoints_gen: Apply hidden visibility to generated symbols
The symbols were not getting hidden visibility because
-fvisibility=hidden only applies to definitions, not declarations.
Declare them as hidden explicitly in the header so they don't end up in
.dynsym of linked shared objects.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29986>
2024-07-05 14:40:39 +00:00
Tatsuyuki Ishi
c217e8c21f vk_entrypoints_gen: Rework ATTR_WEAK to unify Unix and MinGW
The way ATTR_WEAK works is changed to eliminate the "don't declare as
weak on MinGW" weirdness. When a weak is not undefined, MinGW requires
the definition to be a regular symbol. Instead of declaring as weak
everywhere, we now declare the symbol as a regular by default, and only
make it weak when it needs to fallback to NULL when undefined, which is
only needed for the dispatch table. This unifies the approach for Unix
and MinGW.

The name ATTR_WEAK is changed to VK_ENTRY_WEAK since it's now controlled
by the entrypoint specific VK_ENTRY_USE_WEAK flag.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29986>
2024-07-05 14:40:39 +00:00
Tatsuyuki Ishi
c8c131fba8 vk_entrypoints_gen: Add missing ATTR_WEAK for instance and physdev entrypoints
I'm not sure why Clang didn't warn for this case, but since we are
declaring in both .h and .c we should match both.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29986>
2024-07-05 14:40:39 +00:00
Samuel Pitoiset
1a3b3b845b radv: simplify determining when a VS prolog is needed
Only if a VS is compiled without the vertex input state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045>
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
7608aada6f radv: simplify determining when the rasterization primitive is unknown
Either if the vertex input state is missing, or if no TES/GS/MS.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045>
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
0c0ecc90c4 radv: move radv_hash_shaders() to radv_graphics_pipeline.c
And rename it for consistency with compute/RT hash functions.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045>
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b51af513dd radv: remove unnecessary radv_pipeline_has_ngg() function
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045>
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b5193c8937 radv: remove unused get_vs_output_info() function
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045>
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b43b71450c radv: simplify importing libraries with retained shaders
It's possible to use create_flags directly.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045>
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
6aba052f82 radv: remove unused parameter to radv_pipeline_import_retained_shaders()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045>
2024-07-05 13:33:24 +00:00
Mike Blumenkrantz
158369c38a zink: enable compute pbos for turnip
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30026>
2024-07-05 12:05:32 +00:00
Konstantin Seurer
0208927bcf radv: Always use dynamic line smoothing
Static enablement is too complex for a feature that is barely used.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26833>
2024-07-05 08:58:53 +00:00
Konstantin Seurer
d571e19966 radv: Fix smooth lines with dynamic polygon mode and topology
Non-line modes need to disable the smoothing paths. (overrasterization,
shader code)

Fixes: 85cbdba ("radv: add support for smooth lines")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9393
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26833>
2024-07-05 08:58:53 +00:00
Karol Herbst
18dfde9985 rusticl/program: use default in more places
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29946>
2024-07-05 08:31:32 +00:00
Karol Herbst
f08f770f16 rusticl/program: update binary format
This adds a magic number and the device name to the binary in order to
verify we indeed have a binary we can parse and matches the device.

Also save the binary header explicitly in little-endian order, so that we
at least make sure that's always the same.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29946>
2024-07-05 08:31:31 +00:00
Karol Herbst
eda15ddafa rusticl/program: use blob.h to parse binaries
It checks for alignment and overruns, and is a lot safer than whatever was
done before here.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29946>
2024-07-05 08:31:31 +00:00
Karol Herbst
81bb379c94 rusticl/program: make binary API not crash on errors
Also properly return per device errors as required by the spec.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29946>
2024-07-05 08:31:31 +00:00
Karol Herbst
34ecf560df rusticl/program: move binary parsing into its own function
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29946>
2024-07-05 08:31:31 +00:00
Jordan Justen
0b6875ca0e intel/perf/xe: Fix free pointer location in xe_add_config()
Fixes: 6258c84375 ("intel/perf: Refactor and add Xe KMD support to add and remove configs")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30037>
2024-07-05 00:25:03 -07:00
Mike Blumenkrantz
4576f440c3 zink: add an a750 skip
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30042>
2024-07-04 13:42:53 +00:00
Danylo Piliaiev
2fbdc4d462 ir3: Fix decoding of stib.b/ldib.b with offset
The OFFSET_LO in #instruction-cat6-a6xx-ibo-load-store aliased with
opcode of other instructions, resolve this by being less lax in some
instruction definitions.

A proper way to solve this would probably be to reconstruct instructions
hierarchy, but it's a much more complex task.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30018>
2024-07-04 08:40:47 +00:00
Danylo Piliaiev
2c7e07655c ir3/tests: Make possible to add generated disasm tests
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30018>
2024-07-04 08:40:47 +00:00
Danylo Piliaiev
b5f0c44f2a ir3/tests: Make possible to specify raw instr value as uint64
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30018>
2024-07-04 08:40:46 +00:00
MastaG
d17338d403 gallivm: Call StringMapIterator from llvm:: scope
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11392
Fixes: b035d9cab5 ("gallivm: use getHostCPUFeatures on x86/llvm-4.0+.")
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30009>
2024-07-03 21:55:54 -07:00
José Roberto de Souza
f9efedb1a1 intel/dev: Replace intel_device_info::apply_hwconfig by a gfx version check
There is no plans to remove hwconfig from platforms 12.5 and newer
so lets replace this bool by a ip version check.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27897>
2024-07-03 22:17:37 +00:00
Lionel Landwerlin
6f1f3ba444 hasvk: pass anv_address to predicate helper
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29997>
2024-07-03 21:10:13 +00:00
Lionel Landwerlin
1279bba837 hasvk: move cmd_emit_timestamp initialization to genX
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29997>
2024-07-03 21:10:13 +00:00
Lionel Landwerlin
b393ede8c8 intel/ds: remove duplicate arguments
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29997>
2024-07-03 21:10:13 +00:00
Lionel Landwerlin
aa737e124c anv: fix u_trace on < Gfx12.0
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 3984875792 ("u_trace: extend tracepoint end_of_pipe bit into flags")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29997>
2024-07-03 21:10:13 +00:00
Faith Ekstrand
37d58b816b vulkan/meta: Use demote instead of discard
We don't have the NIR options when we go to create the shader so
nir_discard_if() will segfault.

Fixes: 9b1a748b5e ("nir: remove nir_intrinsic_discard")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30028>
2024-07-03 20:33:27 +00:00
Khem Raj
5a9c052ba7 amd: Include missing llvm IR header Module.h
With LLVM-19, Module.h header is not being pulled, which results in
compile errors e.g.

src/amd/llvm/ac_llvm_helper.cpp:102:10: error: no matching function for call to ‘unwrap(LLVMOpaqueModule*&)’
  102 |    unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple());
      |    ~~~~~~^~~~~~~~
In file included from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/Type.h:18,
                 from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/DerivedTypes.h:23,
                 from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/IR/InstrTypes.h:26,
                 from /mnt/b/yoe/master/build/tmp/work/x86_64-linux/mesa-native/24.0.7/recipe-sysroot-native/usr/include/llvm/Analysis/TargetLibraryInfo.h:14,
                 from ../mesa-24.0.7/src/amd/llvm/ac_llvm_helper.cpp:8:

Its getting the definition from llvm/IR/Type.h instead of Module.h and caused
confusion to compiler

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

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29993>
2024-07-03 19:26:47 +00:00
Christian Gmeiner
8d0659efa5 ci/etnaviv: Drop shaders@glsl-bug-110796 line
Piglit has been fixed to skip this test when no GLES 3.2 support is present.

Fixes: dfabed2fc9 ("Uprev Piglit to cf8daaf5ba90fc9b8a0e144355026e2a14c79944")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30020>
2024-07-03 19:10:25 +00:00
Ali Homafar
a174e986c7 lavapipe: Set ICD api_version to 1.3
Lavapipe has been 1.3 compliant for a couple years, now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30024>
2024-07-03 18:32:47 +00:00
David Rosca
28fdc4b372 gallium: Remove PIPE_VIDEO_CAP_EFC_SUPPORTED
Reviewed-by: Thong Thai <thong.thai@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29932>
2024-07-03 17:56:28 +00:00