Michel Dänzer
acd6117fe0
ci: Add strace to the x86_build docker image
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9472 >
2021-03-16 15:32:33 +00:00
Michel Dänzer
d411691965
aco/tests: Use _exit in child process
...
Since the child process doesn't call exec(), exit() attempted to run
atexit handlers registered by the parent process. This could result in
the child process hanging in exit() if there were still disk cache
threads alive when the parent process called fork(). (The CI runners
hit this multiple times when running tests in strace)
Fixes: 6a246f5c6d "aco/tests: Fix deadlock for too large test lists"
Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9472 >
2021-03-16 15:32:33 +00:00
Michel Dänzer
81beef929d
ci: Move /usr/bin/time check from meson test wrapper to build script
...
In jobs where the wrapper isn't used, this leaves the
<build directory>/meson-logs/testlog.txt filename unchanged.
Also prepares for using different wrapper scripts in different jobs.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9472 >
2021-03-16 15:32:33 +00:00
Michel Dänzer
e7ba882cd4
ci: Drop SIGINT handling from meson test wrapper script
...
Not needed, I had misread meson code.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9472 >
2021-03-16 15:32:33 +00:00
Michel Dänzer
bc76f9a8f2
ci: Move meson-build.sh to meson/build.sh
...
A little less clutter in the top .gitlab-ci directory.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9472 >
2021-03-16 15:32:33 +00:00
Jesse Natalie
3b687722b3
d3d12: Really handle null constant buffers
...
Previous attempt was checking the wrong pointer...
Fixes: eb27db86 ("d3d12: Handle null constant buffers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4362
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9349 >
2021-03-16 15:22:35 +00:00
Jesse Natalie
8708d32d9c
d3d12: Handle is_new_style_shadow comparison filtering
...
Note: the tex instruction is modified in place, so the correct
number of expected result components needs to be cached before
the shadow state is modified
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9349 >
2021-03-16 15:22:35 +00:00
Jesse Natalie
6db28f5201
d3d12: Move descriptor pools to screen, and add lock
...
Surfaces can be shared across contexts, and can even outlive the
original context that created them, so move the pools to the screen.
Since they no longer belong to a single context, they need a lock now.
v2: Samplers moved back to the context
v3: Fix Linux build
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3812
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9349 >
2021-03-16 15:22:35 +00:00
Samuel Pitoiset
7c68a2518f
vulkan: add missing vk_shader_module.c/h includes to Makefile
...
Fixes: 76078ed9fe ("vk/util: add unified shader module struct/functions")
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/9620 >
2021-03-16 16:01:10 +01:00
Mike Blumenkrantz
23538ed7a8
zink: cache bufferviews
...
we can cache bufferviews just like we do surfaces, so let's do that
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
da2b841798
zink: properly handle null bufferview descriptor states
...
now that we have this state properly stored we can use it for more accurate
hashing and caching
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
ebdc0cd4ad
zink: improve debug asserts for samplers/images during descriptor updates
...
these are now more accurate for null bufferviews/imageviews
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
545625600b
zink: update null descriptor hashes to reflect current descriptor states
...
also add a bufferview hash since we use these now
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
c380a46036
zink: add helper function for getting a resource for a descriptor
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
1b96e3e2b0
zink: massively beef up batch tracking for shader images
...
the struct for these isn't allocated, so we need to ensure that the objects
in it are explicitly tracked on batches when they're used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
78068d039b
zink: add extra batch tracking for sampler views
...
we're going to start invalidating and rebinding resources, which means
we need to be extra sure that we have our lifetimes in order here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
dc80529e1f
zink: simplify bufferview and imageview descriptor state hashing
...
now that we have the hash for the internal objects available at all times, we
can directly reuse this instead of computing it each time, giving us more
accurate hashes as well as saving us cpu cycles
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
473ee28cf3
zink: store bufferview hash to bufferview struct
...
this lets us do a lot of things more precisely for bufferviews
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
5acbba4e41
zink: explicitly use zink_surface objects for sampler/image view objects
...
we can reuse this codepath instead of NIHing it
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
054f53e3d0
zink: use an explicit zink_buffer_view struct
...
this gives us an object to work with similar to zink_surface
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
4cb5bb72be
zink: add util function for checking whether shader descriptor is buffer from program
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
12243f682d
zink: add util function for checking whether a shader descriptor is a buffer
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
2b18105ff7
zink: add some asserts for pipeline barriers to check renderpass state
...
it's illegal to emit barriers during a renderpass
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Mike Blumenkrantz
f4a53287de
zink: handle cached descriptor set punting
...
if an active set gets invalidated, it needs to be punted from the active
hash table so it doesn't get reused
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9543 >
2021-03-16 10:45:32 -04:00
Daniel Stone
e6aacec9e1
CI: Try really hard to get updated Windows TLS certs
...
Windows doesn't actually distribute a full TLS CA certificate store, but
pulls them in over time with Windows Update. Try to prime it by manually
pulling the certificates and installing them.
This bumps the Windows tag to force a rebuild.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9618 >
2021-03-16 11:07:02 +00:00
Mike Blumenkrantz
616720d6ae
zink: track resource_object usage instead of resource usage
...
the resource object is now a state tracker for the inner resource_object,
so it can safely be destroyed even if the backing resource is still in use
this also requires updating various things to keep descriptor states/caches working
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9544 >
2021-03-15 22:08:06 -04:00
Mike Blumenkrantz
708f19317c
zink: split out backing resource object create/destroy
...
moving towards these being able to exist semi-independently...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9544 >
2021-03-15 22:08:06 -04:00
Mike Blumenkrantz
46bbc835c1
zink: move resource internals to a separate struct
...
this starts the path towards being able to replace the backing objects for
a resource
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9544 >
2021-03-15 22:08:06 -04:00
Mike Blumenkrantz
f6c6320a5f
zink: break out batch id finding for resource usage into util function
...
this is generally helpful for figuring out the last batch a resource was
used for
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9544 >
2021-03-15 22:08:06 -04:00
Mike Blumenkrantz
c699cc0f9b
zink: avoid looping for non-ubo descriptor updates based on set usage
...
if we know that the descriptor set is cached and already in use by a given
batch, then we also know that all the resources in the set are tracked, which
means that we can skip over some looping during descriptor updates which would
otherwise be used to add tracking for sampler/image views/states
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9567 >
2021-03-16 01:01:57 +00:00
Mike Blumenkrantz
839d609b8c
zink: add batch usage flags for sampler views/states and desc sets
...
this massively cuts down cpu time for hashing and lookups, resulting in
a noticeable performance increase
the sampler_state batch usage for now is just being set for future use when
it will be leveraged to permit immediate deletion
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9567 >
2021-03-16 01:01:57 +00:00
Bas Nieuwenhuizen
013aa05edb
radv: Use correct DCC compressed block size for sampling.
...
Don't need to change the pre-GFX9 samplers because this option doesn't
vary there.
Fixes: f848f2adfa ("radv: Use ac_surface DCC settings for shareable images.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4455
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4425
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9611 >
2021-03-16 00:50:11 +00:00
Jason Ekstrand
ee395df315
genxml: Make 1-bit L3$ config register fields bool on Gen7
...
Otherwise, they look like booleans but, if you put a value other than
0/1 in them, the GenXML generator code will explode.
Fixes: b6875b0094 "anv: Drop has_slm in emit_l3_config for gen11+"
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9614 >
2021-03-15 17:22:49 -07:00
Danylo Piliaiev
b8ca39a80d
turnip: implement intrinsic_vulkan_resource_reindex
...
Descriptor arrays are continuous, so it's just an addition of offset.
Fixes test:
dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.dynamic_offset.select_descriptor_array
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9495 >
2021-03-15 23:56:26 +00:00
Eric Anholt
3dc8102420
ci/freedreno: Add three more a5xx flakes from the last day.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9575 >
2021-03-15 22:45:13 +00:00
Mauro Rossi
2538e3b48a
android: i965: Rename files with "intel_" prefix to "brw_"
...
The necessary changes for Android build were missing in Makefile.sources
Fixes: 9d95e1bd79 (i965: Rename files with "intel_" prefix to "brw_")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9576 >
2021-03-15 23:24:02 +01:00
Mike Blumenkrantz
f4a8912dc2
anv: use common interfaces for shader modules
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9508 >
2021-03-15 21:47:44 +00:00
Mike Blumenkrantz
71b17149e8
tu: use common interfaces for shader modules
...
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9508 >
2021-03-15 21:47:44 +00:00
Mike Blumenkrantz
07c9dc54dd
v3dv: use common interfaces for shader modules
...
squashed changes from Alejandro Piñeiro <apinheiro@igalia.com >:
Add call to vk_object_base_init on internal shader_module: we have
some cases where internally we have some shader modules that we don't
create through CreateShaderModule, so in this case we need to manually
call base_init. Not sure why this wasn't needed before.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9508 >
2021-03-15 21:47:44 +00:00
Mike Blumenkrantz
1d1c7a965c
radv: use common interfaces for shader modules
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9508 >
2021-03-15 21:47:44 +00:00
Mike Blumenkrantz
c3db26a6f6
lavapipe: use common interfaces for shader modules
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9508 >
2021-03-15 21:47:44 +00:00
Mike Blumenkrantz
a41e98ddca
vk/util: add a util macro for initializing stack vk_shader_module structs
...
radv does a lot of this, so having a central dispatch point will be useful in
case changes are made to this struct in the future
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9508 >
2021-03-15 21:47:44 +00:00
Mike Blumenkrantz
76078ed9fe
vk/util: add unified shader module struct/functions
...
there's some extra logging stuff dumped into here to match functionality,
eventually that should also be consolidated into vk_util.c
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9508 >
2021-03-15 21:47:44 +00:00
Dave Airlie
b0de4468c2
lavapipe: add host query reset
...
This just resets the queries on the host size.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9594 >
2021-03-16 06:50:37 +10:00
Dave Airlie
6865ec210b
lavapipe: fix writing availability for queries.
...
If the availability has to be written it needs to be written
to the correct place.
The host query reset tests fall over this.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9594 >
2021-03-16 06:50:33 +10:00
Dave Airlie
774bbc299f
lavapipe: add missing break
...
No effect as-is but annoying later.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9594 >
2021-03-16 06:50:28 +10:00
Sagar Ghuge
3a73148f25
anv: Set correct binding table entry count
...
We can use surface_count as it is to set binding table entry count since
it's already in units.
On Felix's Tigerlake with the GPU at fixed frequency, this patch
improves performance of several games:
- Shadow of the Tomb Raider: +1.5%
- Dota2vk: +1%
- Dark Souls: +1%
v2: (Ken)
- Remove get_binding_table_entry_count() and use surface_count directly.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9548 >
2021-03-15 20:11:13 +00:00
Jordan Justen
b6875b0094
anv: Drop has_slm in emit_l3_config for gen11+
...
For some gen12+ platforms, L3 config (cfg) can be NULL leading to a
seg-fault in emit_l3_config. But, we don't use has_slm for gen11+, so
we can just avoid declaring the variable.
Reworks:
* Drop has_slm variable for all gens (suggested-by Jason)
Ref: 633dec7163 ("anv: Set L3 full way allocation at context init if L3 cfg is NULL")
Ref: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9534
Fixes: 581e68bc99 ("anv: move L3 config emission to genX_state.c")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9589 >
2021-03-15 11:33:25 -07:00
Anuj Phogat
b1ab69f467
anv: Remove redundant #if checks
...
Patch removes redundant #if checks and unused code inside another #if
block.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9604 >
2021-03-15 18:02:58 +00:00
Caio Marcelo de Oliveira Filho
f603a2c25a
anv: Lower ViewIndex to zero when multiview is disabled
...
Vulkan spec says
If multiview is enabled in the render pass, this value will be one
of the bits set in the view mask of the subpass the pipeline is
compiled against. If multiview is not enabled in the render pass,
this value will be zero.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4446
Fixes: 0db7070330 ("anv/pipeline: Add shader lowering for multiview")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9574 >
2021-03-15 09:51:14 -08:00