Mike Blumenkrantz
bc345281ab
aux/primconvert: handle singular incomplete restarts
...
if no restart indices are found, this draw must be discarded to avoid
crashing later on
Fixes: 583070748c ("util/primconvert: handle rewriting of prim-restart draws with unsupported primtype")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13630 >
2021-11-04 20:12:32 +00:00
Emma Anholt
1e869e3fb4
freedreno/a5xx+: Fix missing LA formats.
...
GL_ARB_texture_buffer_object uses these formats, and we expose it. Since
we didn't have the formats in the table, we we were using bad HW
texture/color formats for them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13666 >
2021-11-04 19:07:54 +00:00
Emma Anholt
0e4fcda7e0
freedreno/a6xx: Don't try to generate mipmaps for SNORM with our blitter.
...
Since we're casting to unorm, the linear filtering will give bad results.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13666 >
2021-11-04 19:07:54 +00:00
Jason Ekstrand
953a4ca6fe
intel: Add has_bit6_swizzle to devinfo
...
There's no good reason to have this rather complex check in three
drivers.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13636 >
2021-11-04 18:51:04 +00:00
Marek Olšák
a0dc303b45
vbo: utilize structure padding to optimize indirection cold->prims[0].begin
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13589 >
2021-11-04 18:24:15 +00:00
Marek Olšák
3f997bccc6
radeonsi: increase tc_max_cpu_storage_size
...
Viewperf benefits. The number is only slightly above the size we need.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603 >
2021-11-04 17:36:26 +00:00
Marek Olšák
74adf22a0a
radeonsi: fix a typo preventing a fast depth-stencil clear
...
Fixes: 9defe8aca9 - radeonsi: implement fast Z/S clears using clear_buffer on HTILE
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603 >
2021-11-04 17:36:26 +00:00
Marek Olšák
c0f723ce2b
radeonsi: allow and finish TC-compatible MSAA HTILE
...
This improves perf for Catia by 4%.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603 >
2021-11-04 17:36:26 +00:00
Marek Olšák
3baeaac64b
radeonsi: rename stencil_cleared_level_mask -> stencil_cleared_level_mask_once
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603 >
2021-11-04 17:36:26 +00:00
Marek Olšák
b1b491cdbb
radeonsi: add a faster clear path for glClearTexImage
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603 >
2021-11-04 17:36:26 +00:00
Marek Olšák
5d3aea49b8
radeonsi: fix 2 issues with depth_cleared_level_mask
...
- Unset depth_cleared_level_mask for non-clear blits. Set the flag after
the clear, so that we don't have to check blitter_running.
- Set depth_cleared_level_mask only when we set depth_clear_value.
Fixes: ff8a930cf7 - radeonsi: add _once suffix to depth_cleared_level_mask
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603 >
2021-11-04 17:36:26 +00:00
Tapani Pälli
4885e63a6d
vulkan/wsi: implement missing wsi_register_device_event
...
These changes implement vkRegisterDeviceEventEXT and detection of
monitor hotplug. Wsi launches a thread that listens to udev events and
signals the appropriate device fences when hotplug hapens.
v2: use wsi fences instead of syncobj api (Jason Ekstrand)
v3: refactor + cleanups, create thread on demand (Samuel Pitoiset)
v4: bring back syncobj support from initial version for radv
v5: make libudev dependency optional, check for poll errors (Simon Ser)
v6: change matching mechanism to use udev device node instead of path
v7: remove the matching mechanism
v8: fix a race with thread creation + use single mutex + other cleanups
(Jason Ekstrand)
Fixes:
dEQP-VK.wsi.display_control.register_device_event
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305 >
2021-11-04 16:57:29 +00:00
Tapani Pälli
9f6764953b
anv: setup syncobj fd via wsi_device_setup_syncobj_fd
...
Patch moves initialization of variable so that we have fd when calling
wsi initialization.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305 >
2021-11-04 16:57:29 +00:00
Tapani Pälli
01fb24d50e
radv: setup syncobj fd via wsi_device_setup_syncobj_fd
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305 >
2021-11-04 16:57:29 +00:00
Tapani Pälli
73f21ea2e1
vulkan/wsi: provide api for drivers to setup syncobj fd
...
Drivers that import sync_fd to the wsi fences can use this to set file
descriptor for syncobj related calls. This fixes permission errors when
registering display/device events and importing sync_fd from driver
side.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305 >
2021-11-04 16:57:29 +00:00
Mike Blumenkrantz
92215d8da8
zink: add khr46 to ci
...
this blocks out all the very long tests and marks failures as needed
to improve the coverage of ci
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13656 >
2021-11-04 16:42:04 +00:00
Mike Blumenkrantz
f5f2426ffd
zink: remove lazy ci job
...
the push descriptor coverage for lavapipe should be okay in ci now, and
that was the point of adding this job
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13656 >
2021-11-04 16:42:04 +00:00
Joshua Ashton
7d64f0dd16
nvc0: Fix uninitialized width/height/depth warning.
...
This can happen if view->resource is false.
Fixes a warning in GCC 9+ that's been bugging me for a very long time when building Mesa.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12955 >
2021-11-04 15:31:09 +00:00
Marek Olšák
8b287c3f92
gallium/u_blitter: work around broken sample shading in llvmpipe and zink
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602 >
2021-11-04 15:06:09 +00:00
Marek Olšák
eb34716c1f
gallium/u_blitter: do MSAA copies in 1 pass using sample shading
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602 >
2021-11-04 15:06:09 +00:00
Marek Olšák
6d483fed85
gallium/u_blitter: disable sample shading for all blits
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602 >
2021-11-04 15:06:09 +00:00
Marek Olšák
7ce3f8e639
gallium/util: fix util_can_blit_via_copy_region with unbound render condition
...
It returned false when a render condition was not bound, but it should
have returned true.
The bool stuff is random and incomplete, but that's life.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602 >
2021-11-04 15:06:09 +00:00
Mike Blumenkrantz
5d1b81d8ac
zink: clamp PIPE_SHADER_CAP_MAX_INPUTS for xfb
...
vertex shader stages that can produce xfb must have
their input size clamped to the compiler define MAX_VARYING
to successfully be able to export an xfb output for each input
fixes KHR-GL46.geometry_shader.limits.max_input_components
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13632 >
2021-11-04 14:51:10 +00:00
Mike Blumenkrantz
46e167028d
zink: do a better job conserving locations for packed xfb outputs
...
if an entire vec4 is exported to xfb, mark it as an explicit xfb buffer
whenever possible to avoid blowing out the location limit
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13632 >
2021-11-04 14:51:10 +00:00
Pierre-Eric Pelloux-Prayer
ff981a7e79
drirc: add options for BETA CAE Ansa application.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364 >
2021-11-04 14:16:55 +00:00
Pierre-Eric Pelloux-Prayer
f5dc334b6d
drirc: add mesa_extension_override option
...
This allows specific per-application override.
The existing MESA_EXTENSION_OVERRIDE env variable is kept.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364 >
2021-11-04 14:16:55 +00:00
Pierre-Eric Pelloux-Prayer
50c983402e
mesa/init: replace call_once with manual implementation
...
This will be useful to add parameters to one_time_init().
_MTX_INITIALIZER_NP and Windows don't play nice together,
so I had to keep a call_once() to initialize the mutex.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364 >
2021-11-04 14:16:55 +00:00
Pierre-Eric Pelloux-Prayer
596597f4a4
mesa: don't use dummy_true for some MESA extensions
...
Otherwise we can't use MESA_EXTENSION_OVERRIDE, or rather: disabling one
extension using dummy_true will disable all others.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364 >
2021-11-04 14:16:55 +00:00
Pierre-Eric Pelloux-Prayer
8a03e25977
mesa: print a warning when an extension can't be disabled
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364 >
2021-11-04 14:16:55 +00:00
Iago Toral Quiroga
aa5a0e1dad
broadcom/compiler: copy packing when converting add to mul
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13675 >
2021-11-04 13:57:39 +00:00
Timur Kristóf
b59614619b
radv: Use MESA_VULKAN_SHADER_STAGES to make room for mesh/task.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13440 >
2021-11-04 13:32:07 +00:00
Pierre-Eric Pelloux-Prayer
cd6e9ad36a
llvmpipe: add missing NIR alu-op handling
...
nir_op_bcsel implemented based on ac_nir_to_llvm.c emit_bcsel function.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13246 >
2021-11-04 13:59:00 +01:00
Pierre-Eric Pelloux-Prayer
a21c0f531e
mesa: enable force_direct_glx_context for DiscoveryStudio2020
...
This app uses Qt4.8 which uses an indirect context to save a GL scene to
a pixmap.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13246 >
2021-11-04 13:59:00 +01:00
Pierre-Eric Pelloux-Prayer
fc3ef76eec
glx/drirc: add a force_direct_glx_context option
...
Some applications may request an indirect context but this feature is
disabled by default on Xorg and thus context creation will fail.
This commit adds a drirc setting to force the creation of direct glx
context, regardless of what the app is requesting.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13246 >
2021-11-04 13:59:00 +01:00
Pierre-Eric Pelloux-Prayer
9b09655a58
vbo/dlist: free copied.buffer if no vertices were copied
...
Other parts of the code asserts that copied.buffer is NULL if there are
no vertices to copy.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13246 >
2021-11-04 13:59:00 +01:00
Marek Olšák
118f2952b6
driconf: set vblank_mode=0 for viewperf2020
...
It doesn't disable vsync. Reported internally.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13612 >
2021-11-04 11:04:35 +00:00
Pierre-Eric Pelloux-Prayer
dbf602a6b3
ac/surface: don't validate DCC settings if DCC isn't possible
...
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13550 >
2021-11-04 09:38:46 +01:00
Pierre-Eric Pelloux-Prayer
bc6d22b920
radeonsi: fix ps_uses_fbfetch value
...
si_update_ps_colorbuf0_slot used blitter_running as a way to detect
recursive calls.
Unfortunately this catch too many cases; for instance a backtrace
like:
#0 si_update_ps_colorbuf0_slot
#1 si_set_framebuffer_state
#2 do_blits
[...]
#5 si_blit
#6 si_copy_region_with_blit
Would end-up not updating ps_uses_fbfetch; so if the new fb_state is
something like:
cbufs = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, zsbuf = 0x55b8987545e0}
We can have ps_uses_fbfetch=true but cbufs[0] = NULL, which causes a
crash later in si_ps_key_update_framebuffer.
This commit fixes intermittent crashes in KHR-GL46.stencil_texturing.functional.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13550 >
2021-11-04 09:38:42 +01:00
Pierre-Eric Pelloux-Prayer
d86d602ed0
radeonsi/sdma: fix bogus assert
...
src can use dcc even for non sdma v5 variants because si_decompress_dcc
is called in si_sdma_copy_image.
Fixes: 46c95047bd ("radeonsi: implement si_sdma_copy_image for gfx7+")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13550 >
2021-11-04 09:38:41 +01:00
Pierre-Eric Pelloux-Prayer
84d4bda8e5
ac/surface: use a less strict condition in is_dcc_supported_by_L2
...
While Mesa chooses to always use independent_128B_blocks, other drivers
can make different choices.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13550 >
2021-11-04 09:38:27 +01:00
Pierre-Eric Pelloux-Prayer
dc56301f78
radeonsi: treat nir_intrinsic_load_constant as a VMEM operation
...
This is used by variable indexing of constant arrays, to build
code like this:
s_add_u32 s6, s6, const_data@rel32@lo+4
s_addc_u32 s7, s7, const_data@rel32@hi+12
[...]
global_load_dword v4, v4, s[6:7
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5118
Fixes: 8288882965 ("radeonsi: set MEM_ORDERED optimally")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13550 >
2021-11-04 09:38:20 +01:00
Joshua Ashton
af8fa2644e
radv: Split off cmd_buffer variant of descriptor set template updates
...
Assumes cmd_buffer != NULL for this path to eliminate the checks in the generic code.
Benchmarks:
I made a microbenchmark based on Bas' vulkan microbench suite.
https://gitlab.freedesktop.org/bnieuwenhuizen/vulkan_microbench/-/merge_requests/1
In this benchmark, this improves vkDescriptorTemplateUpdate performance consistently by 36%.
-------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------
DescriptorTemplateUpdate 81.2 ns 81.2 ns 8573169
->
-------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------
DescriptorTemplateUpdate 52.9 ns 52.9 ns 13306065
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13342 >
2021-11-04 05:50:54 +00:00
Joshua Ashton
4865cb6514
radv: Split off cmd_buffer variant of descriptor set updates
...
Assumes cmd_buffer != NULL for this path to eliminate the checks in the generic code.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13342 >
2021-11-04 05:50:48 +00:00
Joshua Ashton
7b0826db56
radv: Always inline descriptor writes
...
Improves performance, see next commit for benchmarks.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13342 >
2021-11-04 05:50:47 +00:00
Emma Anholt
0913ac33a9
freedreno/a618: Mark a flaky test that triggers hangcheck.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13659 >
2021-11-04 03:47:54 +00:00
Emma Anholt
d1801d43f8
freedreno/a5xx: Use the defined names for 2D_BLIT_CNTL regs.
...
We have definitions for them above, no need to be UNKNOWN about it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13659 >
2021-11-04 03:47:54 +00:00
Emma Anholt
f0f5b8d47c
freedreno/a6xx: Fix partial z/s clears with sysmem.
...
We have to set 8c01 to say "leave these channels alone" when
clearing/storing just Z or S of z24s8. Fixes the bypass path for
KHR-GLES3.packed_depth_stencil.verify_read_pixels.depth24_stencil8.
Cc: mesa-stable
Fixes : #5592
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13659 >
2021-11-04 03:47:54 +00:00
Mike Blumenkrantz
aa5ca7fc3c
features: add dynamic render for lavapipe
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13627 >
2021-11-04 03:22:09 +00:00
Mike Blumenkrantz
8a6160a354
lavapipe: VK_KHR_dynamic_rendering
...
this is a conformant implementation
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13627 >
2021-11-04 03:22:09 +00:00
Mike Blumenkrantz
dd71cc8947
lavapipe: fix cmd queuing for dynamic render
...
this sucks, but it should be sorted quickly in #5440
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13627 >
2021-11-04 03:22:09 +00:00