Mike Blumenkrantz
a00f10207c
zink: set valid region for streamout buffers on bind
...
this catches rebinds and is more accurate about the state of the region
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9546 >
2021-03-17 01:40:55 +00:00
Mike Blumenkrantz
8c1422dca5
zink: add a pipe_context::invalidate_resource hook
...
this creates new backing objects for the invalidated resource and, if
needed, rebinds it to any descriptor sets it might be used in by invalidating
the descriptor state and creating new view objects
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9546 >
2021-03-17 01:40:55 +00:00
Mike Blumenkrantz
d84c7c2a85
zink: remove direct samplerview batch-tracking
...
this moves tracking onto the surface/bufferview, which is more accurate
and allows the removal of a temporary hack in resource invalidation
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9546 >
2021-03-17 01:40:55 +00:00
Mike Blumenkrantz
2729513d29
zink: hook up resource bind history
...
seems like this should be a gallium thing with how many drivers copy/paste it
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9546 >
2021-03-17 01:40:55 +00:00
Mike Blumenkrantz
806c612131
ci/panfrost: disable the rest of these jobs temporarily
...
runners having a hard time right now
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9639 >
2021-03-17 01:34:49 +00:00
Mike Blumenkrantz
08d8aee222
zink: ci updates
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
2f3b09e422
zink: set ntv variable descriptor sets during compile phase
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
c1cdf30a11
zink: apply Delete All The Code methodology to the ubo/ssbo variables
...
gallium rewrites all the ubo/ssbo instructions to use the buffer index as
the instruction src. the nir variables which are passed to zink after that
point are completely worthless, and it's impossible to accurately determine
which one corresponds to which buffer
thus, deleting all the variables and creating new ones based on the buffers
that are used is the best option, and it also enables simplifying a ton
of code as well as doing even better improvements in the future
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
769c6dce23
zink: move zink_binding() to compiler.c
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
dbbcf4e780
zink: directly set nir variable bindings for reuse during ntv
...
this lets us prepopulate the binding values without "fetching" them
twice
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
84293f5395
zink: flatten binding numbers a bit
...
now that descriptor types are split, we can just use the type-max values
per stage as the increment instead of all type max values
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
eeb23b15eb
zink: break out sized uint array construction into util function
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
1950f8ec0c
zink: add ntv util function for checking if a glsl type is an atomic counter
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
90a1aaf956
zink: add debug info about missing atomic ops
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
5783298027
zink: add unsized array type to get_glsl_type_element() handling
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
6399906843
zink: also break out whole ntv bo struct pointer construction
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
99a87a283a
zink: break out bo array type construction into ntv util function
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
10bfe8759b
zink: use intermediate var for glsl non-array type during shader create
...
minor readability change
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Mike Blumenkrantz
2b4609b66c
zink: run nir_convert_from_ssa last during compile
...
running this too early breaks other passes
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9624 >
2021-03-17 01:27:00 +00:00
Hyunjun Ko
d9fcf5de55
turnip: Enable nonuniform descriptor indexing
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9125 >
2021-03-17 01:09:30 +00:00
Hyunjun Ko
e9fd2a2a58
ir3: Add nonuniform encodings to ir3 encoder and parser
...
By keeping track of nonuniform access from nir and storing it to ir3.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9125 >
2021-03-17 01:09:30 +00:00
Hyunjun Ko
433cdd1cff
ir3: fix has_src() to return correctly in ir3_nir_lower_tex_prefetch
...
This seems to be originally introduced from 2a0d45ae6c , and 562aaea07c
misused the method.
Fixes: 2a0d45ae6c "freedreno/ir3: Add a NIR pass to select tex instructions eligible for pre-fetch"
Fixes: 562aaea07c "freedreno/ir3: respect tex prefetch limits"
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9125 >
2021-03-17 01:09:30 +00:00
Hyunjun Ko
d82b58c03e
nir: Set access at lower_ubo_vec4
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9125 >
2021-03-17 01:09:30 +00:00
Hyunjun Ko
e0e55b181f
turnip: Return correct value of tu6_load_state_size
...
The state of active_desc_sets in pipeline should be set before
allocation of the pipeline so we get correct size of descriptor
sets and reserve enough space upfront.
Otherwise we might hit assert(pipeline->cs.bo_count == 1).
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9125 >
2021-03-17 01:09:30 +00:00
Marek Olšák
fdbcb58c06
ac/llvm: handle demote in LLVM 13 that just added support for it
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9362 >
2021-03-17 00:42:27 +00:00
Timothy Arceri
08101aaaac
util/disk_cache: add cache item headers to single file cache entries
...
I mistakenly left these out of the original single file cache
implementation.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9443 >
2021-03-16 23:37:48 +00:00
Timothy Arceri
ba324bff1c
util/disk_cache: detangle cache item creation from disk writing
...
This refactors the cache code so that we create the full cache
item in memory before writing it to disk. The result is slightly
cleaner code and the ability to share this code between the single
and multi file cache implementations.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9443 >
2021-03-16 23:37:47 +00:00
Timothy Arceri
16b2b4342b
util/disk_cache: separate file reads from cache item validation
...
This will allow us to share validation between the single file cache
and the multifile cache.
It also reduces the number of malloc() calls.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9443 >
2021-03-16 23:37:47 +00:00
Timothy Arceri
9cf0aac130
util/compress: make compression function inputs const
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9443 >
2021-03-16 23:37:47 +00:00
Dave Airlie
a986d1ed63
lavapipe: add support for KHR_buffer_device_address.
...
Adds the missing magic lowering pass, and stores the pmem
pointer for easier returning to user.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9616 >
2021-03-16 23:05:10 +00:00
Dave Airlie
7b8d53afdd
lavapipe: only init immutable samplers for correct types.
...
This is ported from anv, and it needed to stop crashes with
the buffer_device_address CTS tests
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9616 >
2021-03-16 23:05:10 +00:00
Dave Airlie
c16f63b343
gallivm: convert packing to uint64 not double
...
Fixes some issues with later inttopotr casting.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9616 >
2021-03-16 23:05:10 +00:00
Danylo Piliaiev
e767208069
ir3: fix oob access to regs array for getbuf,getinfo,rgetinfo
...
Since they have zero source registers, src->regs[1] is out of bounds.
It probably wasn't able to cause any harm, but it's always better
be safe.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4209
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9609 >
2021-03-16 22:36:12 +00:00
Danylo Piliaiev
175925f84f
ci/freedreno: run freedreno jobs on any change in src/freedreno/
...
Without a way to exclude specific subdirectories, keeping the list
of all subdirectories which need to be tested is error prone.
It's better to run CI slightly more often than to miss it when
it is needed.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9609 >
2021-03-16 22:36:12 +00:00
Eric Anholt
f3a7a8a4dc
ci/freedreno: Switch the piglit testing to the new piglit runner.
...
Getting piglit to fit onto our test devices was proving difficult, and we
need the ability to handle flakes, so switch to the rust piglit runner
that @pepp wrote as part of the deqp-runner repo which gives us flake
detection, sharding across boards, fractional runs, and almost half the
runtime.
It doesn't handle piglit subtests yet, but if you can't run piglit's
python on your devices because it's too bloated and unstable, this is a
way forward.
Reviewed-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9468 >
2021-03-16 22:19:30 +00:00
Eric Anholt
0b4691d615
ci: Bump deqp-runner to v0.6.3.
...
This adds a piglit runner that we'll be using on freedreno, better
xfail/unexpectedpass handling for some cases (Missing->Pass, Warn->Warn),
better error logging for the Missing issue we've had in CI, a fix for a
source of Missing, and a pile more unit tests.
As a result, we now catch that the Missing results for a bunch of our
tests have gone away.
Reviewed-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9468 >
2021-03-16 22:19:30 +00:00
Timur Kristóf
8205cce007
aco: Use ASSERTED to avoid unused variable warning.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9632 >
2021-03-16 21:46:52 +00:00
Timur Kristóf
1d571c6bc1
pan/bi: Use correct enum type for NIR intrinsics.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9632 >
2021-03-16 21:46:52 +00:00
Eric Anholt
0a1c533c6e
ci/panfrost: Disable t860/radeonsi testing while the runners are struggling.
...
These jobs keep getting stuck, so disable for now. Info on what is going
on is at
https://gitlab.freedesktop.org/mesa/mesa/-/issues/3437#note_841920 (the
grunt and stoney runners are maybe still operational at the moment)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9636 >
2021-03-16 21:36:22 +00:00
Mike Blumenkrantz
4b063d636e
zink: unset last_vertex_stage_dirty after applying it
...
turns out that having extra flags for stuff isn't that useful if you never reset them
Fixes: 9b8c121917 ("zink: flag shaders as needing update when clip_halfz changes")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9633 >
2021-03-16 21:29:09 +00:00
Erik Faye-Lund
30cf07cc8a
lavapipe: fix primitive-restart for uint8 indices
...
I forgot to add an implicit primitive-restart index for uint8 while
adding support for this initially. But we also have a nice little
helper to simplify this, so let's use that instead of open-coding.
Fixes: 6526e6d11b ("lavapipe: implement VK_EXT_index_type_uint8")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9622 >
2021-03-16 21:17:16 +00:00
Mike Blumenkrantz
3aa2da96df
zink: add missing null check
...
mismerged from an earlier patch...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9623 >
2021-03-16 20:42:43 +00:00
Daniel Stone
5ff99387a1
CI: Trigger Windows builds for llvmpipe & Vulkan changes
...
As Windows now builds llvmpipe and lavapipe, we should be sure to run
their builds when these change.
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9518 >
2021-03-16 17:31:09 +00:00
Rob Clark
441fba45ed
freedreno: Fix fd_fence_finish()
...
fd_fence_create_unflushed() is called with the driver context, but
fd_fence_finish() is called with the threaded/frontend context, which
is what threaded_context_flush() expects to be passed.
Fixes: c4e5beef07 ("freedreno: threaded_context async flush support")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9627 >
2021-03-16 17:12:14 +00:00
Anuj Phogat
b505db3864
intel: Simplify few version checks involving G4X
...
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9608 >
2021-03-16 16:40:12 +00:00
Anuj Phogat
e66e8a0109
intel: Remove GEN_IS_G4X macro
...
GEN_GEN and GEN_VERSIONx10 macros provide a consistent way to do platform
version checks. We can avoid platform specific macros.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9608 >
2021-03-16 16:40:12 +00:00
Anuj Phogat
1d0295ea2c
intel: Simplify version checks involving haswell
...
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9608 >
2021-03-16 16:40:12 +00:00
Anuj Phogat
97d6ceaf04
intel: Remove GEN_IS_HASWELL macro
...
Use GEN_VERSIONx10 == 75 check in place of GEN_IS_HASWELL macro.
GEN_GEN and GEN_VERSIONx10 macros provide a consistent way to do platform
version checks. We can avoid platform specific macros.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9608 >
2021-03-16 16:40:12 +00:00
Eric Anholt
739486de2f
freedreno/a5xx: Fix the max texture buffer size.
...
The GLES minmax is 65536. The blob vulkan exposes 65536 on both a5xx and
a6xx, but try just doing the same as we do for a6xx.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9617 >
2021-03-16 16:15:48 +00:00
Eric Anholt
b93d21810a
freedreno/a5xx: Fix the texel buffer alignment requirement.
...
Info comes from the a540 vulkan blob driver minTexelBufferOffsetAlignment.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9617 >
2021-03-16 16:15:48 +00:00