Rhys Perry
b729cd58d7
nir/algebraic: eliminate exact a*0.0 if float execution mode allow it
...
fossil-db (GFX10):
Totals from 611 (0.44% of 139391) affected shaders:
SGPRs: 40528 -> 40288 (-0.59%)
VGPRs: 16136 -> 16152 (+0.10%); split: -0.15%, +0.25%
CodeSize: 970192 -> 951036 (-1.97%)
MaxWaves: 10561 -> 10557 (-0.04%); split: +0.08%, -0.11%
Instrs: 174874 -> 172879 (-1.14%); split: -1.18%, +0.04%
fossil-db (GFX10.3):
Totals from 611 (0.44% of 139391) affected shaders:
SGPRs: 40680 -> 40488 (-0.47%)
VGPRs: 18368 -> 18276 (-0.50%); split: -0.57%, +0.07%
CodeSize: 1050712 -> 1033624 (-1.63%); split: -1.64%, +0.02%
MaxWaves: 8658 -> 8674 (+0.18%)
Instrs: 205364 -> 201220 (-2.02%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5523 >
2021-01-26 11:36:13 +00:00
Rhys Perry
614ab26afd
nir/algebraic: optimize out exact a+0.0 if it's used only as a float
...
fossil-db (GFX10):
Totals from 133 (0.10% of 139391) affected shaders:
SGPRs: 7864 -> 7856 (-0.10%); split: -0.20%, +0.10%
VGPRs: 4884 -> 4836 (-0.98%)
CodeSize: 288932 -> 287084 (-0.64%)
MaxWaves: 1973 -> 1979 (+0.30%)
Instrs: 53899 -> 53550 (-0.65%)
fossil-db (GFX10.3):
Totals from 133 (0.10% of 139391) affected shaders:
SGPRs: 7832 -> 7835 (+0.04%); split: -0.06%, +0.10%
VGPRs: 5144 -> 5088 (-1.09%)
CodeSize: 318912 -> 316696 (-0.69%)
MaxWaves: 1735 -> 1746 (+0.63%)
Instrs: 65367 -> 64853 (-0.79%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5523 >
2021-01-26 11:36:13 +00:00
Rhys Perry
2f0d480c73
aco: optimize out a*1.0 if it's used as a float
...
fossil-db (GFX10):
Totals from 370 (0.27% of 139391) affected shaders:
CodeSize: 641436 -> 634156 (-1.13%); split: -1.14%, +0.00%
Instrs: 117668 -> 115739 (-1.64%); split: -1.64%, +0.00%
fossil-db (GFX10.3):
Totals from 370 (0.27% of 139391) affected shaders:
SGPRs: 26888 -> 26912 (+0.09%)
VGPRs: 13964 -> 13916 (-0.34%)
CodeSize: 692008 -> 679008 (-1.88%)
MaxWaves: 4779 -> 4783 (+0.08%)
Instrs: 134265 -> 132026 (-1.67%); split: -1.67%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5523 >
2021-01-26 11:36:13 +00:00
Rhys Perry
54a09545ec
aco: optimize a*0.0
...
fossil-db (GFX10):
Totals from 1943 (1.39% of 139391) affected shaders:
SGPRs: 99952 -> 99544 (-0.41%); split: -0.44%, +0.03%
VGPRs: 60880 -> 60272 (-1.00%); split: -1.02%, +0.02%
CodeSize: 5138488 -> 5107500 (-0.60%); split: -0.61%, +0.01%
MaxWaves: 32193 -> 32380 (+0.58%)
Instrs: 983178 -> 975684 (-0.76%); split: -0.77%, +0.01%
fossil-db (GFX10.3):
Totals from 1943 (1.39% of 139391) affected shaders:
SGPRs: 99832 -> 99648 (-0.18%); split: -0.25%, +0.06%
VGPRs: 64708 -> 63944 (-1.18%); split: -1.27%, +0.09%
CodeSize: 5196732 -> 5157632 (-0.75%); split: -0.76%, +0.00%
MaxWaves: 27478 -> 27486 (+0.03%); split: +0.06%, -0.03%
Instrs: 1007222 -> 998737 (-0.84%); split: -0.84%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5523 >
2021-01-26 11:36:13 +00:00
Rhys Perry
2849f0b5aa
nir/algebraic: optimize out exact a*1.0 if it's used only as a float
...
fossil-db (GFX10):
Totals from 10180 (7.30% of 139391) affected shaders:
SGPRs: 549392 -> 549448 (+0.01%); split: -0.00%, +0.01%
VGPRs: 243228 -> 243008 (-0.09%); split: -0.11%, +0.02%
CodeSize: 12939080 -> 12603996 (-2.59%); split: -2.59%, +0.00%
MaxWaves: 186948 -> 186976 (+0.01%)
Instrs: 2497266 -> 2414648 (-3.31%)
fossil-db (GFX10.3):
Totals from 10180 (7.30% of 139391) affected shaders:
SGPRs: 549672 -> 549280 (-0.07%); split: -0.23%, +0.16%
VGPRs: 289296 -> 283672 (-1.94%); split: -2.83%, +0.88%
CodeSize: 13920180 -> 13255560 (-4.77%); split: -4.77%, +0.00%
MaxWaves: 151789 -> 153165 (+0.91%)
Instrs: 2756978 -> 2671517 (-3.10%); split: -3.10%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5523 >
2021-01-26 11:36:13 +00:00
Rhys Perry
0c3d8e8e2e
aco: disable a*1.0 optimization if the instruction is precise
...
fossil-db (GFX10):
Totals from 10370 (7.44% of 139391) affected shaders:
SGPRs: 564072 -> 564016 (-0.01%); split: -0.01%, +0.00%
VGPRs: 248312 -> 248532 (+0.09%); split: -0.02%, +0.11%
CodeSize: 12866732 -> 13208904 (+2.66%); split: -0.00%, +2.66%
MaxWaves: 190198 -> 190170 (-0.01%)
Instrs: 2460818 -> 2545351 (+3.44%)
fossil-db (GFX10.3):
Totals from 10370 (7.44% of 139391) affected shaders:
SGPRs: 563904 -> 564272 (+0.07%); split: -0.16%, +0.22%
VGPRs: 289344 -> 295016 (+1.96%); split: -0.88%, +2.84%
CodeSize: 13519204 -> 14197020 (+5.01%); split: -0.00%, +5.01%
MaxWaves: 155946 -> 154566 (-0.88%)
Instrs: 2719177 -> 2806919 (+3.23%); split: -0.00%, +3.23%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5523 >
2021-01-26 11:36:13 +00:00
Andres Gomez
8da467f4fe
ci: make piglit runner less noisy and show a better failure message
...
v2:
- Do not silence piglit run (Michel).
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net > [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8632 >
2021-01-26 10:05:31 +00:00
Juan A. Suarez Romero
be33083141
ci/vc4: Add piglit job
...
This adds a couple of jobs to execute piglit testsuite in VC4
(quick_shader and quick_gl profiles).
It is defined as a manual test as it takes time to execute them.
v2:
- Add more excluded tests (Eric)
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Acked-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8702 >
2021-01-26 09:45:29 +00:00
Juan A. Suarez Romero
a825919dc6
ci/vc4: rename stage to Broadcom
...
It fits better with what other drivers has done.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Acked-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8702 >
2021-01-26 09:45:29 +00:00
Juan A. Suarez Romero
ea88e1c820
ci/vc4: allow custom timeout values for activity
...
The script that monitors activity in the serial assumes that something
was wrong if it does not detect activity in 60 seconds, rebooting the
device and re-trying the test again.
While this timeout is enough for most cases, in some cases it is not
enough. For instance, when executing piglit testsuite it takes quite a
few time to generate the results after the test is done.
This allow to setup a custom timeout (`BM_POE_TIMEOUT`) in the proper
jobs.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Acked-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8702 >
2021-01-26 09:45:29 +00:00
Samuel Pitoiset
23461897fe
radv: add support for emitting PS_DONE/CS_DONE on GFX6-8
...
On GFX6, EOS events are always emitted with EVENT_WRITE_EOS.
On GFX7+, EOS events are emitted with EVENT_WRITE_EOS on the
graphics queue, and with RELEASE_MEM on the compute queue.
Fixes: 9c65f1f111 ("radv: synchronize Cmd{Set,Write}Event() using PS_DONE/CS_DONE events")
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/8710 >
2021-01-26 09:26:58 +00:00
James Park
cbcb9e7e1b
radv: Fix struct initialization for MSVC
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7793 >
2021-01-26 09:16:15 +00:00
James Park
28c4960ca5
radv: Use typed outarray API
...
MSVC cannot perform GCC __typeof__ for C code. (C++ has decltype.)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7793 >
2021-01-26 09:16:15 +00:00
James Park
6992f5419a
radv: Disable calibrated timestamps on Windows
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7793 >
2021-01-26 09:16:15 +00:00
James Park
2e81ed2a47
radv: Pointer arithmetic on char/uint8_t, not void
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7793 >
2021-01-26 09:16:15 +00:00
James Park
879b5f41f4
radv: Modify radv_descriptor_set for MSVC legality
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7793 >
2021-01-26 09:16:15 +00:00
James Park
c0b4b8fc74
radv: Stub sections that don't have _WIN32 support
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7793 >
2021-01-26 09:16:15 +00:00
James Park
146e326275
radv: Remove unnecessary headers
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7793 >
2021-01-26 09:16:14 +00:00
James Park
b7db6ceb9a
radv: Use linker pragma to simulate weak functions
...
MSVC has an undocumented feature that can act as GCC weak functions.
Also fix warnings about returning a value from void functions.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7793 >
2021-01-26 09:16:14 +00:00
Caio Marcelo de Oliveira Filho
10b3eecd36
spirv: Don't remove variables used by resource indexing intrinsics
...
In Vulkan, for some variable modes, the generated NIR will have derefs
pointing to resource index intrinsics instead of the variable. This
was letting nir_remove_dead_variables pass remove those variables,
which would lose information relevant for later passes after
spirv2nir.
Add a set to keep track of such variables and prevent them to be
removed when producing the NIR output.
Issue reported by Rhys.
Fixes: c4c9c780b1 ("spirv: Remove more dead variables")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8706 >
2021-01-26 05:58:34 +00:00
Caio Marcelo de Oliveira Filho
cb7352ae95
nir: Add a data pointer to the callback in nir_remove_dead_variables
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8706 >
2021-01-26 05:58:34 +00:00
Vinson Lee
f1cffe2394
clover: Add constructor for global_argument.
...
Fix defects reported by Coverity Scan.
member_not_init_in_gen_ctor: The compiler-generated constructor for this class does not initialize buf.
member_not_init_in_gen_ctor: The compiler-generated constructor for this class does not initialize svm.
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8623 >
2021-01-26 05:30:39 +00:00
Sagar Ghuge
001722b3a3
anv: Skip CCS ambiguate which preceed fast-clears
...
We can skip CCS ambiguate if followed by a fast clear within render
pass.
v2: (Jason)
- Check array layer as well since we only fast clear first layer and
first LOD.
- Don't drop fast clear check while doing resolve operation.
Fixes: d5849bc840 "anv: Skip HiZ and CCS ambiguates which preceed fast-clears"
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6988 >
2021-01-26 00:08:59 +00:00
Francisco Jerez
e2c5ef6cd6
intel/gen12: Fix memory corruption issues in fused Gen12 parts.
...
According to the BSpec page for MEDIA_VFE_STATE, on Gen12 platforms
"if a fused configuration has fewer threads than the native POR
configuration, the scratch space allocation is based on the number of
threads in the base native POR configuration". However we currently
use the subslice count from devinfo->num_subslices[0], which only
includes the subslices currently enabled by the platform fusing. This
leads to scratch space underallocation and occasional hangs.
The problem is likely to affect most Gen12 GPUs with less than 96 EUs.
GFXBench5 Aztec Ruins is able to reproduce the issue fairly reliably.
Fixes: 9e5ce30da7 "intel: fix the gen 12 compute shader scratch IDs"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8636 >
2021-01-26 00:01:27 +00:00
Icecream95
1d967132f3
panfrost: Use normal malloc/free instead of ralloc for surfaces
...
Fixes a double-free in some Qt5 WebEngine apps (e.g. ghostwriter).
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8678 >
2021-01-25 23:48:11 +00:00
Rob Clark
46e9800408
freedreno/a6xx: Fix 3dmark misrendering with unwritten MRTs
...
Fixes an issue with 3dmark caused by a shader that only writes mrt0 in a
renderpass that has two color buffers bound, resulting in mrt1 getting
random/undefined values.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8685 >
2021-01-25 23:19:23 +00:00
Eric Anholt
aa1ddb6fe3
freedreno: Skip some batch dependency tracking if !ctx->dirty.
...
drawoverhead test 1 perf 4.37618% +/- 0.933261% (n=57)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8602 >
2021-01-25 23:00:12 +00:00
Eric Anholt
49b83509fe
freedreno: Move framebuffer state checks under a ctx->dirty flag.
...
Anything changing this should have flagged FD_DIRTY_FRAMEBUFFER.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8602 >
2021-01-25 23:00:12 +00:00
Eric Anholt
6e29757a57
freedreno: Move blend gmem checks to a blend dirty state check.
...
We don't need to do this every draw call. We do now consider the blend
enable field of a non-present color buffer, because it's not worth
filtering that case out.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8602 >
2021-01-25 23:00:12 +00:00
Eric Anholt
e4e46f2c4c
freedreno/a6xx: Skip the body of emit_state if we're clean.
...
drawoverhead test 1 (no state change) perf +5.43864% +/- 1.28466% (n=10).
Part of #4106 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8602 >
2021-01-25 23:00:12 +00:00
Mike Blumenkrantz
0376064783
zink: guarantee surface lifetimes for shader images
...
these may be unset from the ctx before the draw command has completed,
so we need (more) references to prevent that
Fixes: 3f9a6d333b ("zink: export shader image caps using features")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8627 >
2021-01-25 22:53:08 +00:00
Sagar Ghuge
dab229ef69
anv: Invalidate the correct AUX-TT entry
...
While invalidating the AUX-TT entries, we have to consider the surface
offset as well otherwise, we will end up invalidating another surface's
CCS portion.
For eg. when we have HiZ+CCS and STC_CCS enabled, both will use the CCS
portion allocated at the end of BO. While invalidating the CCS portion
of stencil buffer, we will end up invalidating the CCS portion that
belongs to the depth main surface and vice-versa, if the surface offset
is not considered.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4123
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Acked-by: Nanley Chery <nanley.g.chery@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8677 >
2021-01-25 22:37:39 +00:00
Lionel Landwerlin
998f38bd99
anv: fix invalid programming of BLEND_STATE
...
We can't enable Logic Op & Color Buffer Blend. The Vulkan spec seems
to say Logic Op discards blending.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable@lists.freedesktop.org
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3767
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8691 >
2021-01-25 22:03:58 +00:00
Rhys Perry
f8072c133d
nir/opt_uniform_atomics: fix elect detection
...
fossil-db (GFX10.3):
Totals from 30 (0.02% of 139391) affected shaders:
SGPRs: 1736 -> 1712 (-1.38%)
CodeSize: 262116 -> 254728 (-2.82%)
Instrs: 50341 -> 48857 (-2.95%)
Cycles: 486384 -> 477556 (-1.82%)
VMEM: 4821 -> 4589 (-4.81%)
Copies: 5013 -> 4890 (-2.45%)
Branches: 2108 -> 1983 (-5.93%)
PreSGPRs: 1444 -> 1418 (-1.80%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8654 >
2021-01-25 21:04:52 +00:00
Rhys Perry
eb70c52abe
nir/opt_uniform_atomics: recognize more complicated invocation comparisons
...
For example, gl_LocalInvocationID.x + gl_LocalInvocationID.y * 8.
fossil-db (GFX10.3):
Totals from 8 (0.01% of 139391) affected shaders:
CodeSize: 15224 -> 14800 (-2.79%)
Instrs: 2880 -> 2798 (-2.85%)
Cycles: 44556 -> 44204 (-0.79%)
VMEM: 407 -> 473 (+16.22%); split: +17.69%, -1.47%
Copies: 491 -> 483 (-1.63%)
Branches: 200 -> 192 (-4.00%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8654 >
2021-01-25 21:04:52 +00:00
Bas Nieuwenhuizen
12ce72fcfc
radv: Use stricter HW resolve swizzle compat check.
...
D and linear are both DISPLAY micro tiling according to ac_surface
but don't work together. This fixes an issue with GFX9+.
This fixes the SkQP WritePixelsNonTexture_Gpu test.
Fixes: 69ea473eeb ("amd/addrlib: update to the latest version")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8665 >
2021-01-25 20:53:16 +00:00
Adam Jackson
abed28866b
docs: Mark some ES3 zink features complete
...
These are already enabled:
- GL_ARB_draw_indirect
- GL_ARB_framebuffer_no_attachments
- GL_ARB_shader_atomic_counters
- GL_ARB_shader_image_load_store
- GL_ARB_shader_image_size
- GL_ARB_stencil_texturing
- GL_ARB_texture_multisample
- GS5 Enhanced textureGather
- GS5 Packing/bitfield/conversion functions
- GL_KHR_robustness
- GL_KHR_texture_compression_astc_ldr
- GL_OES_sample_variables
- GL_OES_shader_multisample_interpolation
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8701 >
2021-01-25 20:49:30 +00:00
Adam Jackson
eb33bfc717
docs: Mark some non-core zink extensions complete
...
These are already exposed:
- GL_ARB_gpu_shader_int64
- GL_KHR_texture_compression_astc_sliced_3d
- GL_OES_texture_float
- GL_OES_texture_float_linear
- GL_OES_texture_half_float
- GL_OES_texture_half_float_linear
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8701 >
2021-01-25 20:49:30 +00:00
Christian Gmeiner
81ab9fe2d0
etnaviv: handle NULL views in set_sampler_views
...
Passing NULL for the views parameter should be the same as passing an
array of NULL, according to the documentation. So let's respect that
detail.
This fixes a crash when using GALLIUM_HUD. The wrong handling of views
parameter was causing problems starting with
2813688f8d ("gallium/hud: don't use cso_context to restore VBs, constbuf 0 and sampler views").
Cc: <mesa-stable@lists.freedesktop.org >
Fixes: c9e8b49b88 ("etnaviv: gallium driver for Vivante GPUs")
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8670 >
2021-01-25 20:42:22 +00:00
Eric Anholt
f180bf3e03
ci: Add a fractional deqp run of softpipe with asan enabled.
...
This should help us avoid landing memory leaks (and some buffer overflows)
throughout the GL stack. I put the asan lib in x86_test-base because
we'll want asan for lavapipe, too.
This requires keeping debug symbols for the asan drivers in the artifacts,
as otherwise you can't do much with the backtraces it produces.
Closes : #3726
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530 >
2021-01-25 18:50:26 +00:00
Eric Anholt
b183b6ddd7
util/bitset: Avoid dereferencing the bitset for size == 0.
...
If we don't have any bits in our set, don't go reading the pointer. Fixes
invalid accesses caught by ASan in liveness and nir_to_tgsi when
impl->ssa_alloc == 0.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530 >
2021-01-25 18:50:26 +00:00
Eric Anholt
efff70e73f
gallium: Fix leak of shader images on context destruction.
...
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530 >
2021-01-25 18:50:26 +00:00
Eric Anholt
f259fcae83
panfrost: Stub out set_shader_images().
...
If PAN_MESA_DEBUG=deqp is set to enable testing, then we advertise shader
images to get GLES3.1, even though we don't have any of the shader image
funcs hooked up. This caused breakage when cso started unbinding shader
images at context destruction.
Just stub out the function for now, you'll still segfault when creating an
image.
Cc: mesa-stable (for the next commit)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530 >
2021-01-25 18:50:26 +00:00
Eric Anholt
9445c3d59f
swr: Don't report support for shader images.
...
gallivm has images support, but this driver doesn't.
Cc: mesa-stable (for the upcoming shader image leak fix)
Acked-by: Jan Zielinski <jan.zielinski@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530 >
2021-01-25 18:50:26 +00:00
Eric Anholt
fb25ef153a
nir_to_tgsi: Fix buffer overflow in atomic image compswap.
...
Caught by the new asan CI job.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530 >
2021-01-25 18:50:26 +00:00
Eric Anholt
58e43594fc
r300,i915g: Report no shader buffers or images on non-TCL HW.
...
We don't have the driver hooks to set the state, or to update draw's copy
of the state at draw time.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Fixes: d6fd7acf9b79 ("gallium: Fix leak of bound SSBOs at CSO context
destruction.")
Closes : #3990
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8530 >
2021-01-25 18:50:26 +00:00
Mike Blumenkrantz
c3719f3b9b
zink: flag gfx pipeline dirty using newer mechanism
...
this wasn't updated during rebases
Fixes: 334759d850 ("zink: implement passthrough tcs shader injection")
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8696 >
2021-01-25 18:40:06 +00:00
Ryan Neph
6fb66d18be
Revert "virgl: fix BGRA emulation artifacts during window resize"
...
This reverts commit accc222217 .
The change in accc2222 caused a regression in gameplay for a few valve
games such as Portal 2 where textures were rendered darker than
expected.
Reverting to restore normal gameplay at the smaller cost of
re-introducing the issue described in !8119 .
Fixes: accc2222 ("virgl: fix BGRA emulation artifacts during window resize")
Signed-off-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8664 >
2021-01-25 17:58:16 +00:00
Erik Faye-Lund
9052819ebb
zink: request texcoord replace lowering
...
We don't actually support point-sprites by texcoord replacement, so let's
remove that cap. This allows gallium to automatically lower this to the
PNTC varying instead, which we do support.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6473 >
2021-01-25 17:32:33 +00:00
Erik Faye-Lund
3b705ea511
gallium/st: lower point-sprites if not supported
...
Not all drivers supports the texcoord replacement needed for
point-sprites, but all drivers support gl_PointCoord. So let's lower
this so we can support point-sprites for all drivers.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6473 >
2021-01-25 17:32:33 +00:00