Alyssa Rosenzweig
279772b5ec
pan/bi: Implement load_blend_input via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
63863de923
pan/bi: Implement bi_emit_load_const via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
9841afad57
pan/bi: Implement bi_load_sysval via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
feecf0a3d8
pan/bi: Implement bi_emit_ld_tile via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
4de806a803
pan/bi: Add bi_make_vec_to helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
8a6ec4a5d8
pan/bi: Add bi_is_intr_immediate helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
693271c0a8
pan/bi: Add builder initialization helper
...
When going out of NIR, it's useful to start inserting instructions at
the end of the current block.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
226dfa9490
pan/bi: Add new style read/writemask helpers
...
In the medium term we'll want to overhaul these masks entirely since
they don't make much sense anymore, but as a stop gap, this will let us
reuse the existing liveness, RA, and DCE infrastructure.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
de3c66c2ba
pan/bi: Add bi_count_staging_registers helper
...
This will shortly be used for liveness analysis on the new IR.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
82328a5245
pan/bi: Generate instruction packer for new IR
...
Based on existing packing infrastructure, though modifier handling is
greatly simplified by using canonical modifier encodings in the IR.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
8ef0d41170
pan/bi: Generate builder routines
...
To simplify construction of Bifrost IR. Ideas from NIR's builder, as
well as IBC.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
1893a3805e
pan/bi: Generate instruction printer
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
b33ae46806
pan/bi: Add bi_not alias of bi_neg
...
For bitwise ops, we define .neg to mean .not to keep the IR manageable
("complement" more generally), but it's convenient to have specialized
names.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
3483b4e24c
pan/bi: Rename bi_load
...
Need to free up the symbol so it doesn't clash with the builder.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
45ab728bca
pan/bi: Rename bi_pack_{fma, add} to free up symbols
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
7af46aa695
pan/bi: Ensure fneg of a constant isn't reached
...
Fix the optimization loop like ir3 does.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
f40dec9f90
ci/panfrost: Skip test with 4096 byte shader
...
This has flake potential. There is clearly a hardware bug here but I
can't figure out what the correct solution is (padding out with nops
causes other tests to flake in turn).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Mike Blumenkrantz
73e8cf7ebd
features: mark off multidraw for zink
...
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8233 >
2020-12-31 13:41:30 +00:00
Mike Blumenkrantz
cef876910a
zink: enable PIPE_CAP_MULTI_DRAW_INDIRECT(_PARAMS) caps
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8233 >
2020-12-31 13:41:30 +00:00
Mike Blumenkrantz
a299ea3c89
zink: hook up IndirectCount draw commands
...
these take a draw count buffer
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8233 >
2020-12-31 13:41:30 +00:00
Mike Blumenkrantz
1c01ad1b80
zink: add KHR_draw_indirect_count detection
...
this is a vk 1.2 feature
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8233 >
2020-12-31 13:41:30 +00:00
Samuel Pitoiset
ef06f1bb03
radv: disable stippledBresenhamLines on GFX9
...
Some CTS fail on Vega10 but work on Raven.
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/8242 >
2020-12-31 09:17:21 +01:00
Eric Anholt
ff2601ffec
softpipe: Sanity check that the SSBO view offset is within the BO.
...
If we're going to check that the size matches, we should consider the
buffer offset too. I haven't tracked down any testcases doing this, but
it seems obviously correct.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
851e3af07c
gallium/tgsi_exec: Replace the SSBO RESQ-specific interface with lookup.
...
We've got the new lookup with size+ptr, just use that one for querying
buffer size.
This means we now return 0 instead of undefined for unbound buffers, but
it also means we return 0 for a buffer view with a size larger than that
of the underlying buffer.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
44c4979227
gallium/tgsi_exec: Move the SSBO store path to tgsi_exec, too.
...
Now that we have lookups, we can just fold this in.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
08dc1b2dcb
gallium/tgsi_exec: Use the new SSBO lookup interface for SSBO loads.
...
We were ignoring the requested size of the load in the overflow handling
and would read past the end of buffers, rather than just returning 0 as
robustness would like us to do.
Fixes valgrind complaint on softpipe in:
EQP-GLES31.functional.shaders.builtin_functions.common.sign.float_mediump_compute
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
89ec36457e
gallium/tgsi_exec: Reuse the atomic helper for SSBO atomics.
...
I needed to refactor SSBOs to deal with a buffer overflow, and it's easier
to just delete the SSBO atomic code from the interface.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
85be1f867c
gallium/tgsi_exec: Fix shared memory atomic ops.
...
It was only executing the first channel, ignoring the rest. I also
cleaned things up to not loop over rgba, since atomics are only ever to a
single 32-bit value per invocation.
This worked on softpipe previously because it only dispatches 1 CS
invocation per TGSI exec machine anyway, wasting the other 3 slots.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
28a202f2d3
ci/softpipe: Re-enable GS tests that had been banned for being flaky.
...
Now that the flakes should be fixed, turn the coverage on.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8277 >
2020-12-30 21:54:06 -08:00
Eric Anholt
969f50ddcf
gallium/draw: Fix intermittent failure to bind new geometry shaders.
...
If you deleted your old GS and created a new one, then it would
occasionally skip binding the new GS because the token pointers were
equal. Clear the current token pointer in the machine when we're deleting
its token.
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8277 >
2020-12-30 21:54:06 -08:00
Dylan Baker
c911872b02
docs: update calendar and link releases notes for 20.3.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8280 >
2020-12-30 20:19:51 -08:00
Dylan Baker
6398411b6c
docs: Add sha256 sum for 20.3.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8280 >
2020-12-30 20:19:44 -08:00
Dylan Baker
fc5b436a7b
docs: add release notes for 20.3.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8280 >
2020-12-30 20:19:43 -08:00
Mike Blumenkrantz
aec03553e1
zink: fix tess shader i/o variables
...
this was a mismerge during refactoring for review
Fixes: d09f9da4c4 ("zink: add ntv handling for tess shader i/o variables")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8232 >
2020-12-31 01:34:38 +00:00
Mike Blumenkrantz
b9c2a0b4c6
zink: require KHR_maintenance2 for tessellation and set bottom-left origin
...
this makes tessellation work as expected in apps but has no impact on unit tests
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Witold Baryluk <witold.baryluk@gmail.com >
Tested-by: Witold Baryluk <witold.baryluk@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8274 >
2020-12-31 01:28:35 +00:00
Adam Jackson
435de835cd
swrast: Remove the classic swrast DRI driver
...
Following up from the classic swrast OSMesa removal in favor of
llvmpipe/softpipe, remove the classic swrast DRI driver. It's unused by
any distribution -- debian was the last holdout until this week, which had
it enabled instead of softpipe on obscure platforms (non-LLVM and hurd).
Now that debian has switched, remove the driver so nobody can accidentally
enable it again.
Fixes : #325 , #324 , #322 , #321 , #319 , #318 , #317 , #315 , #313 , #311 , #310 ,
#306 , #305 , #304 , #302 , #301 , #300 , #299 , #298 , #297 , #293 , #289
Reviewed-by: Eric Anholt <eric@anholt.net > (commit message rewritten)
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8069 >
2020-12-31 00:15:29 +00:00
Nanley Chery
38529675ef
iris: Support clears in more GPU-based copies
...
Commit 7779b1d71b , disabled clear support
when copying to/from color buffers. According to the performance CI, it
falls within a range of commits that introduced a performance regression
on Bioshock Infinite with Tigerlake. Icelake isn't noticeably affected.
By analyzing a trace of the game, I found a couple cases where that
commit added new partial resolves. Update get_copy_region_aux_settings
to avoid them:
- The trace uploads to R8_UNORM textures. On TGL, these enter the
COMPRESSED_CLEAR state on the upload and are partially resolved before
every subsequent upload. Thankfully, they keep their initial clear
color of all zeroes. Since zeros can survive format reinterpretation,
allow clear support for it.
- The trace copies between RGBA16_FLOAT textures. The ones with zero
clear color are helped by the optimization above. The ones with
non-zero clear color are used as source textures. Thankfully on ICL+,
the clear color used for sampling is in pixel form and can thus be
sampled from with format reinterpretation. Allow clear support for
this case.
I haven't tested the actual performance impact of this change, but it
should be beneficial regardless.
Reported-by: Clayton Craft <clayton.a.craft@intel.com >
Reported-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8262 >
2020-12-30 23:50:22 +00:00
Nanley Chery
de853627c7
iris: Move STC case in get_copy_region_aux_settings
...
Combine the STC_CCS case with the HiZ cases.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8262 >
2020-12-30 23:50:22 +00:00
Eric Anholt
28d37e0fe1
ci/panfrost: Disable the flaky gimark trace.
...
Fixes: dcb8f62554 ("ci: add piglit jobs to LAVA and remove tracie ones")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8263 >
2020-12-30 21:26:05 +00:00
Vinson Lee
c10d46bac7
swr: Fix typos.
...
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8223 >
2020-12-30 13:10:52 -08:00
Tony Wasserka
9d59c84e31
aco/ra: Avoid redundant RegisterFile copies in get_reg_impl
...
Now that this function does not block RegisterFile entries anymore,
the temporary copy is only needed upon reaching the collect_vars call.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8261 >
2020-12-30 17:36:33 +01:00
Mike Blumenkrantz
2f5f542460
zink: avoid replacing valid tcs with injected one
...
need to check both arrays here since we only want to use an injected shader
if we don't have a real one, not just if the real one isn't being updated
Fixes: 334759d850 ("zink: implement passthrough tcs shader injection")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8271 >
2020-12-30 16:02:10 +00:00
Danylo Piliaiev
7c3140db22
freedreno/a6xx: support layered framebuffers in blitter_clear
...
Clear is done with one instanced draw call, where the layer
to clear is controlled by gl_Layer.
Same as how util_blitter_clear does this.
Fixes test:
gl-3.2-layered-rendering-clear-color-all-types 2d_multisample_array single_level
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7919 >
2020-12-30 12:05:09 +02:00
Danylo Piliaiev
7fbdb6861b
freedreno/a6xx: add support for gl_Layer in vertex shader
...
Passes amd_vertex_shader_layer-layered-2d-texture-render
Don't enable GL_AMD_vertex_shader_layer because we do not pass
amd_vertex_shader_layer-layered-depth-texture-render due to
the assert:
emit_blit: Assertion `psurf->u.tex.first_layer == psurf->u.tex.last_layer'
However, in current state it is still useful for clearing
of arrayed framebuffers.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7919 >
2020-12-30 11:27:41 +02:00
Danylo Piliaiev
de75cb3abc
freedreno/a6xx: fix array pitch for layer-first layouts
...
Fixes:
gl-3.2-layered-rendering-gl-layer-render
gl-3.2-layered-rendering-gl-layer-render-clipped
gl-3.2-layered-rendering-gl-layer-render-storage
gl-3.2-layered-rendering-gl-layer-cube-map
Would fix:
amd_vertex_shader_layer-layered-2d-texture-render
when GL_AMD_vertex_shader_layer is enabled.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3929
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7919 >
2020-12-30 11:27:41 +02:00
Gert Wollny
bb4c73748d
doc: virgl supports ARB_texture_filter_anisotropic already
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8257 >
2020-12-30 09:02:22 +00:00
Samuel Pitoiset
d90a102a01
radv: add a Python script to check if a VA was ever valid
...
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/7891 >
2020-12-30 08:40:21 +01:00
Samuel Pitoiset
6ed4332591
radv: dump VA ranges history when a GPU hang is detected
...
This is enabled only with RADV_DEBUG=hang. This adds a small
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3904
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/7891 >
2020-12-30 08:40:19 +01:00
Vinson Lee
15e7e6443c
d3d12: Initialize local_resource member mapped in constructor.
...
Fix defect reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member mapped is not initialized in this
constructor nor in any functions that it calls.
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8193 >
2020-12-29 21:44:12 -08:00
Timothy Arceri
6c8cc9be12
glsl: default to compat shaders in compat profile
...
If the shader does not specify "core" or "compatibility" in shaders
above 1.40 we were defaulting these shaders to core shaders when
in a compat profile. Instead default to compat shaders.
This brings us inline with the behaviour of the binary drivers and
fixes a crash on start-up for the game Foundation.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3594
Fixes: c7e3d31b0b ("glsl: fix compat shaders in GLSL 1.40")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6993 >
2020-12-30 11:47:49 +11:00