Rhys Perry [Mon, 6 Dec 2021 18:21:11 +0000 (18:21 +0000)]
radv: include RT shaders in RADV_DEBUG=shaders,shaderstats
Instead of using module->nir or nir->info->name to determine if it's a
meta shader, use nir->info->internal.
This also has an effect of disabling printing of meta shaders with
NIR_DEBUG=print.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14087>
Rhys Perry [Mon, 6 Dec 2021 18:21:11 +0000 (18:21 +0000)]
radv: add radv_meta_init_shader
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14087>
James Jones [Fri, 19 Nov 2021 19:50:18 +0000 (11:50 -0800)]
gbm: Don't pass default usage flags on ABIs < 1
Older drivers will not expect any flags from the
GBM front-end when modifiers are in use, and will
likely fail the allocation or handle them
incorrectly as a result. Only specify usage flags
when allocating from a backend with an ABI >= 1,
as that's the ABI version that added support for
specifying usage flags along with modifiers.
Fixes:
ad50b47a14e9 ("gbm: assume USE_SCANOUT in create_with_modifiers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5709
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Tested-by: Olivier Fourdan <ofourdan@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14049>
Samuel Pitoiset [Mon, 6 Dec 2021 12:48:25 +0000 (13:48 +0100)]
radv: mark GFX10.3 (aka RDNA2) as conformant products with CTS 1.2.7.1
https://www.khronos.org/conformance/adopters/conformant-products#submission_599
Also bump the CTS version for GFX8, GFX9 and GFX10 because they also
pass 1.2.7.1.
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/14076>
Samuel Pitoiset [Tue, 7 Dec 2021 16:54:56 +0000 (17:54 +0100)]
radv: fix resume/suspend render pass with depth/stencil attachment
Shouldn't clear on resume.
This fixes dEQP-VK.dynamic_rendering.*resuming.
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/14113>
Samuel Pitoiset [Fri, 4 Jun 2021 14:58:33 +0000 (16:58 +0200)]
radv: add initial SPM support on GFX10+
RGP doesn't support previous generations. This can be enabled with
RADV_THREAD_TRACE_CACHE_COUNTERS=true.
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/13737>
Samuel Pitoiset [Mon, 31 May 2021 16:38:13 +0000 (18:38 +0200)]
radv: add few helpers for configuring performance counters
Only used for SPM but VK_KHR_performance_query will be added there.
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/13737>
Samuel Pitoiset [Wed, 3 Nov 2021 15:51:49 +0000 (16:51 +0100)]
radv/sqtt: always dump pipelines and shaders ISA
Even if instruction timing is disabled, both features are unrelated.
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/13648>
Alex Xu (Hello71) [Tue, 23 Nov 2021 20:24:38 +0000 (15:24 -0500)]
Fix TSD stubs for non-initial-exec case (fixes #5667).
ppc64le TSD disabled for now since I am insufficiently familiar with ppc
asm. x86 pthread stubs deleted because adding USE_ELF_TLS to the #if is
isn't worth the effort since it only saves a single function call on
initial entry (TSD stubs are not used for read-only text now). also
potentially fix non-pthread TSD builds (_glapi_Dispatch was undefined),
but untested (could still be broken).
Tested-by: Jesse Natalie <jenatali@microsoft.com>
Tested-by: Jan Beich <jbeich@freebsd.org>
Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13935>
Adam Jackson [Mon, 29 Nov 2021 19:05:49 +0000 (14:05 -0500)]
glapi: Remove remnants of EXT_paletted_texture and the imaging subset
The GLX code had to special case these for uninteresting reasons, but we
don't support them anymore in Mesa so all this would do is keep them
sorta-working over GLX protocol. Given that Mesa hasn't supported them
on the renderer side since ~2011 let's stop pretending they're real. If
we get around to modernizing the indirect GLX code (hah) we can revisit
these then.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14085>
Thong Thai [Mon, 22 Nov 2021 00:51:16 +0000 (19:51 -0500)]
radeon/vcn: implement encoder dpb management
Previously, the number of previously encoded frames the encoder handled
was 1 - the encoder now supports many more encoded pictures, so the
encoder now has to keep track of multiple reconstructed pictures.
v2: Add a check to make sure an array index is not negative (Boyuan)
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13915>
Thong Thai [Mon, 6 Dec 2021 16:47:31 +0000 (11:47 -0500)]
radeon: hardcode uvd/vce encoder not_referenced value to false
Sets the not_referenced parameter to be the same as the previously
hardcoded frontends/va value (false) to ensure UVD/VCE encoding
functionality remains unaffected by the change in frontends/va code.
This commit will eventually be reverted once more testing is completed.
Fixes:
a90802ef644 ("frontends/va/enc: allow for frames to be marked as (not) referenced")
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13915>
Thong Thai [Mon, 22 Nov 2021 01:04:20 +0000 (20:04 -0500)]
frontends/va/enc: allow for frames to be marked as (not) referenced
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13915>
Thong Thai [Mon, 8 Nov 2021 19:09:10 +0000 (14:09 -0500)]
radeon/vcn: increase encoder dpb size
Base the number of reconstructed pictures the encoder allocates based on
the number of reference pictures to be used for encoding. Also move the
calculation and allocation of reconstructed pictures to VCN 1, from VCN
2.
v2: Add back the accidentally deleted
'two_pass_search_center_map_offset' (Boyuan)
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13915>
Thong Thai [Mon, 22 Nov 2021 16:47:43 +0000 (11:47 -0500)]
frontends/va/enc: hardcode h265 encoder ref pic list size
Set the size of the ref pic list0 for the h265 encoder to 1.
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13915>
Thong Thai [Fri, 12 Nov 2021 23:19:23 +0000 (18:19 -0500)]
frontends/va: disable packed header support for h264 encoder
Packed headers for the H.264 encoder has not been implemented yet, so
don't report packed header support for the H.264 encoder
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13915>
Cherser-s [Tue, 16 Nov 2021 20:06:59 +0000 (23:06 +0300)]
radv: handle VK_DESCRIPTOR_TYPE_SAMPLER in VK_VALVE_mutable_descriptor_type extension
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13842>
Francisco Jerez [Tue, 30 Nov 2021 07:45:50 +0000 (23:45 -0800)]
intel/fs/xehp: Teach SWSB pass about the exec pipeline of FS_OPCODE_PACK_HALF_2x16_SPLIT.
This virtual instruction is translated into multiple half float
physical instructions, even though its destination is typically of
integer type, which prevents the software scoreboard pass from
inferring the correct execution pipeline for the virtual instruction
on XeHP+ platforms. Teach the SWSB lowering pass about this
inconsistency between the IR and physical instruction types.
Fixes among other tests:
dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack.packhalf2x16_compute
Fixes:
d4537770bbf ("intel/fs: Add helper functions inferring sync and exec pipeline of an instruction.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5685
Reported-by: Tapani Pälli <tapani.palli@intel.com>
Tested-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14002>
Emma Anholt [Tue, 7 Dec 2021 00:56:40 +0000 (16:56 -0800)]
r300/ci: Update loop expectations
from running "-t loops" which I hadn't totally covered before.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14117>
Emma Anholt [Tue, 7 Dec 2021 18:18:03 +0000 (10:18 -0800)]
r300: Route shader stats output to ARB_debug_output.
This lets us use shader-db to compare stats on shaders, rather than having
to manually review the RADEON_DEBUG=pstat output.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14117>
Emma Anholt [Tue, 7 Dec 2021 17:51:35 +0000 (09:51 -0800)]
r300: Precompile the FS at shader creation time.
This should reduce jank at first draw, and is also good prep for doing
shader-db.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14117>
Emma Anholt [Tue, 7 Dec 2021 17:52:18 +0000 (09:52 -0800)]
r300: Remove the non_normalized_coords from the shader key.
TexSrcTarget has to be RECT when this is set, anyway.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14117>
Emma Anholt [Tue, 7 Dec 2021 00:43:45 +0000 (16:43 -0800)]
r300: Also consider ALU condition modifiers for loop DCE.
Since we typically use an ALU op to set the condition modifier for the
IF-BRK-ENDIF, we were particularly likely to remove the increment of the
loop counter!
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14117>
Emma Anholt [Mon, 6 Dec 2021 23:07:38 +0000 (15:07 -0800)]
r300: Ensure that immediates have matching negate flags too.
We only have one bit of negate, so we have to make sure that immediate
usage has matching negates on all used channels (or rewrite to do so).
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14117>
Emma Anholt [Tue, 7 Dec 2021 19:09:06 +0000 (11:09 -0800)]
r300: Cache the var list in the peephole_mul_omod() loop.
If we're not making progress (which the function was already giving us!),
then there's no need to recompute the list. Reduces
pixmark-piano/7.shader_test compile time from 50 seconds to 10.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14117>
Emma Anholt [Tue, 7 Dec 2021 18:56:42 +0000 (10:56 -0800)]
r300: Move the instruction filter for r500_transform_IF() to the top.
rc_get_variables() is slow, don't call it if we're going to just exit
immediately anyway.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14117>
Mike Lothian [Tue, 7 Dec 2021 15:40:38 +0000 (15:40 +0000)]
meson: Fix dri.pc dridriverdir
Change dridriversdir to dridriverdir
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/commit/
3ae3569d822c2546c4c748090f8a6c8016f763ea
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5726
Signed-off-by: Mike Lothian <mike@fireburn.co.uk>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14111>
Ilia Mirkin [Sat, 4 Dec 2021 01:22:50 +0000 (20:22 -0500)]
freedreno/ci/a306: increase concurrency
No harm from using more threads, but not enough benefit to reduce
parallelism unfortunately.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14067>
Ilia Mirkin [Fri, 3 Dec 2021 04:50:01 +0000 (23:50 -0500)]
freedreno/ci/a306: add more skips
These come up with increased concurrency.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14067>
Dave Airlie [Tue, 7 Dec 2021 06:43:43 +0000 (16:43 +1000)]
intel/crocus: push main/macros.h out to the users
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14104>
Dave Airlie [Tue, 7 Dec 2021 06:41:19 +0000 (16:41 +1000)]
intel/compiler: drop shader_info.h from compiler header
include it explicitly in the correct places
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14104>
Dave Airlie [Tue, 7 Dec 2021 06:34:48 +0000 (16:34 +1000)]
brw/compiler: drop mtypes.h from compiler
This adds a bunch of other headers in, and adds mtypes.h to iris
for perf query object.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14104>
Dave Airlie [Tue, 7 Dec 2021 06:25:34 +0000 (16:25 +1000)]
anv: include futex.h explicitly in allocator.
This file needs futexes so make an explicit include, so it doesn't
come via the compiler
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14104>
Dave Airlie [Tue, 7 Dec 2021 06:24:29 +0000 (16:24 +1000)]
mesa: move _mesa_varying_slot_in_fs to shader_enums
This doesn't need anything from mtypes.h, just changes types
to non GL equivalents
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14104>
Nanley Chery [Mon, 6 Dec 2021 15:27:55 +0000 (10:27 -0500)]
intel/isl: Drop extra devinfo checks for CCS support
These checks are done in isl_format_supports_ccs_*. Since
isl_surf_supports_ccs calls these functions, it doesn't need to check
them itself.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14082>
Nanley Chery [Mon, 6 Dec 2021 15:20:25 +0000 (10:20 -0500)]
iris: Drop the YCRCB cases in finish_aux_import
We recently added native support for these formats in gallium and ISL.
See commits:
* (gallium/dri)
f57c074270ef53c03d4e1db1e13fac3f13300756
* (intel/isl)
3fa16b3025a38ee6614725d89e8cda500988d086
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14082>
Nanley Chery [Mon, 6 Dec 2021 14:00:32 +0000 (09:00 -0500)]
intel/isl: Restore CCS_E support for YUYV and UYVY
These formats are used when creating surfaces with the
I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS modifier.
Makes iris pass the out-of-tree piglit test,
ext_image_dma_buf_import-intel-modifiers.
Fixes:
1433fe7860a ("intel/isl: Unify fmt checks in isl_surf_supports_ccs")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14082>
Erik Faye-Lund [Mon, 6 Dec 2021 11:48:44 +0000 (12:48 +0100)]
docs: remove stale notice about deleted dir
We're not going to move this directory like this comment suggests, as
the suggested target no longer exists. Let's just drop the mention.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14079>
Erik Faye-Lund [Mon, 6 Dec 2021 11:46:46 +0000 (12:46 +0100)]
docs: remove mentions of deleted code
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14079>
Erik Faye-Lund [Mon, 6 Dec 2021 11:46:02 +0000 (12:46 +0100)]
ci: remove testing of deleted code
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14079>
Erik Faye-Lund [Mon, 6 Dec 2021 11:44:43 +0000 (12:44 +0100)]
CODEOWNERS: remove ownership of deleted code
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14079>
Michel Zou [Mon, 6 Dec 2021 19:16:19 +0000 (20:16 +0100)]
meson: check -mtls if has_exe_wrapper
Fixes:
60d95c5d (Auto-enable TLSDESC support)
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14086>
Manas Chaudhary [Tue, 7 Dec 2021 13:46:08 +0000 (19:16 +0530)]
panvk: Add check for null fence
Signed-off-by: Manas Chaudhary <manas.chaudhary@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14108>
Danylo Piliaiev [Tue, 16 Nov 2021 14:27:26 +0000 (16:27 +0200)]
ir3,turnip: Add support for GL_KHR_shader_subgroup_quad
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13817>
Danylo Piliaiev [Tue, 16 Nov 2021 12:53:32 +0000 (14:53 +0200)]
ir3,turnip: Enable subgroup ops support in all stages on gen4
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13817>
Danylo Piliaiev [Mon, 15 Nov 2021 15:14:37 +0000 (17:14 +0200)]
ir3: Use getfiberid for SubgroupInvocationID on gen4
Since it requires (ss) categorize it as is_sfu() and not is_mem().
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13817>
Danylo Piliaiev [Mon, 15 Nov 2021 14:57:38 +0000 (16:57 +0200)]
ir3: Add gen4 new subgroup instructions
* getlast.w8 #4 - Perform jump for the first (CLUSTER_SIZE-1)
fibers in a subgroup
* brcst.active.w8 - necessary to implement arithmetic subgroup
operations with prefix sum.
* quad_shuffle.brcst - subgroupQuadBroadcast
* quad_shuffle.horiz - subgroupQuadSwapHorizontal
* quad_shuffle.vert - subgroupQuadSwapVertical
* quad_shuffle.diag - subgroupQuadSwapDiagonal
* getfiberid - gl_SubgroupID
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13817>
Samuel Pitoiset [Fri, 26 Nov 2021 16:19:51 +0000 (17:19 +0100)]
radv: avoid prefixing few VkXXX structures by struct
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/14115>
Lionel Landwerlin [Sun, 28 Nov 2021 19:33:36 +0000 (21:33 +0200)]
util/u_vector: prevent C++ warning on cast from void* to something else
v2: fix windows build
v3: duplicate foreach macro for C/C++
v4: Extract casting macro
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com> (v3)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13997>
Dave Airlie [Tue, 7 Dec 2021 06:05:56 +0000 (16:05 +1000)]
mesa/crocus/iris/blorp: drop minify macro in favour of u_minify
This macro is duplicated, clean it up.
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14103>
Adam Jackson [Tue, 7 Dec 2021 02:49:18 +0000 (21:49 -0500)]
mesa: Make _mesa_generate_mipmap_level static
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Tue, 7 Dec 2021 02:45:54 +0000 (21:45 -0500)]
mesa: Remove unused execmem code
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Tue, 7 Dec 2021 02:18:45 +0000 (21:18 -0500)]
mesa/program: Dead code cleanup
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Wed, 2 Jun 2021 04:07:36 +0000 (00:07 -0400)]
mesa/vbo: Always use buffer objects for storage
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 21:14:15 +0000 (17:14 -0400)]
mesa: Remove unused _vbo_current_binding
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 21:06:38 +0000 (17:06 -0400)]
mesa: Remove unused _es_{,Get}TexGenfv
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 21:05:13 +0000 (17:05 -0400)]
mesa: Remove unused _es_RenderbufferStorageEXT
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 21:04:31 +0000 (17:04 -0400)]
mesa: Remove unused _es_color4ub
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 21:03:44 +0000 (17:03 -0400)]
mesa: Remove unused _mesa_compressed_image_address
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 21:01:39 +0000 (17:01 -0400)]
mesa: Remove unused _mesa_apply_ci_transfer_ops
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 20:51:34 +0000 (16:51 -0400)]
mesa: Remove unused _check_*TexGen*OES
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 20:50:21 +0000 (16:50 -0400)]
mesa: Remove unused _mesa_DrawTexx{,v}
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 20:42:03 +0000 (16:42 -0400)]
mesa: Remove unused _mesa_get_render_format
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Adam Jackson [Thu, 20 May 2021 20:40:38 +0000 (16:40 -0400)]
mesa: Remove unused _mesa_all_buffers_are_unmapped
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14098>
Samuel Pitoiset [Tue, 7 Dec 2021 12:30:45 +0000 (13:30 +0100)]
radv: fix dynamic rendering with VRS
The structure type was wrong. This fixes a bunch failures in
dEQP-VK.fragment_shading_rate.dynamic_rendering.*.
Fixes:
7f3aba37d21 ("radv: Support Begin/EndRendering.")
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/14106>
Samuel Pitoiset [Thu, 18 Nov 2021 11:30:46 +0000 (12:30 +0100)]
radv: constify radv_vs_input_state() in more places
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/13857>
Samuel Pitoiset [Thu, 18 Nov 2021 10:19:43 +0000 (11:19 +0100)]
radv: constify radv_vertex_binding in CmdSetVertexInputEXT()
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/13857>
Samuel Pitoiset [Thu, 18 Nov 2021 10:18:56 +0000 (11:18 +0100)]
radv: move a comment at the right place in CmdBindVertexBuffers2EXT()
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/13857>
Danylo Piliaiev [Fri, 3 Dec 2021 11:23:18 +0000 (13:23 +0200)]
freedreno,tu: Limit the amount of instructions preloaded into icache
Inferring from blob's cmdstream the size of shader instruction
cache for:
- a630 is 64
- a650 is 128
- a660 is 128
On a650 and a660 gpu could hang if we exceed the limit. Though
it is not reproducible with computerator or a single amber
test. Also while blob limits the size to 128 - Turnip still
hangs with it but does not hang with the limit of 127.
On a630 there seem to be no hang when limit is exceeded.
Fixes the hang of compute shader in Alien Isolation on a650/a660.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14044>
Dave Airlie [Mon, 6 Dec 2021 07:15:25 +0000 (17:15 +1000)]
mesa/st: move external objects to direct calls
This moves the memory and semaphore objects to direct calls
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14073>
Dave Airlie [Mon, 6 Dec 2021 07:10:05 +0000 (17:10 +1000)]
mesa/st: move transformfeedback to direct calls
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14073>
Dave Airlie [Mon, 6 Dec 2021 07:04:14 +0000 (17:04 +1000)]
mesa/st: move barriers to direct call
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14073>
Dave Airlie [Mon, 6 Dec 2021 06:58:22 +0000 (16:58 +1000)]
mesa/st: direct call sync object functions
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14073>
Dave Airlie [Mon, 6 Dec 2021 06:31:59 +0000 (16:31 +1000)]
mesa/dd/st: direct wire queries/timestamp/condrender.
These were all interrelated, avoid the indirect calls here,
and call directly between main and state tracker
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14073>
Dave Airlie [Mon, 6 Dec 2021 04:25:55 +0000 (14:25 +1000)]
mesa/dd/st: move get strings pointer out of dd.h
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14073>
Dave Airlie [Tue, 7 Dec 2021 04:29:29 +0000 (14:29 +1000)]
meson: make mesa/tests/glx depend on gallium
If I start direct linking the state tracker to mesa, the tests fail
to build because they don't have gallium linked.
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14073>
Dave Airlie [Tue, 7 Dec 2021 05:53:49 +0000 (15:53 +1000)]
intel/compiler: drop glsl options from brw_compiler
Only the nir options are used now, since i965 was dropped,
the glsl options come from the state tracker
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14102>
Emma Anholt [Wed, 1 Dec 2021 23:45:54 +0000 (15:45 -0800)]
nir/algebraic: Move all the individual transforms to a common table.
Cuts 28% of the remaining relocations in libvulkan_intel.so, shrinks
binary size by 290kb.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Wed, 1 Dec 2021 22:20:55 +0000 (14:20 -0800)]
nir/algebraic: Mark the automaton's filter tables as const.
Moves it to .rodata instead of .data.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Tue, 30 Nov 2021 22:34:45 +0000 (14:34 -0800)]
nir/algebraic: Pack various bitfields in the nir_search_value_union.
This gets our union's size down to 22 bytes (now smaller than any of the
union's types were before we made the union!). Cuts another 48kb off of
the drivers.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Tue, 30 Nov 2021 22:33:41 +0000 (14:33 -0800)]
nir/algebraic: Move relocations for variable conds to a table.
This helps concentrate the dirty pages from the relocations, reduces how
many relocations there are, and reduces the size of each variable assuming
variables mostly don't have conditions or the conditions are mostly
reused). Reduces libvulkan_intel.so size by 49kb.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Tue, 30 Nov 2021 22:23:39 +0000 (14:23 -0800)]
nir/algebraic: Move relocations for expression conds to a table.
This helps concentrate the dirty pages from the relocations, reduces how
many relocations there are, and reduces the size of each expression
(assuming expressions mostly don't have conditions or the conditions are
mostly reused). Reduces libvulkan_intel.so size by 8.7kb.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Tue, 30 Nov 2021 22:17:10 +0000 (14:17 -0800)]
nir/algebraic: Remove array-of-cond code
You can't have an array of them after removing many-comm-expr, there's no
space in the struct.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Mon, 29 Nov 2021 23:24:47 +0000 (15:24 -0800)]
nir/algebraic: Replace relocations for nir_search values with a table.
Even with packing all 3 types into a 40-byte union (nir_search_constant
being 24 bytes and nir_search_expression having formerly been 32), and
having a single array of them, this cuts 1.7MB from each of
libvulkan_intel.so and libgallium_dri.so.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Mon, 29 Nov 2021 22:14:35 +0000 (14:14 -0800)]
nir/algebraic: Drop the check for cache == None.
The cache is always set.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Mon, 29 Nov 2021 21:57:19 +0000 (13:57 -0800)]
nir/algebraic: Move some generated-code algebraic opt args into a struct.
I'm going to be adding some more tables to reduce relocations in the
generated code, so move the current tables to a struct for arg-passing
sanity.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13987>
Emma Anholt [Sun, 5 Dec 2021 19:41:25 +0000 (11:41 -0800)]
nouveau/nir: Use the address reg for indirect scratch access.
Fixes the dEQP regressions in dEQP-GLES2.functional.shaders.indexing.*.
TGSI used the address reg for these offsets too.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14083>
Timothy Arceri [Sat, 4 Dec 2021 12:23:07 +0000 (23:23 +1100)]
mesa: make struct in gl_program a union and remove FIXME
Now that the classic drivers that were mixing the use of these asm
and glsl shader fields are gone we can finally use a union here.
This basically reverts commit
9d99dc4bc1fd but also moves a
read of IsPositionInvariant inside an arb asm only code block
for safety.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14059>
Qiang Yu [Wed, 10 Nov 2021 10:59:34 +0000 (18:59 +0800)]
loader/dri3: support glx pbuffer swap
Double buffered pbuffer need to update the front buffer,
otherwise we always get wrong value when glReadPixels().
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Wed, 10 Nov 2021 14:02:53 +0000 (22:02 +0800)]
loader/dri3: stop doing anything in swap buffer for some drawable
We are sure to have a back buffer in swap buffer now.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Singed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Wed, 10 Nov 2021 11:06:14 +0000 (19:06 +0800)]
loader/dri3: rename dri3_fake_front_buffer
Sometimes this is the real front buffer depends on the place
called. Since it's the same LOADER_DRI3_FRONT_ID slot, just
name it dri3_front_buffer.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Wed, 10 Nov 2021 02:00:14 +0000 (10:00 +0800)]
loader/dri3: replace is_pixmap with drawable type
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Fri, 12 Nov 2021 02:49:07 +0000 (10:49 +0800)]
loader/dri3: setup present event with drawable type info
If we already know the drawable type, setup event in a simpler way.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Thu, 11 Nov 2021 09:21:48 +0000 (17:21 +0800)]
loader/dri3: pack window present event setup into a function
For simplicity and latter commits.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Tue, 9 Nov 2021 13:51:35 +0000 (21:51 +0800)]
loader/dri3: remove unused present capability query
The query result is not used anywhere.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Fri, 12 Nov 2021 02:25:11 +0000 (10:25 +0800)]
loader/dri3: add drawable type set by GLX and EGL
Drawable type include more information which can be used
to distinguish pixmap and pbuffer which both treated as
pixmap before.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Tue, 9 Nov 2021 09:19:44 +0000 (17:19 +0800)]
glx: add drawable type argument when create drawable
For distinguish different behavior of pixmap and pbuffer
in latter commits.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Tue, 9 Nov 2021 08:52:40 +0000 (16:52 +0800)]
glx: check drawable type before create drawble
If glxDrawable is not a X window ID, we can only support
GLXPbuffer now.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Qiang Yu [Tue, 9 Nov 2021 07:41:08 +0000 (15:41 +0800)]
glx: no need to create extra pixmap for pbuffer
XServer already created a pixmap with same id as pbuffer,
so that other client can use the pbuffer id to do
glXMakeCurrent(). But with a hidden pixmap, we can't do
this.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13750>
Timothy Arceri [Fri, 3 Dec 2021 11:22:57 +0000 (22:22 +1100)]
util: add workaround for SNK HEROINES Tag Team Frenzy
The game makes use of builtin functions that were moved to
compatibility shaders in GLSL 4.20 in its GLSL 4.20 shaders
without declaring the compatibility token.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5706
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14040>