Paulo Zanoni [Fri, 12 Nov 2021 23:16:38 +0000 (15:16 -0800)]
iris: call brw_process_intel_debug_variable() earlier
We're currently only calling it after creating the screen and the
bufmgr. There are a few cases where Iris checks for the DEBUG_BUFMGR
bit before we call brw_process_intel_debug_variable(), which means
intel_debug is 0 and so we don't run the debug code. Today, these are
all related to the creation of the workaround bo and its mmap.
I found this in a custom branch after I converted to INTEL_DEBUG an
environment variable that I had.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13780>
Eric Engestrom [Wed, 10 Nov 2021 22:38:21 +0000 (22:38 +0000)]
docs: update branchpoint instructions
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13745>
Vasily Khoruzhick [Fri, 1 Oct 2021 13:32:52 +0000 (06:32 -0700)]
lima: enable PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS
Mali4x0 PP doesn't have a swizzle for load_input, so use POT-aligned
varyings to avoid unnecessary movs for vec3 and precision downgrade
in case if this vec3 is coordinates for a sampler
shader-db:
total instructions in shared programs: 15707 -> 15623 (-0.53%)
instructions in affected programs: 3906 -> 3822 (-2.15%)
helped: 47
HURT: 18
helped stats (abs) min: 1 max: 9 x̄: 3.09 x̃: 2
helped stats (rel) min: 1.49% max: 23.53% x̄: 8.20% x̃: 6.45%
HURT stats (abs) min: 1 max: 7 x̄: 3.39 x̃: 3
HURT stats (rel) min: 0.78% max: 20.59% x̄: 10.45% x̃: 10.97%
95% mean confidence interval for instructions value: -2.18 -0.41
95% mean confidence interval for instructions %-change: -5.70% -0.38%
Instructions are helped.
total spills in shared programs: 146 -> 136 (-6.85%)
spills in affected programs: 39 -> 29 (-25.64%)
helped: 6
HURT: 0
total fills in shared programs: 617 -> 598 (-3.08%)
fills in affected programs: 125 -> 106 (-15.20%)
helped: 6
HURT: 0
HURT shaders are vertex shaders where we may need more instructions
for non-packed vec3s. It's acceptable trade-off since we don't get
precision downgrade if this varying is coordinates for a sampler.
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13151>
Vasily Khoruzhick [Fri, 1 Oct 2021 13:23:48 +0000 (06:23 -0700)]
gallium: add PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS
Driver should enable this cap if it prefers varyings to be aligned
to power of two in a slot, i.e. vec4 in .xyzw, vec3 in .xyz, vec2 in .xy
or .zw
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13151>
Eric Engestrom [Wed, 10 Nov 2021 11:08:05 +0000 (11:08 +0000)]
docs/submittingpatches: mention use of the `-x` flag of `git cherry-pick` when backporting a commit
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13746>
Eric Engestrom [Wed, 10 Nov 2021 11:06:44 +0000 (11:06 +0000)]
docs/submittingpatches: add formatting around the release branches names
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13746>
Eric Engestrom [Wed, 10 Nov 2021 11:05:49 +0000 (11:05 +0000)]
docs/submittingpatches: add link to section describing how to make a backport MR
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13746>
Emma Anholt [Fri, 5 Nov 2021 18:41:36 +0000 (11:41 -0700)]
freedreno/a6xx: Fix a bunch of 3D texture layout to match blob behavior.
This doesn't get all of the texelfetch sampler3d testcases working, but
it's sure a lot more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13733>
Emma Anholt [Fri, 5 Nov 2021 19:00:33 +0000 (12:00 -0700)]
freedreno/cffdump: Handle the TILE_ALL flag in unit test generation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13733>
Emma Anholt [Fri, 5 Nov 2021 16:56:44 +0000 (09:56 -0700)]
freedreno/cffdump: Fix up formatting of texturator unit test script output.
Now I don't need to re-clang-format as I generate testcases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13733>
Emma Anholt [Thu, 4 Nov 2021 23:20:56 +0000 (16:20 -0700)]
freedreno/fdl: Add support for unit testing 3D texture array strides.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13733>
Emma Anholt [Thu, 4 Nov 2021 23:03:13 +0000 (16:03 -0700)]
freedreno/cffdump: Fix 64-bit reg decode in script mode.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13733>
Emma Anholt [Thu, 4 Nov 2021 22:25:25 +0000 (15:25 -0700)]
freedreno: Fix the texturator unit test script.
We no longer have reg defs for the HI fields, so all we can access from
lua is the low 32 bits. LUA has only double-precision floats for numbers,
so we can't fix that. However, the high bits are almost always the same,
so it's not that big of a deal to be ignoring them for this script.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13733>
Emma Anholt [Fri, 5 Nov 2021 18:46:23 +0000 (11:46 -0700)]
freedreno/fdl: Dump the generated layout when a layout test fails.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13733>
Dave Airlie [Fri, 12 Nov 2021 04:30:37 +0000 (14:30 +1000)]
util/vl: move gallium vl_vlc.h and vl_rbsp.h to shared code.
For vulkan video I need these to parse slice headers, so move
them somewhere easier to get at them.
drops pointer_to_uintptr in favour of a cast.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13768>
Jordan Justen [Tue, 26 Oct 2021 08:03:07 +0000 (01:03 -0700)]
intel/dev: Add platform enum with DG2 G10 & G11
Based on Lionel's "intel/devinfo: store the different kind of DG2".
Ref:
361b3fee3c5 ("intel: move away from booleans to identify platforms")
Ref: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=
9e22cfc5e9b92556a56d8a564cdab31045f29010
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13797>
Mike Blumenkrantz [Fri, 29 Oct 2021 15:22:44 +0000 (11:22 -0400)]
zink: always add VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for 3D images
there's no way to know what an image will be used for, so this bit needs
to always be added
fixes KHR-GL46.packed_pixels.varied_rectangle.compressed_rgb
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13798>
Mike Blumenkrantz [Thu, 28 Oct 2021 14:18:44 +0000 (10:18 -0400)]
zink: stop running discard_if in generated tcs
just embarrassing smh
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13798>
Samuel Pitoiset [Mon, 15 Nov 2021 17:26:10 +0000 (18:26 +0100)]
zink: skip one GLES31 subset to avoid GPU hangs on Navi10
Weird bug... I will figure out later.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13796>
Dave Airlie [Tue, 9 Nov 2021 00:33:38 +0000 (10:33 +1000)]
intel/genxml: generate video headers
This just generates the video engine pieces.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13788>
Dave Airlie [Sun, 14 Nov 2021 23:07:48 +0000 (09:07 +1000)]
intel/genxml: fix gen6 LD->VLD typo.
Pointed out by Ilia
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13788>
Matt Turner [Mon, 3 Feb 2020 23:50:54 +0000 (15:50 -0800)]
intel/genxml: capitalize decoder mode select properly
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13788>
Dave Airlie [Sun, 14 Nov 2021 22:31:21 +0000 (08:31 +1000)]
intel/genxml: fix Picure->Picture typo
Ilia pointed this out.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13788>
Dave Airlie [Wed, 10 Nov 2021 00:38:31 +0000 (10:38 +1000)]
intel/genxml: align QM field names across gens.
This just picks a consistent name.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13788>
Dave Airlie [Tue, 9 Nov 2021 01:08:55 +0000 (11:08 +1000)]
intel/genxml: fix some missing address from the 75 xml
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13788>
Dave Airlie [Mon, 8 Nov 2021 23:54:32 +0000 (09:54 +1000)]
intel/genxml: cleanup video xml collisions.
When you enable video genxml, lots of warnings about redefined things
appear, just clean those up before things get started.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13788>
Rhys Perry [Fri, 12 Nov 2021 13:46:17 +0000 (13:46 +0000)]
aco: consider pseudo-instructions reading exec in needs_exec_mask()
No matter the format, this should return true if the instruction has an
exec operand.
Otherwise, eliminate_useless_exec_writes_in_block() could remove an exec
write in a block if it's successor begins with:
s2: %3737:s[8-9] = p_parallelcopy %0:exec
s2: %0:exec, s1: %3738:scc = s_wqm_b64 %3737:s[8-9]
Totals from 3 (0.00% of 150170) affected shaders (GFX10.3):
CodeSize: 23184 -> 23204 (+0.09%)
Instrs: 4143 -> 4148 (+0.12%)
Latency: 98379 -> 98382 (+0.00%)
Copies: 172 -> 175 (+1.74%)
Branches: 95 -> 97 (+2.11%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes:
bc130497472 ("aco: Eliminate useless exec writes in jump threading.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5620
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13776>
Daniel Schürmann [Fri, 8 Oct 2021 11:53:50 +0000 (13:53 +0200)]
radv: use nir_fold_16bit_sampler_conversions()
for now only for texture dest and if there is no rounding mode required.
Totals from 2 (0.00% of 150170) affected shaders: (GFX10.3)
CodeSize: 7980 -> 7948 (-0.40%)
Instrs: 1441 -> 1422 (-1.32%)
Latency: 7703 -> 7626 (-1.00%)
InvThroughput: 2336 -> 2302 (-1.46%)
VClause: 34 -> 36 (+5.88%)
Copies: 57 -> 58 (+1.75%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13592>
Daniel Schürmann [Fri, 8 Oct 2021 11:51:58 +0000 (13:51 +0200)]
aco: implement D16 texture loads
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13592>
Daniel Schürmann [Fri, 5 Nov 2021 13:24:12 +0000 (14:24 +0100)]
aco: workaround GFX9 hardware bug for D16 image instructions
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13592>
Daniel Schürmann [Mon, 25 Oct 2021 12:26:05 +0000 (14:26 +0200)]
aco: add more D16 load/store instructions to RA and validator
This enables correct handling for
buffer_load/store_format_d16_x and
D16 Image instructions.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13592>
Daniel Schürmann [Tue, 2 Nov 2021 13:29:47 +0000 (14:29 +0100)]
nir/fold_16bit_sampler_conversions: skip sparse residency tex instructions
The residency return value mismatches between NIR and Radeon.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13592>
Rob Clark [Sun, 8 Aug 2021 18:10:25 +0000 (11:10 -0700)]
freedreno: caps for clover
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12500>
Rob Clark [Sun, 8 Aug 2021 17:55:03 +0000 (10:55 -0700)]
freedreno: Add PIPE_SHADER_IR_NIR_SERIALIZED support
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12500>
Ilia Mirkin [Sat, 13 Nov 2021 02:18:25 +0000 (21:18 -0500)]
a5xx: remove astc srgb workaround logic
This was copied from a4xx, which only needs it on one chip model (A420).
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13782>
Samuel Pitoiset [Mon, 15 Nov 2021 14:55:15 +0000 (15:55 +0100)]
zink: update the CI lists for RADV
Lot of GPU hangs fixed lately.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13792>
Jesse Natalie [Thu, 11 Nov 2021 15:55:51 +0000 (07:55 -0800)]
microsoft/clc: Add a test for arg metadata
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13759>
Jesse Natalie [Thu, 11 Nov 2021 15:55:24 +0000 (07:55 -0800)]
clc: Use kernel_arg_type_qual string to add const type qualifier to arg metadata
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13759>
Iago Toral Quiroga [Mon, 15 Nov 2021 10:09:38 +0000 (11:09 +0100)]
v3d,v3dv: move tile size calculation to a common helper
We had this code replicated in 3 places across both drivers.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13790>
Samuel Pitoiset [Thu, 11 Nov 2021 15:15:08 +0000 (16:15 +0100)]
ac/spm: fix determining the counter slot
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes:
e928f475ccf ("ac: add initial SPM support")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13758>
Samuel Pitoiset [Thu, 11 Nov 2021 15:12:06 +0000 (16:12 +0100)]
ac/spm: fix determing the SPM wire
One SPM wire holds two 16-bit counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes:
e928f475ccf ("ac: add initial SPM support")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13758>
Samuel Pitoiset [Fri, 12 Nov 2021 14:40:43 +0000 (15:40 +0100)]
radv: fix a sync issue on GFX9+ by clearing the upload BO fence
If the same cmdbuf is submitted more than once, they were waiting on
the same fence value. Fix this by clearing the value when beginning
a new command buffer.
This might fix spurious GPU hangs, especially on GFX9.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5401
Cc: 21.3 mesa-stable
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/13777>
Timothy Arceri [Fri, 12 Nov 2021 08:31:24 +0000 (19:31 +1100)]
mesa: fix buffer overrun in SavedObj texture obj array
Fixes:
3be42f9ca19d ("mesa: rewrite glPushAttrib/glPopAttrib to get rid of malloc")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5621
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13773>
Dave Airlie [Mon, 1 Nov 2021 04:12:20 +0000 (14:12 +1000)]
llvmpipe: fix compressed image sizes.
VK CTS just added some new tests to write to a compressed image
from a compute shader, which was overrunning memory.
The image width/height need to be sized according to the block
sizes to avoid overwriting memory.
dEQP-VK.image.sample_texture.*bit_compressed*
Cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13618>
Dave Airlie [Sun, 31 Oct 2021 23:43:49 +0000 (09:43 +1000)]
llvmpipe: disable 64-bit integer textures.
This fixes some crashes in VK-GL-CTS where it doesn't deal with these.
Cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13617>
Timur Kristóf [Thu, 28 Oct 2021 13:48:19 +0000 (15:48 +0200)]
aco: Fix how p_is_helper interacts with optimizations.
p_is_helper doesn't have any operands, so ACO's value numbering and/or
the pre-RA optimizer could incorrectly recognize two such instructions
as the same.
This patch adds exec as an operand to p_is_helper in order to achieve
correct behavior.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5570
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13577>
Emma Anholt [Thu, 11 Nov 2021 16:22:19 +0000 (08:22 -0800)]
ci/freedreno: Add a link to the issue for color_depth_attachments.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13747>
Emma Anholt [Thu, 11 Nov 2021 00:45:59 +0000 (16:45 -0800)]
ci/freedreno: Add notes explaining the KHR-GL* failures.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13747>
Emma Anholt [Wed, 10 Nov 2021 23:49:31 +0000 (15:49 -0800)]
freedreno/a6xx: Do sparse setup of the TFB program.
We don't need to init the whole program RAM, just the locations we are
actually writing from. Syncs this code up with tu a bit more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13747>
Emma Anholt [Wed, 10 Nov 2021 23:03:54 +0000 (15:03 -0800)]
ci/freedreno: Enable the tes-input/tcs-input tests.
They seem to be mostly passing these days.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13747>
Emma Anholt [Wed, 10 Nov 2021 21:28:32 +0000 (13:28 -0800)]
freedreno/ir3: Fix an off-by-one in so->outputs_count safety assert.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13747>
Emma Anholt [Wed, 10 Nov 2021 21:17:33 +0000 (13:17 -0800)]
freedreno/a6xx: Add some notes about piglit failures.
Hopefully this helps others save time looking at piglit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13747>
Rhys Perry [Thu, 11 Nov 2021 10:27:30 +0000 (10:27 +0000)]
aco: optimize load_local_invocation_index with single-wave workgroups
fossil-db (Sienna Cichlid):
Totals from 668 (0.52% of 128647) affected shaders:
CodeSize: 2201912 -> 2193336 (-0.39%)
Instrs: 403124 -> 402325 (-0.20%)
Latency: 4510940 -> 4510214 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 681057 -> 679453 (-0.24%); split: -0.24%, +0.00%
VClause: 6470 -> 6467 (-0.05%)
SClause: 12759 -> 12755 (-0.03%)
Copies: 26348 -> 26218 (-0.49%); split: -0.50%, +0.00%
PreSGPRs: 26140 -> 26101 (-0.15%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel-schuermann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13757>
Rhys Perry [Thu, 11 Nov 2021 14:26:22 +0000 (14:26 +0000)]
radv: lower load_local_invocation_index with 1D workgroups
For 1D workgroups, we can just load from an input VGPR.
fossil-db (Sienna Cichlid):
Totals from 226 (0.18% of 128647) affected shaders:
CodeSize: 1200476 -> 1195696 (-0.40%); split: -0.49%, +0.09%
Instrs: 223817 -> 223328 (-0.22%); split: -0.29%, +0.07%
Latency: 2552394 -> 2549606 (-0.11%); split: -0.15%, +0.04%
InvThroughput: 533989 -> 532670 (-0.25%); split: -0.27%, +0.02%
VClause: 5191 -> 5188 (-0.06%)
SClause: 7637 -> 7636 (-0.01%)
Copies: 18165 -> 18182 (+0.09%); split: -0.22%, +0.31%
Branches: 10446 -> 10442 (-0.04%)
PreSGPRs: 8049 -> 8041 (-0.10%); split: -0.17%, +0.07%
PreVGPRs: 7785 -> 7767 (-0.23%); split: -0.32%, +0.09%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel-schuermann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13757>
Rhys Perry [Thu, 11 Nov 2021 14:26:00 +0000 (14:26 +0000)]
nir/lower_system_values: replace local_invocation_id components with zero
fossil-db (Sienna Cichlid):
Totals from 360 (0.28% of 128647) affected shaders:
VGPRs: 7912 -> 7272 (-8.09%); split: -8.59%, +0.51%
CodeSize: 542456 -> 544688 (+0.41%); split: -0.32%, +0.73%
MaxWaves: 10866 -> 10952 (+0.79%)
Instrs: 95973 -> 96010 (+0.04%); split: -0.34%, +0.38%
Latency: 4366023 -> 4344664 (-0.49%); split: -0.90%, +0.41%
InvThroughput:
19656659 ->
18297185 (-6.92%); split: -6.92%, +0.00%
VClause: 3242 -> 3116 (-3.89%); split: -4.04%, +0.15%
SClause: 3422 -> 3504 (+2.40%); split: -0.20%, +2.60%
Copies: 8854 -> 9376 (+5.90%); split: -0.89%, +6.79%
Branches: 2329 -> 2326 (-0.13%); split: -0.39%, +0.26%
PreSGPRs: 7620 -> 7841 (+2.90%); split: -0.43%, +3.33%
PreVGPRs: 5765 -> 5504 (-4.53%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel-schuermann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13757>
Connor Abbott [Thu, 11 Nov 2021 12:35:10 +0000 (13:35 +0100)]
tu: Expose Vulkan 1.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13756>
Connor Abbott [Thu, 11 Nov 2021 14:15:49 +0000 (15:15 +0100)]
tu: Add VK_KHR_buffer_device_address stubs
dEQP-VK.api.version_check.entry_points requires us to return a function
pointer, even though the feature is optional in Vulkan 1.2.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13756>
Connor Abbott [Thu, 11 Nov 2021 12:31:55 +0000 (13:31 +0100)]
tu: Enable subgroupBroadcastDynamicId
It's a Vulkan 1.2 only feature, but it's trivially supported.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13756>
Ilia Mirkin [Fri, 12 Nov 2021 02:25:26 +0000 (21:25 -0500)]
freedreno/a[345]xx: add R8/RG8 SRGB formats
These enable the GL_EXT_texture_sRGB_R8 / GL_EXT_texture_sRGB_RG8
extensions.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13765>
Ilia Mirkin [Fri, 12 Nov 2021 01:07:08 +0000 (20:07 -0500)]
freedreno: prefer float immediates when float values are involved
Using double immediates can cause a natively-float value to have to get
upgraded to a double unnecessarily. Use float immediates where possible.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13764>
Alyssa Rosenzweig [Fri, 12 Nov 2021 16:11:16 +0000 (11:11 -0500)]
pan/mdg: Remove duplicate compiler option
Noted by clang.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 19:51:22 +0000 (14:51 -0500)]
pan/bi: Enable dual texture fusing pass
Everything is in place for it now -- ship it! Our Bifrost cycle model is
coarse, so take the shader-db results with a massive spoonful of salt:
total instructions in shared programs: 107504 -> 107252 (-0.23%)
instructions in affected programs: 39692 -> 39440 (-0.63%)
helped: 191
HURT: 1
helped stats (abs) min: 1.0 max: 20.0 x̄: 1.32 x̃: 1
helped stats (rel) min: 0.11% max: 9.52% x̄: 1.21% x̃: 0.98%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 2.04% max: 2.04% x̄: 2.04% x̃: 2.04%
95% mean confidence interval for instructions value: -1.60 -1.02
95% mean confidence interval for instructions %-change: -1.37% -1.01%
Instructions are helped.
total tuples in shared programs: 89864 -> 89664 (-0.22%)
tuples in affected programs: 27787 -> 27587 (-0.72%)
helped: 146
HURT: 6
helped stats (abs) min: 1.0 max: 17.0 x̄: 1.54 x̃: 1
helped stats (rel) min: 0.14% max: 15.38% x̄: 1.83% x̃: 1.25%
HURT stats (abs) min: 1.0 max: 11.0 x̄: 4.17 x̃: 2
HURT stats (rel) min: 0.54% max: 3.55% x̄: 1.29% x̃: 0.87%
95% mean confidence interval for tuples value: -1.64 -0.99
95% mean confidence interval for tuples %-change: -2.06% -1.36%
Tuples are helped.
total clauses in shared programs: 18253 -> 18044 (-1.15%)
clauses in affected programs: 5127 -> 4918 (-4.08%)
helped: 164
HURT: 1
helped stats (abs) min: 1.0 max: 19.0 x̄: 1.28 x̃: 1
helped stats (rel) min: 0.78% max: 28.57% x̄: 6.73% x̃: 5.88%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 2.94% max: 2.94% x̄: 2.94% x̃: 2.94%
95% mean confidence interval for clauses value: -1.50 -1.04
95% mean confidence interval for clauses %-change: -7.42% -5.91%
Clauses are helped.
total cycles in shared programs: 8118.54 -> 8103.88 (-0.18%)
cycles in affected programs: 414.96 -> 400.29 (-3.53%)
helped: 43
HURT: 27
helped stats (abs) min: 0.
041665999999999315 max: 4.375 x̄: 0.41 x̃: 0
helped stats (rel) min: 0.24% max: 50.00% x̄: 11.49% x̃: 5.26%
HURT stats (abs) min: 0.
041665999999999315 max: 1.
1666639999999973 x̄:
0.10 x̃: 0
HURT stats (rel) min: 0.43% max: 4.71% x̄: 1.42% x̃: 1.28%
95% mean confidence interval for cycles value: -0.35 -0.07
95% mean confidence interval for cycles %-change: -9.50% -3.53%
Cycles are helped.
total arith in shared programs: 3375.67 -> 3376.42 (0.02%)
arith in affected programs: 345.29 -> 346.04 (0.22%)
helped: 24
HURT: 32
helped stats (abs) min: 0.
041665999999999315 max: 0.
5833329999999997 x̄:
0.09 x̃: 0
helped stats (rel) min: 0.24% max: 14.29% x̄: 2.82% x̃: 1.50%
HURT stats (abs) min: 0.
041665999999999315 max: 1.
1666639999999973 x̄:
0.09 x̃: 0
HURT stats (rel) min: 0.43% max: 4.71% x̄: 1.42% x̃: 1.28%
95% mean confidence interval for arith value: -0.04 0.07
95% mean confidence interval for arith %-change: -1.19% 0.39%
Inconclusive result (value mean confidence interval includes 0).
total texture in shared programs: 1275 -> 1157 (-9.25%)
texture in affected programs: 725.50 -> 607.50 (-16.26%)
helped: 192
HURT: 0
helped stats (abs) min: 0.5 max: 10.0 x̄: 0.61 x̃: 0
helped stats (rel) min: 2.86% max: 50.00% x̄: 25.20% x̃: 25.00%
95% mean confidence interval for texture value: -0.72 -0.51
95% mean confidence interval for texture %-change: -27.12% -23.27%
Texture are helped.
total vary in shared programs: 537.88 -> 536.12 (-0.33%)
vary in affected programs: 2.75 -> 1 (-63.64%)
helped: 1
HURT: 0
total quadwords in shared programs: 79762 -> 79681 (-0.10%)
quadwords in affected programs: 10261 -> 10180 (-0.79%)
helped: 59
HURT: 18
helped stats (abs) min: 1.0 max: 14.0 x̄: 1.88 x̃: 1
helped stats (rel) min: 0.38% max: 8.20% x̄: 1.95% x̃: 1.43%
HURT stats (abs) min: 1.0 max: 4.0 x̄: 1.67 x̃: 1
HURT stats (rel) min: 0.46% max: 8.89% x̄: 2.22% x̃: 1.21%
95% mean confidence interval for quadwords value: -1.57 -0.53
95% mean confidence interval for quadwords %-change: -1.59% -0.37%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 19:52:03 +0000 (14:52 -0500)]
pan/bi: Test dual texture fusing
These patterns are quite tricky, so let's make sure we're testing
adequately.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 19:49:53 +0000 (14:49 -0500)]
pan/bi: Add dual texture fusing pass
Bifrost supports a special "dual texture" instruction, sampling from two
textures at once at the same coordinate. Each subinstruction is highly
restricted (a subset of TEXS_2D); together, they are represented by TEXC
with a special dual texture operation descriptor. Add an optimization
pass to fuse these instructions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 19:43:08 +0000 (14:43 -0500)]
pan/bi: Fix up dual texturing registers
This must be done after RA. How delightful. Use the GenXML strategy to
just OR the birds.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 19:43:41 +0000 (14:43 -0500)]
pan/bi: Add bi_dual_tex_as_u32 helper
Type safe cast, making dual texture descriptors easier to manipulate.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 19:10:48 +0000 (14:10 -0500)]
pan/bi: Support dual texture scheduling
Teach the scheduler about dual texturing to avoid an artifical "must not
last" constraint causing suboptimal scheduling like
clause_1:
ds(0) nbb tex ncph dwb(0)
{
*NOP t0
+TEXC.skip t1, r0, r1, 0xf1e00144, @r4
*NOP t0
+NOP t1
}
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 19:00:24 +0000 (14:00 -0500)]
pan/bi: Use BIFROST_TEXTURE_OPERATION_SINGLE enum
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 18:59:55 +0000 (13:59 -0500)]
pan/bi: Add bifrost_dual_texture_operation struct
This is the other state of the texture operation descriptor. We must
pack it in the compiler when fusing dual texturing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 18:59:39 +0000 (13:59 -0500)]
pan/bi: Add bifrost_texture_operation_mode enum
Differentiates single/dual texturing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 15:36:54 +0000 (10:36 -0500)]
pan/bi: Add second destination to TEXC
Used to model dual texturing, which writes to separate sets of staging
registers.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 15:36:30 +0000 (10:36 -0500)]
pan/bi: Add secondary staging count
Useful for instructions with two independent sets of staging registers
(like dual source blending or dual texturing).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Fri, 12 Nov 2021 16:11:25 +0000 (11:11 -0500)]
pan/bi: Make bi_index padding explicit
Avoids reliance on UB.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Alyssa Rosenzweig [Mon, 8 Nov 2021 19:32:11 +0000 (14:32 -0500)]
pan/bi: Fix typo in helper invocation analysis
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723>
Ilia Mirkin [Fri, 12 Nov 2021 02:04:16 +0000 (21:04 -0500)]
mesa: add just a tiny bit of debug info to some _mesa_problem calls
I hit these on a4xx with dEQP-GLES2/3 runs. Having more info on them
would make everyone's life easier.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13766>
Ilia Mirkin [Fri, 12 Nov 2021 06:51:43 +0000 (01:51 -0500)]
nv50,nvc0: expose R8/RG8_SRGB formats for texturing
This enables the GL_EXT_texture_sRGB_R8/RG8 extensions.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13769>
Hyunjun Ko [Mon, 27 Sep 2021 07:02:02 +0000 (07:02 +0000)]
turnip: Enable VK_KHR_separate_depth_stencil_layouts
We now start handling depth/stencil layouts separately when
adding implicit subpass dependancies.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13057>
Alyssa Rosenzweig [Mon, 27 Sep 2021 21:15:38 +0000 (17:15 -0400)]
nir/lower_pntc_ytransform: Support PointCoordIsSysval
Pattern match the point coord sysval and support lowering it as well.
This is required to handle flipped framebuffers on Bifrost. However,
what this pass normalizes to is the opposite of the hardware mode we
used on Bifrost before, so we need to swap modes at the same time to
prevent regressions.
Fixes Piglit glsl-fs-pointcoord and glsl-fs-pointcoord_gles2
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13073>
Ilia Mirkin [Fri, 12 Nov 2021 02:10:20 +0000 (21:10 -0500)]
mesa: add missing state to state string computation
This is an internal state, so does not need to be made available in the
string itself (same as the wpos_y_transform). But it needs to be listed
to avoid the mesa_problem.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13073>
Iago Toral Quiroga [Fri, 12 Nov 2021 07:28:18 +0000 (08:28 +0100)]
v3dv: don't use a global constant for default pipeline dynamic state
Some of these may change across V3D versions, so it is not practical.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13775>
Iago Toral Quiroga [Fri, 12 Nov 2021 07:09:26 +0000 (08:09 +0100)]
v3dv: account for multisampling when computing subpass granularity
The granularity is defined by the tile size, which is also determined
by multisampling.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13775>
Iago Toral Quiroga [Fri, 12 Nov 2021 09:35:04 +0000 (10:35 +0100)]
v3d: use V3D_MAX_DRAW_BUFFERS instead of hardcoded constant
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13775>
James Park [Thu, 11 Nov 2021 07:27:49 +0000 (23:27 -0800)]
meson: Update libelf wrap for Windows
Newer libelf update supports 32-bit Windows.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13749>
James Park [Thu, 11 Nov 2021 07:25:47 +0000 (23:25 -0800)]
radv: Match function definitions to declarations
Fixes compiler errors for 32-bit Windows.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13749>
James Park [Thu, 11 Nov 2021 07:24:38 +0000 (23:24 -0800)]
ac: Align ADDR_FASTCALL with addrlib
Fixes linker errors for 32-bit Windows.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13749>
Qiang Yu [Fri, 5 Nov 2021 02:22:06 +0000 (10:22 +0800)]
driconf: support META application
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/13686>
Qiang Yu [Fri, 5 Nov 2021 02:05:09 +0000 (10:05 +0800)]
radeonsi: add radeonsi_force_use_fma32 driconf option
fma32 only round once so has 0.5UP accuracy. mad32 round twice so
has 1UP accuracy. This accuracy difference sometimes make the result
different at the last bit.
Applications like META need more accuracy for display right result.
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/13686>
Christian Gmeiner [Wed, 10 Nov 2021 14:55:53 +0000 (15:55 +0100)]
ci/bare-metal: switch to common .baremetal-test-arm64
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751>
Christian Gmeiner [Wed, 10 Nov 2021 14:54:57 +0000 (15:54 +0100)]
ci/bare-metal: add .baremetal-test-arm64
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751>
Christian Gmeiner [Wed, 10 Nov 2021 14:43:06 +0000 (15:43 +0100)]
ci/etnaviv: no need to force nir anymore
It is the new default.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751>
Christian Gmeiner [Wed, 10 Nov 2021 14:50:20 +0000 (15:50 +0100)]
ci/etnaviv: armhf: switch to .baremetal-test-armhf
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751>
Christian Gmeiner [Wed, 10 Nov 2021 14:48:50 +0000 (15:48 +0100)]
ci/bare-metal: armhf: move BM_ROOTFS to generic place
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13751>
Mike Blumenkrantz [Fri, 5 Nov 2021 15:56:56 +0000 (11:56 -0400)]
aux/primconvert: support pipe_context::draw_vertex_state
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13742>
Mike Blumenkrantz [Fri, 5 Nov 2021 15:56:22 +0000 (11:56 -0400)]
aux/primconvert: break out primconvert internals into util function
this should (ideally) be no functional changes
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13742>
Ilia Mirkin [Fri, 12 Nov 2021 00:16:15 +0000 (19:16 -0500)]
freedreno/a4xx: fix min/max/bias lod sampler settings
This makes a4xx look more like a3xx for these settings. Most importantly
it adds the workaround for allowing the hw to decide between min and mag
filtering. This fixes a number of dEQP texture filtering tests.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13763>
Ilia Mirkin [Thu, 11 Nov 2021 22:01:11 +0000 (17:01 -0500)]
freedreno/ir3: fix setting the max tf vertex when there are no outputs
Fixes dEQP-GLES3.functional.transform_feedback.* on a4xx.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13760>
Ilia Mirkin [Thu, 11 Nov 2021 22:29:43 +0000 (17:29 -0500)]
freedreno: check batch size after the fallback blitter clear
When force-flushing after every draw, this would otherwise hit a NULL
batch in fd_blitter_clear.
Tested on a4xx.
Suggested-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13761>
Lionel Landwerlin [Tue, 9 Nov 2021 08:24:32 +0000 (10:24 +0200)]
anv: fix multiple wait/signal on same binary semaphore
We need to guarantee that when vkQueueSubmit() returns the application
can actually wait on a signaled semaphore/syncobj.
When using a thread to do the submission to i915, this gets a bit
tricky in the following case :
A syncobj is used both as a wait & signal semaphore and has been
signaled once already. It contains a fence before entering
vkQueueSubmit().
This means we need to reset the syncobj to ensure when we return
from vkQueueSubmit(), the syncobj contains no stale fence.
Currently in the Anv, the submission thread is in charge of putting
the new fence in the syncobj and also picks up the wait fence
directly from the syncobj. This means we can't reset the syncobj
from vkQueueSubmit().
The solution to this has been pointed by Bas & Jason :
In vkQueueSubmit(), clone the wait syncobj fence into a new
temporary syncobj that will be destroy after submission and use
this temporary syncobj as a wait fence for i915. This allows us to
reset the original syncobj in vkQueueSubmit().
For this to work with wait_before_signal behavior, we also need to
do a wait-on-materialize on binary semaphores from vkQueueSubmit().
Otherwise the application thread calling vkQueueSubmit() could race
the submission thread and pick up the wrong fence when cloing.
v2: Use copy semantic for clone_syncobj_dma_fence() (Jason)
Do the cloning prior to adding the syncobj to anv_queue_submit so
that if the cloning fails don't have an invalid syncobj in
anv_queue_submit (Jason)
v3: Fix another syncobj leak (Jason)
v4: Fix invalid argument order (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4945
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11474>
Caio Oliveira [Thu, 11 Nov 2021 04:31:36 +0000 (20:31 -0800)]
gtest: Fix output of array ASSERT/EXPECT macros
Fixes:
015383d1d78 ("gtest: Add mesa-gtest-extras.h with array ASSERT/EXPECT macros")
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13748>
Danylo Piliaiev [Wed, 10 Nov 2021 16:32:45 +0000 (18:32 +0200)]
vulkan/util: Handle depth-only formats in vk_att_ref_stencil_layout
From VUID-VkAttachmentReference2-attachment-04755:
"If attachment is not VK_ATTACHMENT_UNUSED, and the format of the
referenced attachment is a depth/stencil format which includes both
depth and stencil aspects, and layout is
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain must include
a VkAttachmentReferenceStencilLayout structure."
We did not check that there even could be a stencil layout
before fetching it.
Fixes a few tests from:
dEQP-VK.image.depth_stencil_descriptor.depth_read_only_optimal.*
Fixes:
979ea394e56a418f4138b5f440ec0b641cc5fa0e "vulkan/util: Move
helper functions for depth/stencil images to vk_iamge"
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13740>