Alejandro Piñeiro [Sun, 31 Jul 2022 00:51:05 +0000 (02:51 +0200)]
broadcom/compiler: pass a strategy struct to vir_compile_init
That allows to reduce the number of parameters of the method. And
after all, they were already filled using an existing strategy struct.
This would make easier adding new fields on a strategy.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185>
Alejandro Piñeiro [Mon, 13 Jun 2022 12:04:55 +0000 (14:04 +0200)]
v3dv/pipeline: use v3d_optimize_nir
Instead of using a custom optimize_nir method, with the same purpose.
Running the fossils for the v3dv well know applications (ue4 demos,
Quake3d, etc) we got somewhat inconclusive outcome in general,
although slightly worse values:
Instrs: 265129 -> 265277 (+0.06%); split: -0.06%, +0.12%
Thread Count: 5504 -> 5506 (+0.04%)
Totals from 153 (10.23% of 1495) affected shaders:
Instrs: 84603 -> 84751 (+0.17%); split: -0.19%, +0.37%
Thread Count: 316 -> 318 (+0.63%)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185>
Alejandro Piñeiro [Mon, 13 Jun 2022 10:43:12 +0000 (12:43 +0200)]
broadcom/compiler: add more lowerings/optimizations on v3d_optimize_nir
Optimizations that we are already calling on the Vulkan driver. As
preparation to the Vulkan frontend to use v3d_optimize_nir too.
We need to add a new parameter to v3d_optimize_nir in order to know if
we can call nir_opt_find_array_copies. As we don't track if we are
calling nir_var_lower_copies, we explicitly call it when we create the
uncompiled shader create. So instead of tracking, we assume that each
driver (v3d/v3dv) would call it when the shader is created. So when
v3d_optimize_nir is called as part of the process to compile it at the
compiler, we call it with allow_copies as false.
We exclude on purpose nir_opt_gcm as it is a case of a optimization
that could help performance even if it hurts shader db stats.
shaderdb stats:
total instructions in shared programs:
11705923 ->
11705034 (<.01%)
instructions in affected programs: 88350 -> 87461 (-1.01%)
helped: 201
HURT: 80
Instructions are helped.
total threads in shared programs: 375552 -> 375558 (<.01%)
threads in affected programs: 6 -> 12 (100.00%)
helped: 3
HURT: 0
total uniforms in shared programs: 3486108 -> 3485789 (<.01%)
uniforms in affected programs: 7473 -> 7154 (-4.27%)
helped: 90
HURT: 1
Uniforms are helped.
total max-temps in shared programs: 2021860 -> 2021802 (<.01%)
max-temps in affected programs: 800 -> 742 (-7.25%)
helped: 21
HURT: 3
Max-temps are helped.
total sfu-stalls in shared programs: 19299 -> 19296 (-0.02%)
sfu-stalls in affected programs: 18 -> 15 (-16.67%)
helped: 10
HURT: 7
Inconclusive result (value mean confidence interval includes 0).
total inst-and-stalls in shared programs:
11725222 ->
11724330 (<.01%)
inst-and-stalls in affected programs: 88402 -> 87510 (-1.01%)
helped: 201
HURT: 80
Inst-and-stalls are helped.
total nops in shared programs: 269674 -> 269386 (-0.11%)
nops in affected programs: 3641 -> 3353 (-7.91%)
helped: 103
HURT: 29
Nops are helped.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185>
Alejandro Piñeiro [Thu, 16 Jun 2022 21:26:22 +0000 (23:26 +0200)]
broadcom/compiler: update how we compute return_words_of_texture_data on non-ssa
For the non-ssa case, we were trying to use reg->num_components. But
this is not the same that nir_ssa_def_components_read. It is the
number of components of the destination register. And in the 16bit
case, even if nir_lower_tex packs the outcome, it doesn't update the
number of components, as nir_tex_instr_dest_size would still return
4. And nir validate would check that those values are the same.
So this change focuses on the last part of this comment at
nir_lower_tex:
* Note that we don't change the destination num_components, because
* nir_tex_instr_dest_size() will still return 4. The driver is just
* expected to not store the other channels, given that nothing at the
* NIR level will read them.
We just limit how many channels we would use for the f16 case.
It is also worth to note, based on the CTS and different applications
we test, that this is a corner case.
This was detected when we experimented to enable nir_opt_gcm for v3d,
that lead to raise an assertion slightly below with some shaderdb
tests, but technically it could happen without it.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185>
Alejandro Piñeiro [Mon, 13 Jun 2022 12:26:17 +0000 (14:26 +0200)]
broadcom/compiler: don't call nir_opt_load_store_vectorize on all v3d_optimize_nir calls
For compute shaders, to avoid a crash with that optimization, it requires
doing some optimizations and lowerings before. Example:
static void
lower_cs_shared(struct nir_shader *nir)
{
NIR_PASS_V(nir, nir_lower_vars_to_explicit_types,
nir_var_mem_shared, shared_type_info);
NIR_PASS_V(nir, nir_lower_explicit_io,
nir_var_mem_shared, nir_address_format_32bit_offset);
}
In the same way other drivers (like anv) calls
nir_opt_load_store_vectorize as part of their post-process-nir.
So one option would be to move nir_opt_load_store_vectorize outsize
the common v3d_nir_optimize, to a post-process nir method.
To make things simpler, this change calls that optimization only if we
have a v3d_compiler object, that is when each frontend has already
done their lowerings, and call the v3d_compiler to get the final
assembly (so we are already on a kind of post processing nir step).
This avoids dEQP-VK.memory_model.shared.basic_types.3 crashing if we
start to call v3d_optimize_nir on v3dv directly.
Slight shaderdb changes, but not significant.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185>
Yusuf Khan [Wed, 28 Sep 2022 01:01:50 +0000 (20:01 -0500)]
nouveau: put nv04 push macros in nouveau_winsys
Remove some of the duplicated code that comes from it
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18857>
Karol Herbst [Sun, 16 Oct 2022 21:02:01 +0000 (23:02 +0200)]
rusticl/mem: can only map staging textures directly
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19213>
Karol Herbst [Sun, 16 Oct 2022 20:59:47 +0000 (22:59 +0200)]
rusticl: force BIND_LINEAR on staging resources
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19213>
Gert Wollny [Tue, 25 Oct 2022 15:42:12 +0000 (17:42 +0200)]
r600/sfn: evaluate LDS location for color and clip-vertex too
This is required to support compatibility contexts
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6926
Fixes:
3340c7ce359252ad09b3e4d338837944482fb248
r600/sfn: lower CLIPVERTEX to clip planes
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Tue, 25 Oct 2022 15:41:15 +0000 (17:41 +0200)]
r600: Account for color and clipvertex when evaluating LDS space
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6926
Fixes:
3340c7ce359252ad09b3e4d338837944482fb248
r600/sfn: lower CLIPVERTEX to clip planes
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Tue, 25 Oct 2022 15:29:16 +0000 (17:29 +0200)]
r600/sfn: elimiate dead registers too
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Tue, 11 Oct 2022 06:14:05 +0000 (08:14 +0200)]
r600/sfn: Increase scheduling priority on uniform reads and non-ssa writes
* Non-ssa values are pre-allocated, so assigning values to these is
unlikely to increase register pressure.
* Uniforms are often used early in the shader to evaluate dependend
values so, don't penalize their scheduling priority like literal
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Fri, 7 Oct 2022 18:36:43 +0000 (20:36 +0200)]
r600/sfn: improve scheduling of tex sources
Let tex sources switch the channel to unused channels.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Fri, 7 Oct 2022 13:54:52 +0000 (15:54 +0200)]
r600/sfn: Trigger TEX CF based on max TEX CF size
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Fri, 7 Oct 2022 13:52:15 +0000 (15:52 +0200)]
r600/sfn: Allow copy-prop of group dest into origin
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Fri, 7 Oct 2022 18:09:18 +0000 (20:09 +0200)]
r600/sfn: Add test for channel changes in TEX source from opt
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Fri, 7 Oct 2022 14:21:42 +0000 (16:21 +0200)]
r600: Fix printing t-channel in diss-assambly
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Fri, 14 Oct 2022 13:29:55 +0000 (15:29 +0200)]
r600/sfn: Handle nir_op_seq and nir_op_sne
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Gert Wollny [Fri, 21 Oct 2022 18:43:23 +0000 (20:43 +0200)]
r600/sfn: Unify the handling of resource IDs in instruction
Fetch, GDS, Texture, and RAT instructions all use resources
with a possible offset defined by the index register. Unify
the handling of resource ID and the offset register for these
instruction types.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300>
Vinson Lee [Sun, 23 Oct 2022 19:28:44 +0000 (12:28 -0700)]
v3d: Fix initializer-overrides warning.
../src/gallium/drivers/v3d/v3d_screen.c:733:27: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
.lower_mul_high = true,
^~~~
/usr/lib/llvm-14/lib/clang/14.0.0/include/stdbool.h:16:14: note: expanded from macro 'true'
^
../src/gallium/drivers/v3d/v3d_screen.c:726:27: note: previous initialization is here
.lower_mul_high = true,
^~~~
/usr/lib/llvm-14/lib/clang/14.0.0/include/stdbool.h:16:14: note: expanded from macro 'true'
^
Fixes:
73e8fc3efbf ("broadcom/compiler: don't use imprecise_32bit_lowering for idiv lowering")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19262>
Yonggang Luo [Sun, 23 Oct 2022 14:54:01 +0000 (22:54 +0800)]
xlib: Remove the usage of global constructor in xlib.c, so the xm_public.h are removed
The usage of global constructor should be limited, only in absolutely needed case.
The call style of xlib_create_screen referenced to osmesa_create_screen
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258>
Yonggang Luo [Sun, 23 Oct 2022 14:45:59 +0000 (22:45 +0800)]
xlib: Getting xmesa_strict_invalidate to be function
So that doesn't be called in global constructor
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258>
Yonggang Luo [Mon, 24 Oct 2022 15:39:01 +0000 (23:39 +0800)]
ci: Getting debian-clang-release to building with glx=xlib
Because this is just building, didn't not used by CTS runner,
So enable glx=xlib in this build variant
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258>
Yonggang Luo [Sat, 22 Oct 2022 09:58:41 +0000 (17:58 +0800)]
ci/macOS: Getting the installed binary to be artifacts
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258>
Yonggang Luo [Sun, 23 Oct 2022 14:47:36 +0000 (22:47 +0800)]
xlib: Indent with space and trim trailing spaces of xlib files
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Ack-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258>
Yonggang Luo [Sun, 23 Oct 2022 15:47:32 +0000 (23:47 +0800)]
gallium: Remove mgl* prefix in linker script osmesa.sym and libgl-xlib.sym
Seeing no mgl prefixed function in codebase, so removed it
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Ack-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258>
Yonggang Luo [Sun, 23 Oct 2022 15:00:09 +0000 (23:00 +0800)]
xlib: Remove the linkage hack in lib.c by use meson link_whole option
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Ack-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258>
Yonggang Luo [Sat, 22 Oct 2022 06:49:56 +0000 (14:49 +0800)]
xlib: Fixes compiling on linux
configure command line:
meson ../.. -Dglx=xlib -Dosmesa=true
link error:
virgl_screen.c.o: in function `virgl_is_video_format_supported':
/mnt/c/work/xemu/mesa/build/windows-wsl2/../../src/gallium/drivers/virgl/virgl_screen.c:885: undefined reference to `vl_video_buffer_is_format_supported'
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7545
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Ack-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258>
Alyssa Rosenzweig [Fri, 21 Oct 2022 15:43:15 +0000 (11:43 -0400)]
panfrost: Use proper formats for pntc varying
The formats of special attributes are supposed to match their architectural
definitions, and point coordinates are architecturally defined as RGBA32F. In
practice this doesn't seem to fix anything.
Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19237>
Alyssa Rosenzweig [Fri, 21 Oct 2022 14:57:55 +0000 (10:57 -0400)]
panfrost: Don't use lower_wpos_pntc on Midgard
gl_PointCoord is implemented via a special attribute descriptor on Midgard. This
descriptor has an orientation bit, the orientation is driver-controlled. That
means we can map rast->sprite_coord_mode to this bit, rather than lowering in
the shader.
This is a bug fix for point sprites, which are implemented natively on Midgard
for dubious reasons and need to be flipped this way. It is also an optimization
for apps reading gl_PointCoord, removing the extra arithmetic to flip, although
the value of this is somewhat dubious.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19237>
Emma Anholt [Tue, 25 Oct 2022 17:28:35 +0000 (10:28 -0700)]
ci/freedreno: Update known flakes/timeouts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19304>
Emma Anholt [Tue, 25 Oct 2022 17:19:25 +0000 (10:19 -0700)]
ci/freedreno: Update CivV trace expectation.
Rendered scene still looks good, just a few pixels changed a bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19304>
Karol Herbst [Sat, 15 Oct 2022 21:00:37 +0000 (23:00 +0200)]
aux/trace: add set_global_binding
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19214>
Mike Blumenkrantz [Mon, 24 Oct 2022 20:46:59 +0000 (16:46 -0400)]
zink: elide a buffer samplerview update conditional
this is really part of the previous conditional blocks
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306>
Mike Blumenkrantz [Mon, 24 Oct 2022 20:44:34 +0000 (16:44 -0400)]
zink: rescope/simplify some push descriptor code
this is only used in the push descriptor block, so move it there and
simplify redundant cases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306>
Mike Blumenkrantz [Mon, 24 Oct 2022 20:58:18 +0000 (16:58 -0400)]
zink: flag push state changed in batch changed conditional
this will matter after future refactoring
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306>
Mike Blumenkrantz [Mon, 24 Oct 2022 18:30:18 +0000 (14:30 -0400)]
zink: split out uniform decriptor bindings in shader data
this is both more usable and fixes some descriptor util functionality
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306>
Mike Blumenkrantz [Fri, 21 Oct 2022 19:05:16 +0000 (15:05 -0400)]
zink: simplify some program descriptor helpers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306>
Karol Herbst [Tue, 25 Oct 2022 22:02:15 +0000 (00:02 +0200)]
zink: fix spirv_builder_spec_const_uint
We need to create the type upfront otherwise the spir-v binary gets
corrupted.
Fixes:
c305a2c9625 ("zink: move spec constant emission to the types/consts block")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19310>
Danylo Piliaiev [Wed, 19 Oct 2022 16:47:36 +0000 (18:47 +0200)]
freedreno: Add 'replay' tool which allows to replay cmdstreams
Replay command stream obtained from:
- /sys/kernel/debug/dri/0/rd
- /sys/kernel/debug/dri/0/hangrd
!!! Command stream capture should be done with ALL buffers:
- echo 1 > /sys/module/msm/parameters/rd_full
Requires kernel with MSM_INFO_SET_IOVA support.
This tool is intended for reproduction of various GPU issues:
- GPU hangs, note that command stream obtained from hangrd
may not reproduce (rarely) the hang, since the buffers are
snapshotted at the moment of the hang and not at the start
of the hanging command stream.
- TODO: Misrendering, would require marking framebuffer images
at each renderpass in order to fetch and decode them.
Code from Freedreno/Turnip is not re-used here since the relevant
pieces may introduce additional allocations which cannot be allowed
during the replay.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19171>
Samuel Pitoiset [Mon, 24 Oct 2022 02:15:06 +0000 (02:15 +0000)]
aco: add support for device clock on GFX11
According to LLVM, s_sendmsg_rtn(GET_REALTIME) should be used instead
of s_memrealtime.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19267>
Samuel Pitoiset [Tue, 25 Oct 2022 11:17:34 +0000 (13:17 +0200)]
aco: split the sendmsg enumeration into sendmsg_rtn
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19267>
Samuel Pitoiset [Mon, 24 Oct 2022 02:14:24 +0000 (02:14 +0000)]
aco: add support for s_sendmsg_rtn_b{32,64}
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19267>
Samuel Pitoiset [Fri, 21 Oct 2022 00:37:28 +0000 (00:37 +0000)]
ac/llvm: add support for device clock on GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19267>
Rhys Perry [Fri, 30 Sep 2022 18:29:43 +0000 (19:29 +0100)]
ac/nir: add legacy streamout and GS copy shader helpers
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19302>
Rhys Perry [Wed, 28 Sep 2022 18:32:26 +0000 (19:32 +0100)]
radv,nir: add intrinsics for streamout and GS copy shaders
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19302>
Emma Anholt [Tue, 25 Oct 2022 00:05:03 +0000 (17:05 -0700)]
turnip: Enable LRZ testing (not writing) in the presence of discards.
We can LRZ test to not rasterize maybe-discarded pixels, as long as we
don't LRZ write a Z that may be discarded. We can drop this check,
because LRZ writes are already disabled by TU_LRZ_FORCE_DISABLE_WRITE, and
tu_6_build_depth_plane_z_mode() uses has_kill to choose EARLY_LRZ_LATE_Z
(or just LATE_Z if LRZ isn't enabled).
gfxbench aztec ruins: +7.93104% +/- 0.117845% (n=4)
ANGLE trex_200: +11.7208% +/- 0.476166% (n=3)
ANGLE aztec_ruins_high: +11.9138% +/- 0.147586% (n=3)
Fixes: #6327 (now vk-5-normal is +0.712724% +/- 0.0655751% to gl-5-normal)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19286>
Eric Engestrom [Tue, 25 Oct 2022 08:20:37 +0000 (09:20 +0100)]
vc4: mark piglit copypixels-(draw-)sync as flaky
They sometimes fail when running all the tests together, but never when
running just them; not sure how to diagnose this, but for now jusk mark
them as flaky.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19295>
Eric Engestrom [Tue, 13 Sep 2022 14:56:45 +0000 (16:56 +0200)]
vc4: send shaderdb output through KHR_debug
This allows us to see the file names for the shaders.
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18599>
Jose Maria Casanova Crespo [Wed, 14 Apr 2021 18:03:21 +0000 (20:03 +0200)]
vc4: consolidate shader-db output
[Eric: update output string format for new shaderdb]
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18599>
Eric Engestrom [Fri, 21 Oct 2022 09:51:14 +0000 (10:51 +0100)]
vc4: use PIPE_MASK_RGBA name instead of its value 0xf
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18599>
Eric Engestrom [Wed, 24 Aug 2022 08:28:09 +0000 (09:28 +0100)]
vc4: pre-compile shaders to make up for the lack of draw calls in shader-db
This means we don't have the variant keys, and need to make up one
variant and pre-compile it.
Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18599>
Brian Paul [Wed, 21 Sep 2022 21:40:48 +0000 (15:40 -0600)]
llvmpipe: improve some if/switch code in llvmpipe_get_shader_param()
Move the PIPE_SHADER_CAP_PREFERRED_IR case into the switch statement.
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:14 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_texture.[ch]
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:14 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_tex_sample.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:13 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_test_main.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:13 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_test_format.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:13 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_test_conv.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:13 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_test_blend.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:13 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_state_vertex.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:13 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_state_tess.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:13 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_state_surface.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:13 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_state_so.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:12 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_state_rasterizer.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:12 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_state_gs.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:12 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_state_cs.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:12 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_state_clip.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 04:23:53 +0000 (22:23 -0600)]
llvmpipe: asst. clean-ups in lp_state_derived.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 16 Sep 2022 16:14:05 +0000 (10:14 -0600)]
llvmpipe: asst. clean-ups in lp_state_sampler.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:12 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_scene.h
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:12 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_scene.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:11 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_linear_sampler.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:11 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_linear_interp.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:11 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_flush.[ch]
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:11 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_fence.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:10 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_draw_arrays.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:10 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_debug.h
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 16 Sep 2022 16:14:15 +0000 (10:14 -0600)]
llvmpipe: asst. clean-ups in lp_bld_interp.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:10 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_bld_depth.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:10 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_bld_blend_aos.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:10 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_bld_alpha.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 16:19:54 +0000 (10:19 -0600)]
llvmpipe: asst. clean-ups in lp_setup_tri.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 04:26:24 +0000 (22:26 -0600)]
llvmpipe: remove gotos in do_rect_ccw()
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 16:19:46 +0000 (10:19 -0600)]
llvmpipe: asst. clean-ups in lp_setup_point.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 16:19:34 +0000 (10:19 -0600)]
llvmpipe: asst. clean-ups in lp_setup_line.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 04:23:21 +0000 (22:23 -0600)]
llvmpipe: asst. clean-ups in lp_setup_vbuf.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 04:23:07 +0000 (22:23 -0600)]
llvmpipe: asst. clean-ups in lp_setup_rect.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 04:22:35 +0000 (22:22 -0600)]
llvmpipe: asst. clean-ups in lp_setup.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 16 Sep 2022 16:00:37 +0000 (10:00 -0600)]
llvmpipe: asst. clean-ups in lp_query.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 16 Sep 2022 15:55:27 +0000 (09:55 -0600)]
llvmpipe: asst. clean-ups in lp_screen.[ch]
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 16 Sep 2022 15:51:41 +0000 (09:51 -0600)]
llvmpipe: asst. clean-ups in lp_surface.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 26 Aug 2022 01:31:27 +0000 (19:31 -0600)]
llvmpipe: asst. clean-ups in lp_context.[ch]
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 26 Aug 2022 01:30:30 +0000 (19:30 -0600)]
gallium: whitespace fixes in p_context.h, p_screen.h
Use consistent whitespace near parens. Replace tabs w/ spaces, etc.
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:11 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_rast_linear_fallback.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:11 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_rast_linear.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Wed, 21 Sep 2022 17:30:11 +0000 (11:30 -0600)]
llvmpipe: asst. clean-ups in lp_rast.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 26 Aug 2022 01:12:02 +0000 (19:12 -0600)]
llvmpipe: asst. clean-ups in lp_rast_rect.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 26 Aug 2022 01:04:57 +0000 (19:04 -0600)]
llvmpipe: asst. clean-ups in lp_rast_priv.h
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 26 Aug 2022 01:01:49 +0000 (19:01 -0600)]
llvmpipe: asst. clean-ups in lp_rast_debug.c
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>
Brian Paul [Fri, 26 Aug 2022 01:01:25 +0000 (19:01 -0600)]
llvmpipe: asst. clean-ups in lp_rast.h
Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289>