Mike Blumenkrantz
2bbc2c49ec
zink: handle invalid gl_TexCoord reads
...
if a texcoord input is read in a fragment shader but not written in
the previous stage, the texcoord variable must be preserved until
nir_lower_texcoord_replace has (possibly) run, and only then can it
be replaced with a 0000 read
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
f60f246426
zink: explicitly set nir cursor in rewrite_and_discard_read
...
not sure if this is a bug but it looks weird
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
721f33cd0f
zink: fix return for PIPE_CAP_DEPTH_CLIP_DISABLE
...
this uses the extension now
Fixes: 21ea19d504 ("zink: Always enable depth clamping, make depth clipping independent.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
55a4a6b8dc
zink: handle !half_pixel_center
...
the shader is already getting a -0.5,-0.5 bias, but the viewport also
needs to be shifted by 0.5 to match
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
8a8edb310d
zink: handle unscaled depth bias from nine
...
nine uses this to pass unscaled units for depth bias, which means
the units must be scaled based on the format of the depth buffer
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
a912952c3e
zink: drop mode_changed check from linewidth/depthbias draw updates
...
this doesn't need to be updated on primtype change since it's always
set
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
8f7b892957
zink: allow sw loading with D3D_ALWAYS_SOFTWARE for nine
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
cbbf25abfd
zink: use maintenance4
...
just by enabling this there are fewer validation warnings
truly incredible.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
ff1fb9101f
zink: force a new framebuffer for clear_depth_stencil if the clear region is big
...
can't clear outside the framebuffer, so set a new one if necessary
Fixes: f1f08e3529 ("zink: massively simplify zink_clear_depth_stencil")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
80364c4d19
zink: force flush clears on fb change if fb geometry changes
...
Fixes: 66ceea7ed9 ("zink: lift clearing on fb state change up a level")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Connor Abbott
7c7feab4e1
tu: Implement VK_EXT_vertex_input_dynamic_state
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17554 >
2022-08-05 03:22:00 +00:00
Connor Abbott
c82af0c43b
tu: Decouple vertex input state from shader
...
Emit VFD_DECODE and VFD_DEST separately, similarly to what Gallium does.
This means we emit a few more VFD_DECODE for binning shaders and when
there are unused attributes, but hopefully the overhead won't be too
much. In exchange we lose one draw state, and in the future we can
pre-compute the dynamic vertex state independently of the shader, so
there should be lower CPU overhead with dynamic vertex inputs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17554 >
2022-08-05 03:22:00 +00:00
Rob Clark
35dc99924a
freedreno: Disable UBWC for frontbuffer rendering
...
Note that glamor would still need to set this new
GBM_BO_USE_FRONT_RENDERING flag.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6865
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17799 >
2022-08-05 00:57:38 +00:00
Rob Clark
0c6d4cf9a2
gbm: Add USE_FRONT_RENDERING flag
...
Provide a use flag to let the driver know that the allocated buffer will
be used for frontbuffer rendering. For example, bandwidth compressed
formats should usually be avoided for frontbuffer rendering to avoid the
visual corruption that results from this display racing with the GPU
writing header data vs. pixel data.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17799 >
2022-08-05 00:57:38 +00:00
Emma Anholt
126e83d970
ci/zink: Re-enable a630 zink-on-turnip traces job using gbm as the backend.
...
This is a workaround for #6753 , without having to build and install a
custom xlib in our containers. Maybe some day debian will have a
backport?
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17549 >
2022-08-05 00:23:16 +00:00
Emma Anholt
a3113fbcfc
zink: Replace the "optimal_tiling" flag with a "linear" flag instead.
...
That's what it actually means now.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17549 >
2022-08-05 00:23:16 +00:00
Emma Anholt
01ce65da72
zink: Take the tiling path for resources with modifiers.
...
transfer_map (the only consumer of the flag now) was doing direct mapping
on resources with modifiers (UBWC compressed images on turnip) and
accessing them as linear. We definitely want the staging blit path
instead.
Fixes glReadPixels() from gbm surfaces on turnip.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17549 >
2022-08-05 00:23:16 +00:00
Karol Herbst
c1b0eb8de4
util/memstream: insert null terminator on windows
...
Libc's open_memstream is doing so on Unix systems already.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
d1427563e3
gallium: mark the input data as const in pipe_grid_info
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
caf2794f6f
vtn: silence warning about linkage
...
For OpenCL kernels we simply link together SPIR-V files, so the only case
where we are left with linking shaders together is libclc and we handle
that just fine.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
6637b1f41e
clc: undefine spirv defs to work around LLVMs headers
...
Clang unconditionally adds those definitions if using a spirv LLVM target.
That's not a problem on its own, but clang's internal OpenCL header enable
a bunch of OpenCL extensions if those are set.
Lucky for us, we can simply undefine them and spare us the trouble of
finding an upstream solution to this problem :)
This fixes the OpenCL CTS' compiler features_macro test.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
6b38114ed7
microsoft/clc: drop inline sampler reordering
...
nir_dedup_inline_samplers is now taking care of it.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Jason Ekstrand
de2065496a
nir: Clean up and improve nir_dedup_inline_samplers
...
It now removes dead inline sampler variables and moves everything to the
end so we no longer need nir_move_inline_samplers_to_end().
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
2b12985465
nir: extract the clc inline sampler dedup pass from clc
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
31ed24cec7
nir/lower_images: extract from clover
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
01500198a6
nir: serialize printf metadata for CL kernels
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:49 +00:00
Karol Herbst
bdc0a8624c
printf: add some unit tests
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:49 +00:00
Karol Herbst
aa82808645
printf: extract clovers printf impl
...
Also make the code cleaner and simplier.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:49 +00:00
David Heidelberg
160aa603f5
ci/bin: ignore Gitlab GQL cache
...
Fixes: 266e3a627f ("ci/bin: Cache GQL queries")
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17885 >
2022-08-04 22:00:21 +00:00
Konstantin Seurer
12a4581a06
radv/nir_lower_abi: Use instructions_pass
...
nir_shader_instructions_pass is sufficient and it should be a bit faster
than nir_shader_lower_instructions.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17727 >
2022-08-04 21:22:29 +00:00
Yonggang Luo
1b7b74db06
meson: Cleanup usage dri_drivers as it's a dead option
...
Initial value of with_dri have no relation with dri_drivers.length()
Do not show useless `DRI drivers:`
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/17821 >
2022-08-04 19:07:06 +00:00
Yonggang Luo
56b0e3a575
meson: Place all pre_args about HAVE_DRI* into single place
...
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/17821 >
2022-08-04 19:07:06 +00:00
Dylan Baker
9d6204c799
docs: update calendar for 22.2.0-rc1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:32 +00:00
Dylan Baker
0fcdcf2103
docs: update calendar and link releases notes for 22.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:32 +00:00
Dylan Baker
17355d0dcf
docs: update calendar and link releases notes for 22.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:32 +00:00
Dylan Baker
fcc547328f
docs: Add sha256 sum for 22.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:32 +00:00
Dylan Baker
7b65653900
docs: add release notes for 22.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:31 +00:00
Dylan Baker
aa14d6144b
docs: Add sha256 sum for 22.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:31 +00:00
Dylan Baker
604b48b641
docs: add release notes for 22.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:31 +00:00
Dmitry Osipenko
32211788d0
util/disk_cache: Add new mesa-db cache type
...
Introduce new cache type, the Mesa-DB. This is a single-file read/write
cache that is based on the read-only Fossilize DB cache. Mesa-DB supports
cache size capping. It's a much more efficient cache than the multi-file
cache because Mesa-DB doesn't have the inode overhead. The plan is to make
Mesa-DB the default cache implementation once it will be deemed as stable
and well tested. For now users have to set the new MESA_DISK_CACHE_DATABASE
environment variable in order to active the Mesa-DB cache.
Mesa-DB cache is resilient to corrupted cache files and doesn't require
maintenance from users and developers. The size capping is implemented
by evicting least recently used cache items and compacting the cache
database files with the evicted entries. In order to prevent frequent
compaction of the cache, at minimum a half of cache is evicted when cache
is full.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
f64f74b8f2
util/disk_cache: Make disk_cache_os.h usable by C++ code
...
The cache tests are written in C++ and the upcoming new Mese-DB cache
tests will need to include disk_cache_os.h that misses extern "C"
modifier required by C++ linkage. Add the modifier.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
517e523a2a
util/disk_cache: Move struct cache_entry_file_data to the disk_cache_os.h
...
Relocate struct cache_entry_file_data to the header file, making it
accessible to the cache testing code. This is a preparatory step towards
addition of the new Mesa-DB cache type.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
d86335dd49
util/disk_cache: Append to disk_cache_load_cache_index() with _foz
...
The disk_cache_load_cache_index() is solely about the foz-db cache and
we're going to add the new cache type. Append the function name with
_foz postfix to improve the naming, making clear what that function is
about.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
d423a4b2aa
util/disk_cache: Enable testing of uncompressed caches
...
Mesa caches are compressed by default and we just added option to disable
compression that will be needed by the new Mesa-DB cache. Let's enable
testing of uncompressed caches for the multi-file and foz-db caches in
addition to the compressed to increase test coverage of the new code.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Suggested-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
2a9b4ad177
util/disk_cache: Add option to disable compression
...
The shader cache files produced by multi-file cache have a minimum size
limitation imposed by filesystem, usually it's 4KB. In order to make
cache tests suitable for a single file caches, we need to bypass the data
compression, making size of written out data determined for the eviction
testing.
The disk_cache_create() now checks whether driver_id name is set to
"make_check_uncompressed" in order to disable cache data compression.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Omar Akkila
8e6bdb2ed3
ci: Add vulkan dEQP tests for venus
...
Co-authored-by: Corentin Noël <corentin.noel@collabora.com >
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:15:33 +02:00
Omar Akkila
5ac14a97e2
ci: Enable virtio-experimental in testing
...
Enable building the virtio vulkan (venus) driver.
Co-authored-by: Corentin Noël <corentin.noel@collabora.com >
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:15:31 +02:00
Omar Akkila
91ab35efab
ci: Build crosvm with opaque fd mapping support
...
This enables crosvm to map opaque-fd-backed external memory
into the guest.
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:15:13 +02:00
Omar Akkila
486a24c520
ci: Move crosvm to the base test image
...
This allows crosvm to be used in the test-gl and test-vk images
Co-authored-by: Corentin Noël <corentin.noel@collabora.com >
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:14:49 +02:00
Omar Akkila
46ba0f0ffa
ci: Merge common builds in debian test jobs
...
Co-authored-by: Corentin Noël <corentin.noel@colabora.com >
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:14:20 +02:00