platform/upstream/mesa.git
2 years agoaux/primconvert: handle singular incomplete restarts
Mike Blumenkrantz [Mon, 1 Nov 2021 16:48:39 +0000 (12:48 -0400)]
aux/primconvert: handle singular incomplete restarts

if no restart indices are found, this draw must be discarded to avoid
crashing later on

Fixes: 583070748cb ("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>

2 years agofreedreno/a5xx+: Fix missing LA formats.
Emma Anholt [Wed, 3 Nov 2021 22:11:39 +0000 (15:11 -0700)]
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>

2 years agofreedreno/a6xx: Don't try to generate mipmaps for SNORM with our blitter.
Emma Anholt [Wed, 3 Nov 2021 22:59:52 +0000 (15:59 -0700)]
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>

2 years agointel: Add has_bit6_swizzle to devinfo
Jason Ekstrand [Tue, 2 Nov 2021 20:49:27 +0000 (15:49 -0500)]
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>

2 years agovbo: utilize structure padding to optimize indirection cold->prims[0].begin
Marek Olšák [Fri, 29 Oct 2021 07:09:47 +0000 (03:09 -0400)]
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>

2 years agoradeonsi: increase tc_max_cpu_storage_size
Marek Olšák [Sat, 30 Oct 2021 16:23:38 +0000 (12:23 -0400)]
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>

2 years agoradeonsi: fix a typo preventing a fast depth-stencil clear
Marek Olšák [Sat, 30 Oct 2021 15:43:42 +0000 (11:43 -0400)]
radeonsi: fix a typo preventing a fast depth-stencil clear

Fixes: 9defe8aca953b69615728c8 - 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>

2 years agoradeonsi: allow and finish TC-compatible MSAA HTILE
Marek Olšák [Fri, 29 Oct 2021 19:36:05 +0000 (15:36 -0400)]
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>

2 years agoradeonsi: rename stencil_cleared_level_mask -> stencil_cleared_level_mask_once
Marek Olšák [Fri, 29 Oct 2021 17:22:43 +0000 (13:22 -0400)]
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>

2 years agoradeonsi: add a faster clear path for glClearTexImage
Marek Olšák [Fri, 29 Oct 2021 18:02:53 +0000 (14:02 -0400)]
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>

2 years agoradeonsi: fix 2 issues with depth_cleared_level_mask
Marek Olšák [Fri, 29 Oct 2021 17:27:54 +0000 (13:27 -0400)]
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: ff8a930cf7de6aa7 - 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>

2 years agovulkan/wsi: implement missing wsi_register_device_event
Tapani Pälli [Mon, 1 Nov 2021 05:31:19 +0000 (07:31 +0200)]
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>

2 years agoanv: setup syncobj fd via wsi_device_setup_syncobj_fd
Tapani Pälli [Thu, 14 Oct 2021 11:45:19 +0000 (14:45 +0300)]
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>

2 years agoradv: setup syncobj fd via wsi_device_setup_syncobj_fd
Tapani Pälli [Thu, 14 Oct 2021 11:44:41 +0000 (14:44 +0300)]
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>

2 years agovulkan/wsi: provide api for drivers to setup syncobj fd
Tapani Pälli [Thu, 14 Oct 2021 11:43:00 +0000 (14:43 +0300)]
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>

2 years agozink: add khr46 to ci
Mike Blumenkrantz [Wed, 3 Nov 2021 16:00:36 +0000 (12:00 -0400)]
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>

2 years agozink: remove lazy ci job
Mike Blumenkrantz [Wed, 3 Nov 2021 19:41:40 +0000 (15:41 -0400)]
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>

2 years agonvc0: Fix uninitialized width/height/depth warning.
Joshua Ashton [Tue, 21 Sep 2021 10:10:05 +0000 (11:10 +0100)]
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>

2 years agogallium/u_blitter: work around broken sample shading in llvmpipe and zink
Marek Olšák [Thu, 4 Nov 2021 13:56:49 +0000 (09:56 -0400)]
gallium/u_blitter: work around broken sample shading in llvmpipe and zink

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602>

2 years agogallium/u_blitter: do MSAA copies in 1 pass using sample shading
Marek Olšák [Fri, 29 Oct 2021 15:56:52 +0000 (11:56 -0400)]
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>

2 years agogallium/u_blitter: disable sample shading for all blits
Marek Olšák [Fri, 29 Oct 2021 14:59:51 +0000 (10:59 -0400)]
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>

2 years agogallium/util: fix util_can_blit_via_copy_region with unbound render condition
Marek Olšák [Fri, 29 Oct 2021 13:40:28 +0000 (09:40 -0400)]
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>

2 years agozink: clamp PIPE_SHADER_CAP_MAX_INPUTS for xfb
Mike Blumenkrantz [Mon, 1 Nov 2021 14:44:59 +0000 (10:44 -0400)]
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>

2 years agozink: do a better job conserving locations for packed xfb outputs
Mike Blumenkrantz [Mon, 1 Nov 2021 17:13:31 +0000 (13:13 -0400)]
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>

2 years agodrirc: add options for BETA CAE Ansa application.
Pierre-Eric Pelloux-Prayer [Tue, 12 Oct 2021 09:54:46 +0000 (11:54 +0200)]
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>

2 years agodrirc: add mesa_extension_override option
Pierre-Eric Pelloux-Prayer [Tue, 12 Oct 2021 09:53:28 +0000 (11:53 +0200)]
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>

2 years agomesa/init: replace call_once with manual implementation
Pierre-Eric Pelloux-Prayer [Tue, 12 Oct 2021 09:52:22 +0000 (11:52 +0200)]
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>

2 years agomesa: don't use dummy_true for some MESA extensions
Pierre-Eric Pelloux-Prayer [Tue, 12 Oct 2021 09:50:15 +0000 (11:50 +0200)]
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>

2 years agomesa: print a warning when an extension can't be disabled
Pierre-Eric Pelloux-Prayer [Fri, 15 Oct 2021 07:25:44 +0000 (09:25 +0200)]
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>

2 years agobroadcom/compiler: copy packing when converting add to mul
Iago Toral Quiroga [Thu, 4 Nov 2021 12:41:20 +0000 (13:41 +0100)]
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>

2 years agoradv: Use MESA_VULKAN_SHADER_STAGES to make room for mesh/task.
Timur Kristóf [Tue, 19 Oct 2021 15:37:55 +0000 (17:37 +0200)]
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>

2 years agollvmpipe: add missing NIR alu-op handling
Pierre-Eric Pelloux-Prayer [Wed, 6 Oct 2021 12:50:09 +0000 (14:50 +0200)]
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>

2 years agomesa: enable force_direct_glx_context for DiscoveryStudio2020
Pierre-Eric Pelloux-Prayer [Wed, 6 Oct 2021 12:49:01 +0000 (14:49 +0200)]
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>

2 years agoglx/drirc: add a force_direct_glx_context option
Pierre-Eric Pelloux-Prayer [Thu, 7 Oct 2021 10:14:44 +0000 (12:14 +0200)]
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>

2 years agovbo/dlist: free copied.buffer if no vertices were copied
Pierre-Eric Pelloux-Prayer [Mon, 4 Oct 2021 09:18:47 +0000 (11:18 +0200)]
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>

2 years agodriconf: set vblank_mode=0 for viewperf2020
Marek Olšák [Sun, 31 Oct 2021 07:55:23 +0000 (03:55 -0400)]
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>

2 years agoac/surface: don't validate DCC settings if DCC isn't possible
Pierre-Eric Pelloux-Prayer [Wed, 3 Nov 2021 14:26:21 +0000 (15:26 +0100)]
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>

2 years agoradeonsi: fix ps_uses_fbfetch value
Pierre-Eric Pelloux-Prayer [Fri, 29 Oct 2021 13:12:50 +0000 (15:12 +0200)]
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>

2 years agoradeonsi/sdma: fix bogus assert
Pierre-Eric Pelloux-Prayer [Thu, 28 Oct 2021 09:56:01 +0000 (11:56 +0200)]
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: 46c95047bd7 ("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>

2 years agoac/surface: use a less strict condition in is_dcc_supported_by_L2
Pierre-Eric Pelloux-Prayer [Wed, 27 Oct 2021 12:51:23 +0000 (14:51 +0200)]
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>

2 years agoradeonsi: treat nir_intrinsic_load_constant as a VMEM operation
Pierre-Eric Pelloux-Prayer [Wed, 27 Oct 2021 12:44:54 +0000 (14:44 +0200)]
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: 8288882965b ("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>

2 years agoradv: Split off cmd_buffer variant of descriptor set template updates
Joshua Ashton [Wed, 13 Oct 2021 14:44:54 +0000 (15:44 +0100)]
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>

2 years agoradv: Split off cmd_buffer variant of descriptor set updates
Joshua Ashton [Thu, 14 Oct 2021 12:15:51 +0000 (13:15 +0100)]
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>

2 years agoradv: Always inline descriptor writes
Joshua Ashton [Wed, 13 Oct 2021 14:08:39 +0000 (15:08 +0100)]
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>

2 years agofreedreno/a618: Mark a flaky test that triggers hangcheck.
Emma Anholt [Thu, 4 Nov 2021 02:12:19 +0000 (19:12 -0700)]
freedreno/a618: Mark a flaky test that triggers hangcheck.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13659>

2 years agofreedreno/a5xx: Use the defined names for 2D_BLIT_CNTL regs.
Emma Anholt [Wed, 3 Nov 2021 18:27:59 +0000 (11:27 -0700)]
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>

2 years agofreedreno/a6xx: Fix partial z/s clears with sysmem.
Emma Anholt [Wed, 3 Nov 2021 16:51:26 +0000 (09:51 -0700)]
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>

2 years agofeatures: add dynamic render for lavapipe
Mike Blumenkrantz [Wed, 3 Nov 2021 23:54:32 +0000 (19:54 -0400)]
features: add dynamic render for lavapipe

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13627>

2 years agolavapipe: VK_KHR_dynamic_rendering
Mike Blumenkrantz [Mon, 4 Oct 2021 18:56:31 +0000 (14:56 -0400)]
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>

2 years agolavapipe: fix cmd queuing for dynamic render
Mike Blumenkrantz [Mon, 4 Oct 2021 18:56:13 +0000 (14:56 -0400)]
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>

2 years agovk: update headers for 1.2.197
Mike Blumenkrantz [Tue, 2 Nov 2021 12:59:52 +0000 (08:59 -0400)]
vk: update headers for 1.2.197

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13627>

2 years agofreedreno/ir3: Use immediate for flat.b's src1
Matt Turner [Tue, 19 Oct 2021 19:39:13 +0000 (12:39 -0700)]
freedreno/ir3: Use immediate for flat.b's src1

According to Jonathan Marek:

  Only one immediate can be decoded in a cat2 instruction (if both srcs
  are immediates, they will use the value of the either the first or
  second one, I don't remember which) - using 2 immediates in a cat2
  instruction is only "correct" if they are both equal.

  The (i,j) in the second src of flat.b is not unused, but behaves as 0
  for any (small) integer because it is a float src. The hack I
  suggested is to set the second src equal to (immediate) first src,
  which seems to work.

This allows us to remove a couple of mov instructions or a bit of extra
constfile usage.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13558>

2 years agofreedreno/ir3: Use flat.b to load flat varyings on a6xx
Matt Turner [Tue, 12 Oct 2021 15:50:55 +0000 (08:50 -0700)]
freedreno/ir3: Use flat.b to load flat varyings on a6xx

The flat.b/bary.f cat2 instruction should be faster than an ldlv cat6
instruction, even with a couple of additional moves (which will be
removed in the next patch).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13558>

2 years agofreedreno/ir3: Add infrastructure for flat.b
Matt Turner [Mon, 1 Nov 2021 23:12:40 +0000 (16:12 -0700)]
freedreno/ir3: Add infrastructure for flat.b

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13558>

2 years agoir3: Add support for (dis)assembling flat.b
Matt Turner [Tue, 13 Apr 2021 19:36:33 +0000 (19:36 +0000)]
ir3: Add support for (dis)assembling flat.b

flat.b is a variant of the bary.f instruction that does not perform
interpolation of the varying input.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13558>

2 years agozink: always use lazy (non-push) updating for fbfetch descriptors
Mike Blumenkrantz [Wed, 3 Nov 2021 19:03:30 +0000 (15:03 -0400)]
zink: always use lazy (non-push) updating for fbfetch descriptors

fbfetch descriptors are uncacheable due to having mixed descriptor types
in the same set, so this needs to always use lazy updating to avoid
exploding the cache and crashing

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13654>

2 years agozink: set fbfetch state on lazy batch data when enabling it
Mike Blumenkrantz [Wed, 3 Nov 2021 19:03:59 +0000 (15:03 -0400)]
zink: set fbfetch state on lazy batch data when enabling it

this avoids creating new descriptor pools on every update

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13654>

2 years agoanv: disable debug logging spam
Mike Blumenkrantz [Tue, 26 Oct 2021 17:27:19 +0000 (13:27 -0400)]
anv: disable debug logging spam

nobody wants to see this by default, so disable it until #5404
is resolved to make it more manageable

Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13628>

2 years agomesa/st: lower psiz for shader precompile
Mike Blumenkrantz [Wed, 23 Jun 2021 16:44:12 +0000 (12:44 -0400)]
mesa/st: lower psiz for shader precompile

if the driver is requesting that psiz always be set, precompile the first
variant with psiz since that's most likely to be what's eventually used

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13588>

2 years agomesa/st: rework psiz lowering
Mike Blumenkrantz [Wed, 23 Jun 2021 16:40:47 +0000 (12:40 -0400)]
mesa/st: rework psiz lowering

the context flag is immutable, and it's set by drivers that always
require the shader to export a psiz value for rasterization

"always" is all cases except GL_VERTEX_PROGRAM_POINT_SIZE being
enabled, in which case it should be assumed that the shader already
writes it, and no changes should be made

thus the shader key value can be changed to reflect that, when set,
it requires the shader to export a psiz value if it doesn't already

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13588>

2 years agodocs: update calendar for 21.3.0-rc4
Eric Engestrom [Wed, 3 Nov 2021 22:14:02 +0000 (22:14 +0000)]
docs: update calendar for 21.3.0-rc4

Add another release candidate as we're not ready for 21.3.0 final just yet.

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13667>

2 years agost/mesa: don't update vertex elements when GL doesn't change them
Marek Olšák [Sun, 24 Oct 2021 07:57:14 +0000 (03:57 -0400)]
st/mesa: don't update vertex elements when GL doesn't change them

We rely on mesa/main to tell us whether to update vertex elements.
This decreases overhead for obvious reasons.

The select/feedback code path doesn't use this, which is why you see
unconditional "ALL" in a few codepaths.

This sequence of GL calls doesn't update vertex elements if only
the pointer and stride vary:
    glVertexPointer()
    glDrawElements()
    glVertexPointer()
    glDrawElements()
    glVertexPointer()
    glDrawElements()

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13512>

2 years agocso: add missing parameters into cso_set_vertex_buffers
Marek Olšák [Sun, 24 Oct 2021 07:56:29 +0000 (03:56 -0400)]
cso: add missing parameters into cso_set_vertex_buffers

they will be used later

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13512>

2 years agomesa: add NewVertexBuffers/NewVertexElements flags to indicate state changes
Marek Olšák [Sun, 24 Oct 2021 07:28:53 +0000 (03:28 -0400)]
mesa: add NewVertexBuffers/NewVertexElements flags to indicate state changes

This splits the per-VAO NewArrays flag into NewVertexBuffers and
NewVertexElements, and adds a global NewVertexElements flag to be used
by drivers.

This allows gallium to skip updating vertex elements when only vertex
buffers need to be updated.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13512>

2 years agomesa: change gl_vertex_array_object::NewArrays to bool
Marek Olšák [Sun, 24 Oct 2021 21:46:09 +0000 (17:46 -0400)]
mesa: change gl_vertex_array_object::NewArrays to bool

the individual bits are never used

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13512>

2 years agost/mesa: use POPCNT in st_update_array if the CPU supports it
Marek Olšák [Sun, 24 Oct 2021 03:25:00 +0000 (23:25 -0400)]
st/mesa: use POPCNT in st_update_array if the CPU supports it

The st_update_array overhead decreases from 8.28% to 7.67% for a viewperf
subtest.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13512>

2 years agost/mesa: change st_atom_array.c to cpp
Marek Olšák [Sun, 24 Oct 2021 02:53:30 +0000 (22:53 -0400)]
st/mesa: change st_atom_array.c to cpp

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13512>

2 years agoutil: add a util_bitcount variant that selects POPCNT through C++ template arg
Marek Olšák [Sun, 24 Oct 2021 03:23:15 +0000 (23:23 -0400)]
util: add a util_bitcount variant that selects POPCNT through C++ template arg

Moved from radeonsi. st/mesa will use it.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13512>

2 years agor300: stub derivatives on r300 and r400 hardware
Filip Gawin [Wed, 3 Nov 2021 10:42:18 +0000 (11:42 +0100)]
r300: stub derivatives on r300 and r400 hardware

There are three approaches for problem:
- use dummy shader (current solution)
- use software rendering
- stub

First option always gonna give bad results, second one
gonna be slideshow (r300/r400 at best are running with
old 2 cores cpu), third one can sometimes give graphical
gliches.

IMHO third one is least annoying option.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13642>

2 years agofreedreno: Fix layered rendering to just Z/S and not color.
Emma Anholt [Wed, 3 Nov 2021 19:00:09 +0000 (12:00 -0700)]
freedreno: Fix layered rendering to just Z/S and not color.

We would try to take the gmem path which can't do layered rendering.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13653>

2 years agobuild: add sha1_h to llvmpipe build
Mike Blumenkrantz [Wed, 3 Nov 2021 19:53:45 +0000 (15:53 -0400)]
build: add sha1_h to llvmpipe build

cc: mesa-stable

fixes #5588

Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13658>

2 years ago.mailmap: Simplify my name
Caio Oliveira [Wed, 3 Nov 2021 17:16:50 +0000 (10:16 -0700)]
.mailmap: Simplify my name

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13651>

2 years agozink: add queue locking
Mike Blumenkrantz [Fri, 29 Oct 2021 15:06:34 +0000 (11:06 -0400)]
zink: add queue locking

sparse binds have to be processed synchronously with cmdbuf recording to
avoid resource object desync in the vk driver, which means they have to be
done in the driver thread instead of the flush thread. this necessitates
adding locking for the queue since there is now a case when submissions occur
in a different thread

fixes illegal multithread usage in KHR-GL46.CommonBugs.CommonBug_SparseBuffersWithCopyOps

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13597>

2 years agozink: set PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY
Mike Blumenkrantz [Wed, 27 Oct 2021 18:30:38 +0000 (14:30 -0400)]
zink: set PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY

fixes #5557

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13556>

2 years agogallium: add PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY
Mike Blumenkrantz [Wed, 27 Oct 2021 18:28:53 +0000 (14:28 -0400)]
gallium: add PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY

vulkan requires that vertex attribute access be aligned to the size of
a component for the attribute, but GL has no such requirements

the existing alignment caps are unnecessarily restrictive for applying
this limitation, so this cap now pre-calculates the masks for elements
and vertex buffers in vbuf to enable rewriting misaligned buffers

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13556>

2 years agofreedreno/a6xx: Use the fdl buffer view setup for img/ssbo descriptors.
Emma Anholt [Fri, 29 Oct 2021 23:57:02 +0000 (16:57 -0700)]
freedreno/a6xx: Use the fdl buffer view setup for img/ssbo descriptors.

The single-plane descriptor emit helper doesn't strictly need the UBWC
reloc, since imageBuffer can't be UBWC, but it means the function is ready
to be used for non-buffer image descriptors later.

no-hw drawoverhead 1-imageBuffer change throughput 1.95457% +/- 1.44325%
(n=127).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13635>

2 years agofreedreno/fdl6: Add support for texture swizzles of A/L/I/LA/RGBx.
Emma Anholt [Tue, 19 Oct 2021 17:25:46 +0000 (10:25 -0700)]
freedreno/fdl6: Add support for texture swizzles of A/L/I/LA/RGBx.

To convert freedreno over, we need to support these formats where we remap
R or RG formats to GL compat ones, or RGBA to RGBx.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13635>

2 years agoturnip: Remove buffer-view cross-check code.
Emma Anholt [Tue, 19 Oct 2021 18:58:07 +0000 (11:58 -0700)]
turnip: Remove buffer-view cross-check code.

Now that I've tested storage.*buffer, I'm confident I've moved the buffer
views correctly.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13635>

2 years agoturnip: Use the new shared buffer-view descriptor creation function.
Emma Anholt [Tue, 19 Oct 2021 18:46:21 +0000 (11:46 -0700)]
turnip: Use the new shared buffer-view descriptor creation function.

This cross-checks that our descriptors match as I move the code.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13635>

2 years agofreedreno/fdl6: Add an interface for setting up buffer descriptors.
Emma Anholt [Tue, 19 Oct 2021 18:42:47 +0000 (11:42 -0700)]
freedreno/fdl6: Add an interface for setting up buffer descriptors.

Buffers don't need all the layout stuff that image views do, so it's
easier to have a separate interface for generating them.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13635>

2 years agofreedreno/a6xx: Emit a null descriptor for unoccupied IBO slots.
Emma Anholt [Mon, 25 Oct 2021 19:57:15 +0000 (12:57 -0700)]
freedreno/a6xx: Emit a null descriptor for unoccupied IBO slots.

Fixes a crash in some desktop GL testcases in piglit.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13635>

2 years agofreedreno: Fix gmem invalidating the depth or stencil of packed d/s.
Emma Anholt [Wed, 3 Nov 2021 16:19:42 +0000 (09:19 -0700)]
freedreno: Fix gmem invalidating the depth or stencil of packed d/s.

The gmem store stores both depth and stencil for z24s8.  So, if we're
doing a write (clear or draw) to one or the other of the channels, we need
the other one restored as well.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13649>

2 years agointel/compiler: Use gl_shader_stage_uses_workgroup() helpers
Caio Oliveira [Tue, 18 May 2021 17:01:49 +0000 (10:01 -0700)]
intel/compiler: Use gl_shader_stage_uses_workgroup() helpers

Instead of checking for MESA_SHADER_COMPUTE (and KERNEL).  Where
appropriate, also use gl_shader_stage_is_compute().

This allows most of the workgroup-related lowering to be applied to
Task and Mesh shaders.  These will be added later and "inherit" from
cs_prog_data structure.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13629>

2 years agointel/compiler: Make brw_nir_populate_wm_prog_data() static
Caio Oliveira [Mon, 17 May 2021 22:25:26 +0000 (15:25 -0700)]
intel/compiler: Make brw_nir_populate_wm_prog_data() static

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13629>

2 years agoanv: Include viewport size in scissor rectangle
Vadym Shovkoplias [Thu, 28 Oct 2021 13:03:11 +0000 (16:03 +0300)]
anv: Include viewport size in scissor rectangle

Prevent drawing outside the viewport when viewport size
is smaller than framebuffer size.

v2: (Jason Ekstrand)
- re-emit scissor on viewport change
- do the same calculations for other platforms

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5515
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13594>

2 years agoanv: Process FS last when compiling graphics pipeline
Caio Marcelo de Oliveira Filho [Tue, 18 May 2021 18:34:59 +0000 (11:34 -0700)]
anv: Process FS last when compiling graphics pipeline

Enum values for MESA_SHADER_TASK and MESA_SHADER_MESH are larger than
MESA_SHADER_FRAGMENT, so can't rely on the them for ordering anymore.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13637>

2 years agoanv: Make shaders array in anv_graphics_pipeline fit Task/Mesh
Caio Marcelo de Oliveira Filho [Tue, 18 May 2021 18:17:30 +0000 (11:17 -0700)]
anv: Make shaders array in anv_graphics_pipeline fit Task/Mesh

We could decouple the locations in the array from the gl_shader_stage
enum values, but for now this is convenient.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13637>

2 years agoanv: Get rid of "may be used initialized" warning in anv_QueueSubmit2KHR
Caio Marcelo de Oliveira Filho [Wed, 3 Nov 2021 03:38:33 +0000 (20:38 -0700)]
anv: Get rid of "may be used initialized" warning in anv_QueueSubmit2KHR

The code is correct, but compiler can't see it.  Initialize the value
to NULL and assert on it if the function succeeds.  It both helps the
compiler and make the code slightly more robust.

```
../src/intel/vulkan/anv_queue.c: In function ‘anv_QueueSubmit2KHR’:
../src/intel/vulkan/anv_queue.c:932:16: warning: ‘impl’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  932 |       result = anv_queue_submit_add_timeline_wait(queue, submit,
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  933 |                                                   &impl->timeline,
      |                                                   ~~~~~~~~~~~~~~~~
  934 |                                                   value);
      |                                                   ~~~~~~
../src/intel/vulkan/anv_queue.c:899:31: note: ‘impl’ was declared here
  899 |    struct anv_semaphore_impl *impl;
      |                               ^~~~
```

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13638>

2 years agofreedreno/computerator: Support A660 gpu
Danylo Piliaiev [Wed, 3 Nov 2021 10:00:44 +0000 (12:00 +0200)]
freedreno/computerator: Support A660 gpu

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13640>

2 years agotu: fix rast state allocation size on a6xx gen4
Danylo Piliaiev [Wed, 3 Nov 2021 12:05:23 +0000 (14:05 +0200)]
tu: fix rast state allocation size on a6xx gen4

A few regs were added without changing the size of draw state.

Fixes: 4e05338d99abbf2858a0d8444ffc53028fe23051 ("turnip: Rast updates for a6xx gen4")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13644>

2 years agozink: reject all storage multisampling if the feature is unsupported
Mike Blumenkrantz [Fri, 29 Oct 2021 16:13:43 +0000 (12:13 -0400)]
zink: reject all storage multisampling if the feature is unsupported

this also enables removing a stupid conditional

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13631>

2 years agozink: add SpvCapabilityStorageImageMultisample for multisampled storage images
Mike Blumenkrantz [Fri, 29 Oct 2021 16:11:14 +0000 (12:11 -0400)]
zink: add SpvCapabilityStorageImageMultisample for multisampled storage images

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13631>

2 years agobroadcom/compiler: check that sig packing is valid when pipelining ldvary
Iago Toral Quiroga [Wed, 3 Nov 2021 10:14:19 +0000 (11:14 +0100)]
broadcom/compiler: check that sig packing is valid when pipelining ldvary

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13641>

2 years agoglsl/nir: mark samplers inside a block as bindless
Pierre-Eric Pelloux-Prayer [Tue, 19 Oct 2021 16:13:49 +0000 (18:13 +0200)]
glsl/nir: mark samplers inside a block as bindless

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13416>

2 years agomesa: don't reset SamplersValidated if nothing changed
Pierre-Eric Pelloux-Prayer [Tue, 19 Oct 2021 18:50:02 +0000 (20:50 +0200)]
mesa: don't reset SamplersValidated if nothing changed

This could prevent error detection, if a uniform change sets
SamplersValidated to true without calling _mesa_update_shader_textures_used.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13416>

2 years agoradv: optimize subpass barrier flushes for imageless framebuffers
Samuel Pitoiset [Mon, 11 Oct 2021 14:00:47 +0000 (16:00 +0200)]
radv: optimize subpass barrier flushes for imageless framebuffers

The driver should always know the attachments at this point. This
should reduce the number of L2 cache flushes for imageless framebuffers.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13291>

2 years agointel/compiler: Initialize SIMDSelectionTest member error.
Vinson Lee [Sat, 30 Oct 2021 21:30:47 +0000 (14:30 -0700)]
intel/compiler: Initialize SIMDSelectionTest member error.

Fix defect reported by Coverity Scan.

Uninitialized pointer field (UNINIT_CTOR)
uninit_member: Non-static class member error is not initialized
in this constructor nor in any functions that it calls.

Fixes: 7558340ebb6 ("intel/compiler: Add helpers to select SIMD for compute shaders")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13608>

2 years agointel/compiler: Change selected_simd return type to int.
Vinson Lee [Sat, 30 Oct 2021 21:08:36 +0000 (14:08 -0700)]
intel/compiler: Change selected_simd return type to int.

brw_simd_select return type is int.

Fix defect reported by Coverity Scan.

Unsigned compared against 0 (NO_EFFECT)
unsigned_compare: This less-than-zero comparison of an unsigned value is never true. selected_simd < 0U.

Fixes: 7dda0cf2b8e ("intel/compiler: Use SIMD selection helpers for CS")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13606>

2 years agozink: stop double printing validation messages
Mike Blumenkrantz [Mon, 1 Nov 2021 14:58:35 +0000 (10:58 -0400)]
zink: stop double printing validation messages

VVL already prints its messages using configurable settings. there's no
reason for zink to unconditionally repeat them immediately after

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13633>

2 years agoci: Uprev VK-GL-CTS to 1.2.7.2, and pull in piglit while I'm here.
Emma Anholt [Mon, 1 Nov 2021 17:49:03 +0000 (10:49 -0700)]
ci: Uprev VK-GL-CTS to 1.2.7.2, and pull in piglit while I'm here.

The VK-GL-CTS fixes some issues for freedreno, and almost all of LVP's
xfails.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13622>