Skip to content

Commit cd40263

Browse files
committed
merge upstream
2 parents 4f2d10a + 40fb1b6 commit cd40263

204 files changed

Lines changed: 18725 additions & 7065 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/create-test-plan.py‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ class JobSpec:
115115
"msys2-mingw32": JobSpec(name="Windows (msys2, mingw32)", priority=False, os=JobOs.WindowsLatest, platform=SdlPlatform.Msys2, artifact="SDL-mingw32", msys2_platform=Msys2Platform.Mingw32, ),
116116
"msys2-mingw64": JobSpec(name="Windows (msys2, mingw64)", priority=False, os=JobOs.WindowsLatest, platform=SdlPlatform.Msys2, artifact="SDL-mingw64", msys2_platform=Msys2Platform.Mingw64, ),
117117
"msys2-clang64": JobSpec(name="Windows (msys2, clang64)", priority=False, os=JobOs.WindowsLatest, platform=SdlPlatform.Msys2, artifact="SDL-mingw64-clang", msys2_platform=Msys2Platform.Clang64, ),
118-
"msys2-ucrt64": JobSpec(name="Windows (msys2, ucrt64)", priority=False, os=JobOs.WindowsLatest, platform=SdlPlatform.Msys2, artifact="SDL-mingw64-ucrt", msys2_platform=Msys2Platform.Ucrt64, ),
118+
"msys2-ucrt64": JobSpec(name="Windows (msys2, ucrt64)", priority=True, os=JobOs.WindowsLatest, platform=SdlPlatform.Msys2, artifact="SDL-mingw64-ucrt", msys2_platform=Msys2Platform.Ucrt64, ),
119119
"cygwin": JobSpec(name="Cygwin", priority=False, os=JobOs.WindowsLatest, platform=SdlPlatform.Cygwin, artifact="SDL-cygwin", ),
120120
"msvc-x64": JobSpec(name="Windows (MSVC, x64)", priority=True, os=JobOs.WindowsLatest, platform=SdlPlatform.Msvc, artifact="SDL-VC-x64", msvc_arch=MsvcArch.X64, msvc_project="VisualC/SDL.sln", ),
121121
"msvc-x86": JobSpec(name="Windows (MSVC, x86)", priority=True, os=JobOs.WindowsLatest, platform=SdlPlatform.Msvc, artifact="SDL-VC-x86", msvc_arch=MsvcArch.X86, msvc_project="VisualC/SDL.sln", ),
@@ -129,7 +129,7 @@ class JobSpec:
129129
"steamrt3": JobSpec(name="Steam Linux Runtime 3.0 (x86_64)", priority=False, os=JobOs.UbuntuLatest, platform=SdlPlatform.Linux, artifact="SDL-steamrt3", container="registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest" ),
130130
"steamrt4": JobSpec(name="Steam Linux Runtime 4.0 (x86_64)", priority=True, os=JobOs.UbuntuLatest, platform=SdlPlatform.Linux, artifact="SDL-steamrt4", container="registry.gitlab.steamos.cloud/steamrt/steamrt4/sdk:latest", more_hard_deps = True, ),
131131
"steamrt4-arm64": JobSpec(name="Steam Linux Runtime 4.0 (arm64)", priority=False, os=JobOs.Ubuntu24_04_arm, platform=SdlPlatform.Linux, artifact="SDL-steamrt4-arm64", container="registry.gitlab.steamos.cloud/steamrt/steamrt4/sdk/arm64:latest", more_hard_deps = True, ),
132-
"ubuntu-intel-icx": JobSpec(name="Ubuntu 22.04 (Intel oneAPI)", priority=False, os=JobOs.Ubuntu22_04, platform=SdlPlatform.Linux, artifact="SDL-ubuntu22.04-oneapi", intel=IntelCompiler.Icx, ),
132+
"ubuntu-intel-icx": JobSpec(name="Ubuntu 24.04 (Intel oneAPI)", priority=False, os=JobOs.Ubuntu24_04, platform=SdlPlatform.Linux, artifact="SDL-ubuntu22.04-oneapi", intel=IntelCompiler.Icx, ),
133133
"ubuntu-intel-icc": JobSpec(name="Ubuntu 22.04 (Intel Compiler)", priority=False, os=JobOs.Ubuntu22_04, platform=SdlPlatform.Linux, artifact="SDL-ubuntu22.04-icc", intel=IntelCompiler.Icc, ),
134134
"macos-framework-x64": JobSpec(name="MacOS (Framework) (x64)", priority=False, os=JobOs.Macos14, platform=SdlPlatform.MacOS, artifact="SDL-macos-framework", apple_framework=True, apple_archs={AppleArch.Aarch64, AppleArch.X86_64, }, ),
135135
"macos-framework-arm64": JobSpec(name="MacOS (Framework) (arm64)", priority=True, os=JobOs.MacosLatest, platform=SdlPlatform.MacOS, artifact=None, apple_framework=True, apple_archs={AppleArch.Aarch64, AppleArch.X86_64, }, xcode=True, ),
@@ -501,11 +501,13 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool, ctest_args
501501
"libswscale-dev",
502502
))
503503
match = re.match(r"ubuntu-(?P<year>[0-9]+)\.(?P<month>[0-9]+|latest).*", spec.os.value)
504-
ubuntu_ge_22 = True
504+
ubuntu_ge_24 = True
505505
if match and match["month"] != "latest":
506506
ubuntu_year, ubuntu_month = [int(match["year"]), int(match["month"])]
507-
ubuntu_ge_22 = ubuntu_year >= 22
507+
ubuntu_ge_24 = ubuntu_year >= 24
508508
job.apt_packages.extend(("libpipewire-0.3-dev", "libdecor-0-dev"))
509+
if not ubuntu_ge_24:
510+
job.clang_tidy = False
509511
job.apt_packages.extend((
510512
"libunwind-dev", # For SDL_test memory tracking
511513
))
@@ -842,7 +844,7 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool, ctest_args
842844
match spec.platform:
843845
case SdlPlatform.FreeBSD:
844846
job.cpactions_os = "freebsd"
845-
job.cpactions_version = "14.3"
847+
job.cpactions_version = "14.4"
846848
job.cpactions_arch = "x86-64"
847849
job.cpactions_setup_cmd = "sudo pkg update"
848850
job.cpactions_install_cmd = "sudo pkg install -y cmake ninja pkgconf libXcursor libXext libXinerama libXi libXfixes libXrandr libXScrnSaver libXxf86vm wayland wayland-protocols libxkbcommon mesa-libs libglvnd evdev-proto libinotify alsa-lib jackit pipewire pulseaudio sndio dbus zh-fcitx ibus libudev-devd"

‎.github/workflows/generic.yml‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ jobs:
119119
# Download the key to system keyring
120120
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
121121
| gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
122-
122+
123123
# Add signed entry to apt sources and configure the APT client to use Intel repository:
124124
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
125125
@@ -141,9 +141,13 @@ jobs:
141141
- name: 'Install brew packages'
142142
if: ${{ matrix.platform.brew-packages != '' }}
143143
run: |
144-
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
145-
brew update
146-
brew install ${{ matrix.platform.brew-packages }}
144+
# Unset these GitHub environment variable to keep brew from emitting a few noisy annotions
145+
unset GITHUB_ACTIONS
146+
unset GITHUB_OUTPUT
147+
unset GITHUB_PATH
148+
149+
brew update --auto-update
150+
brew install --quiet ${{ matrix.platform.brew-packages }}
147151
- name: 'Setup Python'
148152
uses: 'actions/setup-python@main'
149153
if: ${{ matrix.platform.setup-python }}
@@ -218,7 +222,7 @@ jobs:
218222
run: |
219223
${{ matrix.platform.source-cmd }}
220224
${{ matrix.platform.cmake-config-emulator }} cmake -S . -B build -G "${{ matrix.platform.cmake-generator }}" \
221-
-Wdeprecated -Wdev -Werror \
225+
-Wdeprecated -Wdev -Werror=dev -Werror=deprecated \
222226
${{ matrix.platform.cmake-toolchain-file != '' && format('-DCMAKE_TOOLCHAIN_FILE={0}', matrix.platform.cmake-toolchain-file) || '' }} \
223227
-DSDL_WERROR=${{ matrix.platform.werror }} \
224228
-DSDL_EXAMPLES=${{ matrix.platform.build-tests }} \

‎CMakeLists.txt‎

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2369,11 +2369,32 @@ elseif(WINDOWS OR CYGWIN)
23692369
string(APPEND CMAKE_REQUIRED_FLAGS " /I\"$ENV{DXSDK_DIR}\\Include\"")
23702370
endif()
23712371

2372-
check_include_file(d3d9.h HAVE_D3D9_H)
2373-
check_include_file(d3d11_1.h HAVE_D3D11_H)
2374-
check_include_file(ddraw.h HAVE_DDRAW_H)
2375-
check_include_file(dsound.h HAVE_DSOUND_H)
2376-
check_include_file(dinput.h HAVE_DINPUT_H)
2372+
# d3d9.h may need windows.h, but does not include it itself.
2373+
check_c_source_compiles("
2374+
#include <windows.h>
2375+
#include <d3d9.h>
2376+
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_D3D9_H
2377+
)
2378+
check_c_source_compiles("
2379+
#include <d3d11_1.h>
2380+
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_D3D11_H
2381+
)
2382+
# ddraw.h, dsound.h, and dinput.h may need windows.h, but does not include it itself.
2383+
check_c_source_compiles("
2384+
#include <windows.h>
2385+
#include <ddraw.h>
2386+
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_DDRAW_H
2387+
)
2388+
check_c_source_compiles("
2389+
#include <windows.h>
2390+
#include <dsound.h>
2391+
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_DSOUND_H
2392+
)
2393+
check_c_source_compiles("
2394+
#include <windows.h>
2395+
#include <dinput.h>
2396+
int main(int argc, char **argv) { (void)argc; (void)argv; return 0; }" HAVE_DINPUT_H
2397+
)
23772398
if(SDL_CPU_ARM32) # !!! FIXME: this should probably check if we're !(x86 or x86-64) instead of arm.
23782399
set(HAVE_DINPUT_H 0)
23792400
endif()
@@ -2438,6 +2459,7 @@ elseif(WINDOWS OR CYGWIN)
24382459
return 0;
24392460
}" HAVE_GAMEINPUT_LIB
24402461
)
2462+
cmake_pop_check_state()
24412463
if(HAVE_GAMEINPUT_LIB)
24422464
sdl_link_dependency(gameinput LIBS gameinput.lib PKG_CONFIG_LINK_OPTIONS -lgameinput)
24432465
set(SDL_GAMEINPUT_DYNAMIC 0)

‎VisualC/SDL/SDL.vcxproj‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,8 +591,10 @@
591591
<ClInclude Include="..\..\src\render\software\SDL_triangle.h" />
592592
<ClInclude Include="..\..\src\render\vulkan\SDL_shaders_vulkan.h" />
593593
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Advanced.h" />
594+
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Advanced_YUV.h" />
594595
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Colors.h" />
595596
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Textures.h" />
597+
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Textures_YUV.h" />
596598
<ClInclude Include="..\..\src\render\vulkan\VULKAN_VertexShader.h" />
597599
<ClInclude Include="..\..\src\SDL_assert_c.h" />
598600
<ClInclude Include="..\..\src\SDL_error_c.h" />

‎VisualC/SDL/SDL.vcxproj.filters‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1155,12 +1155,18 @@
11551155
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Advanced.h">
11561156
<Filter>render\vulkan</Filter>
11571157
</ClInclude>
1158+
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Advanced_YUV.h">
1159+
<Filter>render\vulkan</Filter>
1160+
</ClInclude>
11581161
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Colors.h">
11591162
<Filter>render\vulkan</Filter>
11601163
</ClInclude>
11611164
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Textures.h">
11621165
<Filter>render\vulkan</Filter>
11631166
</ClInclude>
1167+
<ClInclude Include="..\..\src\render\vulkan\VULKAN_PixelShader_Textures_YUV.h">
1168+
<Filter>render\vulkan</Filter>
1169+
</ClInclude>
11641170
<ClInclude Include="..\..\src\render\vulkan\VULKAN_VertexShader.h">
11651171
<Filter>render\vulkan</Filter>
11661172
</ClInclude>
@@ -2084,4 +2090,4 @@
20842090
<Filter>core\windows</Filter>
20852091
</ResourceCompile>
20862092
</ItemGroup>
2087-
</Project>
2093+
</Project>

0 commit comments

Comments
 (0)