Mykhailo Skorokhodov
0523607ebb
iris: Add missed tile flush flag
...
Without adding `PIPE_CONTROL_TILE_CACHE_FLUSH` into `iris_emit_pipe_control`
gen12+ (UHD 750 in my case) has issues with textures.
Related-to: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5029
Fixes: c85ea824('iris: reduce redundant tile cache flushes')
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12979 >
2021-10-19 18:22:31 +00:00
Mike Blumenkrantz
8633ce06af
zink: stop leaking descriptor pool references
...
this never really mattered before, but now these need to actually
get freed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430 >
2021-10-19 18:07:00 +00:00
Mike Blumenkrantz
7fb8e0b9fb
zink: don't clear descriptor pool cache on context destroy
...
the final ref on pools is owned by their program struct(s), and liveshader
cache can trigger shader deletion after a context is destroyed, so
attempting to prune pools here may end up deleting them before the
last ref is actually removed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430 >
2021-10-19 18:07:00 +00:00
Mike Blumenkrantz
6a852e4e06
zink: always invalidate descriptor sets on pool free
...
this used to be bad and only for debugging, but now it's good and useful
for saving memory
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430 >
2021-10-19 18:07:00 +00:00
Mike Blumenkrantz
94fc6b0875
zink: unref descriptor pools in hybrid mode when they explode
...
these will no longer be used, so unref them so they can be deleted to
free up some vram in the driver
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430 >
2021-10-19 18:07:00 +00:00
Mike Blumenkrantz
d065294434
zink: remove descriptor pools from hash table on deletion
...
ensure these aren't just sitting around stale
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430 >
2021-10-19 18:07:00 +00:00
Mike Blumenkrantz
6d93729881
zink: fix descriptor interface param for program_deinit
...
this should match the _init() method and take the context
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430 >
2021-10-19 18:07:00 +00:00
Mike Blumenkrantz
7a9e0e4fc0
zink: use ctx params for program ref/destroy functions
...
these are context objects, so destroy with the context
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13430 >
2021-10-19 18:07:00 +00:00
Marek Olšák
d29e507adc
radeonsi: don't set inline_uniforms for viewperf because it's enabled by default
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:30 +00:00
Marek Olšák
c5f39acb33
winsys/amdgpu: set max_ib_size and max_check_space_size later in cs_check_space
...
If there is enough CS space, don't update them. This eliminates some overhead.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:30 +00:00
Marek Olšák
6129db68bf
winsys/amdgpu: remove force_chaining parameter from cs_check_space
...
it's always false
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:30 +00:00
Marek Olšák
9d852a4695
radeonsi: properly destroy buffers on failure
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:29 +00:00
Marek Olšák
0d2dc06761
radeonsi: don't sync before clear_buffer and copy_buffer if the buffer is idle
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:29 +00:00
Marek Olšák
d4cf4b3cee
radeonsi: don't update bind_history for internal buffer clears and copies
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:29 +00:00
Marek Olšák
61ebdcfc29
radeonsi: don't sync PS or CS before (clear|copy)_buffer based on bind history
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:29 +00:00
Marek Olšák
4bc8c2590e
radeonsi: rebind a buffer only in shader stages where it's been bound
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:29 +00:00
Marek Olšák
13b1424e96
radeonsi: change bind_history to track usage in each shader stage
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:29 +00:00
Marek Olšák
9f2a97e9df
radeonsi: add an option to use CPU storage uploads for threaded context
...
It's only enabled for viewperf for now.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:29 +00:00
Marek Olšák
745ea99484
radeonsi: add SI_MAX_VRAM_MAP_SIZE definition
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13400 >
2021-10-19 16:53:29 +00:00
Marek Olšák
03186773a6
mesa: fix crashes in the no_error path of glUniform
...
Fixes: bd2662bfa1
- mesa: add KHR_no_error support to glUniform*() functions
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13417 >
2021-10-19 16:24:31 +00:00
Rob Clark
5948ff4826
freedreno/computerator: Fix mergedregs
...
This was getting set *after* ir3_shader_assemble, which was too late.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13426 >
2021-10-19 16:04:42 +00:00
Rob Clark
22a203aa4c
freedreno/isa: Fix ldg/stg "halfness"
...
Whether the load dst or store src is a half reg is determined by the
type field, similar to cat5.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13426 >
2021-10-19 16:04:42 +00:00
Rob Clark
834e8066c1
freedreno/ir3/tests: Add some 8/16b ldg/stg tests
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13426 >
2021-10-19 16:04:42 +00:00
Rob Clark
8657e201d0
freedreno/ir3/tests: Don't skip encode test if decode fails
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13426 >
2021-10-19 16:04:42 +00:00
Samuel Pitoiset
572a902566
aco: fix emitting stream outputs when the first component isn't zero
...
Fixes a bunch of XFB piglit tests with Zink.
Cc: 21.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13437 >
2021-10-19 15:19:42 +00:00
Samuel Pitoiset
e3cbb0eb6a
aco: fix invalid IR generated for b2f64 when the dest is a VGPR
...
Fixes few 64-bit piglit tests with Zink.
Cc: 21.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13435 >
2021-10-19 14:47:32 +00:00
Marek Olšák
3df9d8ed80
gallium/u_threaded: implement pipelined partial buffer uploads using CPU storage
...
This removes resource_copy_region for BufferSubData. Drivers have to opt in
to use this.
See the comment in the header file.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13399 >
2021-10-19 13:12:37 +00:00
Marek Olšák
cc2f3a0168
gallium,vbo: add PIPE_BIND_VERTEX_STATE for display lists
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13399 >
2021-10-19 13:12:37 +00:00
Marek Olšák
5ee2965283
ac/llvm: accept primitives whose face culling determinant is Inf or NaN
...
Based on https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13299/diffs
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13380 >
2021-10-19 12:49:06 +00:00
Marek Olšák
efaab0ec50
ac/llvm: add helper ac_build_is_inf_or_nan
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13380 >
2021-10-19 12:49:06 +00:00
Marek Olšák
5e8f76b713
ac/llvm: use fmac instead of mul+sub in face culling
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13380 >
2021-10-19 12:49:05 +00:00
Samuel Pitoiset
19c91a120d
radv: do not remove PSIZ for streamout shaders
...
It might still be read later from the streamout buffer.
Fixes a regression with
ext_transform_feedback-builtin-varyings gl_PointSize and Zink.
Fixes: 92e1981a80
("radv: Remove PSIZ output when it isn't needed.")
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/13413 >
2021-10-19 12:29:40 +00:00
Jan Beich
60b7c3a0f4
meson: disable -Werror=thread-safety on FreeBSD
...
Annotated <pthread.h> exposes too many errors in Mesa that are
non-trivial to fix and keep working without FreeBSD CI.
Fixes: 0d5fe24c9b
("macros: Add thread-safety annotation macros")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9168 >
2021-10-19 06:59:32 +00:00
Dave Airlie
37d6ce4ebb
llvmpipe: swizzle image stores for CL BGRA
...
OpenCL requires image stores to BGRA to work, so add the swizzle
code here.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13404 >
2021-10-19 03:11:08 +00:00
Mike Blumenkrantz
86b24fba05
zink: align pipe_resource and sampler_view allocations to cachelines
...
this eliminates false sharing for atomics
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13431 >
2021-10-19 02:40:37 +00:00
Mike Blumenkrantz
89ed9ed400
zink: don't ralloc zink_resource structs
...
the hash tables can just have their own contexts and be freed explicitly
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13431 >
2021-10-19 02:40:37 +00:00
Mike Blumenkrantz
4cad3da409
lavapipe: clamp attachment clear rect sizes
...
this is a spec violation, but crashing isn't cool, so do a little clamping
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
67dd6b9f0f
lavapipe: pull layer count from render state during resolve
...
vk_framebuffer may be null
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
f25a98318b
lavapipe: remove lvp_subpass::has_color_att
...
unused
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
f7e9500dc2
lavapipe: simplify some attachment derefs
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
d914df72ab
lavapipe: store subpass directly to rendering_state
...
this is fewer array derefs
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
a0c81efcf4
lavapipe: remove last VK_ATTACHMENT_UNUSED check
...
these are all just null checks now
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
58e18a2be9
lavapipe: remove lvp_subpass_attachment and use lvp_render_pass_attachment refs
...
this is one fewer indirect reference that allows removing a bunch of stuff from
renderpass creation
now also unused subpass attachments are just NULL pointers, making detection simpler
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
5e3bc8b18d
lavapipe: remove lvp_subpass::max_sample_count
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
5e3d84e30a
lavapipe: add attachment index to lvp_render_pass_attachment
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
5cf568ce09
lavapipe: remove lvp_subpass_attachment::layout
...
unused
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
eaa82252f9
lavapipe: remove lvp_subpass_attachment::in_render_loop
...
this isn't used
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
afd8820d66
lavapipe: use framebuffer attachment_count member instead of renderpass
...
according to spec, these must be equal
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
dd70ff3b8c
lavapipe: remove some unused struct members
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00
Mike Blumenkrantz
d103d5bb5d
lavapipe: stop reading renderpass during pipeline creation
...
this is unnecessary and is going to be annoying in the future
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13349 >
2021-10-19 01:18:24 +00:00