Commit Graph

155405 Commits

Author SHA1 Message Date
Yonggang Luo
e3a7ccba57 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>
2022-06-14 21:14:34 +00:00
Yonggang Luo
47bce47736 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>
2022-06-14 21:14:34 +00:00
Yonggang Luo
97e7f6d068 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>
2022-06-14 21:14:34 +00:00
Yonggang Luo
cfa67ec750 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>
2022-06-14 21:14:34 +00:00
Yonggang Luo
322c807b3c 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>
2022-06-14 21:14:34 +00:00
Yonggang Luo
9ceb170cb1 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
33e5b08a7d 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
6d23d87325 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
d960151dc2 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
a740b8430a 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
24e177aff2 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
918dbc1fa8 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
e301f31116 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
86d6e532b3 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
5baaa3b361 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
5608834068 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
d1e7e58807 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
0511f0eb8a 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
f2aba8564c 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
66eec65c5b 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>
2022-06-14 21:14:33 +00:00
Yonggang Luo
6445379f04 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>
2022-06-14 21:14:33 +00:00
Mike Blumenkrantz
b240be28e3 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>
2022-06-14 20:58:55 +00:00
Jose Maria Casanova Crespo
901f5e6a31 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>
2022-06-14 20:33:34 +00:00
Mike Blumenkrantz
8c0f3cdfac 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: c81cd989c8 ("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>
2022-06-14 20:12:46 +00:00
Mike Blumenkrantz
87c7e75721 zink: fix cubemap lowering bit size
this isn't always 32

Fixes: 2d745904ca ("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>
2022-06-14 19:57:40 +00:00
Mike Blumenkrantz
de6af39534 zink: fix cubemap lowering for array samplers
each sampler is 1 driver location, so use the base variable

Fixes: 2d745904ca ("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>
2022-06-14 19:57:40 +00:00
Mike Blumenkrantz
876bfb6bc3 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>
2022-06-14 19:35:42 +00:00
Mike Blumenkrantz
d8b4ceb27a 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>
2022-06-14 19:35:42 +00:00
Mike Blumenkrantz
08858070b1 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>
2022-06-14 19:35:42 +00:00
Mike Blumenkrantz
616773e62b 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>
2022-06-14 19:35:42 +00:00
Mike Blumenkrantz
03d7f31054 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>
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
d8877437d6 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>
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
4c908e3d7b zink: only add necessary binds during dmabuf export
SHARED might only be present, so add it conditionally

Fixes: 4eeabb59f5 ("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>
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
44cf6f7564 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>
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
cf34d3fe05 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>
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
c36c5ff057 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>
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
338d986439 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>
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
336b5c8823 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>
2022-06-14 19:21:15 +00:00
Louis-Francis Ratté-Boulianne
1a89e358d6 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>
2022-06-14 17:42:51 +00:00
Louis-Francis Ratté-Boulianne
ac34866166 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>
2022-06-14 17:42:51 +00:00
Louis-Francis Ratté-Boulianne
b53f9011b1 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>
2022-06-14 17:42:51 +00:00
Louis-Francis Ratté-Boulianne
b0b9b50077 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>
2022-06-14 17:42:51 +00:00
Jesse Natalie
c378bbab75 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>
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
8fbad5e42f 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>
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
d1349eb500 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>
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
ea7ba77be9 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>
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
1b53fb625e 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>
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
04ca04ba46 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>
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
69d2d38f6e 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>
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
3c82e23f9a 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>
2022-06-14 15:08:38 +00:00