ci: Update the DXC version used on the CI to 1.8.2407.

Unfortuantely different versions of DXC accept or fail differently
in some cases. We don't care too much about validating the DXC
behavior itself, but it's useful that all the CI jobs use the
same version so that we don't have to complicate the shader runner
language.

The macOS version is currently bound to be pretty recent because
otherwise libdxil.dylib is not provided. So I'm updating the
Linux and Windows version as well.

I don't expect it should be particularly hard for other maintainers
to keep up with the DXC updates, since it just amounts to
downloading a ZIP file and extracting two libraries.
This commit is contained in:
Giovanni Mascellani 2024-10-24 11:56:54 +02:00 committed by Henri Verbeet
parent fd33d51b1b
commit 624eccbab1
Notes: Henri Verbeet 2024-10-28 18:12:15 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1219
4 changed files with 9 additions and 17 deletions

View File

@ -81,7 +81,7 @@ RUN export DEBIAN_FRONTEND=noninteractive; \
rm -fr mesa && \ rm -fr mesa && \
apt-get clean && \ apt-get clean && \
curl -L -s https://github.com/microsoft/DirectXShaderCompiler/releases/download/v1.7.2308/linux_dxc_2023_08_14.x86_64.tar.gz | tar zx -C /usr/local ./lib/libdxcompiler.so ./lib/libdxil.so && \ curl -L -s https://github.com/microsoft/DirectXShaderCompiler/releases/download/v1.8.2407/linux_dxc_2024_07_31.x86_64.tar.gz | tar zx -C /usr/local ./lib/libdxcompiler.so ./lib/libdxil.so && \
groupadd host-render -g 800 && \ groupadd host-render -g 800 && \
useradd -m gitlab -G host-render useradd -m gitlab -G host-render

View File

@ -38,7 +38,7 @@ test-win-64-dxc:
tags: tags:
- win10-21h2 - win10-21h2
script: script:
- 'Invoke-WebRequest -Uri "https://github.com/microsoft/DirectXShaderCompiler/releases/download/v1.7.2308/dxc_2023_08_14.zip" -OutFile ".\dxc.zip"' - 'Invoke-WebRequest -Uri "https://github.com/microsoft/DirectXShaderCompiler/releases/download/v1.8.2407/dxc_2024_07_31.zip" -OutFile ".\dxc.zip"'
- 'Expand-Archive -Path "dxc.zip" -DestinationPath ".\dxc"' - 'Expand-Archive -Path "dxc.zip" -DestinationPath ".\dxc"'
- '$Env:PATH += ";" + (Convert-Path ".\dxc\bin\x64")' - '$Env:PATH += ";" + (Convert-Path ".\dxc\bin\x64")'
- git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec './artifacts/driver.cross64.exe $(git cherry $CI_MERGE_REQUEST_DIFF_BASE_SHA HEAD^ | wc -l) $(git rev-parse --short HEAD)' - git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec './artifacts/driver.cross64.exe $(git cherry $CI_MERGE_REQUEST_DIFF_BASE_SHA HEAD^ | wc -l) $(git rev-parse --short HEAD)'

View File

@ -201,7 +201,7 @@ draw quad
probe (0, 0) rgba (0.0, 4.0, 5.0, 6.0) probe (0, 0) rgba (0.0, 4.0, 5.0, 6.0)
[pixel shader fail(sm<6)] [pixel shader fail]
// Elements cannot overlap if buffer is used. // Elements cannot overlap if buffer is used.
cbuffer buffer cbuffer buffer
{ {
@ -215,16 +215,8 @@ float4 main() : sv_target
return float4(c, a[1].x, b[0].x, b[1].x); return float4(c, a[1].x, b[0].x, b[1].x);
} }
[test]
uniform 0 float4 1.0 0.0 0.0 0.0
uniform 4 float4 2.0 0.0 0.0 0.0
uniform 8 float4 3.0 0.0 0.0 0.0
uniform 12 float4 4.0 0.0 0.0 0.0
todo(sm<6) draw quad
probe (0, 0) rgba (1.0, 3.0, 3.0, 4.0)
[pixel shader fail(sm>=6)]
[pixel shader]
// Elements can overlap if buffer is not used. // Elements can overlap if buffer is not used.
cbuffer buffer cbuffer buffer
{ {
@ -316,7 +308,7 @@ float4 main() : sv_target
} }
[pixel shader fail(sm<6)] [pixel shader fail]
// Matrices must be aligned. // Matrices must be aligned.
cbuffer buffer cbuffer buffer
{ {
@ -329,7 +321,7 @@ float4 main() : sv_target
} }
[pixel shader fail(sm<6)] [pixel shader fail]
// Arrays must be aligned. // Arrays must be aligned.
cbuffer buffer cbuffer buffer
{ {
@ -342,7 +334,7 @@ float4 main() : sv_target
} }
[pixel shader fail(sm<6)] [pixel shader fail]
// Structs must be aligned. // Structs must be aligned.
struct apple struct apple
{ {

View File

@ -46,7 +46,7 @@ float4 main() : POSITION
} }
% outputcontrolpoints defaults to 0 for SM >= 6. % outputcontrolpoints defaults to 0 for SM >= 6.
[hull shader fail(sm<6)] [hull shader fail]
struct patch_constant_data struct patch_constant_data
{ {
float edges[2] : SV_TessFactor; float edges[2] : SV_TessFactor;
@ -395,7 +395,7 @@ float4 main() : POSITION
%% Test the valid range for outputcontrolpoints ([0, 32]). %% Test the valid range for outputcontrolpoints ([0, 32]).
[hull shader] [hull shader fail(sm>=6)]
struct patch_constant_data struct patch_constant_data
{ {
float edges[2] : SV_TessFactor; float edges[2] : SV_TessFactor;