platform/upstream/mesa.git
2 years agodzn: Implement GetDescriptorSetLayoutSupport()
Boris Brezillon [Tue, 19 Apr 2022 09:43:22 +0000 (11:43 +0200)]
dzn: Implement GetDescriptorSetLayoutSupport()

The 2048 descriptors limit comes from the maximum number of samplers
per heap, but the limit for other descriptors is actually much bigger.
Let's implement GetDescriptorSetLayoutSupport() to reflect that.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agodzn: Add a dzn_desc_type_has_sampler() helper
Boris Brezillon [Wed, 8 Jun 2022 13:57:18 +0000 (06:57 -0700)]
dzn: Add a dzn_desc_type_has_sampler() helper

Add a dzn_desc_type_has_sampler() helper instead of duplicating
the SAMPLER || COMBINED_IMAGE_SAMPLER test everywhere.

Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agodzn: Lower alignment requirements when allocating buffers or single-sample images
Boris Brezillon [Tue, 19 Apr 2022 09:12:53 +0000 (11:12 +0200)]
dzn: Lower alignment requirements when allocating buffers or single-sample images

VkMemoryDedicatedAllocateInfo, when present, provides us with extra
information about the memory usage, which allow us to lower the alignment
requirements.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agodzn: Check that no export is requested in the memory allocation path
Boris Brezillon [Tue, 19 Apr 2022 09:10:52 +0000 (11:10 +0200)]
dzn: Check that no export is requested in the memory allocation path

We don't support exporting memory objects yet, so let's make sure the
user doesn't request that.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agodzn: Add dummy {Create,Destroy}SamplerYcbcrConversion() implementations
Boris Brezillon [Tue, 19 Apr 2022 09:04:11 +0000 (11:04 +0200)]
dzn: Add dummy {Create,Destroy}SamplerYcbcrConversion() implementations

We don't support Ycbcr sampler conversion. Add dummy implementations to
make us Vulkan 1.1 compliant.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agodzn: Add a dummy GetImageSparseMemoryRequirements2()
Boris Brezillon [Tue, 19 Apr 2022 09:02:48 +0000 (11:02 +0200)]
dzn: Add a dummy GetImageSparseMemoryRequirements2()

We don't support sparse memory yet, but this function needs to be
present.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agodzn: Add a dummy GetDeviceGroupPeerMemoryFeatures()
Boris Brezillon [Tue, 19 Apr 2022 09:01:41 +0000 (11:01 +0200)]
dzn: Add a dummy GetDeviceGroupPeerMemoryFeatures()

We don't support device groups, but Vulkan 1.1 requires a
GetDeviceGroupPeerMemoryFeatures() implementation, so let's just
advertise no peer-memory features.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agodzn: Return empty external properties
Boris Brezillon [Tue, 19 Apr 2022 08:58:54 +0000 (10:58 +0200)]
dzn: Return empty external properties

We don't support importing/exporting images yet, so let's zero out the
whole external properties struct, if present.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agodzn: Decorrelate external image info and external image properties
Boris Brezillon [Tue, 19 Apr 2022 08:57:15 +0000 (10:57 +0200)]
dzn: Decorrelate external image info and external image properties

One can be present without the other.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agomicrosoft/compiler: Support load_sample_id_no_per_sample
Boris Brezillon [Fri, 22 Apr 2022 12:57:37 +0000 (14:57 +0200)]
microsoft/compiler: Support load_sample_id_no_per_sample

It's like load_sample_id except it shouldn't force per-sample shading
when not already enabled. In that case, we simply return 0.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agomicrosoft/compiler: s/assert()/unreachable()/ in emit_intrinsic()
Boris Brezillon [Fri, 22 Apr 2022 12:56:17 +0000 (14:56 +0200)]
microsoft/compiler: s/assert()/unreachable()/ in emit_intrinsic()

Use an unreachable() statement instead of the incorrect assertion in the
unsupported intrinsic path.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agomicrosoft/compiler: Set typed_uav_load_additional_formats when appropriate
Boris Brezillon [Fri, 22 Apr 2022 12:54:55 +0000 (14:54 +0200)]
microsoft/compiler: Set typed_uav_load_additional_formats when appropriate

This flag should be set to true when the RWTexture is attached a vector,
and we always declare a vec4 right now, so it should always be true.
Might be worth reworking the dxil_module_get_res_type() to use a scalar
when the image only has one component.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agomicrosoft/compiler: Images are no longer reprensented by uniform vars
Boris Brezillon [Fri, 22 Apr 2022 12:45:49 +0000 (14:45 +0200)]
microsoft/compiler: Images are no longer reprensented by uniform vars

emit_barrier_impl() was still checking the nir_var_uniform flag to
detect images, which is no longer correct.

Fixes: cfdc7ee066e ("spirv: Use nir_var_mem_image")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agospirv: Add a dst/src type to image deref loads/stores coming from OpAtomic{Load,Store}
Boris Brezillon [Fri, 10 Jun 2022 07:21:55 +0000 (00:21 -0700)]
spirv: Add a dst/src type to image deref loads/stores coming from OpAtomic{Load,Store}

nir_to_dxil() uses those types to pick the right operation overload,
and atomic loads/stores are no different from their non-atomic
counterpart apart from the atomicity property, so it makes sense to
pass a type to the deref_{load,store} intrinsic in that case too.

Suggested-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agovulkan/util: Fill VkPhysicalDeviceIDProperties::deviceNodeMask
Boris Brezillon [Fri, 22 Apr 2022 12:23:16 +0000 (05:23 -0700)]
vulkan/util: Fill VkPhysicalDeviceIDProperties::deviceNodeMask

This field copy was missing in
vk_get_physical_device_core_1_1_property_ext().

Fixes: 19ff5019b75 ("vulkan: Add helpers for filling exts for core features and properties.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

2 years agoci/vs2019: Convert mesa_build.ps1 to using PowerShell 7 && operator
Yonggang Luo [Tue, 14 Jun 2022 08:59:38 +0000 (16:59 +0800)]
ci/vs2019: Convert mesa_build.ps1 to using PowerShell 7 && operator

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Remove comment for windows_test_vs2019 that not true
Yonggang Luo [Fri, 10 Jun 2022 11:03:59 +0000 (19:03 +0800)]
ci/vs2019: Remove comment for windows_test_vs2019 that not true

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Split install of vs2019 and choco into separate Docker image
Yonggang Luo [Fri, 10 Jun 2022 09:32:13 +0000 (17:32 +0800)]
ci/vs2019: Split install of vs2019 and choco into separate Docker image

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Split choco install output
Yonggang Luo [Wed, 8 Jun 2022 06:38:17 +0000 (14:38 +0800)]
ci/vs2019: Split choco install output

Compiling code should be done in docker containers using --isolation=process for efficiency,
but installing dependencies will fail when run that way. Split the "install" dependencies from
the "build" dependencies, so the former can be run in a container using --isolation=hyperv,
and the latter can use --isolation=process.

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Install all build artifacts into C:\mesa-deps
Yonggang Luo [Wed, 1 Jun 2022 15:48:45 +0000 (23:48 +0800)]
ci/vs2019: Install all build artifacts into C:\mesa-deps

By building everything under `deps` directory, remove the `deps` after
them installed.

We can use spirv-as from Vulkan-SDK, so that test won't depends on mesa-deps

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: ignore _build and _install directory by write * into .gitignore
Yonggang Luo [Fri, 10 Jun 2022 09:14:25 +0000 (17:14 +0800)]
ci/vs2019: ignore _build and _install directory by write * into .gitignore

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Reduce the vs2019 build tools components to be installed
Yonggang Luo [Wed, 8 Jun 2022 06:20:15 +0000 (14:20 +0800)]
ci/vs2019: Reduce the vs2019 build tools components to be installed

NOTE:
  Microsoft.VisualStudio.Component.Windows10SDK.19041 are part of
  Microsoft.VisualStudio.Workload.NativeDesktop, so it's actually using Windows10SDK.19041 before,
  not Windows10SDK.18362

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Show the total vs2019 install time
Yonggang Luo [Wed, 8 Jun 2022 03:35:59 +0000 (11:35 +0800)]
ci/vs2019: Show the total vs2019 install time

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Split call to C:\vs_buildtools.exe into multiple lines
Yonggang Luo [Wed, 8 Jun 2022 03:35:59 +0000 (11:35 +0800)]
ci/vs2019: Split call to C:\vs_buildtools.exe into multiple lines

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Add a dedicated script for entering VS dev shell
Yonggang Luo [Wed, 1 Jun 2022 14:47:37 +0000 (22:47 +0800)]
ci/vs2019: Add a dedicated script for entering VS dev shell

Then we can remove cmd.exe invocations, and spread those configure commands
over multiple lines since they're not strings anymore.

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Use shared VULKAN_SDK_VERSION for install and build vulkan related packages
Yonggang Luo [Wed, 1 Jun 2022 15:47:37 +0000 (23:47 +0800)]
ci/vs2019: Use shared VULKAN_SDK_VERSION for install and build vulkan related packages

Get `Vulkan-SDK` `Vulkan-Runtime` `SPIRV-Tools` and `SPIRV-Headers` to be consistence version

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Disable progess bar for pip3 install
Yonggang Luo [Wed, 1 Jun 2022 18:27:57 +0000 (02:27 +0800)]
ci/vs2019: Disable progess bar for pip3 install

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Disable progress when install python
Yonggang Luo [Wed, 1 Jun 2022 17:51:17 +0000 (01:51 +0800)]
ci/vs2019: Disable progress when install python

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Ignore error when removing directory recursively
Yonggang Luo [Wed, 1 Jun 2022 15:45:40 +0000 (23:45 +0800)]
ci/vs2019: Ignore error when removing directory recursively

While we're at it, do the same thing when creating the llvm-project directory

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Ignore cert install output, it's too long
Yonggang Luo [Wed, 1 Jun 2022 15:04:21 +0000 (23:04 +0800)]
ci/vs2019: Ignore cert install output, it's too long

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Do not install subprojects
Yonggang Luo [Wed, 1 Jun 2022 15:42:47 +0000 (23:42 +0800)]
ci/vs2019: Do not install subprojects

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Rename to vsInstallPath
Yonggang Luo [Wed, 1 Jun 2022 14:44:07 +0000 (22:44 +0800)]
ci/vs2019: Rename to vsInstallPath

installPath is too generic

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Give each option its own line in mesa_build.ps1
Yonggang Luo [Wed, 1 Jun 2022 14:43:23 +0000 (22:43 +0800)]
ci/vs2019: Give each option its own line in mesa_build.ps1

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: Update editorconfig for ps1 files
Yonggang Luo [Wed, 8 Jun 2022 18:05:16 +0000 (02:05 +0800)]
ci/vs2019: Update editorconfig for ps1 files

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: switch to powershell 7
Yonggang Luo [Thu, 9 Jun 2022 16:14:11 +0000 (00:14 +0800)]
ci/vs2019: switch to powershell 7

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agoci/vs2019: There is no meaning to set $env:ErrorActionPreference
Yonggang Luo [Thu, 9 Jun 2022 16:13:14 +0000 (00:13 +0800)]
ci/vs2019: There is no meaning to set $env:ErrorActionPreference

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934>

2 years agozink: check for pending clears to determine write status of zs attachments
Mike Blumenkrantz [Tue, 14 Jun 2022 17:14:56 +0000 (13:14 -0400)]
zink: check for pending clears to determine write status of zs attachments

as @Venemo discovered, zs layouts were being incorrectly set to readonly
in the case where the attachment was only used for an explicit clear,
so ensure that gets taken into account

cc: mesa-stable

fixes (radv):
dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_clear
dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_clear

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17033>

2 years agov3dv/ci: increase fraction to 10 on v3dv ci jobs.
Jose Maria Casanova Crespo [Tue, 14 Jun 2022 10:23:55 +0000 (12:23 +0200)]
v3dv/ci: increase fraction to 10 on v3dv ci jobs.

We reduce the v3dv ci jobs time execution from ~20min to
8-11 min.

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17026>

2 years agozink: clamp dynamic renderArea to framebuffer size
Mike Blumenkrantz [Thu, 9 Jun 2022 13:18:08 +0000 (09:18 -0400)]
zink: clamp dynamic renderArea to framebuffer size

it's illegal to have a renderArea larger than the attachments, so perform
clamping to avoid that scenario

Fixes: c81cd989c85 ("zink: use dynamic rendering (most of the time)")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16947>

2 years agozink: fix cubemap lowering bit size
Mike Blumenkrantz [Sat, 11 Jun 2022 14:59:59 +0000 (10:59 -0400)]
zink: fix cubemap lowering bit size

this isn't always 32

Fixes: 2d745904ca7 ("zink: add a gently mangled version of the d3d12 cubemap -> array compiler pass")

fixes:
dEQP-GL45-ES31.functional.program_uniform.by_pointer.render.struct_in_array.sampler2D_samplerCube_*

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17008>

2 years agozink: fix cubemap lowering for array samplers
Mike Blumenkrantz [Sat, 11 Jun 2022 14:59:59 +0000 (10:59 -0400)]
zink: fix cubemap lowering for array samplers

each sampler is 1 driver location, so use the base variable

Fixes: 2d745904ca7 ("zink: add a gently mangled version of the d3d12 cubemap -> array compiler pass")

fixes:
dEQP-GL45-ES31.functional.shaders.opaque_type_indexing.sampler.const_expression.*.samplercubearray

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17008>

2 years agozink: skip some emulated cube code if the extension is present
Mike Blumenkrantz [Fri, 10 Jun 2022 15:42:39 +0000 (11:42 -0400)]
zink: skip some emulated cube code if the extension is present

cuts down on some cpu overhead

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16944>

2 years agozink: rename nonseamless struct members to emulate_nonseamless
Mike Blumenkrantz [Fri, 10 Jun 2022 15:38:30 +0000 (11:38 -0400)]
zink: rename nonseamless struct members to emulate_nonseamless

make it clearer that this is separate from the gallium state

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16944>

2 years agozink: use VK_EXT_non_seamless_cube_map when available
Mike Blumenkrantz [Thu, 9 Jun 2022 12:29:43 +0000 (08:29 -0400)]
zink: use VK_EXT_non_seamless_cube_map when available

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16944>

2 years agozink: hook up VK_EXT_non_seamless_cube_map
Mike Blumenkrantz [Thu, 9 Jun 2022 12:29:36 +0000 (08:29 -0400)]
zink: hook up VK_EXT_non_seamless_cube_map

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16944>

2 years agozink: don't print VK_EXT_shader_atomic_float warning for nir_intrinsic_image_deref_at...
Mike Blumenkrantz [Tue, 14 Jun 2022 14:22:08 +0000 (10:22 -0400)]
zink: don't print VK_EXT_shader_atomic_float warning for nir_intrinsic_image_deref_atomic_exchange

this is covered by base spec and doesn't require the extension

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010>

2 years agozink: avoid uninit values in renderpass state
Mike Blumenkrantz [Mon, 13 Jun 2022 19:05:09 +0000 (15:05 -0400)]
zink: avoid uninit values in renderpass state

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010>

2 years agozink: only add necessary binds during dmabuf export
Mike Blumenkrantz [Thu, 9 Jun 2022 20:20:44 +0000 (16:20 -0400)]
zink: only add necessary binds during dmabuf export

SHARED might only be present, so add it conditionally

Fixes: 4eeabb59f59 ("zink: rebind resources for export as needed")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010>

2 years agozink: fix generated tcs deletion
Mike Blumenkrantz [Wed, 8 Jun 2022 19:48:17 +0000 (15:48 -0400)]
zink: fix generated tcs deletion

deleting the generated shader on the first loop iteration like this was
broken if the shader was used in multiple programs, so delete at the end

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010>

2 years agozink: unset generated tcs pointer from tes on deletion
Mike Blumenkrantz [Tue, 7 Jun 2022 18:26:02 +0000 (14:26 -0400)]
zink: unset generated tcs pointer from tes on deletion

otherwise this will free the generated tcs multiple times if the tes
is used by multiple programs

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010>

2 years agozink: use the patch_vertices value from the shader key, not the context
Mike Blumenkrantz [Tue, 7 Jun 2022 18:23:45 +0000 (14:23 -0400)]
zink: use the patch_vertices value from the shader key, not the context

ctx shouldn't be used here unless necessary

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010>

2 years agozink: fix generated tcs update path
Mike Blumenkrantz [Tue, 7 Jun 2022 18:23:07 +0000 (14:23 -0400)]
zink: fix generated tcs update path

is_generated is in a union with the generated tcs pointer for tes shaders,
so check the shader stage too

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010>

2 years agozink: fix dynamic stride conditional in pipeline creation
Mike Blumenkrantz [Mon, 6 Jun 2022 13:11:17 +0000 (09:11 -0400)]
zink: fix dynamic stride conditional in pipeline creation

if dynamic stride isn't used then this struct member must be filled

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010>

2 years agodzn: Enable dEQP-VK.pipeline.vertex_input.* test cases
Louis-Francis Ratté-Boulianne [Thu, 14 Apr 2022 01:35:37 +0000 (21:35 -0400)]
dzn: Enable dEQP-VK.pipeline.vertex_input.* test cases

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15955>

2 years agodzn: Allow some non-native formats to be used as vertex inputs
Louis-Francis Ratté-Boulianne [Tue, 14 Jun 2022 10:54:52 +0000 (03:54 -0700)]
dzn: Allow some non-native formats to be used as vertex inputs

This requires shader-side lowering, which is handled in
dxil_nir_lower_vs_vertex_conversion().

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15955>

2 years agomicrosoft/compiler: Add support for more scaled formats
Louis-Francis Ratté-Boulianne [Wed, 20 Apr 2022 15:38:56 +0000 (11:38 -0400)]
microsoft/compiler: Add support for more scaled formats

Lower 8 and 16 bit scaled formats to integer formats.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15955>

2 years agod3d12: Move d3d12_nir_lower_vs_vertex_conversion() to a common place
Louis-Francis Ratté-Boulianne [Tue, 14 Jun 2022 10:09:51 +0000 (03:09 -0700)]
d3d12: Move d3d12_nir_lower_vs_vertex_conversion() to a common place

So we can re-use it in dozen.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15955>

2 years agomesa: Use C11 alignas for cross-platform SSE support
Jesse Natalie [Fri, 3 Jun 2022 14:38:00 +0000 (07:38 -0700)]
mesa: Use C11 alignas for cross-platform SSE support

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agogallium: clean up PIPE_ALIGN_STACK-definition
Erik Faye-Lund [Wed, 8 Jun 2022 09:14:01 +0000 (11:14 +0200)]
gallium: clean up PIPE_ALIGN_STACK-definition

There's really just one case where this is supported; on GCC for x86.
All other cases do nothing, so let's remove the complexity that is no
longer needed.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agogallium: remove unused macros
Erik Faye-Lund [Wed, 8 Jun 2022 08:24:02 +0000 (10:24 +0200)]
gallium: remove unused macros

These aren't used, so let's remove them.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agogallium: remove repeated check
Erik Faye-Lund [Wed, 8 Jun 2022 09:08:45 +0000 (11:08 +0200)]
gallium: remove repeated check

This is already inside an "#if defined(__GNUC__)" conditional, there's no
need to repeat the __GNUC__-check.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agogallium: use c++11 alignas instead of PIPE_ALIGN_VAR
Erik Faye-Lund [Wed, 8 Jun 2022 09:06:38 +0000 (11:06 +0200)]
gallium: use c++11 alignas instead of PIPE_ALIGN_VAR

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agogallium: use c11 alignas instead of PIPE_ALIGN_VAR
Erik Faye-Lund [Wed, 8 Jun 2022 09:01:31 +0000 (11:01 +0200)]
gallium: use c11 alignas instead of PIPE_ALIGN_VAR

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agollvmpipe: use c11 alignas instead of PIPE_ALIGN_VAR
Erik Faye-Lund [Wed, 8 Jun 2022 09:00:54 +0000 (11:00 +0200)]
llvmpipe: use c11 alignas instead of PIPE_ALIGN_VAR

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agogallium: reorganize includes
Erik Faye-Lund [Wed, 8 Jun 2022 08:31:32 +0000 (10:31 +0200)]
gallium: reorganize includes

There's no reason to have standard includes in two different sections of
the header, let's merge them. While we're at it, let's sort the includes
as well.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agogallium: remove stale comment
Erik Faye-Lund [Wed, 8 Jun 2022 08:30:27 +0000 (10:30 +0200)]
gallium: remove stale comment

This hasn't been true for a long time, let's remove the comment.

Fixes: 0d4898ae806 ("include,gallium: Remove pre-MSVC 2013 compatibility.")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agoutil: use c11 alignas instead of rolling our own
Erik Faye-Lund [Wed, 8 Jun 2022 08:07:15 +0000 (10:07 +0200)]
util: use c11 alignas instead of rolling our own

Due to how alignas is defined, it itsn't allowed to use it on a struct,
it needs to be used on the first member instead. So move the declaration
in those cases.

This still leaves the ALIGN16 macro using compiler-specific directives,
because it's a lot of work to untangle the above. This probably deserves
its own MR.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agovulkan/util: assume c11
Erik Faye-Lund [Tue, 7 Jun 2022 14:34:16 +0000 (16:34 +0200)]
vulkan/util: assume c11

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agoglcpp: remove outdated msvc hack
Erik Faye-Lund [Tue, 7 Jun 2022 14:46:20 +0000 (16:46 +0200)]
glcpp: remove outdated msvc hack

While MSVC doesn't do __STDC_VERSION__ correctly for C99, it does for
C11, which is what we now require. So we can remove this hack.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agoutil: use c11 alignof instead of our own
Erik Faye-Lund [Tue, 7 Jun 2022 14:33:02 +0000 (16:33 +0200)]
util: use c11 alignof instead of our own

...with an exception for MSVC, which doesn't have stdalign.h, so let's
add a definition for that.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agoc99_compat.h: assume c99 support
Erik Faye-Lund [Tue, 7 Jun 2022 14:35:38 +0000 (16:35 +0200)]
c99_compat.h: assume c99 support

Reviewed-By: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agollvmpipe: assume c99
Erik Faye-Lund [Tue, 7 Jun 2022 14:37:08 +0000 (16:37 +0200)]
llvmpipe: assume c99

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agoutil: sort includes
Erik Faye-Lund [Tue, 7 Jun 2022 14:29:39 +0000 (16:29 +0200)]
util: sort includes

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908>

2 years agodzn: enable two more exts
Erik Faye-Lund [Mon, 13 Jun 2022 14:48:33 +0000 (16:48 +0200)]
dzn: enable two more exts

These are already implemented, so let's turn them on!

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17027>

2 years agodzn: use a null-rtv to handle no-attachment
Erik Faye-Lund [Mon, 13 Jun 2022 15:22:09 +0000 (17:22 +0200)]
dzn: use a null-rtv to handle no-attachment

This fixes a crash in this test:
dEQP-VK.renderpass2.suballocation.simple.color_unused_omit_blend_state

Fixes: 2d0798440b4 ("dzn: Add support for dynamic rendering")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17027>

2 years agomicrosoft/compiler: Truncate function names when needed
Boris Brezillon [Mon, 14 Feb 2022 17:13:41 +0000 (09:13 -0800)]
microsoft/compiler: Truncate function names when needed

DXIL metadata strings and function names have a limited size. Truncate
the name when they don't fit. This is a quick&dirty workaround since it
doesn't address the problem for all kind of strings, and doesn't ensure
there's no collision in the function names after the truncation. That's
not an issue right now because I don't think we have implementations
keeping more than one function (the entrypoint), but it might be a
problem at some point.

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16961>

2 years agomicrosoft/compiler: Pick a type that matches interpolation mode for structs
Boris Brezillon [Tue, 15 Feb 2022 18:04:33 +0000 (10:04 -0800)]
microsoft/compiler: Pick a type that matches interpolation mode for structs

We can't use linear interpolation on integer types, and varyings using
a struct type might actually contain only fp32 members, in which case
interpolation should happen as requested.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16961>

2 years agov3dv/pipeline: expand nir_optimize, drop st_nir_opts
Alejandro Piñeiro [Wed, 9 Mar 2022 22:37:22 +0000 (23:37 +0100)]
v3dv/pipeline: expand nir_optimize, drop st_nir_opts

Right now we had two methods that tries to optimize the nir shader,
nir_optimize and st_nir_opts. The latter is being used when we are
linking, but again, it has basically the same purpose that
nir_optimize.

So this commit adds more lowerings to nir_optimize_nir, add some extra
comments on the method, and replaces st_nir_opts with nir_optimize.

Ideally we would like to just use the already existing
v3d_optimize_nir that we have at the backend But:
   * Using it leads to some regressions on Vulkan CTS tests, due some
     lowerings that are already there.
   * We would need to move to the backend some additional
     lowerings/optimizations that are used on the Vulkan
     frontend. That would require to check that we are not getting any
     regression or performance drop on OpenGL

So for now we are keeping a Vulkan specific nir_optimize method.

Additionally this fixes the following test:
dEQP-VK.graphicsfuzz.cov-loop-condition-clamp-vec-of-ones

Shaderdb stats, using some well known Vulkan apps (ue4 demos, Quake3e,
etc):

 total instructions in shared programs: 124974 -> 125108 (0.11%)
 instructions in affected programs: 50328 -> 50462 (0.27%)
 helped: 4
 HURT: 79

 total uniforms in shared programs: 19019 -> 19020 (<.01%)
 uniforms in affected programs: 60 -> 61 (1.67%)
 helped: 0
 HURT: 1

 total max-temps in shared programs: 13438 -> 13444 (0.04%)
 max-temps in affected programs: 85 -> 91 (7.06%)
 helped: 0
 HURT: 2

 total inst-and-stalls in shared programs: 125715 -> 125849 (0.11%)
 inst-and-stalls in affected programs: 50429 -> 50563 (0.27%)
 helped: 4
 HURT: 79

 total nops in shared programs: 8203 -> 8204 (0.01%)
 nops in affected programs: 732 -> 733 (0.14%)
 helped: 7
 HURT: 9

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16986>

2 years agov3dv/pipeline: call nir_lower_explicit_io after first nir optimization loop
Alejandro Piñeiro [Wed, 9 Mar 2022 23:46:48 +0000 (00:46 +0100)]
v3dv/pipeline: call nir_lower_explicit_io after first nir optimization loop

That is what most others Vulkan drivers do (radv, anv, turnip at
least).

The origin of this change cames from a CTS test where the loop
unrolling converted a ubo index defined inside a loop from constant to
non constant. That is not desiderable on any driver, but a problem on
v3dv, as v3dv doesn't support that case.

Although we initially tried to fix it on the loop unroll, we discarded
that approach, and focused on the existing nir lowerings/optimizations
as this was not happening with other drivers.

We noted that in other drivers this case of a ubo index going from
const to non-const were also happening with nir_lower_explicit_io, but
in that case it was able to be converted back to a const on following
lowerings. The only difference with other drivers is that we were
calling it before the first nir optimization loop.

So this change helps with fixing the following CTS test (for that we
also need to run additional lowerings, which we do in a later patch):
   dEQP-VK.graphicsfuzz.cov-loop-condition-clamp-vec-of-ones

You can get further details on the following issue and RFC merge
request, specially the merge request:
  https://gitlab.freedesktop.org/mesa/mesa/-/issues/6051
  https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15391

We also made some shaderdb stats with our usual Vulkan apps (ue4
demos, quake3, etc):

 Total instructions in shared programs: 125014 -> 124974 (-0.03%)
 instructions in affected programs: 7544 -> 7504 (-0.53%)
 helped: 7
 HURT: 4

 total uniforms in shared programs: 19026 -> 19019 (-0.04%)
 uniforms in affected programs: 514 -> 507 (-1.36%)
 helped: 5
 HURT: 0

 total max-temps in shared programs: 13430 -> 13438 (0.06%)
 max-temps in affected programs: 270 -> 278 (2.96%)
 helped: 0
 HURT: 8

 total sfu-stalls in shared programs: 739 -> 741 (0.27%)
 sfu-stalls in affected programs: 30 -> 32 (6.67%)
 helped: 0
 HURT: 2

 total inst-and-stalls in shared programs: 125753 -> 125715 (-0.03%)
 inst-and-stalls in affected programs: 7685 -> 7647 (-0.49%)
 helped: 7
 HURT: 4

 total nops in shared programs: 8228 -> 8203 (-0.30%)
 nops in affected programs: 546 -> 521 (-4.58%)
 helped: 9
 HURT: 2

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16986>

2 years agonir: get res binding using component 0, instead of asssumig an uint
Alejandro Piñeiro [Thu, 10 Mar 2022 11:34:45 +0000 (12:34 +0100)]
nir: get res binding using component 0, instead of asssumig an uint

Needed to be able to call nir_opt_gcm on the v3dv driver. This change
is needed as on v3dv we honor vulkan resource index returning a vec2.

See commit 21b0a4c80c5f8dd9cdfac7e6b591d6912ba18cf5 for more info.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16986>

2 years agoisaspec: Handle patterns bigger then 64 bit
Christian Gmeiner [Sun, 12 Jun 2022 11:34:30 +0000 (13:34 +0200)]
isaspec: Handle patterns bigger then 64 bit

Currently uint64_t_to_bitmask(..) is used in combination with
the pattern 'match'. This only works for values smaller then
64 bit. Add support for bigger isa sizes.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16996>

2 years agoisaspec: Extend split_bits(..) to accept a bitsize
Christian Gmeiner [Tue, 7 Jun 2022 15:38:50 +0000 (17:38 +0200)]
isaspec: Extend split_bits(..) to accept a bitsize

Make split_bits(..) more generic.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16996>

2 years agoci/panfrost: add Blender, Warzone2100, Freedoom and Unvanquished traces
David Heidelberg [Fri, 27 May 2022 08:36:09 +0000 (10:36 +0200)]
ci/panfrost: add Blender, Warzone2100, Freedoom and Unvanquished traces

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909>

2 years agoci/crocus: add Blender, Warzone2100, Freedoom and Unvanquished traces
David Heidelberg [Mon, 6 Jun 2022 09:04:23 +0000 (11:04 +0200)]
ci/crocus: add Blender, Warzone2100, Freedoom and Unvanquished traces

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909>

2 years agoci/virgl: iris: disable Counter Strike 1.6 trace flaking
David Heidelberg [Tue, 7 Jun 2022 15:24:53 +0000 (17:24 +0200)]
ci/virgl: iris: disable Counter Strike 1.6 trace flaking

Changes very often, but does look correct.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909>

2 years agoci/virgl: add Blender, Warzone2100, Freedoom and Unvanquished traces
David Heidelberg [Wed, 1 Jun 2022 05:46:23 +0000 (07:46 +0200)]
ci/virgl: add Blender, Warzone2100, Freedoom and Unvanquished traces

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909>

2 years agoci/iris: add Blender, Warzone2100, Freedoom and Unvanquished traces
David Heidelberg [Mon, 6 Jun 2022 09:12:25 +0000 (11:12 +0200)]
ci/iris: add Blender, Warzone2100, Freedoom and Unvanquished traces

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909>

2 years agoci/llvmpipe: add Blender, Warzone2100, Freedoom and Unvanquished traces
David Heidelberg [Mon, 6 Jun 2022 08:52:23 +0000 (10:52 +0200)]
ci/llvmpipe: add Blender, Warzone2100, Freedoom and Unvanquished traces

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909>

2 years agoci/freedreno: fix A530 glmark2@ideas:speed=10000 trace
David Heidelberg [Tue, 7 Jun 2022 15:49:57 +0000 (17:49 +0200)]
ci/freedreno: fix A530 glmark2@ideas:speed=10000 trace

Just one-pixel change in rendering, look correct to me.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909>

2 years agoci/freedreno: add Blender, Warzone2100, Freedoom and Unvanquished traces
David Heidelberg [Fri, 27 May 2022 08:32:53 +0000 (10:32 +0200)]
ci/freedreno: add Blender, Warzone2100, Freedoom and Unvanquished traces

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909>

2 years agov3dv: handle barriers at the end of a command buffer
Iago Toral Quiroga [Mon, 13 Jun 2022 11:53:45 +0000 (13:53 +0200)]
v3dv: handle barriers at the end of a command buffer

Since we only consume barriers at the beginning of a new job, if
a command buffer ends with a barrier we will not handle it. Fix
this by emitting a noop job  in that case to consume it. Ideally,
we could do better and check the pending barrier state to fine
tune the noop job so we don't wait on all queues, but for now
this fixes flakyness with some CTS pipeline barrier tests that
started to show up after we optimized binning sync barriers. It
is likely that the additional sync we had before that change was
enough to prevent the problem from showing up.

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

2 years agov3dv: merge pending secondary barrier state into primary command buffers
Iago Toral Quiroga [Mon, 13 Jun 2022 08:35:12 +0000 (10:35 +0200)]
v3dv: merge pending secondary barrier state into primary command buffers

When we switched to using structs to track barrier state we made a mistake
and started to overwrite barrier state in primary command buffers with
the pending state from secondary command buffers executed inside them, when we
should've been merging the state instead.

Fixes flakyness with some CTS barrier tests.

Fixes: f7ce42636c ('v3dv: use an explicit struct type to track barrier state')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17020>

2 years agobroadcom/compiler: disable flags optimization for loop conditions
Iago Toral Quiroga [Fri, 10 Jun 2022 08:46:51 +0000 (10:46 +0200)]
broadcom/compiler: disable flags optimization for loop conditions

This is not safe because it may skip regenerating the flags for the
loop condition in the loop continue block and these flags may be
stomped in the loop body by other conditionals.

Fixes: 9909fe6ba ('broadcom/compiler: Skip bool_to_cond where possible')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17020>

2 years agoci/etnaviv: gc2000: drop flakes from fails
David Heidelberg [Sat, 11 Jun 2022 07:06:13 +0000 (09:06 +0200)]
ci/etnaviv: gc2000: drop flakes from fails

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003>

2 years agoci/etnaviv: add recent flakes for gc2000
David Heidelberg [Sat, 11 Jun 2022 06:48:52 +0000 (08:48 +0200)]
ci/etnaviv: add recent flakes for gc2000

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003>

2 years agoci/etnaviv: disable tests which takes too long
David Heidelberg [Sat, 11 Jun 2022 06:45:47 +0000 (08:45 +0200)]
ci/etnaviv: disable tests which takes too long

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003>

2 years agoci/etnaviv: add recent fails and remove 3 unexpected passes
David Heidelberg [Sat, 11 Jun 2022 06:35:17 +0000 (08:35 +0200)]
ci/etnaviv: add recent fails and remove 3 unexpected passes

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003>

2 years agoci/etnaviv: sort fails.txt
David Heidelberg [Sat, 11 Jun 2022 06:32:34 +0000 (08:32 +0200)]
ci/etnaviv: sort fails.txt

Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003>

2 years agodzn: handle stencil-attachment-optimal layout
Erik Faye-Lund [Mon, 13 Jun 2022 14:10:52 +0000 (16:10 +0200)]
dzn: handle stencil-attachment-optimal layout

We missed this one, whoops.

Fixes: a012b219640 ("microsoft: Initial vulkan-on-12 driver")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16997>

2 years agodzn: correct assert-condition
Erik Faye-Lund [Mon, 13 Jun 2022 14:10:30 +0000 (16:10 +0200)]
dzn: correct assert-condition

This logic accidentally got flipped in a refactoring. Let's correct it!

Fixes: e293691a991 ("dzn: Get rid of the render pass logic")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16997>