Mike Blumenkrantz [Tue, 12 Apr 2022 18:50:21 +0000 (14:50 -0400)]
zink: require renderpass2
drivers should be able to support this, and it allows for deleting
a lot of untested code
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
Mike Blumenkrantz [Tue, 12 Apr 2022 18:53:09 +0000 (14:53 -0400)]
zink: only use VK_DEPENDENCY_BY_REGION_BIT if sync2 is available
this breaks texture barriers since non-sync2 barriers don't have this
available
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
Mike Blumenkrantz [Tue, 12 Apr 2022 18:48:52 +0000 (14:48 -0400)]
zink: hook up VK_KHR_create_renderpass2
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
Mike Blumenkrantz [Tue, 12 Apr 2022 19:07:29 +0000 (15:07 -0400)]
zink: remove driver-based max_fences throttling
there are no more fence objects, so there's no need to do driver-specific
clamping on them
the mechanism remains intact to handle ETOOMANYSUBMITS
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
Mike Blumenkrantz [Fri, 25 Mar 2022 16:21:58 +0000 (12:21 -0400)]
zink: rename zink_query::batch_id
this conflicts with zink_fence::batch_id and is confusing in grep
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
Mike Blumenkrantz [Fri, 25 Mar 2022 16:20:41 +0000 (12:20 -0400)]
zink: remove batch lock
this is no longer needed and allows deleting some awful code
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
Mike Blumenkrantz [Fri, 25 Mar 2022 16:18:42 +0000 (12:18 -0400)]
zink: require timeline semaphores
this allows the removal of tons of awful code
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
Mike Blumenkrantz [Fri, 25 Mar 2022 16:09:50 +0000 (12:09 -0400)]
zink: do not create fences at all if timeline semaphores are supported
there's no point in doing this, as it's just extra objects that don't need
to ever be used
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
Mike Blumenkrantz [Fri, 15 Apr 2022 16:59:03 +0000 (12:59 -0400)]
zink: fix extended restart prim types without dynamic state2
these are all allowed with the ext
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15978>
Mike Blumenkrantz [Fri, 15 Apr 2022 16:57:25 +0000 (12:57 -0400)]
zink: support restart with PIPE_PRIM_LINES_ADJACENCY if ext is available
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15978>
Mike Blumenkrantz [Thu, 14 Apr 2022 20:18:10 +0000 (16:18 -0400)]
zink: unconditionally set line width on rasterizer state change
the pipe cap is used for gating wideline support, so this will always
be 1.0 when not supported
furthermore, the previous code wasn't accurately checking line width
for tess shaders, breaking tests
cc: mesa-stable
fixes (nv):
KHR-GL46.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_PatchVerticesIn
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960>
Mike Blumenkrantz [Thu, 14 Apr 2022 13:02:28 +0000 (09:02 -0400)]
zink: use mixed zs renderpass for depth read/write
this is triggered by u_blitter when doing src==dst blits
Fixes:
7781a75229d ("zink: add a renderpass flag for mixed zs layout")
affects:
GTF-GL46.gtf30.GL3Tests.framebuffer_blit.framebuffer_blit_functionality*
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960>
Mike Blumenkrantz [Wed, 13 Apr 2022 18:19:58 +0000 (14:19 -0400)]
zink: reject resource creation if format features don't match attachment
if a rendertarget-specified image can't be a rendertarget or a blit dst
then it can't be used for the designated functionality and must be rejected
cc: mesa-stable
fixes hangs on various nv driver versions:
dEQP-GLES2.functional.texture.mipmap.2d.generate.rgba5551_fastest
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960>
Mike Blumenkrantz [Mon, 18 Apr 2022 14:54:17 +0000 (10:54 -0400)]
zink: add baseline for amdpro
got some work to do here
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15980>
Mike Blumenkrantz [Fri, 15 Apr 2022 17:54:59 +0000 (13:54 -0400)]
zink: disable EXT_extended_dynamic_state2 on AMDPRO
this is broken beyond space and time in 22.10-1395274
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15980>
Mike Blumenkrantz [Fri, 15 Apr 2022 15:18:07 +0000 (11:18 -0400)]
zink: remove tcs patch slot map
this is illegal, and we'll just have to eat some piglit fails
until indirects are handled
Fixes:
f7ade1f1885 ("zink: simplify shader i/o assignment")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15976>
Erik Faye-Lund [Wed, 13 Apr 2022 10:46:55 +0000 (12:46 +0200)]
gallium: rename ldexp shader-cap
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922>
Erik Faye-Lund [Wed, 13 Apr 2022 10:46:55 +0000 (12:46 +0200)]
gallium: rename dfracexp/dldexp shader-cap
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922>
Erik Faye-Lund [Wed, 13 Apr 2022 10:46:55 +0000 (12:46 +0200)]
gallium: rename dround shader-cap
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922>
Erik Faye-Lund [Wed, 13 Apr 2022 10:46:55 +0000 (12:46 +0200)]
gallium: rename continue shader-cap
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922>
Mike Blumenkrantz [Sat, 16 Apr 2022 16:16:14 +0000 (12:16 -0400)]
zink: clamp max shader images to 32
NO MATTER WHAT.
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16013>
Konstantin Seurer [Mon, 18 Apr 2022 08:42:14 +0000 (10:42 +0200)]
radv: Fix ray queries with !15854
Fixes: b62e90a ("radv: use nir_op_imm helpers")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16004>
Georg Lehmann [Mon, 18 Apr 2022 11:11:56 +0000 (13:11 +0200)]
aco: Remove some old comments in aco_opcodes.py.
s_cmovk_i32 isn't GFX8_GFX9 only and s_version doesn't need a comment to say
it's GFX10+ exclusive. The encoding list is enough to provide this information,
as for other GFX10+ instructions.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16006>
Sviatoslav Peleshko [Tue, 12 Apr 2022 09:52:27 +0000 (12:52 +0300)]
mesa: flush bitmap caches when changing scissors or window rects state
If we change the sate without flushing the bitmap cache, the cache might be
rendered with the new scissor, which excludes some parts that should've
been rendered with the old state, and vice versa.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6233
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15881>
Juan A. Suarez Romero [Mon, 18 Apr 2022 09:11:48 +0000 (11:11 +0200)]
ci/v3dv: remove fixed test
`dEQP-VK.api.external.semaphore.opaque_fd.info_timeline` is already
fixed.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16005>
Timothy Arceri [Mon, 18 Apr 2022 03:53:21 +0000 (13:53 +1000)]
nir: fix setting varying from uniform as flat
Here we just make sure we match the interpolation type on both
sides of the shader interface. Drivers like d3d12 are expecting
this.
Fixes:
9401990e6f7a ("nir/linker: set varying from uniform as flat")
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16003>
illiliti [Fri, 1 Apr 2022 15:57:13 +0000 (18:57 +0300)]
Use proper types for meson objects
Fix invalid usage of meson objects which violates official meson
specification and thus breaks muon, an implementation of meson
written in C.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15715>
Samuel Pitoiset [Thu, 14 Apr 2022 15:31:51 +0000 (17:31 +0200)]
radv: fix initializing pipeline_key::topology for GFX9 and older
This is used to determine the geometry shader info on GFX9, and it
looks like it was broken for topologies that use adjacency.
This is also used to remove PSIZ from shaders that don't need it.
Found by inspection.
fossils-db (Polaris10):
Totals from 140 (0.10% of 135960) affected shaders:
SGPRs: 10448 -> 9696 (-7.20%)
VGPRs: 4376 -> 4264 (-2.56%)
CodeSize: 164316 -> 161028 (-2.00%)
Instrs: 26449 -> 25767 (-2.58%)
Latency: 184448 -> 180468 (-2.16%)
InvThroughput: 80772 -> 79092 (-2.08%)
VClause: 337 -> 328 (-2.67%); split: -2.97%, +0.30%
SClause: 859 -> 813 (-5.36%); split: -5.70%, +0.35%
Copies: 1027 -> 790 (-23.08%)
PreSGPRs: 2751 -> 2331 (-15.27%)
PreVGPRs: 3887 -> 3836 (-1.31%)
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15948>
Timothy Arceri [Thu, 14 Apr 2022 03:35:57 +0000 (13:35 +1000)]
glsl/st: vectorise interfaces of SSO shader programs
For example the SSO program may consist of just tcs -> gs or even
just a vs. In these cases we want to vectorise the externally
facing shader interfaces just like we would in non SSO programs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15941>
Lionel Landwerlin [Tue, 29 Mar 2022 08:47:23 +0000 (11:47 +0300)]
intel/fs: require memory fence commit bit on Gfx9
Fixes a hang on Gfx9 GT1 : dEQP-VK.compute.zero_initialize_workgroup_memory.max_workgroup_memory.128
Tested-by: Mark Janes <markjanes@swizzler.org>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15596>
Lionel Landwerlin [Sat, 26 Mar 2022 21:59:26 +0000 (23:59 +0200)]
intel: fix URB programming for GT1s
We're missing a programming restriction.
Hopefully fixing
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_1.* on
Gfx9atoms
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6216
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>.
Tested-by: Mark Janes <markjanes@swizzler.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15596>
Josh Billingsley [Sun, 17 Apr 2022 18:36:14 +0000 (18:36 +0000)]
driconf: add SD Gundam G Generation Cross Rays
Required to avoid blank white screen on game launch
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15998>
Gert Wollny [Sun, 17 Apr 2022 07:47:28 +0000 (09:47 +0200)]
r600/sfn: Fix store_shared_r600 write masks
The error was caught by the new nir_validation code.
Fixes:
73ef225fc277cd7ccc996a0306cc3e9a30c46fa3
nir: validate write_mask for all intrinsics that have it
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15994>
Marek Olšák [Tue, 12 Apr 2022 23:11:11 +0000 (19:11 -0400)]
gallium/winsys: move {amdgpu,radeon_drm}_public.h contents into radeon_winsys.h
header file simplification
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15907>
Marek Olšák [Tue, 12 Apr 2022 23:06:24 +0000 (19:06 -0400)]
gallium: move radeon_winsys.h into gallium/include/winsys/
it's used by 3 different drivers, so it shouldn't be in radeonsi
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15907>
Marek Olšák [Tue, 12 Apr 2022 22:30:46 +0000 (18:30 -0400)]
gallium: move drivers/radeon/* into drivers/radeonsi/
this is only used by radeonsi
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15907>
Emma Anholt [Tue, 12 Apr 2022 00:27:13 +0000 (17:27 -0700)]
nir: Avoid generating extra ftruncs for array handling.
It's quite likely that the source of the f2i32 was already an integer, in
which case we can skip the ftrunc (particularly useful on the int-to-float
class of hardware that's unlikely to just have a native trunc opcode!).
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15870>
Emma Anholt [Tue, 12 Apr 2022 00:33:58 +0000 (17:33 -0700)]
nir: Skip fround_even on already-integral values.
Just like the other make-the-float-an-integer opcodes. Noticed in a
gallium nine shader run through TGSI-to-NIR, where the array index had
been floored by the user, but got implicitly rounded by DX9 array
indexing.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15870>
Emma Anholt [Mon, 11 Apr 2022 23:28:05 +0000 (16:28 -0700)]
nir: Add lowering for fround_even on r300.
When we put NIR in the compiler stack for r300, indirect addressing broke
for gallium nine. DX's array indirects round the float value, so the DX
shader gets mapped to a TGSI "ARR ADDR[0] src.x" instruction. Translating
that to NIR maps to r0[f2i32(fround(src.x))]. While we might hope that in
translation back using nir-to-tgsi after optimization we would recognize
the construct and emit ARR again, that's going to be error prone (think
"what if src.x is in a NIR register?") so we need a fallback plan. r300
will be able to handle this lowering, so get it in place first to fix the
regression.
Fixes: #6297
Fixes:
7d2ea9b0edef ("r300: Request NIR shaders from mesa/st and use NIR-to-TGSI.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15870>
Leandro Ribeiro [Mon, 11 Apr 2022 01:54:36 +0000 (22:54 -0300)]
Revert "egl/wayland: deprecate drm_handle_format() and drm_handle_capabilities()"
Commit
af1ee8e010441f8f2ed8c77065b159652a4ac9fe dropped support to
wl_drm, as we thought that most compositors from active projects were
already supporting zwp_linux_dmabuf_v1.
But that's not true, so revert this commit in order to give these
projects a longer transition period.
Note that we didn't add back the support to GEM name API, and that was
on purpose.
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15822>
Icecream95 [Fri, 15 Apr 2022 11:50:33 +0000 (23:50 +1200)]
panfrost: Stop overallocating compressed textures
The line stride uses the number of bytes in the entire block, so both
the width and height need to be reduced for compressed textures so
that the surface stride is calculated correctly.
Fixes:
051d62cf041 ("panfrost: Add a pan_image_layout_init() helper")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6286
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15989>
Alyssa Rosenzweig [Wed, 13 Apr 2022 17:46:17 +0000 (13:46 -0400)]
docs/panfrost: Document drm-shim usage
Document how to build and use Panfrost's drm-shim implementation. I hope by
documenting this process, other Mesa developers are better able to test
Panfrost. In particular, this allows developers without Mali hardware to run
shader-db for any Mali target, which may be useful for debugging regressions
from common NIR changes.
drm-shim is not a substitute for testing against real hardware.
Special thanks to Emma Anholt and Icecream95 for building this infrastructure.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15930>
Alyssa Rosenzweig [Thu, 14 Apr 2022 15:23:48 +0000 (11:23 -0400)]
panfrost: Rework PAN_GPU_ID mechanism
Originally, PAN_GPU_ID was checked in the driver itself. I added the mechanism
to run Bifrost shader-db on my Midgard laptop. There was no drm-shim support at
this point, and this was a reasonable stop gap at the time.
Nowadays, we have a competent drm-shim implementation, which wholly replaces
this use case. So PAN_GPU_ID is only useful for drm-shim. Let's pull the code
into drm-shim and get it out of the driver. This allows NDEBUG drm-shim builds
to work properly.
While we're at it, the default emulated GPU is changed from Mali-T860 to
Mali-G52. This reflects our shifting development priorities.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Suggested-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15930>
Alyssa Rosenzweig [Thu, 14 Apr 2022 20:31:48 +0000 (16:31 -0400)]
panfrost: Dirty track batch masks
Since
5d187e9cade ("panfrost: Add helpers to set batch masks"), we have common
helpers to set the colour and depth/stencil batch masks. Rather than set the
masks in various Midgard/Bifrost specific paths, set them generically based on
the finer dirty tracking. This lets us share the logic with Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15956>
Alyssa Rosenzweig [Thu, 14 Apr 2022 20:12:01 +0000 (16:12 -0400)]
panfrost: Rework dirty tracking for Valhall
Midgard aggregates a large amount of state into its renderer state descriptor.
Our current dirty tracking reflects this, with a single RENDERER dirty flag.
That won't work well on Valhall, which splits out orthogonal state into
independent descriptors (a blend descriptor, a depth/stencil descriptor, and so
on). To prepare for Valhall support, this patch moves the driver to finer dirty
tracking.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15956>
Alyssa Rosenzweig [Thu, 14 Apr 2022 14:53:08 +0000 (10:53 -0400)]
docs/panfrost: Document u-interleaved tiling
The optimized routine documented the tiling format together with the software
algorithm. The reference implementation wants the tiling format alone
documented. Let's break out the high level documentation into somewhere
centrally accessible, and refocus the comments in the optimized file on the
optimization.
This documentation is linked bidirectionally with both implementations, so it
should be easy to find.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Fri, 8 Apr 2022 20:26:14 +0000 (16:26 -0400)]
panfrost: Unit test u-interleaved tiling routines
These are complex and not used in all dEQP paths. They're also easy to unit
test, so add some tests to prevent regressions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Thu, 14 Apr 2022 15:48:41 +0000 (11:48 -0400)]
panfrost: Document arguments to tiling routines
The exact semantics of these routines are subtle, although they match what
Gallium wants. We're about to add unit tests. Add some comments that make it
obvious what it is we expect these routines to do. (In particular, it's not a
general region-of-interest copy, it's a region-of-interest of the tiled image
and the entire linear staging image.)
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Thu, 14 Apr 2022 14:34:51 +0000 (10:34 -0400)]
panfrost: Assert alignment in tiling routine
We depend on this invariant implicitly. Make that dependence explicit so we
don't get confused and add broken unit tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Thu, 7 Apr 2022 18:48:48 +0000 (14:48 -0400)]
panfrost: Allow tiling all texture targets
Now that tiled access to 3D textures works, we can enable tiling on all texture
targets. In particular, this adds tiling support for cube maps, arrays, and 3D
textures. Previously, these would usually fall back to linear, which is hard on
the caches.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Sat, 9 Apr 2022 22:24:33 +0000 (18:24 -0400)]
panfrost: Only tile for 2D dimensions
1D textures (Nx1 or 1xN) do not benefit from tiling. Don't try, it's a waste.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Suggested-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Thu, 7 Apr 2022 18:48:05 +0000 (14:48 -0400)]
panfrost: Implement tiled 3D resource access
We need to access each layer separately. This is a simple generalization of the
existing tiled 2D resource access code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Thu, 7 Apr 2022 18:46:55 +0000 (14:46 -0400)]
panfrost: Only handle 2D in should_linear_convert
The tiled->linear conversion mechanism is meant for 2D and doesn't handle tiled
+ 3D. This use case is not expected application behaviour, it's not worth the
complexity to try to handle.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Thu, 7 Apr 2022 18:02:53 +0000 (14:02 -0400)]
panfrost: Remove bpp check for tiling
All pixel formats are now tileable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Alyssa Rosenzweig [Thu, 7 Apr 2022 17:58:36 +0000 (13:58 -0400)]
panfrost: Add 48-bit and 96-bit tiling routines
Thanks to our macros and some type trickery, our generic tiling routines are
type-generic. So we just need to add 48-bit and 96-bit texel types to tile. Note
we only support power-of-two bit sizes in the specialized tile routines for the
sake of replacing a multiplication with a shift.
With this change, all pixel formats supported in Panfrost are tileable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803>
Rhys Perry [Fri, 8 Apr 2022 18:29:22 +0000 (19:29 +0100)]
radv: always use nir_lower_io_lower_64bit_to_32
Our I/O lowering doesn't handle 64-bit TCS stores and TES loads which use
several slots. Because of the large stride between slots, we have to split
the load so that there's a single load_buffer_amd/store_buffer_amd
intrinsic for each slot.
Our I/O lowering also sometimes creates nir_op_pack_64_2x32 after
nir_lower_alu_to_scalar.
Fixes KHR-GL45.gpu_shader_fp64.fp64.varyings with Zink
(https://gitlab.freedesktop.org/mesa/mesa/-/issues/6276)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15863>
Rhys Perry [Mon, 11 Apr 2022 18:45:57 +0000 (19:45 +0100)]
ac/nir: fix 64-bit NGG GS output stores
I don't know why this was here. The DIV_ROUND_UP ensures that it's always
at least 1 and the MIN2 ensures that it's never greater than 1.
Fixes some KHR-Single-GL46.enhanced_layouts.varying_* tests with zink:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6301
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15863>
Michel Zou [Sun, 10 Apr 2022 07:51:52 +0000 (09:51 +0200)]
gallium: fix unused symbols warnings
fixes:
d760a915
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15840>
Jason Ekstrand [Fri, 15 Apr 2022 20:20:17 +0000 (15:20 -0500)]
nir/opcodes: fisfinite32 should return bool32
Otherwise constant-folding will fold it to 0/1 instead of 0/~0.
Fixes:
330e28155f79 ("nir: add 32-bit bool of fisfinite")
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15984>
Jason Ekstrand [Fri, 15 Apr 2022 20:06:40 +0000 (15:06 -0500)]
nir,microsoft: Move scale_fdiv into a common NIR pass
While we're at it, convert to nir_shader_instructions_pass() to get rid
of some boilerplate and get metadata correct.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15983>
Jason Ekstrand [Fri, 15 Apr 2022 20:24:11 +0000 (15:24 -0500)]
intel/compiler: Set lower_fisnormal
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15985>
Rhys Perry [Fri, 25 Mar 2022 19:55:30 +0000 (19:55 +0000)]
radv: use inot(a) instead of ine(a, true)/ieq(a, false)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>
Rhys Perry [Fri, 25 Mar 2022 19:53:38 +0000 (19:53 +0000)]
radv: use nir_op_imm helpers
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>
Rhys Perry [Wed, 30 Mar 2022 10:56:01 +0000 (11:56 +0100)]
radv: use radv_meta_build_nir_vs_generate_vertices() more
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>
Rhys Perry [Wed, 30 Mar 2022 10:52:58 +0000 (11:52 +0100)]
radv: initialize meta shader options earlier
We might need this for NIR builders.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>
Rhys Perry [Tue, 29 Mar 2022 19:16:01 +0000 (20:16 +0100)]
radv: remove unnecessary align_mul/offset initialization
Since
af51efe195b, these builders fill these in with scalar alignment if
not provided.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>
Rhys Perry [Tue, 29 Mar 2022 19:16:54 +0000 (20:16 +0100)]
nir/builder: add nir_{ine,ibfe,ubfe}_imm() helper
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>
Rhys Perry [Thu, 14 Apr 2022 18:20:40 +0000 (19:20 +0100)]
nir/gather_info: fix system_value_read for rt/mesh system values
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes:
c7eaf030687 ("radv: use shader_info::system_values_read")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15952>
Rhys Perry [Thu, 14 Apr 2022 17:57:51 +0000 (18:57 +0100)]
ac/nir: properly handle large global access constant offsets
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes:
61ac5acca3b ("radv,ac/nir: lower global access to _amd global access intrinsics")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6321
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15951>
Lionel Landwerlin [Wed, 1 Sep 2021 10:01:11 +0000 (13:01 +0300)]
anv: use shadow surface for stencil input attachment on gfx7
This fixes a number of tests like :
dEQP-VK.renderpass*.suballocation.multisample.s8_uint.*
dEQP-VK.renderpass*.suballocation.multisample.separate_stencil_usage.d24_unorm_s8_uint.*.test_stencil
dEQP-VK.renderpass*.suballocation.multisample.d24_unorm_s8_uint.*
dEQP-VK.renderpass*.suballocation.multisample.d32_sfloat_s8_uint.*
Because the driver asserts when generating RENDER_SURFACE_STATE with a
8 Valign value for stencil buffer (only 2 & 4 are supported).
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12670>
Samuel Pitoiset [Wed, 13 Apr 2022 14:37:09 +0000 (16:37 +0200)]
radv: add support for VkShaderModuleCreateInfo as pNext
With VK_EXT_graphics_pipeline_library, modules can be passed via the
pNext of VkpipelineShaderStageCreateInfo.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15926>
Samuel Pitoiset [Mon, 11 Apr 2022 10:05:48 +0000 (12:05 +0200)]
radv: add support for independent descriptor set layouts
With VK_EXT_graphics_pipeline_library, pipeline layouts created with
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT might contain NULL
descriptor sets.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15926>
Samuel Pitoiset [Fri, 18 Mar 2022 07:34:26 +0000 (08:34 +0100)]
radv: fix enabling adjust_frag_coord_z and apply per-pipeline
Fossilize always enables all supported extensions, that means that
adjust_frag_coord_z would always be enabled on RDNA2, even if the
application doesn't enable it. The pipeline key would then be different
and precompilation wouldn't work. Move this per-pipeline since we can
know if VRS will be used.
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/15444>
M Henning [Tue, 8 Feb 2022 06:00:02 +0000 (01:00 -0500)]
nouveau/nir: Allow up to 6 nested joins
This matches what the tgsi path does and doesn't regress any tests. (For
comparison, unlimited join nesting does regress tests in deqp and piglit)
Fixes graphical artifacts from stack overflows in
https://www.shadertoy.com/view/Xds3zN
with nir on kepler
Reviewed-by: Emma Anholt <emma@anholt.net>
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15597>
Enrico Galli [Fri, 11 Feb 2022 01:47:32 +0000 (17:47 -0800)]
microsoft/compiler: Fix when using a shadow sampler more than once
Reusing the shadow sampler's variable causes problems when the sampler
is used more than once. The remaining `deref_var`s will be using the
wrong type.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988>
Enrico Galli [Thu, 10 Feb 2022 22:37:32 +0000 (14:37 -0800)]
microsoft/compiler: Add support for unnamed ubos
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988>
Enrico Galli [Thu, 10 Feb 2022 22:30:12 +0000 (14:30 -0800)]
microsoft/compiler: Fix for arrays of 1 element
The DXIL validator doesn't like dynamic indexing into resources if the
resource was not declared as an array type. This commit makes it so that
we always generate array resource types if the original type was
declared as an array instead, not just when the number of elements is
greater than 1.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988>
Enrico Galli [Wed, 30 Mar 2022 15:25:22 +0000 (08:25 -0700)]
microsoft/spirv_to_dxil: Add pass to lower dynamic accesses on ubo[1]
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988>
Mike Blumenkrantz [Wed, 13 Apr 2022 20:44:18 +0000 (16:44 -0400)]
zink: nv ci update
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15957>
Mike Blumenkrantz [Thu, 14 Apr 2022 21:29:02 +0000 (17:29 -0400)]
zink: radv baseline fix
typo
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15957>
Emma Anholt [Tue, 12 Apr 2022 18:59:00 +0000 (11:59 -0700)]
ci/virgl: Add piglit and GL4.3 testing to the virpipe path.
This will be helpful in regression-testing the nir-to-tgsi transition, and
with the big runners at google we have plenty of capacity to do it.
I dropped the GL3.0-3.2 caselists because GL4.3 should be a superset of
them.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15158>
Mike Blumenkrantz [Tue, 12 Apr 2022 15:46:47 +0000 (11:46 -0400)]
zink: unset PIPE_CAP_TEXRECT
this isn't supported by vulkan, and though it can be implicitly converted
to 2d in the driver, this still leaves validation spam
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15895>
Mike Blumenkrantz [Tue, 12 Apr 2022 15:45:33 +0000 (11:45 -0400)]
mesa/st: set normalized coords for RECT samplers if rects are unsupported
the shaders will never see these, so set the expected value for 2D
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15895>
Mike Blumenkrantz [Tue, 12 Apr 2022 15:42:14 +0000 (11:42 -0400)]
nir/lower_tex: fix rect queries with lower_rect set
queries still need the sampler_dim changed
Fixes:
682e14d3eae ("nir: lower_tex: Don't normalize coordinates for TXF with RECT")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15895>
Emma Anholt [Wed, 13 Apr 2022 23:10:49 +0000 (16:10 -0700)]
Revert "ci: Disable Google's lab"
This reverts commit
8506c2b7ee447faabcda7c4b123717d6e375ee9c. Network
admins say the fixed things, and we see the runners phoning home again.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15936>
Jason Ekstrand [Wed, 13 Apr 2022 21:52:17 +0000 (16:52 -0500)]
clc: Declare LLVMContexts on the stack
This prevents more use-after-free errors. Passing them around using
std::unique_ptr ensures that the LLVMContext gets destroyed but doesn't
ensure destruction order. Declaring it on the stack ensures that the
context doesn't get destroyed until right before the the function
returns which is after any other LLVM stuff is destroyed.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937>
Jason Ekstrand [Wed, 13 Apr 2022 21:16:30 +0000 (16:16 -0500)]
clc: Rework logging a bit
First, separate out the LLVM context logging to make it take a
clc_logger instead of passing in a string stream. Currently, the LLVM
context may outlive the string stream which we assign which may lead to
use-after-free errors. Second, use a separate string stream for clang
diagnosticl logging which we intentionally declare before the compiler
so the compiler can't outlive it.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937>
Jason Ekstrand [Fri, 8 Apr 2022 21:20:43 +0000 (16:20 -0500)]
clc: Only initialize LLVM once
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937>
Dave Airlie [Wed, 13 Oct 2021 01:25:15 +0000 (11:25 +1000)]
clc: initialise one more llvm stage
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937>
Dave Airlie [Wed, 13 Oct 2021 01:18:37 +0000 (11:18 +1000)]
clc: add simple llvm initialise API
This just calls some of the LLVM init functions in a common place
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937>
Rhys Perry [Tue, 12 Apr 2022 14:19:40 +0000 (15:19 +0100)]
aco: fix disassembly of SMEM with both SGPR and constant offset
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15890>
Samuel Pitoiset [Fri, 11 Mar 2022 08:53:46 +0000 (09:53 +0100)]
radv: use shader_info::system_values_read
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343>
Samuel Pitoiset [Fri, 11 Mar 2022 08:29:28 +0000 (09:29 +0100)]
radv: use shader_info::outputs_written/per_primitive_outputs for VS outputs
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343>
Samuel Pitoiset [Fri, 11 Mar 2022 07:54:11 +0000 (08:54 +0100)]
radv: use shader_info::inputs_read/outputs_written for FS IO
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343>
Samuel Pitoiset [Thu, 10 Mar 2022 17:20:47 +0000 (18:20 +0100)]
radv: use shader_info::gs::active_stream_mask
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343>
Samuel Pitoiset [Thu, 10 Mar 2022 16:43:55 +0000 (17:43 +0100)]
radv: use shader_info::writes_memory
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343>
Boris Brezillon [Mon, 11 Apr 2022 12:20:04 +0000 (05:20 -0700)]
dzn: Make sure sampler heaps don't contain more than 2048 samplers
The spec says "The maximum number of samplers in a shader visible
descriptor heap is 2048.". Let's make sure we follow this rule
in dozen.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15884>
Boris Brezillon [Mon, 11 Apr 2022 11:46:31 +0000 (04:46 -0700)]
dzn: Skip binding entries with zero descriptors
D3D12 doesn't like empty descriptor ranges, so let's skip those
at set layout creation time.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15884>
Emma Anholt [Sat, 26 Mar 2022 04:06:35 +0000 (21:06 -0700)]
nouveau/nir: Don't try to emit OP_FMA pre-nvc0.
The TGSI backend avoids TGSI_OPCODE_FMA (and thus OP_FMA) pre-nvc0,
replacing it with TGSI_OPCODE_MAD in that case.
Noticed when looking at native-NIR stats and finding that load
optimization wasn't taking place on the unsupported opcode.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15543>
Gert Wollny [Wed, 13 Apr 2022 10:04:33 +0000 (12:04 +0200)]
virgl: Extend integer write out output fix to all non-move integers ops
The host virglrenderer can only handle moves to integer outputs, all
ALU opt that create integer outputs are created with extra code to convert
to float for the temporaries, and this breaks the output write
handling.
Fixes:
spec@arb_sample_shading@builtin-gl-sample-mask *
spec@arb_sample_shading@builtin-gl-sample-mask-simple *
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15921>