Mike Blumenkrantz
69501ff458
zink: explicitly enable VK_EXT_shader_subgroup_ballot
...
this is needed when not creating 1.2 contexts
cc: mesa-stable
ref #5567
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13562 >
2021-11-01 01:15:20 +00:00
Mike Blumenkrantz
ccfe36fffa
zink: clamp max buffer sizes to smallest buffer heap size
...
the max driver limit for these is irrelevant if there isn't enough memory
to allocate a buffer of that size
KHR-GL46.texture_buffer.texture_buffer_max_size
cc: mesa-stable
fixes #5568
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13584 >
2021-11-01 01:01:33 +00:00
Mike Blumenkrantz
fd2b47281f
zink: error when trying to allocate a bo larger than heap size
...
this is illegal and would fail anyway
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13584 >
2021-11-01 01:01:33 +00:00
Mike Blumenkrantz
aa5e544644
zink: don't clamp 2D_ARRAY surfaces to 2D
...
another thing that used to be needed but now isn't
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13586 >
2021-11-01 00:49:24 +00:00
Mike Blumenkrantz
8d2280f533
zink: don't clamp cube array surfacess to cubes
...
this was probably necessary for some other reason that has since been fixed,
and instead now just creates validation spam
cc: mesa-stable
fixes #5566
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13586 >
2021-11-01 00:49:24 +00:00
Mike Blumenkrantz
6ab915960c
zink: be more spec-compliant for unnormalizedCoordinates samplers
...
the spec prohibits using most stuff with these, but also they probably
are just texelfetch anyway so it doesn't matter
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13587 >
2021-11-01 00:33:19 +00:00
Dave Airlie
75dc302340
lavapipe: drop EXT_acquire_xlib_display
...
This has a requirement on the display extensions.
VK-GL-CTS: dEQP-VK.info.instance_extensions
Fixes: 1d574d4860 ("lavapipe: remove display extension support")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13616 >
2021-11-01 09:46:24 +10:00
Rob Clark
7e998783db
freedreno/ir3: xfb fix for duplicate outputs
...
We can't rely on regid to be unique, shaders can have multiple varyings
with the same output value. Normally shader linking deduplicates these,
but we still need to handle the case for xfb. So use slot instead as
the unique identifier.
Fixes KHR-GLES31.core.gpu_shader5.fma_precision_*
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13605 >
2021-10-31 16:30:13 +00:00
Rob Clark
f6f760a98d
freedreno/ir3/print: Show end's outidxs
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13605 >
2021-10-31 16:30:13 +00:00
Mike Blumenkrantz
6239adebbc
zink: flag renderpass change when toggling fbfetch
...
ensure the input attachment gets updated
fixes running
KHR-GL46.blend_equation_advanced.blend_all.GL_MULTIPLY_KHR_all_qualifier
after
KHR-GL46.blend_equation_advanced.BlendEquationSeparate
cc: mesa-stable
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13598 >
2021-10-31 14:56:51 +00:00
Jordan Justen
2d041d5f1e
Revert "iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13"
...
Round and round we go :)
In the "drm/i915/adlp/fb: Remove CCS FB stride restrictions" series,
https://lists.freedesktop.org/archives/intel-gfx/2021-October/281768.html ,
it now appears that kernel can allow these modifiers to work with
adl-p.
This reverts commit d4174f5f05 .
Fixes: d4174f5f05 ("iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13565 >
2021-10-31 01:24:43 -07:00
Connor Abbott
68a62226e4
ir3: Don't emit barriers for make_available/make_visible
...
When looking at the output of some CTS tests, I realized that the
barriers vtn currently inserts to emulate coherent memory accesses
were being turned into fences, even though we never needed to do
anything special for coherent accesses before so presumably accesses are
already cache-coherent by default. Ignore make_visible/make_available
semantics to get us back to parity with the old path.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13599 >
2021-10-29 23:38:10 +00:00
Jason Ekstrand
4108fda426
vulkan: Move all the common object code to runtime/
...
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
4af0c038cf
vulkan: Move trampoline code-gen to its own file
...
This way we sepaprate the raw tables from the code that actively depends
on vk_device and friends.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
d53f20ff4d
vulkan: Break entrypoint parsing into its own file
...
Instead of having a bunch of stuff depend on vk_dispatch_table_gen to
get the list of entrypoints, pull that into its own vk_entrypoints file.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
8f9e0c2816
vulkan/dispatch_table: EntrypointBase doesn't need to derive from object
...
We use python3 now and everything derives from object automatically
Suggested-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
3fd7cc9d42
vulkan: Drop unnecessary [en]coding comments from python generators
...
Suggested-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
a208b849f3
vulkan: Rework mako error handling in python generators
...
Suggested-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
006633c043
lavapipe: Use vk_instance_get_proc_addr_unchecked for WSI
...
It exists precisely to handle this case without the driver looking up
trampolines itself. This is nearly identical to what ANV does.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
5ccba1576d
v3dv: Use vk_instance_get_proc_addr_unchecked for WSI
...
It exists precisely to handle this case without the driver looking up
trampolines itself. This is nearly identical to what ANV does.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
837a142f2d
vulkan/vk_extensions_gen: Stop including vk_object.h
...
All we need from it is vulkan_common.h for VkExtensionProperties.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Jason Ekstrand
741262ee01
vulkan/vk_extensions_gen: Drop support for extra includes
...
No one is using this anymore.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13156 >
2021-10-29 23:12:32 +00:00
Vinson Lee
20620af1e4
clover: Add constructor for image_rd_argument.
...
Fix defect reported by Coverity Scan.
Uninitialized pointer field (UNINIT_CTOR)
member_not_init_in_gen_ctor: The compiler-generated constructor for this class does not initialize st.
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13500 >
2021-10-29 22:57:46 +00:00
Mike Blumenkrantz
e8f18385e0
zink: inject LOD for sampler version of OpImageQuerySize
...
this is required by spec
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13585 >
2021-10-29 19:05:07 +00:00
Mike Blumenkrantz
87fbb0eab0
zink: be more permissive for injecting LOD into texture() instructions
...
there's other variants of implicit lod sampling, and none of them are valid
outside fragment stage
Fixes: 3ad06b6949 ("zink: always use explicit lod for texture() when legal in non-fragment stages")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13585 >
2021-10-29 19:05:07 +00:00
Connor Abbott
8d0b508d91
ir3: Emit barriers for images again
...
This was accidentally broken with the nir_var_image work.
Fixes: e87dbfd3 ("ir3: Check for nir_var_mem_image in shared_barrier handling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13593 >
2021-10-29 16:33:04 +00:00
Marek Olšák
8bfa146b80
radeonsi: print the border color error message only once
...
Cc: 21.2 21.3 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13590 >
2021-10-29 12:33:55 +00:00
Marek Olšák
a4e0b02f85
mesa: skip strlen when hashing strings for ProgramResourceHash
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 07:19:20 -04:00
Marek Olšák
7fe3cc94eb
mesa: add separate hash tables for each GLSL resource type
...
This removes the malloc for the key, the associated string pointer
indirection, and hopefully the hash table has fewer elements than
the global one.
This decrease overhead of glGetUniformLocation.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 07:19:20 -04:00
Marek Olšák
1b1425d45c
mesa: handle hash collisions in program resource lookups (e.g. uniforms)
...
We computed the hash of the name and used it as a key, and then the table
computed the hash of the hash.
Do it properly: Pass the name as a string into the hash table and let
the table handle everything.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 07:19:20 -04:00
Marek Olšák
aad903c3f5
mesa: preparse [ and [0] in gl_resource_name and use it in shader_query.cpp
...
strrchr is very expensive here.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 07:19:20 -04:00
Marek Olšák
4b67055fef
mesa: rename locals in _mesa_program_resource_find_name for clarity
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 07:19:20 -04:00
Marek Olšák
22d51f3c92
mesa: precompute strlen in gl_resource_name::length and use it
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 07:19:20 -04:00
Marek Olšák
81ad6a8b64
mesa: don't compute the same strlen up to 3x in _mesa_program_resource_find_name
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 07:19:20 -04:00
Marek Olšák
dea558cbd2
glsl: add gl_resource_name to precompute "name" properties later
...
This just adds the structure with a name and its update function.
strlen and others will be added in the following commits. The idea is to
parse and analyze the name in advance to make glGetUniformLocation faster.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 07:19:18 -04:00
Marek Olšák
c216f1931d
mesa: use alloca in search_resource_hash
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507 >
2021-10-29 05:09:55 -04:00
Samuel Pitoiset
1776d741c5
zink: add CI lists and deqp-suite configuration for RADV
...
This is used by our local CI (ie. vk-cts-image) which is a separate
project outside of Mesa. We use it for testing RADV since a while.
The CI lists have been created against Navi2x (Sienna Cichlid).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13573 >
2021-10-29 08:28:02 +00:00
Marek Olšák
76892c4e46
vbo: restructure vbo_save_vertex_list to get more cache hits
...
- Move more stuff into the cold structure.
- Reorder fields for better packing.
- Flatten the gallium and merged nested structures.
Since we have tens of thousands of these, decreasing the size improves
performance by 13%.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13506 >
2021-10-29 07:33:50 +00:00
Marek Olšák
3835205a0e
vbo: use int16_t for vbo_save_vertex_list::gallium::private_refcount
...
We never use more than 16 bits.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13506 >
2021-10-29 07:33:50 +00:00
Marek Olšák
97caca6b47
vbo: return a GL error earlier in vbo_save_playback_vertex_list_gallium
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13506 >
2021-10-29 07:33:50 +00:00
Marek Olšák
fa2c39df0f
mesa: remove PADDING_64BIT by adding the dlist header into vbo_save_vertex_list
...
Now we can put useful data where the padding was.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13506 >
2021-10-29 07:33:50 +00:00
Marek Olšák
05605d7f53
mesa: remove display list OPCODE_NOP
...
This decreases overhead because there are fewer nodes to parse.
There are 2 changes done here:
- If the next node offset is (offset % 8) == 4, pad the last node instead
of inserting NOP. This makes sure that the node offset is aligned.
- The vertex list node will add 4 bytes to the header to make the payload
aligned, so the payload will be at &n[2].
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13506 >
2021-10-29 07:33:50 +00:00
Marek Olšák
4a26f57103
mesa: fix locking when destroying/overwriting/adding display lists
...
We need to hold the lock when calling destroy_list and doing
_mesa_HashInsertLocked in EndList.
So move the locking out of destroy_list.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13506 >
2021-10-29 07:33:50 +00:00
Marek Olšák
c494cfb1dd
radeonsi: don't invoke si_decompress_depth if textures are not dirty at binding
...
This eliminates the overhead of invoking si_decompress_depth.
The complication here is that we need to update needs_depth_decompress_mask
every time we update dirty_level_mask.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13492 >
2021-10-29 07:14:33 +00:00
Marek Olšák
0e54ac7a3c
winsys/amdgpu: optimize looping inefficiencies in add_bo_fence_dependencies
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13478 >
2021-10-29 06:54:22 +00:00
Marek Olšák
c4ba003e2f
winsys/amdgpu: move BO fence array updates to the CS thread
...
We always wait for num_active_ioctls == 0 before we use the fence,
so we can just add fences to BOs in the CS thread.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13478 >
2021-10-29 06:54:22 +00:00
Marek Olšák
67de09acbd
winsys/amdgpu: don't use ip_instance and ring fields of fence and IB structures
...
They are always 0.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13478 >
2021-10-29 06:54:22 +00:00
Marek Olšák
f6d072b2f0
winsys/amdgpu: increase the BO hash list size
...
This decreases overhead inside amdgpu_cs_add_buffer by 40%
for viewperf2020/catia.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13478 >
2021-10-29 06:54:22 +00:00
Marek Olšák
a5118bc97d
winsys/amdgpu: don't clear RADEON_USAGE_SYNCHRONIZED for last_added_bo_usage
...
It was breaking the early return path.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13478 >
2021-10-29 06:54:22 +00:00
Marek Olšák
107bc76882
winsys/amdgpu: remove an amdgpu_cs dereference from amdgpu_cs_add_buffer
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13478 >
2021-10-29 06:54:21 +00:00