Adam Jackson
f33d61cecb
glx: Remove some unused declarations from glxclient.h
...
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13002 >
2021-09-27 09:36:13 -04:00
Daniel Schürmann
23452f9eb0
aco/ra: don't copy linear VGPRs within CF in get_reg_create_vector()
...
Fixes: 6ed18749de ('aco: allow live-range splits of linear vgprs in top-level blocks')
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13058 >
2021-09-27 11:38:56 +00:00
Samuel Pitoiset
deede6b03d
radv: pass the pipeline key to the backend compilers
...
It exactly matches the shader keys now. Everything was copied from
the pipeline key to the shader keys.
There is still some work to completely remove radv_shader_variant_key.
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/13032 >
2021-09-27 11:57:25 +02:00
Samuel Pitoiset
97c7cfe823
radv: rework layout of radv_pipeline_key
...
To match radv_shader_variant_key.
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/13032 >
2021-09-27 11:57:22 +02:00
Samuel Pitoiset
124b003943
radv: store the CS subgroup size to radv_shader_info
...
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/13032 >
2021-09-27 11:57:20 +02:00
Samuel Pitoiset
c97147984b
radv: store the topology instead of the output primitive type in the key
...
To match the pipeline key.
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/13032 >
2021-09-27 11:57:17 +02:00
Tomeu Vizoso
112d526f77
panfrost/ci: Test panvk on Mali G52
...
Just run some selected tests for now because we miss a lot of
functionality, which would cause so many crashes that the runs
aren't practical.
Once the core functionality is implemented, we can switch to the master
case list with skips.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13016 >
2021-09-27 10:44:57 +02:00
Tomeu Vizoso
200f50f790
panfrost/ci: Move CI files to src/panfrost
...
In preparation for testing panvk.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13016 >
2021-09-27 10:44:49 +02:00
Boris Brezillon
4d9329ee90
panvk: Implement vkCmdBlitImage()
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12961 >
2021-09-27 07:45:41 +00:00
Boris Brezillon
c49f221888
pan/blit: Fix 3D blittering
...
Fixes several problems in the pan_blit() logic:
1. We actually need the reciprocal of the depth scaling in z_scale (maybe
we should rename this field z_scale_rcp to make it clear)
2. When Z end < Z start we should remove one to the cur_layer/layer_offset
instead of doing it on the last_layer field, otherwise there's an
off-by-one error
3. The Z src offset should be adjusted to account for scaling. If we don't
do that we won't sample from the right layer when upscaling.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12961 >
2021-09-27 07:45:41 +00:00
Boris Brezillon
c7204ab7fc
pan/blit: Let the caller offset the start/end coords passed to the blitter
...
Since we have no guarantee that start < end, we can't really tell to
which one the offset applies to. Let the caller take care of that.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12961 >
2021-09-27 07:45:41 +00:00
Andreas Baierl
187f786108
lima: Fix glFrontFace handling
...
Bit 12 of render->aux1 is GL_CCW/GL_CW. For GL_CCW (default of glFrontFace) we have
to set that bit active.
This is not what the blob does and what the original reverse engineering documentation
says. The blob sets this value inverted and does some bogus negation of the fragment
shaders gl_FrontFacing variable instead.
Anyway, doing it this way does not cause regressions but fixes
dEQP-GLES2.functional.shaders.builtin_variable.frontfacing and 4 piglit tests.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7690 >
2021-09-27 09:24:32 +02:00
Dave Airlie
03097f30fb
lavapipe: move to new shared features/properties
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12953 >
2021-09-27 16:35:54 +10:00
Dave Airlie
08b54ebe98
lavapipe: enable vulkan 1.2 support.
...
The remaining extensions are optional features, just turn on vk 1.2
with them reporting as off.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12953 >
2021-09-27 16:35:49 +10:00
Dave Airlie
6f6f7d2680
gallivm/nir: fix subgroup invocation read.
...
Again if you get passed an invoc but the exec mask has the
active lane somewhere other than at 0, then if we have an
invoc we should find the active lane and extract the value
from invoc rather than using the idx.
This fixes a bunch of VK 1.2 subgroup tests once 1.2 is enabled:
dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst*
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12953 >
2021-09-27 16:35:45 +10:00
Dave Airlie
c7907fe1a1
lavapipe: move to 1.2 features/properties structs.
...
This just adds all the wrappers in the right places hopefully
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12953 >
2021-09-27 16:35:03 +10:00
Mike Blumenkrantz
a8e123cd1c
lavapipe: add support for KHR_shader_float_controls
...
These pass all the CTS tests, though not sure how useful they are.
[airlied: these may need some work in the future depending on app expectations]
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12953 >
2021-09-27 16:34:34 +10:00
Mike Blumenkrantz
0e3fcc20d5
features: mark off bindless texture for zink
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12855 >
2021-09-27 01:40:54 +00:00
Mike Blumenkrantz
6681ad6e17
zink: export PIPE_CAP_BINDLESS_TEXTURE
...
this is the 6th descriptor set being bound, so don't even advertise it
if 6 sets can't be bound
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12855 >
2021-09-27 01:40:54 +00:00
Mike Blumenkrantz
bc202553e9
zink: implement bindless textures
...
this works by tracking 1024-member arrays of images and textures using idalloc
for indexing. each idalloc id is an index into the array that is returned as a handle,
and this handle is used to index into the array in shaders.
in the driver, VK_EXT_descriptor_indexing features are used to enable updates on the live
bindless descriptor set and leave unused members of the arrays unbound, which works as
long as no member is updated while it is in use. to avoid this, idalloc ids must cycle through
a batch once the image/texture handle is destroyed before being returned to the available pool
in shaders, bindless ops come in one of two types:
- i/o variables
- bindless instructions
for i/o, the image/texture variables have to be rewritten back to the integer
handles which represent them so that the successive shader stage utilizing them
can perform the indexing
for instructions, the src representing the image/texture has to be rewritten as a deref
into the bindless image/texture array
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12855 >
2021-09-27 01:40:54 +00:00
Mike Blumenkrantz
04e9470bcf
zink: hook up VK_EXT_descriptor_indexing
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12855 >
2021-09-27 01:40:54 +00:00
Mike Blumenkrantz
5d304e1ec9
zink: handle bindless images and samplers in ntv
...
these are going to come through as direct variable derefs, so it's simple
to handle the functionality by reusing the same codepath to generate image
types
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12855 >
2021-09-27 01:40:54 +00:00
Mike Blumenkrantz
be25b70af2
zink: refactor some shader image code to make it reusable
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12855 >
2021-09-27 01:40:54 +00:00
Mike Blumenkrantz
5c2df10f10
zink: don't add resource to pending barrier set if no barrier will be generated
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12855 >
2021-09-27 01:40:54 +00:00
Mike Blumenkrantz
c0cd5cfc11
zink: split out bvci creation from object creation
...
make this reusable like the others
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12855 >
2021-09-27 01:40:53 +00:00
Mike Blumenkrantz
4311842f83
zink: force lazy descriptor set rebinds if pipeline compatibility changes
...
if the pipeline layout changes, it's technically illegal to not rebind the descriptor
set even if it hasn't changed
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12931 >
2021-09-26 21:23:42 -04:00
Mike Blumenkrantz
1cb8d11b6c
zink: remove duplicated struct member set
...
this should only happen in zink_descriptors_update_lazy_masked
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12931 >
2021-09-26 21:23:42 -04:00
Marek Olšák
a198c6b7dd
ac/surface: correct a comment about DCC image stores
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13013 >
2021-09-25 08:49:05 +00:00
Marek Olšák
0f6251b31f
ac/surface: use DCC compatible with image stores for < 4K resolutions
...
We don't have to use the special DCC settings for lower resolutions.
This will cause corruption if X and an windowed app use different Mesa
versions. The fix is to restart the X server. I expect to get false bug
reports due to this.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13013 >
2021-09-25 08:49:05 +00:00
Marek Olšák
67bda8dc5f
radeonsi: remove the unused cs parameter from remaining packet functions
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13015 >
2021-09-25 08:32:03 +00:00
Marek Olšák
0763bfdb95
radeonsi: remove the unused cs parameter from radeon_set_uconfig_reg
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13015 >
2021-09-25 08:32:03 +00:00
Marek Olšák
f4ece6cf12
radeonsi: remove the unused cs parameter from radeon_set_sh_reg
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13015 >
2021-09-25 08:32:03 +00:00
Marek Olšák
8b52fd28c3
radeonsi: remove the unused cs parameter from radeon_set_(config|context)_reg
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13015 >
2021-09-25 08:32:03 +00:00
Marek Olšák
9f0cd15d6a
radeonsi: remove the unused cs parameter from radeon_emit_array
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13015 >
2021-09-25 08:32:03 +00:00
Marek Olšák
57bb89fdc5
radeonsi: remove the unused cs parameter from radeon_emit
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13015 >
2021-09-25 08:32:03 +00:00
Mike Blumenkrantz
db99462de6
docs: mark off GL_EXT_multisampled_render_to_texture for zink
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
fbff2b6c65
zink: implement GL_EXT_multisampled_render_to_texture
...
this requires allocating and using a lazily-allocated msaa surface as a transient
attachment for the base render operation, resolving it
...except vulkan has no "replicate" renderpass attachment mechanism, so for now we're
just gonna allocate a transient surface and hang on to it. sorry tilers!
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
43fb9f4f47
zink: stop setting nr_samples for shader image surface creation
...
that's not what this should be used for
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
44da321982
zink: move fb attachment init to new function
...
this is going to get more complicated
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
a4dcacf18f
zink: remove fbfetch layout thingy from zs renderpass init
...
zs doesn't do fbfetch
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
6873af8de1
zink: reorder draw state updates
...
starting a renderpass can trigger recursion and other draws, so do all
state updates/binds after the renderpass has begun
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
c32bcb9a8c
zink: improve handling of buffer rebinds using tc info
...
tc rebind info can't distinguish between buffers bound multiple times
in a given bind point (e.g., for multiple vertex buffers), so ensure all
rebinds are processed and the global rebind isn't triggered if multiple rebinds
are processed for a given buffer
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
9dbf1ba21d
zink: add ZINK_BIND_TRANSIENT
...
this is used to create lazily allocated images for use as transient
renderpass attachments
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
de3931cda7
zink: add ZINK_HEAP_DEVICE_LOCAL_LAZY
...
this is for lazily allocated resources
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Mike Blumenkrantz
584d705dd7
zink: repack zink_render_pass_state
...
saves a couple wasted bits
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12934 >
2021-09-24 21:00:21 +00:00
Lionel Landwerlin
9d9e67d118
spirv: don't fail on CapabilitySubgroupDispatch if supported
...
Since only Anv uses the value, I'm only enabling this on anv.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 518693c3ec ("spirv: Handle the SubgroupSize execution mode")
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13034 >
2021-09-24 20:23:14 +00:00
Mike Blumenkrantz
1d676fdee9
zink: split vk debug logging into separate functions
...
being able to breakpoint these easily is crucial to debugging, and it sucks to
always have to go back and check the line numbers, so now there's easily-rememberable
functions for it
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13042 >
2021-09-24 20:10:00 +00:00
Hoe Hao Cheng
3ee35b769a
zink/codegen: do not enable extensions based on vulkan version
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13004 >
2021-09-24 19:53:25 +00:00
Emma Anholt
0e997d42a2
turnip: Swizzle in 0, 1 for D24S8 STENCIL_ASPECT sampling.
...
This seems to be what is expected by the CTS, but I haven't found a
citation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13009 >
2021-09-24 19:26:57 +00:00
Mike Blumenkrantz
464f0ed74b
zink: enable timeline ext features
...
this is required by spec even though nobody cares
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13033 >
2021-09-24 19:12:50 +00:00