Timur Kristóf
a1c821e911
ac/nir/tess: Clarify when a TCS output is stored in LDS or VRAM.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
08baefe18c
ac/nir/tess: Load tess factors from variable when they are passed in registers.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Timur Kristóf
10acebf88f
ac/nir: Introduce ac_nir_calc_io_offset_mapped.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28487 >
2024-04-03 17:37:40 +00:00
Mike Blumenkrantz
3d43f8c1a1
nir/lower_wpos_ytransform: fix for lowered io
...
this should now handle scalarized+lowered io correctly
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
1c527dab96
nir/lower_wpos_ytransform: scalarize emit_wpos_adjustment
...
should be no functional changes
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
a9e023ed94
nir/lower_wpos_ytransform: update comment to reflect variable usage
...
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
e871424b5e
nir/lower_wpos_ytransform: reuse input zw components for fragcoord rewrite
...
no functional changes, these are just unchanged
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
e848d9b9cc
nir/lower_wpos_ytransform: move new value load to start of function, reuse
...
should be no functional changes
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28462 >
2024-04-03 16:42:46 +00:00
Mike Blumenkrantz
356d88d1e8
llvmpipe: fix DRAW_USE_LLVM=0
...
this only supports 16 UBOs
fixes #9346
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28335 >
2024-04-03 16:08:12 +00:00
Sil Vilerino
5bb72e05d1
vl_win32_screen_create: Take ownership of winsys injected to created d3d12_screen
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28546 >
2024-04-03 14:50:28 +00:00
Sil Vilerino
37cafd53ef
d3d12: Fix util_blitter_destroy destruction ordering
...
Fixes: 55e377e965 ("d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28546 >
2024-04-03 14:50:28 +00:00
Sil Vilerino
0dd871442b
d3d12: Fix leak dxil_module::serialized_dependency_table
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28546 >
2024-04-03 14:50:28 +00:00
Mike Blumenkrantz
24197aeb2b
zink: only use location_frac for deref array indexing for compact variables
...
not sure why I did this or how it ever worked?
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
2185da6c89
zink: fix add_derefs case for compact arrays
...
only compact arrays use the aoa size as the vector length
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
baf96518fa
zink: fix io slot calculation for vertex inputs in add_derefs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
460cd99ea5
zink: don't clobber indirect array reads with missing components
...
this breaks interfaces where the consumer reads its input indirectly
and only some of the components are written by clobbering all
the components, even if the unwritten components are never accessed
Fixes: 459b49a174 ("zink: add a new linker pass to handle mismatched i/o components")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
a64f5ae9d7
zink: always check patch io during rework_io_vars
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
11e988fa80
zink: call gather_info during shader creation
...
this is totally out of sync at this point
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
562cb8381e
zink: track a mask of arrayed io locations on shaders
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
364a6ac1a3
zink: check for arrayness rather than tess io vars for indirect array vars
...
this is a bit more accurate since it includes clip/cull dist
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
720a43858d
zink: fix generated variable expansion
...
this fixes a case where the found variable might be an array of a
smaller vector
not currently possible to reach
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
404e9f1134
zink: always use shader sizes for clip/cull dist variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
316470920a
zink: add a helper to detect clip/cull dist locations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
665755720a
zink: manually calc clip/cull distance sizes
...
the current frontend handling for this is too unreliable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
cf4953d184
zink: apply component offset for CLIP/CULL DIST1 location derefs
...
cannot currently be reached
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
332c24774c
zink: run scan_nir before variable rework
...
this will enable using its heuristics when generating variables
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:47 +00:00
Mike Blumenkrantz
88792b9ea3
zink: update xfb info after lower_to_scalar
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:46 +00:00
Mike Blumenkrantz
23ce5696d6
zink: use outputs_written mask to detect edge flag usage
...
fixes lowered io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:46 +00:00
Mike Blumenkrantz
b8bf82133a
zink: always sort io variables by location after re-creating them
...
this otherwise breaks linking
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:46 +00:00
Mike Blumenkrantz
5fd03efda0
zink: delete some ntv dead code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28466 >
2024-04-03 14:21:46 +00:00
Samuel Pitoiset
cefbfe6597
radv: add radv_wsi.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
bfaa674583
radv: add radv_pipeline_graphics.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
987f3351b3
radv: add radv_pipeline_rt.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
7807d49f82
radv: add radv_pipeline_compute.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
f07a639801
radv: add radv_pipeline.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
8e9b41641a
radv: add radv_pipeline_cache.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
150ce13273
radv: add radv_device.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
1c590cbd28
radv: add radv_rra.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
6849305a86
radv: add radv_physical_device.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
0fb19b8331
radv: add radv_queue.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
30eb0ef45a
radv: add radv_instance.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:54 +00:00
Samuel Pitoiset
83841b0b78
radv: add radv_device_memory.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:53 +00:00
Samuel Pitoiset
bcfac61468
radv: move radv_shader_{layout,stage} to radv_shader.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:53 +00:00
Samuel Pitoiset
0df9270997
radv: move radv_userdata_locations to radv_shader_args.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:53 +00:00
Samuel Pitoiset
d058264f55
radv: move radv_prim_vertex_count to si_cmd_buffer.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28526 >
2024-04-03 13:32:53 +00:00
Sil Vilerino
74ac72ceb2
d3d12: Fix leak of batch->bos on video-only builds
...
Fixes: 55e377e965 ("d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28543 >
2024-04-03 12:51:16 +00:00
Iago Toral Quiroga
bdf2a470d3
v3dv: fix job suspend with command buffer simultaneous use flag
...
With the simultaneous use flag we can reuse the same command
buffer multiple times. That means, for example, that we can
have an instance of a job running in the GPU while we are
submitting another one for execution to a queue.
This scenario is problematic with dynamic rendering and job
suspension because suspended jobs need to be patched with the
resume address at queue submit time, and thus, if we have another
instance of the same job currently executing in the GPU we could
stomp its resume address, which could be different.
To fix this, at queue submission time, when we detect a suspending
job in a command buffer with the simultaneous use flag, we clone the
job and create its own copy of the BCL so we can patch the resume
address into it safely without conflicting with any other instance
of the job that may be running.
We need to flag these clones as having their own BCL since
we would have to free it when the job is destroyed, unlike other
clones that don't own any resources of their own. Also, because
this job is created at queue submit time, it won't be in the
execution list of the command buffer, so it won't be automatically
destroyed with it, so we need to add it to the command buffer
as a private object.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28521 >
2024-04-03 13:35:54 +02:00
Iago Toral Quiroga
ff8d72ba22
v3dv: store the offset of the BRANCH instruction in a CL
...
This will be useful to know which is the actual executable
size of a BO in a CL that branches into a another BO. We
will need this soon to implement deep clones of the BCL
for suspending jobs with the command buffer simultaneous
use flag.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28521 >
2024-04-03 12:57:56 +02:00
Iago Toral Quiroga
c874caf33d
v3dv: fix job pointers from cloned CLs
...
We had these pointing to the original job instead of pointing
to the cloned job. This can be confusing, particularly, if we
then emit commands that include references to new BOs into the
cloned jobs, since we would then try to insert these BOs in the
original jobs instead of the clones, which was the situation
we had when we implemented resume address patching with dynamic
rendering.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28521 >
2024-04-03 12:57:56 +02:00
Iago Toral Quiroga
e6efee3b40
v3dv: add a v3dv_job_clone helper
...
This will clone the job but it won't automatically put it in the
job list of a command buffer. This will come in handy to handle
the required job cloning for suspending jobs with the command buffer
reuse flag in a follow-up patch.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28521 >
2024-04-03 12:57:56 +02:00