Caio Marcelo de Oliveira Filho [Fri, 7 May 2021 18:41:13 +0000 (11:41 -0700)]
anv: Advertise support for VK_EXT_shader_atomic_float2
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11981>
Caio Marcelo de Oliveira Filho [Thu, 6 May 2021 21:56:54 +0000 (14:56 -0700)]
vulkan: Update XML and headers to 1.2.185
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11981>
Caio Marcelo de Oliveira Filho [Wed, 26 May 2021 06:12:40 +0000 (23:12 -0700)]
spirv: Implement SPV_EXT_shader_atomic_float16_add
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11981>
Jordan Justen [Wed, 3 Feb 2021 18:52:04 +0000 (10:52 -0800)]
intel/compiler: Remove cube array size lowering in compiler backend
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9466>
Jordan Justen [Wed, 3 Feb 2021 18:52:04 +0000 (10:52 -0800)]
intel/compiler: Lower cube image sizes using nir_lower_image()
Reworks:
* Re-merge early/late passes using Jason's nir image deref patches
* Create and use a common nir_lower_image() pass. (s-b Jason)
* Remove cube array size handling in image load/store lowering
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9466>
Jordan Justen [Wed, 3 Feb 2021 19:34:46 +0000 (11:34 -0800)]
intel/compiler: Rename brw_nir_lower_image_load_store to brw_nir_lower_storage_image
Reworks:
* Add crocus
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9466>
Jordan Justen [Thu, 15 Jul 2021 08:14:17 +0000 (01:14 -0700)]
nir: Add nir_lower_image() to lower cube image sizes
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9466>
Felix DeGrood [Thu, 8 Jul 2021 18:35:08 +0000 (11:35 -0700)]
iris: add tile cache flush to iris_copy_region
Add tile cache flush on iris_copy_region(). Temp workaround
until more robust tracking system implemented.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5029
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11935>
Jason Ekstrand [Tue, 20 Jul 2021 22:14:56 +0000 (17:14 -0500)]
nir/lower_subgroups: Handle down-casts in uint_to_ballot_type
This is required for Zink where the API ballot type is a uint64_t and
the "hardware" ballot type is uvec4.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11989>
Daniel Stone [Wed, 21 Jul 2021 16:25:23 +0000 (17:25 +0100)]
CI: Disable LAVA devices
We've had a physical machine death, and the restore/transfer is achingly
slow at the moment. Some of the devices are still fine, but
conservatively just kill the lot until it's all recovered.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11997>
Timothy Arceri [Thu, 21 Mar 2019 05:40:06 +0000 (16:40 +1100)]
intel/compiler: Use GCM in nir_optimize
There is still some work to do before we can enable GVN.
In these shader-db results, Skylake and older platforms used i965 while
newer platforms used Iris. I believe this accounts for the difference
in "sends." The shaders helped for sends are all Synmark shaders.
On Sandybridge, the shaders helped for sends were the same ones hurt for
spills and fills. These are also all Synmark shaders.
Tiger Lake and Ice Lake had similar results. (Ice Lake shown)
total instructions in shared programs:
19868594 ->
19868452 (<.01%)
instructions in affected programs: 6607 -> 6465 (-2.15%)
helped: 12
HURT: 1
helped stats (abs) min: 12 max: 12 x̄: 12.00 x̃: 12
helped stats (rel) min: 1.94% max: 2.62% x̄: 2.38% x̃: 2.58%
HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2
HURT stats (rel) min: 0.45% max: 0.45% x̄: 0.45% x̃: 0.45%
95% mean confidence interval for instructions value: -13.27 -8.58
95% mean confidence interval for instructions %-change: -2.67% -1.65%
Instructions are helped.
total cycles in shared programs:
962404540 ->
962008224 (-0.04%)
cycles in affected programs: 961274 -> 564958 (-41.23%)
helped: 23
HURT: 1
helped stats (abs) min: 10 max: 32536 x̄: 17438.96 x̃: 23658
helped stats (rel) min: 0.02% max: 80.04% x̄: 42.05% x̃: 51.58%
HURT stats (abs) min: 4780 max: 4780 x̄: 4780.00 x̃: 4780
HURT stats (rel) min: 3.26% max: 3.26% x̄: 3.26% x̃: 3.26%
95% mean confidence interval for cycles value: -22989.90 -10036.43
95% mean confidence interval for cycles %-change: -55.01% -25.32%
Cycles are helped.
Skylake and Broadwell had simliar results. (Skylake shown)
total instructions in shared programs:
17996652 ->
17996154 (<.01%)
instructions in affected programs: 96622 -> 96124 (-0.52%)
helped: 85
HURT: 0
helped stats (abs) min: 1 max: 12 x̄: 5.86 x̃: 5
helped stats (rel) min: 0.39% max: 2.65% x̄: 0.68% x̃: 0.39%
95% mean confidence interval for instructions value: -6.42 -5.30
95% mean confidence interval for instructions %-change: -0.84% -0.52%
Instructions are helped.
total cycles in shared programs:
939899189 ->
939289732 (-0.06%)
cycles in affected programs: 3719430 -> 3109973 (-16.39%)
helped: 60
HURT: 39
helped stats (abs) min: 18 max: 32444 x̄: 10437.30 x̃: 6940
helped stats (rel) min: 0.08% max: 80.40% x̄: 23.99% x̃: 12.07%
HURT stats (abs) min: 10 max: 4970 x̄: 430.28 x̃: 323
HURT stats (rel) min: 0.05% max: 3.41% x̄: 1.55% x̃: 1.60%
95% mean confidence interval for cycles value: -8095.51 -4216.75
95% mean confidence interval for cycles %-change: -18.65% -9.21%
Cycles are helped.
total sends in shared programs: 1026997 -> 1026927 (<.01%)
sends in affected programs: 6090 -> 6020 (-1.15%)
helped: 70
HURT: 0
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 1.15% max: 1.15% x̄: 1.15% x̃: 1.15%
95% mean confidence interval for sends value: -1.00 -1.00
95% mean confidence interval for sends %-change: -1.15% -1.15%
Sends are helped.
Haswell and Ivy Bridge had similar results. (Haswell shown)
total instructions in shared programs:
16040891 ->
16040252 (<.01%)
instructions in affected programs: 109132 -> 108493 (-0.59%)
helped: 87
HURT: 0
helped stats (abs) min: 1 max: 12 x̄: 7.34 x̃: 7
helped stats (rel) min: 0.05% max: 2.61% x̄: 0.75% x̃: 0.51%
95% mean confidence interval for instructions value: -7.84 -6.85
95% mean confidence interval for instructions %-change: -0.90% -0.61%
Instructions are helped.
total cycles in shared programs:
968579567 ->
967867117 (-0.07%)
cycles in affected programs:
30688439 ->
29975989 (-2.32%)
helped: 241
HURT: 62
helped stats (abs) min: 4 max: 31929 x̄: 3901.22 x̃: 2282
helped stats (rel) min: 0.04% max: 79.63% x̄: 12.70% x̃: 4.44%
HURT stats (abs) min: 4 max: 8230 x̄: 3673.27 x̃: 637
HURT stats (rel) min: 0.01% max: 63.87% x̄: 24.54% x̃: 3.56%
95% mean confidence interval for cycles value: -3100.23 -1602.41
95% mean confidence interval for cycles %-change: -7.94% -2.22%
Cycles are helped.
total sends in shared programs: 935025 -> 934955 (<.01%)
sends in affected programs: 6090 -> 6020 (-1.15%)
helped: 70
HURT: 0
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 1.15% max: 1.15% x̄: 1.15% x̃: 1.15%
95% mean confidence interval for sends value: -1.00 -1.00
95% mean confidence interval for sends %-change: -1.15% -1.15%
Sends are helped.
LOST: 1
GAINED: 0
Sandy Bridge
total instructions in shared programs:
11785330 ->
11786504 (<.01%)
instructions in affected programs: 53462 -> 54636 (2.20%)
helped: 16
HURT: 36
helped stats (abs) min: 1 max: 17 x̄: 10.06 x̃: 9
helped stats (rel) min: 0.47% max: 3.29% x̄: 2.03% x̃: 1.90%
HURT stats (abs) min: 5 max: 38 x̄: 37.08 x̃: 38
HURT stats (rel) min: 1.77% max: 2.98% x̄: 2.94% x̃: 2.98%
95% mean confidence interval for instructions value: 16.26 28.90
95% mean confidence interval for instructions %-change: 0.75% 2.08%
Instructions are HURT.
total cycles in shared programs:
498009911 ->
497378300 (-0.13%)
cycles in affected programs: 6848277 -> 6216666 (-9.22%)
helped: 108
HURT: 28
helped stats (abs) min: 4 max: 25394 x̄: 6037.42 x̃: 766
helped stats (rel) min: 0.02% max: 60.58% x̄: 11.60% x̃: 4.83%
HURT stats (abs) min: 96 max: 6834 x̄: 729.64 x̃: 742
HURT stats (rel) min: 0.17% max: 16.23% x̄: 1.57% x̃: 1.55%
95% mean confidence interval for cycles value: -5907.99 -3380.40
95% mean confidence interval for cycles %-change: -11.67% -6.11%
Cycles are helped.
total spills in shared programs: 2316 -> 2526 (9.07%)
spills in affected programs: 280 -> 490 (75.00%)
helped: 0
HURT: 35
total fills in shared programs: 1540 -> 1750 (13.64%)
fills in affected programs: 280 -> 490 (75.00%)
helped: 0
HURT: 35
total sends in shared programs: 642985 -> 642950 (<.01%)
sends in affected programs: 3045 -> 3010 (-1.15%)
helped: 35
HURT: 0
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 1.15% max: 1.15% x̄: 1.15% x̃: 1.15%
95% mean confidence interval for sends value: -1.00 -1.00
95% mean confidence interval for sends %-change: -1.15% -1.15%
Sends are helped.
LOST: 1
GAINED: 0
Iron Lake and GM45 had similar results. (Iron Lake shown)
total cycles in shared programs:
239442382 ->
239429400 (<.01%)
cycles in affected programs: 20816 -> 7834 (-62.37%)
helped: 2
HURT: 0
In Fossil-db, all of the shaders hurt for spill and fills are compute
shaders from Shadow of the Tomb Raider. Two shaders were helped for
sends, and these are also from SotTR.
All of the shaders helped for loops were from Geekbench5. These all
went from 3 loops to 2.
Tiger Lake
Instructions in all programs:
160852396 ->
160855303 (+0.0%)
SENDs in all programs: 6878559 -> 6878559 (+0.0%)
Loops in all programs: 38350 -> 38305 (-0.1%)
Cycles in all programs:
7369162339 ->
7344236445 (-0.3%)
Spills in all programs: 193762 -> 193876 (+0.1%)
Fills in all programs: 306417 -> 306600 (+0.1%)
Ice Lake
Instructions in all programs:
144592523 ->
144593946 (+0.0%)
SENDs in all programs: 6930697 -> 6930697 (+0.0%)
Loops in all programs: 38344 -> 38299 (-0.1%)
Cycles in all programs:
8732456458 ->
8707823383 (-0.3%)
Spills in all programs: 216692 -> 216806 (+0.1%)
Fills in all programs: 334089 -> 334272 (+0.1%)
Skylake
Instructions in all programs:
135618746 ->
135619971 (+0.0%)
SENDs in all programs: 6896728 -> 6896724 (-0.0%)
Loops in all programs: 38343 -> 38298 (-0.1%)
Cycles in all programs:
8391957144 ->
8368935657 (-0.3%)
Spills in all programs: 194741 -> 194879 (+0.1%)
Fills in all programs: 301048 -> 301255 (+0.1%)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/597>
Timothy Arceri [Mon, 25 Mar 2019 09:31:34 +0000 (20:31 +1100)]
intel/compiler: call nir_opt_dead_cf() after we have finished all opts
This will avoid a regression with the following patch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/597>
Timothy Arceri [Mon, 8 Apr 2019 01:30:53 +0000 (11:30 +1000)]
nir/gcm: be less destructive with instruction order
This changes the pass to extract pinned instructions and not just unpinned
instructions when rescheduling instructions. This stops pinned instructions
from being bunched together when instructions are reinserted into the blocks
which can result in regressions with regards to cycles and instruction
counts on i965 and register use/Max Waves on AMD hardware.
In order to do this we also throw away the post-order depth-first
search linearization algorithm used to re-insert the instructions, which
itself causes possible regressions when instructions are reinserted into
a less than ideal new order (of which the bunched together pinned
instructions is one example). Instead we simply insert instructions in the
reverse order they were extracted. This will simply place instructions
that were scheduled earlier onto the end of their new block and
instructions that were scheduled later to the start of their new block.
With this everything should remain in order without the need to run
over uses.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/597>
Ian Romanick [Tue, 20 Jul 2021 20:37:31 +0000 (13:37 -0700)]
nir/gcm: Clear out pass_flags before starting
With this pass enabled in Intel drivers, running shader-db on
shaders/unity/38.shader_test resulted in
Program received signal SIGSEGV, Segmentation fault.
gcm_schedule_early_src (src=0x555555d45348, void_state=0x7fffffffba40) at ../../SOURCE/master/src/compiler/nir/nir_opt_gcm.c:297
297 if (info->early_block->index < src_info->early_block->index)
(gdb) print src_info->early_block
$1 = (nir_block *) 0x0
I tracked this down to an early exit from gcm_schedule_early_instr on
the parent instruction because instr->pass_flags was 0x1c. That
should be an impossible value for this pass, so I inferred that
pass_flags must have dirt left from some previous pass.
Fixes:
8dfe6f672f4 ("nir/GCM: Use pass_flags instead of bitsets for tracking visited/pinned")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/597>
Mike Blumenkrantz [Tue, 20 Jul 2021 16:07:48 +0000 (12:07 -0400)]
nir: add nir_imm_ivec3 builder
the other ones exist, so why not this one too
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11983>
Daniel Schürmann [Mon, 19 Jul 2021 07:11:36 +0000 (09:11 +0200)]
aco: include <cstddef> in aco_util.h
It's needed for ptrdiff.
Fixes:
59fdaa1985f9269c40f0ca4704fbeb3fb05c4c2f ('aco: reorder and cleanup #includes')
Closes: #5076
Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11947>
suijingfeng [Mon, 19 Jul 2021 13:24:35 +0000 (21:24 +0800)]
gallivm: fix pass init order on mips64 with llvm 8
llvm 8 has some missing pass dependencies, fix the mips64 case
as well.
See similiar fix:
[1] https://gitlab.freedesktop.org/mesa/mesa/-/commit/
f59ff014b199af118ac9b90e3a67f15f4c37110e
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3805
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11955>
suijingfeng [Mon, 19 Jul 2021 13:05:54 +0000 (21:05 +0800)]
pass egl-symbols-check test on mips64el
Without this patch the egl symbols check test fail on mips platform:
72/87 mesa:egl / egl-symbols-check FAIL 0.20s (exit status 1)
src/egl/libEGL.so.1.0.0: unknown symbol exported: _fbss
src/egl/libEGL.so.1.0.0: unknown symbol exported: _fdata
src/egl/libEGL.so.1.0.0: unknown symbol exported: _ftext
See Mips Run say thoes special symbols are automatically defined by the
linker to allow programs to discover the start and end of their various
section. They are descended from conventions that grew up in UNIX-like OSs,
and are peculiar to the MIPS environment.
_fbss : Start of uninitialized data segment
_fdata : Start of initialized data segment
_ftext : Start of text segment
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11955>
suijingfeng [Mon, 19 Jul 2021 10:57:56 +0000 (18:57 +0800)]
gallivm: add basic mips64 support and set mcpu to mips64r5 on ls3a4000
ls3a4000 and ls2k1000 cpu is mips64r5 compatible with MSA SIMD
instruction set implemented, while ls3a3000 is mips64r2 compatible only.
Due to lacking llvm support for loongson CPU, llvm::sys::getHostCPUName().
return "generic" on all loongson mips CPU.
So we override the MCPU to mips64r5 if MSA is implemented, feedback to
mips64r2 for all other ordinaries.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11955>
Daniel Stone [Tue, 20 Jul 2021 12:54:16 +0000 (13:54 +0100)]
egl/wayland: Allow EGLSurface to outlive wl_egl_window
According to the EGL spec, it is entirely valid for an EGLSurface to
outlive the native_window it was created from, provided that SwapBuffers
and MakeCurrent return EGL_BAD_NATIVE_WINDOW.
We don't have any facility to error on MakeCurrent, so just make sure we
can bundle on safely through rendering for now, then return
EGL_BAD_NATIVE_WINDOW from SwapBuffers.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2251
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4902
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11979>
Daniel Stone [Tue, 20 Jul 2021 12:40:00 +0000 (13:40 +0100)]
egl/wayland: Error on invalid native window
We unconditionally require a wl_egl_window to be passed as the native
window type, and do not permit a default window. The spec requires us to
return EGL_BAD_NATIVE_WINDOW when doing this, rather than crashing.
Further, if an EGLSurface has already been created for an existing
native window, we are required to return EGL_BAD_ALLOC.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2251
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4902
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11979>
Daniel Schürmann [Tue, 20 Jul 2021 09:12:26 +0000 (11:12 +0200)]
aco/ra: don't allocate vector space for MIMG NSA operands
In this case, the MIMG vaddr components are not vector-aligned anymore, anyway.
Totals from 11866 (7.90% of 150170) affected shaders: (GFX10.3)
VGPRs: 733064 -> 728408 (-0.64%); split: -0.66%, +0.02%
CodeSize:
67968356 ->
67968440 (+0.00%); split: -0.02%, +0.02%
MaxWaves: 214022 -> 214014 (-0.00%)
Instrs:
12798200 ->
12797232 (-0.01%); split: -0.02%, +0.01%
Latency:
196427665 ->
196418706 (-0.00%); split: -0.02%, +0.01%
InvThroughput:
37082037 ->
37080799 (-0.00%); split: -0.02%, +0.02%
VClause: 246097 -> 246031 (-0.03%); split: -0.16%, +0.13%
Copies: 494852 -> 493923 (-0.19%); split: -0.52%, +0.34%
Branches: 220323 -> 220294 (-0.01%); split: -0.03%, +0.02%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11980>
Marcin Ślusarz [Tue, 20 Jul 2021 10:00:41 +0000 (12:00 +0200)]
anv: share some code between vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11975>
Juan A. Suarez Romero [Mon, 19 Jul 2021 16:17:36 +0000 (18:17 +0200)]
ci/v3dv: update expected results
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11970>
Marcin Ślusarz [Mon, 19 Jul 2021 16:29:21 +0000 (18:29 +0200)]
intel/tools/aubinator_error_decode: tag hanging instruction
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11957>
Corentin Noël [Wed, 21 Jul 2021 06:50:01 +0000 (08:50 +0200)]
ci: actually run piglit tests with virgl
Make sure that the host is using llvmpipe while the guest is using virgl as driver.
Note that the neverball/neverball.trace trace actually regressed in a way that the
foreground is missing.
Fixes:
f1b952fa ("ci: Run tests inside Crosvm")
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11986>
Iago Toral Quiroga [Tue, 20 Jul 2021 12:20:32 +0000 (14:20 +0200)]
v3dv: fix I/O lowering for GS
Fixes
9e7d9a6ef ('v3dv: add support for geometry shaders to pipelines')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11977>
Dave Airlie [Wed, 21 Jul 2021 04:55:41 +0000 (14:55 +1000)]
crocus/gen4-5: fix ff gs emit on VS vue map change.
This should fix some texturing problems seen on gen4/5, I reproduced it
with a minecraft.trace file
Fixes:
f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11993>
Dave Airlie [Sun, 18 Jul 2021 19:54:57 +0000 (05:54 +1000)]
docs: update anisotropic info for softpipe/llvmpipe/lavapipe
both drivers have proper implementations
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Dave Airlie [Sun, 18 Jul 2021 19:47:46 +0000 (05:47 +1000)]
llvmpipe/virgl/ci: update traces for aniso
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Mike Blumenkrantz [Thu, 27 May 2021 21:35:22 +0000 (17:35 -0400)]
lavapipe: add support for anisotropic texturing
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Dave Airlie [Mon, 8 Feb 2021 02:37:40 +0000 (12:37 +1000)]
llvmpipe: enable GL_ARB_texture_filter_anisotropic
Update checksums as images are same as softpipe.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Dave Airlie [Mon, 8 Feb 2021 02:33:51 +0000 (12:33 +1000)]
draw: add sampler max_aniso query.
Add support for draw shaders for retrieve max anisotropy.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Dave Airlie [Mon, 8 Feb 2021 02:37:07 +0000 (12:37 +1000)]
llvmpipe: add support for max aniso query.
This just joins the sampler code to the llvmpipe shader stages.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Dave Airlie [Mon, 8 Feb 2021 02:32:04 +0000 (12:32 +1000)]
gallivm: add support for anisotropic sampling.
This is a port of the softpipe anisotropic filtering
to llvmpipe. It should produce pretty similiar results.
This contains the proposed fix to the softpipe calculating
dq after scaling.
It also contains a number of other fixes around vector lengths
etc caught during test.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Dave Airlie [Mon, 8 Feb 2021 02:21:32 +0000 (12:21 +1000)]
llvmpipe: add filter table shader accessor
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Dave Airlie [Mon, 8 Feb 2021 01:40:19 +0000 (11:40 +1000)]
draw: add shader access to aniso filter table.
This allows the draw shaders to access the global filter table
vis the context ptr.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Dave Airlie [Mon, 8 Feb 2021 02:15:00 +0000 (12:15 +1000)]
gallivm: add anisotropic filter weight table.
The anisotropic filtering needs access to a table of weights,
to make the calculations easier. This routes the table
through from shader parameter and makes it available for the
sampler code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8804>
Mike Blumenkrantz [Wed, 14 Jul 2021 17:34:30 +0000 (13:34 -0400)]
gallium: add pipe_sampler_state::pad member
when zeroing the struct without memset, this needs to be zeroed to avoid
garbage data in the padding
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11886>
Jason Ekstrand [Mon, 12 Jul 2021 14:38:38 +0000 (09:38 -0500)]
nir: Add a format field to _deref image intrinsics
The rules here are the same as for texture instructions. The bits on
the intrinsic are the ground truth and are allowed to vary from the
deref a bit as-needed. If the intrinsic says PIPE_FORMAT_NONE, then we
can look at the variable, if visible, to get format information. This
means that we need to be careful when we rewrite intrinsics based on the
deref to only override the format from the _deref intrinsic from the
image variable unless the intrinsic is PIPE_FORMAT_NONE.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11849>
Jason Ekstrand [Mon, 12 Jul 2021 15:03:59 +0000 (10:03 -0500)]
nir: Set src_components = -1 for image intrinsic deref sources
Semantically, -1 means "Unknown; don't validate" but it's really only
used for derefs because they often need to be flexible. We don't really
need that flexibility for image intrinsics but this makes it more
consistent. More immediately useful is that this gives us the ability
to tell _deref forms of these intrinsics apart from the lowered ones.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11849>
Jason Ekstrand [Mon, 12 Jul 2021 14:37:01 +0000 (09:37 -0500)]
nir: Set IMAGE_DIM and IMAGE_ARRAY on deref intrinsics
The rules here are the same as for texture instructions. The bits on
the intrinsic are the ground truth and are allowed to vary from the
deref a bit as-needed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11849>
Jason Ekstrand [Mon, 12 Jul 2021 14:36:08 +0000 (09:36 -0500)]
glsl/nir: Use nir_ssa_undef() from nir_builder
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11849>
Iván Briano [Tue, 20 Jul 2021 18:55:58 +0000 (11:55 -0700)]
anv: Allow unused VkSpecializationMapEntries
Fixes future CTS: dEQP-VK.pipeline.spec_constant.*.basic.*unused_*
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11987>
Neha Bhende [Thu, 15 Jul 2021 00:25:48 +0000 (17:25 -0700)]
aux/draw: use nir_to_tgsi for draw shader in llvm path
Some drivers doesn't support PIPE_SHADER_CAP_INTEGERS.
This leads to using load_ubo_vec4 which throws llvmpipe off the guard since
it doesn't expect load_ubo_vec4 in shader. Use nir_to_tgsi utility in
such a case.
This fixes crash seen with conform's mustpass.c, select.c and feedback.c.
Also, few gl-select related piglit tests exhibit same crash. Found in vmware's
internal testing
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
v2: incorporated Emma's comments. Added check for PIPE_SHADER_CAP_INTEGERS and
remove PIPE_SHADER_IR_TGSI check
v3: As per Emma's comment, removed expected crashes for i915 piglit
v4: update expetcted passes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11911>
Michel Zou [Fri, 16 Jul 2021 06:51:47 +0000 (08:51 +0200)]
zink: Fix unused-variable warning
Fixes:
9b40fc48
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11920>
Mike Blumenkrantz [Fri, 16 Jul 2021 20:27:49 +0000 (16:27 -0400)]
nir/lower_point_size_mov: zero nir_state_slot::swizzle in new variable
this is otherwise uninitialized during nir_serialize calls
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11932>
Mike Blumenkrantz [Wed, 14 Jul 2021 17:46:42 +0000 (13:46 -0400)]
freedreno: use new tc util for setting bytes_mapped_limit
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11853>
Mike Blumenkrantz [Wed, 14 Jul 2021 17:44:39 +0000 (13:44 -0400)]
zink: use new tc util for setting bytes_mapped_limit
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11853>
Mike Blumenkrantz [Wed, 14 Jul 2021 17:44:07 +0000 (13:44 -0400)]
radeonsi: use new tc util for setting bytes_mapped_limit
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11853>
Mike Blumenkrantz [Wed, 14 Jul 2021 17:43:13 +0000 (13:43 -0400)]
util/tc: add a util function for setting bytes_mapped_limit
tc drivers set this based on os_get_total_physical_memory()/divisor,
which is going to be totally wrong for 32bit processes and explode
the address space
this util function can be used to handle per-platform clamping
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11853>
Mike Blumenkrantz [Tue, 11 May 2021 23:57:31 +0000 (19:57 -0400)]
zink: add changed flag for blend states
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11968>
Alejandro Piñeiro [Tue, 20 Jul 2021 10:46:16 +0000 (12:46 +0200)]
broadcom: don't define internal BPP values twice
We have a "maximum bpp of all render targets" field for several
packets. For them we were defining manually the possible values. But
all the possible values are the ones defined at the already defined
type "Internal BPP". So in practice we were defining the possible BPP
values twice.
Also for those fields, sometimes we were using the "Internal BPP" type
and in some other cases we were not, so this commit also adds some
consistency.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11976>
Juan A. Suarez Romero [Mon, 19 Jul 2021 10:18:11 +0000 (12:18 +0200)]
broadcom/compiler: emit TMU flush before a jump
Like in the case of emitting a block, process pending TMU operations
before a jump is executed.
Fixes dEQP-VK.graphicsfuzz.stable-binarysearch-tree-nested-if-and-conditional.
Fixes:
197090a3fca ("broadcom/compiler: implement pipelining for general
TMU operations")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11971>
Marek Olšák [Tue, 20 Jul 2021 09:23:25 +0000 (05:23 -0400)]
st/mesa: always use PIPE_USAGE_STAGING for GL_MAP_READ_BIT usage
This fixes CPU read performance.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5091
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11974>
Olivier Fourdan [Mon, 19 Jul 2021 07:29:46 +0000 (09:29 +0200)]
radeonsi: Check aux_context on si_destroy_screen()
The function radeonsi_screen_create_impl() tries to create the
aux_context but doesn't actually check for the returned value from
si_create_context().
Then, on si_destroy_screen() the aux_context is used without actually
checking whether it's a thing or not.
As a result, if for any reason si_create_context() failed, we shall
crash in si_destroy_screen() with a NULL pointer dereference trying to
access ((struct si_context *)sscreen->aux_context)->log.
Simply check for aux_context not being NULL to avoid that crash.
Cc: mesa-stable
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11948>
Pierre-Eric Pelloux-Prayer [Fri, 16 Jul 2021 16:43:32 +0000 (18:43 +0200)]
mesa: fix bindless uniform samplers update
According to the comment below some extra magic is needed
for bindless samplers, so don't do an early return in this
case.
Fixes:
736f1f70ab8 ("mesa: skip redundant uniform updates for glUniform")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4806
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11930>
Daniel Schürmann [Mon, 19 Jul 2021 13:01:09 +0000 (15:01 +0200)]
aco/optimizer: ensure to not erase high bits when propagating packed constants
Packed constants with non-zero values in the high half
might have been propagated as 16 bit, dropping the high half.
Cc: mesa-stable
Closes: #5070
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11954>
Dave Airlie [Wed, 14 Jul 2021 01:32:54 +0000 (11:32 +1000)]
clover/il: return IL only for spirv and correct length
This is specified as char[] and I don't think requires null termination,
Also we should only return IL based programs.
Fixes CTS spirv_new get_program_il
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11868>
Mike Blumenkrantz [Fri, 14 May 2021 23:53:24 +0000 (19:53 -0400)]
zink: remove screen info stuff from draw templates
we can initialize templates that we never need to evaluate again at
runtime, cutting the overhead for all tempaltes
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 20:40:06 +0000 (16:40 -0400)]
zink: add a ctx flag for shader reading basevertex
less rare than drawid, but still not great across repeated draw calls
with all the derefs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 20:33:29 +0000 (16:33 -0400)]
zink: use drawid_offset directly during draw
this used to be worth making a local variable for, now it's not
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 20:20:09 +0000 (16:20 -0400)]
zink: flatten descriptor_refs_dirty into BATCH_CHANGED template
that's all this is now
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 20:16:31 +0000 (16:16 -0400)]
zink: add a ctx flag for drawid reading
avoid needing so many derefs and a bitset to check this during draw
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 20:08:15 +0000 (16:08 -0400)]
zink: don't rebind vertex buffers if pipeline changes
two pipelines could use the exact same vertex buffers
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 20:04:35 +0000 (16:04 -0400)]
zink: stop flagging pipeline dirty for line width changes
this is a dynamic state, it's already out of the pipeline hash
also don't store to ctx
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 20:00:32 +0000 (16:00 -0400)]
zink: split pipeline_changed to use template value separately
this enables template-based conditional jumps when possible to avoid
needing to evaluate the other conditions
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 13 Jul 2021 14:37:24 +0000 (10:37 -0400)]
zink: add template for starting new cmdbuf
this avoids reading/updating context changed flags
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 21:49:24 +0000 (17:49 -0400)]
zink: if descriptor updating flushes, re-call draw/compute
ensure upcoming template is correct for now, but this will eventually
be refactored out
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 21:49:05 +0000 (17:49 -0400)]
zink: make descriptors_update hook return a bool if a flush occurred
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 19:07:15 +0000 (15:07 -0400)]
zink: add draw template for dynamic state
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 11 May 2021 18:48:56 +0000 (14:48 -0400)]
zink: start adding C++ draw templates
templated draw functions enable moving some checks/calculations/code
into template conditionals, which are resolved in advance of the draw call,
reducing draw overhead
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Tue, 13 Jul 2021 02:10:00 +0000 (22:10 -0400)]
zink: ifdef out some context prototypes/inlines for c++ compile
msvc HATES this one simple trick for successfully compiling code
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11964>
Mike Blumenkrantz [Fri, 14 May 2021 22:33:15 +0000 (18:33 -0400)]
zink: optimize shader recalc
now we only have to loop over the changed shaders that exist for the
program, and we can avoid a lot of hashing operations by reusing stored
hash values where possible
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11962>
Bas Nieuwenhuizen [Wed, 27 Jan 2021 17:06:21 +0000 (12:06 -0500)]
zink: set dedicated allocation when needed
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11958>
Mike Blumenkrantz [Mon, 19 Jul 2021 15:33:59 +0000 (11:33 -0400)]
zink: hook up VK_KHR_dedicated_allocation
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11958>
Mike Blumenkrantz [Mon, 19 Jul 2021 15:33:04 +0000 (11:33 -0400)]
zink: check for dedicated allocation requirements during image alloc
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11958>
Emma Anholt [Tue, 13 Jul 2021 20:39:36 +0000 (13:39 -0700)]
freedreno/ir3: Reduce choose_instr_dec() and _inc() overhead.
If you didn't have a freed+ready instruction, you'd redo the live_effect
and check_instr() logic multiple times per instr. Replace the multiple
loops in each function with a ranking that I think is more readable,
reducing the overhead in the process.
debugoptimized dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20
runtime goes from ~3.5s -> ~3.0s on my lazor. No shader-db change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11855>
Mike Blumenkrantz [Mon, 19 Jul 2021 21:21:04 +0000 (17:21 -0400)]
features: VK_EXT_color_write_enable for lavapipe
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11961>
Mike Blumenkrantz [Mon, 19 Jul 2021 20:23:31 +0000 (16:23 -0400)]
lavapipe: implement VK_EXT_color_write_enable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11961>
Mike Blumenkrantz [Mon, 19 Jul 2021 18:54:53 +0000 (14:54 -0400)]
lavapipe: add a padding member to rendering_state
I always forget where to steal bits from otherwise
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11961>
Kenneth Graunke [Fri, 16 Jul 2021 02:39:50 +0000 (19:39 -0700)]
gallium: Remove dead pb_malloc_buffer_create function prototype
This was deleted by commit
ec686a66dbf2180631564a3877884b1e4d0c8ea4.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11922>
Dave Airlie [Mon, 19 Jul 2021 00:22:09 +0000 (10:22 +1000)]
wl/shm: don't fetch formats if not requested.
This aligns the code with the drm format code
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11945>
Jose Maria Casanova Crespo [Fri, 16 Jul 2021 12:30:51 +0000 (14:30 +0200)]
v3d/driconf: Expose non-MSAA texture limits for mutter and gnome-shell
To enable dual 4k displays on mutter or gnome-shell under X11 we need to
expose the non-MSAA texture limit as we did for Xorg at
60a64f028d75ad6
("v3d: Use driconf to expose non-MSAA texture limits for Xorg.")
https://gitlab.gnome.org/GNOME/mutter/-/issues/1874
Cc: 21.1 21.2 mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11926>
Karol Herbst [Thu, 27 May 2021 16:59:37 +0000 (18:59 +0200)]
nv50/ir/nir: fix smem size for GL
Originally I fixed the case where the nir itself has a shared mem size of
0, but the frontend (e.g. clover) set it to some other value.
But st/mesa sets the shared mem size on the state object as well and we
end up actually doubling the value in the driver as we set smemSize to the
value from the state object before calling into the compiler.
So just max the value instead.
Fixes the compute_shader.shared-max CTS test.
Fixes:
dc667b1f192 ("nv50/ir/nir: fix smem size")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11047>
Andreas Bergmeier [Sun, 28 Feb 2021 18:52:36 +0000 (18:52 +0000)]
v3dv: implement VK_EXT_physical_device_drm
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9320>
M Henning [Fri, 26 Mar 2021 20:06:58 +0000 (13:06 -0700)]
nouveau: Support nir_intrinsic_*_atomic_fadd
This fixes failures in piglit's nv_shader_atomic_float tests with
NV50_PROG_USE_NIR=1
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9866>
Dave Airlie [Fri, 16 Jul 2021 02:28:57 +0000 (12:28 +1000)]
softpipe/aniso: move DDQ calculation to after scaling.
I've read the papers on EWA filters and it seems like the calculate
DDQ = 2 * A after the scaling of A happens. This seems to make
things less blurry and more like real aniso.
Fixes:
2135aba8 ("softpipe: Constify variables")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11917>
Alyssa Rosenzweig [Fri, 16 Jul 2021 23:17:53 +0000 (19:17 -0400)]
pan/bi: Shrink live array to 8-bits
We only actually use 4-bits, so we could shrink again. But this by
itself means 1/2 the memory usage for liveness analysis and 1/2 the
copying/alloc/free.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11936>
Alyssa Rosenzweig [Fri, 16 Jul 2021 22:43:19 +0000 (18:43 -0400)]
pan/bi: Clean up liveness freeing
This is ralloc'd, kind of pointless.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11936>
Alyssa Rosenzweig [Fri, 16 Jul 2021 22:40:39 +0000 (18:40 -0400)]
pan/bi: Clean up useless casts
Left over from removing inheritance with sed instead of coccinelle.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11936>
Alyssa Rosenzweig [Fri, 16 Jul 2021 22:33:43 +0000 (18:33 -0400)]
pan/bi: Copy block bi_block
Gets rid of the silly inheritance everywhere, which has caused _far_
more problems in practice than it has fixed. It was an idea I tried
before the pandemic. It didn't work. I'm finally cleaning it up.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11936>
Alyssa Rosenzweig [Fri, 16 Jul 2021 22:33:32 +0000 (18:33 -0400)]
pan/bi: Copy back bi_foreach_successor
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11936>
Alyssa Rosenzweig [Fri, 16 Jul 2021 22:22:54 +0000 (18:22 -0400)]
pan/bi: Copy back add_successor
Trying to get back independent block types.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11936>
Alyssa Rosenzweig [Fri, 16 Jul 2021 22:18:08 +0000 (18:18 -0400)]
pan/bi: Copy liveness routines back
We'll diverge shortly.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11936>
Timur Kristóf [Sat, 17 Jul 2021 21:25:52 +0000 (23:25 +0200)]
aco: Fix how p_elect interacts with optimizations.
Since p_elect doesn't have any operands, ACO's value numbering and/or
the pre-RA optimizer could currently recognize two p_elect instructions
in two different blocks as the same.
This patch adds exec as an operand to p_elect in order to achieve
correct behavior.
Fixes:
e66f54e5c83fd545e1a4062e683b584a35dacc00
Closes: #5080
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/11943>
Timothy Arceri [Thu, 15 Jul 2021 12:28:00 +0000 (22:28 +1000)]
glsl: replace some C++ code with C
This replaces some new/delete uses with malloc/free.
This is more consistent with most of the other glsl IR code but
more importantly it allows the game "Battle Block Theater" to
start working on some mesa drivers. The game overrides new and
ends up throwing an assert and crashing when it sees this
function calling new [0].
Note: The game still crashes with radeonsi due to similar conflicts
with LLVM.
CC: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11907>
Marek Olšák [Mon, 14 Jun 2021 03:00:44 +0000 (23:00 -0400)]
mesa: fix incorrect comment in draw_gallium_multimode
Fixes:
4566383ae4b ("gallium: move pipe_draw_info::index_bias to pipe_draw_start_count_bias")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11939>
Marek Olšák [Tue, 15 Jun 2021 00:51:20 +0000 (20:51 -0400)]
mesa: remove unused drawid_offset parameter from DrawGalliumMultiMode
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11939>
Marek Olšák [Mon, 14 Jun 2021 23:39:33 +0000 (19:39 -0400)]
st/mesa: inline st_setup_arrays on MSVC too by adding a wrapper
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11939>