diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-Test-Dev17.yml b/.azuredevops/pipelines/DirectXTex-GitHub-Test-Dev17.yml
index c7168a65..70d94381 100644
--- a/.azuredevops/pipelines/DirectXTex-GitHub-Test-Dev17.yml
+++ b/.azuredevops/pipelines/DirectXTex-GitHub-Test-Dev17.yml
@@ -48,75 +48,6 @@ variables:
value: $(ADOFeedGUID)
jobs:
- - job: DESKTOP_BUILD
- displayName: 'Windows Desktop'
- timeoutInMinutes: 120
- cancelTimeoutInMinutes: 1
- strategy:
- maxParallel: 3
- matrix:
- Release_arm64:
- BuildPlatform: ARM64
- BuildConfiguration: Release
- Debug_arm64:
- BuildPlatform: ARM64
- BuildConfiguration: Debug
- Release_x64:
- BuildPlatform: x64
- BuildConfiguration: Release
- Debug_x64:
- BuildPlatform: x64
- BuildConfiguration: Debug
- Release_x86:
- BuildPlatform: x86
- BuildConfiguration: Release
- Debug_x86:
- BuildPlatform: x86
- BuildConfiguration: Debug
- steps:
- - checkout: self
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's'
- - checkout: testRepo
- displayName: Fetch Tests
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's/Tests'
- - task: NuGetToolInstaller@1
- displayName: 'Use NuGet'
- - task: NuGetCommand@2
- displayName: NuGet restore tests
- inputs:
- solution: Tests/DirectXTex_Tests_Desktop_2022.sln
- feedRestore: $(GUID_FEED)
- includeNuGetOrg: false
- - task: MSBuild@1
- displayName: Log Information
- inputs:
- solution: build/LogInfo.targets
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
- - task: VSBuild@1
- displayName: Build solution DirectXTex_Tests_Desktop_2022.sln
- inputs:
- solution: Tests/DirectXTex_Tests_Desktop_2022.sln
- msbuildArgs: /p:PreferredToolArchitecture=x64
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
- msbuildArchitecture: x64
- condition: ne(variables['BuildPlatform'], 'ARM64')
- - task: VSBuild@1
- displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln
- inputs:
- solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln
- msbuildArgs: /p:PreferredToolArchitecture=x64
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
- msbuildArchitecture: x64
-
- job: CMAKE_BUILD_X64
displayName: 'CMake for X64 BUILD_TESTING=ON'
timeoutInMinutes: 120
diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-Test.yml b/.azuredevops/pipelines/DirectXTex-GitHub-Test.yml
deleted file mode 100644
index 90ccf649..00000000
--- a/.azuredevops/pipelines/DirectXTex-GitHub-Test.yml
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright (c) Microsoft Corporation.
-# Licensed under the MIT License.
-#
-# https://go.microsoft.com/fwlink/?LinkId=248926
-
-# Builds the library and test suite.
-
-schedules:
- - cron: "30 3 * * *"
- displayName: 'Nightly build'
- branches:
- include:
- - main
-
-# GitHub Actions handles test suite for CI/PR
-trigger: none
-pr:
- branches:
- include:
- - main
- paths:
- include:
- - '.azuredevops/pipelines/DirectXTex-GitHub-Test.yml'
-
-resources:
- repositories:
- - repository: self
- type: git
- ref: refs/heads/main
- - repository: testRepo
- name: walbourn/directxtextest
- type: github
- endpoint: microsoft
- ref: refs/heads/main
-
-name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
-
-pool:
- vmImage: windows-2022
-
-variables:
- - group: dxtex-shared-variables
- - name: Codeql.Enabled
- value: false
- - name: GUID_FEED
- value: $(ADOFeedGUID)
-
-jobs:
- - job: DESKTOP_BUILD
- displayName: 'Windows Desktop'
- timeoutInMinutes: 120
- cancelTimeoutInMinutes: 1
- strategy:
- maxParallel: 2
- matrix:
- Release_x64:
- BuildPlatform: x64
- BuildConfiguration: Release
- Debug_x64:
- BuildPlatform: x64
- BuildConfiguration: Debug
- Release_x86:
- BuildPlatform: x86
- BuildConfiguration: Release
- Debug_x86:
- BuildPlatform: x86
- BuildConfiguration: Debug
- steps:
- - checkout: self
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's'
- - checkout: testRepo
- displayName: Fetch Tests
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's/Tests'
- - task: NuGetToolInstaller@1
- displayName: 'Use NuGet'
- - task: NuGetCommand@2
- displayName: NuGet restore tests
- inputs:
- solution: Tests/DirectXTex_Tests_Desktop_2019.sln
- feedRestore: $(GUID_FEED)
- includeNuGetOrg: false
- - task: MSBuild@1
- displayName: Log Information
- inputs:
- solution: build/LogInfo.targets
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
- - task: VSBuild@1
- displayName: Build solution DirectXTex_Tests_Desktop_2019.sln
- inputs:
- solution: Tests/DirectXTex_Tests_Desktop_2019.sln
- msbuildArgs: /p:PreferredToolArchitecture=x64
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
- - task: VSBuild@1
- displayName: Build solution DirectXTex_Tests_Desktop_2019_Win10.sln
- inputs:
- solution: Tests/DirectXTex_Tests_Desktop_2019_Win10.sln
- msbuildArgs: /p:PreferredToolArchitecture=x64
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
diff --git a/.azuredevops/pipelines/DirectXTex-GitHub-WSL-13.yml b/.azuredevops/pipelines/DirectXTex-GitHub-WSL-13.yml
deleted file mode 100644
index 3dbf2b8a..00000000
--- a/.azuredevops/pipelines/DirectXTex-GitHub-WSL-13.yml
+++ /dev/null
@@ -1,267 +0,0 @@
-# Copyright (c) Microsoft Corporation.
-# Licensed under the MIT License.
-#
-# https://go.microsoft.com/fwlink/?LinkId=248926
-
-# Builds the library for Windows Subsystem for Linux (WSL)
-
-schedules:
- - cron: "0 3 * * *"
- displayName: 'Nightly build'
- branches:
- include:
- - main
-
-trigger: none
-
-pr:
- branches:
- include:
- - main
- paths:
- include:
- - '.azuredevops/pipelines/DirectXTex-GitHub-WSL-13.yml'
- - CMake*
- - build/*.cmake
- - build/*.in
- - Auxiliary/*EXR*
- - Auxiliary/*JPEG*
- - Auxiliary/*PNG*
-
-resources:
- repositories:
- - repository: self
- type: git
- ref: refs/heads/main
- trigger: none
- - repository: dxHeadersRepo
- name: Microsoft/DirectX-Headers
- type: github
- endpoint: microsoft
- ref: refs/heads/main
- - repository: dxMathRepo
- name: Microsoft/DirectXMath
- type: github
- endpoint: microsoft
- ref: refs/heads/main
- - repository: vcpkgRepo
- name: Microsoft/vcpkg
- type: github
- endpoint: microsoft
- ref: refs/tags/$(VCPKG_TAG)
-
-name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
-
-pool:
- vmImage: ubuntu-24.04
-
-variables:
- - group: dxtex-shared-variables
- - name: Codeql.Enabled
- value: false
- - name: VCPKG_ROOT
- value: '$(Build.SourcesDirectory)/vcpkg'
- - name: VCPKG_CMAKE_DIR
- value: '$(Build.SourcesDirectory)/vcpkg/scripts/buildsystems/vcpkg.cmake'
- - name: VCPKG_MANIFEST_DIR
- value: '$(Build.SourcesDirectory)/build'
- - name: LOCAL_PKG_DIR
- value: '$(Agent.BuildDirectory)/install/'
- - name: SAL_URL
- value: https://raw.githubusercontent.com/dotnet/runtime/v8.0.1/src/coreclr/pal/inc/rt/sal.h
- - name: SAL_HASH
- value: 0f5a80b97564217db2ba3e4624cc9eb308e19cc9911dae21d983c4ab37003f4756473297ba81b386c498514cedc1ef5a3553d7002edc09aeb6a1335df973095f
-
-jobs:
- - job: BUILD_WSL
- displayName: 'Windows Subsystem for Linux (WSL)'
- timeoutInMinutes: 120
- cancelTimeoutInMinutes: 1
- steps:
- - checkout: self
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's'
- - checkout: dxHeadersRepo
- displayName: Fetch DirectX-Headers
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's/DirectX-Headers'
- - checkout: dxMathRepo
- displayName: Fetch DirectX-Math
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's/DirectXMath'
- - task: CMake@1
- displayName: CMake DirectX-Headers
- inputs:
- cwd: DirectX-Headers
- cmakeArgs: >
- . -DDXHEADERS_BUILD_TEST=OFF -DDXHEADERS_BUILD_GOOGLE_TEST=OFF
- -DCMAKE_INSTALL_PREFIX=$(LOCAL_PKG_DIR)
- - task: CMake@1
- displayName: CMake DirectX-Headers (Build)
- inputs:
- cwd: DirectX-Headers
- cmakeArgs: --build . -v
- - task: CMake@1
- displayName: CMake DirectX-Headers (Install)
- inputs:
- cwd: DirectX-Headers
- cmakeArgs: --install .
- - task: CMake@1
- displayName: CMake DirectXMath
- inputs:
- cwd: DirectXMath
- cmakeArgs: . -DCMAKE_INSTALL_PREFIX=$(LOCAL_PKG_DIR)
- - task: CMake@1
- displayName: CMake DirectXMath (Build)
- inputs:
- cwd: DirectXMath
- cmakeArgs: --build . -v
- - task: CMake@1
- displayName: CMake DirectXMath (Install)
- inputs:
- cwd: DirectXMath
- cmakeArgs: --install .
- - task: PowerShell@2
- displayName: Fetch SAL.H
- inputs:
- targetType: inline
- script: |
- $ProgressPreference = 'SilentlyContinue'
- Invoke-WebRequest -Uri "$(SAL_URL)" -OutFile $(LOCAL_PKG_DIR)/include/sal.h
- $fileHash = Get-FileHash -Algorithm SHA512 $(LOCAL_PKG_DIR)/include/sal.h | ForEach { $_.Hash} | Out-String
- $filehash = $fileHash.Trim()
- Write-Host "##[debug]SHA512: " $filehash
- if ($fileHash -ne "$(SAL_HASH)") {
- Write-Error -Message "##[error]Computed hash does not match!" -ErrorAction Stop
- }
-
- - task: CMake@1
- displayName: CMake DirectXTex (Config) dbg
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: >
- -B out -DCMAKE_BUILD_TYPE=Debug
- -DCMAKE_PREFIX_PATH=$(LOCAL_PKG_DIR)/share;$(LOCAL_PKG_DIR)/cmake
- - task: CMake@1
- displayName: CMake DirectXTex (Build) dbg
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: --build out -v
- - task: CMake@1
- displayName: CMake DirectXTex (Config) rel
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: >
- -B out2 -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_PREFIX_PATH=$(LOCAL_PKG_DIR)/share;$(LOCAL_PKG_DIR)/cmake
- - task: CMake@1
- displayName: CMake DirectXTex (Build) rel
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: --build out2 -v
-
- - job: BUILD_WSL_VCPKG
- displayName: 'Windows Subsystem for Linux (WSL) using VCPKG'
- timeoutInMinutes: 120
- cancelTimeoutInMinutes: 1
- steps:
- - checkout: self
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's'
- - checkout: vcpkgRepo
- displayName: Fetch VCPKG
- clean: true
- fetchTags: false
- fetchDepth: 1
- path: 's/vcpkg'
- - task: Bash@3
- displayName: VCPKG Bootstrap
- inputs:
- targetType: filePath
- filePath: $(Build.SourcesDirectory)/vcpkg/bootstrap-vcpkg.sh
- workingDirectory: $(Build.SourcesDirectory)/vcpkg
- - task: CmdLine@2
- displayName: GCC and CMake version
- inputs:
- script: |
- g++ --version
- cmake --version
-
- - task: CmdLine@2
- displayName: VCPKG install packages
- inputs:
- script: vcpkg install --x-manifest-root=$(VCPKG_MANIFEST_DIR) --triplet=x64-linux
- workingDirectory: $(VCPKG_ROOT)
- - task: CMake@1
- displayName: CMake DirectXTex (Config) dbg
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: >
- -B out -DCMAKE_BUILD_TYPE=Debug -DDIRECTX_ARCH=x64
- -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
- -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-linux
- - task: CMake@1
- displayName: CMake DirectXTex (Build) dbg
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: --build out -v
- - task: CMake@1
- displayName: CMake DirectXTex (Config) rel
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: >
- -B out2 -DCMAKE_BUILD_TYPE=Release -DDIRECTX_ARCH=x64
- -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
- -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-linux
- - task: CMake@1
- displayName: CMake DirectXTex (Build) rel
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: --build out2 -v
- - task: CMake@1
- displayName: CMake DirectXTex (Config) w/ OpenEXR
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: >
- -B out3 -DCMAKE_BUILD_TYPE=Debug -DENABLE_OPENEXR_SUPPORT=ON -DDIRECTX_ARCH=x64
- -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
- -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-linux
- - task: CMake@1
- displayName: CMake DirectXTex (Build) w/ OpenEXR
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: --build out3 -v
- - task: CMake@1
- displayName: CMake DirectXTex (Config) w/ libjpeg
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: >
- -B out4 -DCMAKE_BUILD_TYPE=Debug -DENABLE_LIBJPEG_SUPPORT=ON -DDIRECTX_ARCH=x64
- -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
- -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-linux
- - task: CMake@1
- displayName: CMake DirectXTex (Build) w/ libjpeg
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: --build out4 -v
- - task: CMake@1
- displayName: CMake DirectXTex (Config) w/ libpng
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: >
- -B out5 -DCMAKE_BUILD_TYPE=Debug -DENABLE_LIBPNG_SUPPORT=ON -DDIRECTX_ARCH=x64
- -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"
- -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-linux
- - task: CMake@1
- displayName: CMake DirectXTex (Build) w/ libpng
- inputs:
- cwd: $(Build.SourcesDirectory)
- cmakeArgs: --build out5 -v
diff --git a/.azuredevops/pipelines/DirectXTex-GitHub.yml b/.azuredevops/pipelines/DirectXTex-GitHub.yml
deleted file mode 100644
index 01537d7d..00000000
--- a/.azuredevops/pipelines/DirectXTex-GitHub.yml
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright (c) Microsoft Corporation.
-# Licensed under the MIT License.
-#
-# http://go.microsoft.com/fwlink/?LinkId=248926
-
-# Builds the library for Windows Desktop.
-
-schedules:
- - cron: "5 3 * * *"
- displayName: 'Nightly build'
- branches:
- include:
- - main
-
-# GitHub Actions handles MSBuild for CI/PR
-trigger: none
-pr:
- branches:
- include:
- - main
- paths:
- include:
- - '.azuredevops/pipelines/DirectXTex-GitHub.yml'
- - DirectXTex/Shaders/CompileShaders.cmd
-
-resources:
- repositories:
- - repository: self
- type: git
- ref: refs/heads/main
-
-name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
-
-variables:
- Codeql.Enabled: false
-
-pool:
- vmImage: windows-2022
-
-jobs:
- - job: DESKTOP_BUILD
- displayName: 'Windows Desktop'
- timeoutInMinutes: 120
- cancelTimeoutInMinutes: 1
- strategy:
- maxParallel: 2
- matrix:
- Release_x64:
- BuildPlatform: x64
- BuildConfiguration: Release
- SpectreMitigation: false
- Debug_x64:
- BuildPlatform: x64
- BuildConfiguration: Debug
- SpectreMitigation: false
- Release_x86:
- BuildPlatform: x86
- BuildConfiguration: Release
- SpectreMitigation: false
- Debug_x86:
- BuildPlatform: x86
- BuildConfiguration: Debug
- SpectreMitigation: false
- # windows-2022 image is missing v142 spectre-mitigated libraries
- steps:
- - checkout: self
- clean: true
- fetchTags: false
- - task: MSBuild@1
- displayName: Log Information
- inputs:
- solution: build/LogInfo.targets
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
- - task: VSBuild@1
- displayName: Build solution DirectXTex_Desktop_2019.sln
- inputs:
- solution: DirectXTex_Desktop_2019.sln
- msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=$(SpectreMitigation)
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
- - task: VSBuild@1
- displayName: Build solution DirectXTex_Desktop_2019_Win10.sln
- inputs:
- solution: DirectXTex_Desktop_2019_Win10.sln
- msbuildArgs: /p:PreferredToolArchitecture=x64 /p:SpectreMitigation=$(SpectreMitigation)
- platform: '$(BuildPlatform)'
- configuration: '$(BuildConfiguration)'
diff --git a/.github/linters/actionlint.yml b/.github/linters/actionlint.yml
index 8f70803a..5a720176 100644
--- a/.github/linters/actionlint.yml
+++ b/.github/linters/actionlint.yml
@@ -2,3 +2,4 @@ self-hosted-runner:
# Workaround until linter is updated
labels:
- windows-11-arm
+ - windows-2025-vs2026
diff --git a/.github/workflows/clangcl.yml b/.github/workflows/clangcl.yml
new file mode 100644
index 00000000..e7d89e39
--- /dev/null
+++ b/.github/workflows/clangcl.yml
@@ -0,0 +1,206 @@
+# Copyright (c) Microsoft Corporation.
+# Licensed under the MIT License.
+#
+# http://go.microsoft.com/fwlink/?LinkId=248926
+
+name: 'CMake (clang-cl)'
+
+on:
+ push:
+ branches: "main"
+ paths-ignore:
+ - '*.md'
+ - LICENSE
+ - '.azuredevops/**'
+ - '.nuget/*'
+ - build/*.cmd
+ - build/*.json
+ - build/*.props
+ - build/*.ps1
+ - build/*.targets
+ - build/*.xvd
+ pull_request:
+ branches: "main"
+ paths-ignore:
+ - '*.md'
+ - LICENSE
+ - '.azuredevops/**'
+ - '.nuget/*'
+ - build/*.cmd
+ - build/*.json
+ - build/*.props
+ - build/*.ps1
+ - build/*.targets
+ - build/*.xvd
+
+env:
+ DIRECTXTEX_MEDIA_PATH: ${{ github.workspace }}/Media
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ runs-on: windows-2022
+
+ strategy:
+ fail-fast: false
+
+ matrix:
+ build_type: [x64-Debug-Clang, x64-Release-Clang]
+ arch: [amd64]
+ include:
+ - build_type: x86-Debug-Clang
+ arch: amd64_x86
+ - build_type: x86-Release-Clang
+ arch: amd64_x86
+ - build_type: arm64-Debug-Clang
+ arch: amd64_arm64
+ - build_type: arm64-Release-Clang
+ arch: amd64_arm64
+
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+
+ - name: Clone test repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ repository: walbourn/directxtextest
+ path: Tests
+ ref: main
+
+ - name: 'Install Ninja'
+ run: choco install ninja
+
+ - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
+ with:
+ arch: ${{ matrix.arch }}
+
+ - name: 'Set triplet'
+ shell: pwsh
+ run: |
+ if ("${{ matrix.arch }}" -eq "amd64")
+ {
+ echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV
+ }
+ elseif ("${{ matrix.arch }}" -eq "amd64_x86")
+ {
+ echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV
+ }
+ elseif ("${{ matrix.arch }}" -eq "amd64_arm64")
+ {
+ if ("${{ matrix.build_type }}" -match "^arm64ec")
+ {
+ echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV
+ }
+ else
+ {
+ echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV
+ }
+ }
+ else
+ {
+ echo "::error Unknown architecture/build-type triplet mapping"
+ }
+
+ - name: Get vcpkg commit hash
+ shell: pwsh
+ run: |
+ if ($Env:vcpkgRelease) {
+ echo "Using vcpkg commit from repo variable..."
+ $VCPKG_COMMIT_ID = $Env:vcpkgRelease
+ }
+ else {
+ echo "Fetching latest vcpkg commit hash..."
+ $commit = (git ls-remote https://github.com/microsoft/vcpkg.git HEAD | Select-String -Pattern '([a-f0-9]{40})').Matches.Value
+ $VCPKG_COMMIT_ID = $commit
+ }
+ Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID"
+ echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV
+ env:
+ vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}'
+
+ - uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11
+ with:
+ runVcpkgInstall: true
+ vcpkgJsonGlob: '**/build/vcpkg.json'
+ vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}'
+
+ - name: 'Configure CMake'
+ working-directory: ${{ github.workspace }}
+ run: >
+ cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=ON -DBUILD_SAMPLE=OFF
+ -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON
+ -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake"
+ -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
+ -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
+
+ - name: 'Build'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
+
+ - name: 'Clean up'
+ working-directory: ${{ github.workspace }}
+ run: Remove-Item -Path out -Recurse -Force
+
+ - name: 'Configure CMake (DLL)'
+ working-directory: ${{ github.workspace }}
+ run: >
+ cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=ON -DBUILD_SAMPLE=OFF
+ -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON
+ -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake"
+ -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
+ -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" -DBUILD_SHARED_LIBS=ON
+
+ - name: 'Build (DLL)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
+
+ build2026:
+ runs-on: windows-2025-vs2026
+
+ strategy:
+ fail-fast: false
+
+ matrix:
+ build_type: [x64-Debug-Clang, x64-Release-Clang]
+ arch: [amd64]
+ include:
+ - build_type: x86-Debug-Clang
+ arch: amd64_x86
+ - build_type: x86-Release-Clang
+ arch: amd64_x86
+ - build_type: arm64-Debug-Clang
+ arch: amd64_arm64
+ - build_type: arm64-Release-Clang
+ arch: amd64_arm64
+
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+
+ - name: 'Install Ninja'
+ run: choco install ninja
+
+ - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
+ with:
+ arch: ${{ matrix.arch }}
+
+ - name: 'Configure CMake'
+ working-directory: ${{ github.workspace }}
+ run: cmake --preset=${{ matrix.build_type }}
+
+ - name: 'Build'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
+
+ - name: 'Clean up'
+ working-directory: ${{ github.workspace }}
+ run: Remove-Item -Path out -Recurse -Force
+
+ - name: 'Configure CMake (DLL)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON
+
+ - name: 'Build (DLL)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 734dcd55..ca9edafa 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -78,27 +78,74 @@ jobs:
- toolver: '14'
build_type: x64-Release-Win8
arch: amd64
- - toolver: '14'
- build_type: x64-Debug-Clang
- arch: amd64
- - toolver: '14'
- build_type: x64-Release-Clang
- arch: amd64
- - toolver: '14'
- build_type: x86-Debug-Clang
+
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+
+ - name: 'Install Ninja'
+ run: choco install ninja
+
+ - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
+ with:
+ arch: ${{ matrix.arch }}
+ toolset: ${{ matrix.toolver }}
+
+ - name: 'Configure CMake'
+ working-directory: ${{ github.workspace }}
+ run: cmake --preset=${{ matrix.build_type }}
+
+ - name: 'Build'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
+
+ - name: 'Clean up'
+ working-directory: ${{ github.workspace }}
+ run: Remove-Item -Path out -Recurse -Force
+
+ - if: matrix.arch != 'amd64_arm64'
+ name: 'Configure CMake (Spectre)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON
+
+ - if: matrix.arch != 'amd64_arm64'
+ name: 'Build (Spectre)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
+
+ - if: matrix.arch != 'amd64_arm64'
+ name: 'Clean up'
+ working-directory: ${{ github.workspace }}
+ run: Remove-Item -Path out -Recurse -Force
+
+ - name: 'Configure CMake (DLL)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON
+
+ - name: 'Build (DLL)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
+
+ build2026:
+ runs-on: windows-2025-vs2026
+
+ strategy:
+ fail-fast: false
+
+ matrix:
+ build_type: [x64-Debug, x64-Release]
+ arch: [amd64]
+ include:
+ - build_type: x86-Debug
arch: amd64_x86
- - toolver: '14'
- build_type: x86-Release-Clang
+ - build_type: x86-Release
arch: amd64_x86
- - toolver: '14'
- build_type: arm64-Debug-Clang
+ - build_type: arm64-Debug
arch: amd64_arm64
- - toolver: '14'
- build_type: arm64-Release-Clang
+ - build_type: arm64-Release
arch: amd64_arm64
steps:
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: 'Install Ninja'
run: choco install ninja
@@ -106,7 +153,6 @@ jobs:
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with:
arch: ${{ matrix.arch }}
- toolset: ${{ matrix.toolver }}
- name: 'Configure CMake'
working-directory: ${{ github.workspace }}
diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml
index a92f2715..9a71320a 100644
--- a/.github/workflows/msbuild.yml
+++ b/.github/workflows/msbuild.yml
@@ -42,7 +42,7 @@ jobs:
platform: ARM64
steps:
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0
@@ -82,3 +82,25 @@ jobs:
msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
/p:SpectreMitigation=Spectre
DirectXTex_Desktop_${{ matrix.vs }}_Win10.sln
+
+ build2026:
+ runs-on: windows-2025-vs2026
+
+ strategy:
+ fail-fast: false
+
+ matrix:
+ build_type: [Debug, Release]
+ platform: [x86, x64, ARM64]
+
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+
+ - name: Add MSBuild to PATH
+ uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0
+
+ - name: 'Build'
+ working-directory: ${{ github.workspace }}
+ run: >
+ msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
+ DirectXTex_Desktop_2026.slnx
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 0a4144d8..3e39a616 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -65,18 +65,6 @@ jobs:
- toolver: '14'
build_type: x86-Release
arch: amd64_x86
- - toolver: '14'
- build_type: x64-Debug-Clang
- arch: amd64
- - toolver: '14'
- build_type: x64-Release-Clang
- arch: amd64
- - toolver: '14'
- build_type: x86-Debug-Clang
- arch: amd64_x86
- - toolver: '14'
- build_type: x86-Release-Clang
- arch: amd64_x86
- toolver: '14'
build_type: arm64-Debug
arch: amd64_arm64
@@ -91,10 +79,10 @@ jobs:
arch: amd64_arm64
steps:
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Clone test repository
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: walbourn/directxtextest
path: Tests
@@ -187,3 +175,64 @@ jobs:
- name: 'Build (DLL)'
working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }}
+
+ build2026:
+ runs-on: windows-2025-vs2026
+ timeout-minutes: 20
+
+ strategy:
+ fail-fast: false
+
+ matrix:
+ build_type: [x64-Debug, x64-Release]
+ arch: [amd64]
+ include:
+ - build_type: x86-Debug
+ arch: amd64_x86
+ - build_type: x86-Release
+ arch: amd64_x86
+ - build_type: arm64-Debug
+ arch: amd64_arm64
+ - build_type: arm64-Release
+ arch: amd64_arm64
+ - build_type: arm64ec-Debug
+ arch: amd64_arm64
+ - build_type: arm64ec-Release
+ arch: amd64_arm64
+
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+
+ - name: Clone test repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ repository: walbourn/directxtextest
+ path: Tests
+ ref: main
+
+ - name: 'Install Ninja'
+ run: choco install ninja
+
+ - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
+ with:
+ arch: ${{ matrix.arch }}
+
+ - name: 'Configure CMake'
+ working-directory: ${{ github.workspace }}
+ run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF
+
+ - name: 'Build'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
+
+ - name: 'Clean up'
+ working-directory: ${{ github.workspace }}
+ run: Remove-Item -Path out -Recurse -Force
+
+ - name: 'Configure CMake (DLL)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SHARED_LIBS=ON
+
+ - name: 'Build (DLL)'
+ working-directory: ${{ github.workspace }}
+ run: cmake --build out\build\${{ matrix.build_type }}
diff --git a/DDSView/DDSView_Desktop_2026.vcxproj b/DDSView/DDSView_Desktop_2026.vcxproj
new file mode 100644
index 00000000..dfdbe85c
--- /dev/null
+++ b/DDSView/DDSView_Desktop_2026.vcxproj
@@ -0,0 +1,445 @@
+
+
+
+
+ Debug
+ ARM64
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Profile
+ ARM64
+
+
+ Profile
+ Win32
+
+
+ Profile
+ x64
+
+
+ Release
+ ARM64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ DDSView
+ {9D3EDCAD-A800-43F0-B77F-FE6E4DFA3D84}
+ DDSView
+ Win32Proj
+ 10.0
+
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DDSView
+ true
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ StreamingSIMDExtensions2
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ Windows
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ Windows
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ StreamingSIMDExtensions2
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ true
+ Windows
+ true
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ true
+ Windows
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ true
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ StreamingSIMDExtensions2
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ true
+ Windows
+ true
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ true
+ Windows
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ ..\DirectXTex;$(ProjectDir)Shaders;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+
+
+ d3d11.lib;ole32.lib;windowscodecs.lib;uuid.lib;%(AdditionalDependencies)
+ true
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+ {371b9fa9-4c90-4ac6-a123-aced756d6c77}
+
+
+
+
+
+
+
+
+
+ <_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])
+ <_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))
+ <_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\
+ <_ATGFXCVer>$([System.Text.RegularExpressions.Regex]::Match($(_ATGFXCPath), '10\.0\.\d+\.0'))
+ <_ATGFXCVer Condition="'$(_ATGFXCVer)' != '' and !HasTrailingSlash('$(_ATGFXCVer)')">$(_ATGFXCVer)\
+
+
+
+ <_ATGFXCPath />
+ <_ATGFXCVer />
+
+
+
+
+ <_ATGShaderHeaders Include="$(ProjectDir)Shaders/*.inc" />
+
+
+
+
\ No newline at end of file
diff --git a/DDSView/DDSView_Desktop_2026.vcxproj.filters b/DDSView/DDSView_Desktop_2026.vcxproj.filters
new file mode 100644
index 00000000..32c0bff0
--- /dev/null
+++ b/DDSView/DDSView_Desktop_2026.vcxproj.filters
@@ -0,0 +1,20 @@
+
+
+
+
+ {8e114980-c1a3-4ada-ad7c-83caadf5daeb}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
+
+
+
+
+
+
+
+ Resource Files
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DirectXTex/DirectXTex_Desktop_2026.vcxproj b/DirectXTex/DirectXTex_Desktop_2026.vcxproj
new file mode 100644
index 00000000..e30c5a43
--- /dev/null
+++ b/DirectXTex/DirectXTex_Desktop_2026.vcxproj
@@ -0,0 +1,508 @@
+
+
+
+
+ Debug
+ ARM64
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Profile
+ ARM64
+
+
+ Profile
+ Win32
+
+
+ Profile
+ x64
+
+
+ Release
+ ARM64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ DirectXTex
+ {371B9FA9-4C90-4AC6-A123-ACED756D6C77}
+ DirectXTex
+ Win32Proj
+ 10.0
+ x64
+
+
+
+ StaticLibrary
+ true
+ Unicode
+ v145
+
+
+ StaticLibrary
+ true
+ Unicode
+ v145
+
+
+ StaticLibrary
+ true
+ Unicode
+ v145
+
+
+ StaticLibrary
+ Unicode
+ v145
+
+
+ StaticLibrary
+ Unicode
+ v145
+
+
+ StaticLibrary
+ Unicode
+ v145
+
+
+ StaticLibrary
+ Unicode
+ v145
+
+
+ StaticLibrary
+ Unicode
+ v145
+
+
+ StaticLibrary
+ Unicode
+ v145
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ DirectXTex
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)Spectre\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)Spectre\
+ DirectXTex_Spectre
+
+
+
+ EnableAllWarnings
+ Disabled
+ MultiThreadedDebugDLL
+ true
+ Fast
+ StreamingSIMDExtensions2
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+ ProgramDatabase
+ false
+
+
+ Windows
+ true
+
+
+ false
+
+
+
+
+ EnableAllWarnings
+ Disabled
+ MultiThreadedDebugDLL
+ true
+ Fast
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+ ProgramDatabase
+ false
+
+
+ Windows
+ true
+
+
+ false
+
+
+
+
+ EnableAllWarnings
+ Disabled
+ MultiThreadedDebugDLL
+ true
+ Fast
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+ ProgramDatabase
+ false
+
+
+ Windows
+ true
+
+
+ false
+
+
+
+
+ EnableAllWarnings
+ MaxSpeed
+ true
+ Fast
+ StreamingSIMDExtensions2
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+
+
+ true
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+ EnableAllWarnings
+ MaxSpeed
+ true
+ Fast
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+ true
+
+
+ true
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+ EnableAllWarnings
+ MaxSpeed
+ true
+ Fast
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+ true
+
+
+ true
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+ EnableAllWarnings
+ MaxSpeed
+ true
+ Fast
+ StreamingSIMDExtensions2
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+
+
+ true
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+ EnableAllWarnings
+ MaxSpeed
+ true
+ Fast
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+ true
+
+
+ true
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+ EnableAllWarnings
+ MaxSpeed
+ true
+ Fast
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)
+ Use
+ DirectXTexP.h
+ $(ProjectDir);..\Common;$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories)
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ Level4
+ true
+
+
+ true
+ Windows
+ true
+ true
+
+
+ false
+
+
+
+
+ Document
+
+
+ Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+ Create
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
+
+
+
+
+ <_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])
+ <_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))
+ <_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\
+ <_ATGFXCVer>$([System.Text.RegularExpressions.Regex]::Match($(_ATGFXCPath), '10\.0\.\d+\.0'))
+ <_ATGFXCVer Condition="'$(_ATGFXCVer)' != '' and !HasTrailingSlash('$(_ATGFXCVer)')">$(_ATGFXCVer)\
+
+
+
+ <_ATGFXCPath />
+ <_ATGFXCVer />
+
+
+
+
+ <_ATGShaderHeaders Include="$(ProjectDir)Shaders/Compiled/*.inc" />
+ <_ATGShaderSymbols Include="$(ProjectDir)Shaders/Compiled/*.pdb" />
+
+
+
+
+
\ No newline at end of file
diff --git a/DirectXTex/DirectXTex_Desktop_2026.vcxproj.filters b/DirectXTex/DirectXTex_Desktop_2026.vcxproj.filters
new file mode 100644
index 00000000..18d2b226
--- /dev/null
+++ b/DirectXTex/DirectXTex_Desktop_2026.vcxproj.filters
@@ -0,0 +1,121 @@
+
+
+
+
+ {68652706-b700-4472-9af7-a56a482bd896}
+
+
+ {9b7fcbc5-2533-4b88-b75b-d4803e55fa7c}
+
+
+ {d665bb3f-6d2a-415d-83f5-abd5c813962b}
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Source Files
+
+
+
+
+ Source Files\Shaders
+
+
+ Source Files\Shaders
+
+
+ Source Files\Shaders
+
+
+
\ No newline at end of file
diff --git a/DirectXTex_Desktop_2026.slnx b/DirectXTex_Desktop_2026.slnx
new file mode 100644
index 00000000..6bedb976
--- /dev/null
+++ b/DirectXTex_Desktop_2026.slnx
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Texassemble/Texassemble_Desktop_2026.vcxproj b/Texassemble/Texassemble_Desktop_2026.vcxproj
new file mode 100644
index 00000000..117945a2
--- /dev/null
+++ b/Texassemble/Texassemble_Desktop_2026.vcxproj
@@ -0,0 +1,438 @@
+
+
+
+
+ Debug
+ ARM64
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Profile
+ ARM64
+
+
+ Profile
+ Win32
+
+
+ Profile
+ x64
+
+
+ Release
+ ARM64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ texassemble
+ {8F18CBD7-4116-4956-BCD8-20D688A4CBD1}
+ texassemble
+ Win32Proj
+ 10.0
+
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texassemble
+ true
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+ {371b9fa9-4c90-4ac6-a123-aced756d6c77}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Texassemble/Texassemble_Desktop_2026.vcxproj.filters b/Texassemble/Texassemble_Desktop_2026.vcxproj.filters
new file mode 100644
index 00000000..b06f1951
--- /dev/null
+++ b/Texassemble/Texassemble_Desktop_2026.vcxproj.filters
@@ -0,0 +1,26 @@
+
+
+
+
+ {8e114980-c1a3-4ada-ad7c-83caadf5daeb}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
+
+
+
+
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Texconv/Texconv_Desktop_2026.vcxproj b/Texconv/Texconv_Desktop_2026.vcxproj
new file mode 100644
index 00000000..0ee04481
--- /dev/null
+++ b/Texconv/Texconv_Desktop_2026.vcxproj
@@ -0,0 +1,448 @@
+
+
+
+
+ Debug
+ ARM64
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Profile
+ ARM64
+
+
+ Profile
+ Win32
+
+
+ Profile
+ x64
+
+
+ Release
+ ARM64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ texconv
+ {C3A65381-8FD3-4F69-B29E-654B4B0ED136}
+ texconv
+ Win32Proj
+ 10.0
+
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texconv
+ true
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ true
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ true
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ true
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ true
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ true
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ true
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ true
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ true
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ true
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+ {371b9fa9-4c90-4ac6-a123-aced756d6c77}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Texconv/Texconv_Desktop_2026.vcxproj.filters b/Texconv/Texconv_Desktop_2026.vcxproj.filters
new file mode 100644
index 00000000..b463e031
--- /dev/null
+++ b/Texconv/Texconv_Desktop_2026.vcxproj.filters
@@ -0,0 +1,27 @@
+
+
+
+
+ {8e114980-c1a3-4ada-ad7c-83caadf5daeb}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
+
+
+
+
+
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Texdiag/texdiag_Desktop_2026.vcxproj b/Texdiag/texdiag_Desktop_2026.vcxproj
new file mode 100644
index 00000000..32e5c05c
--- /dev/null
+++ b/Texdiag/texdiag_Desktop_2026.vcxproj
@@ -0,0 +1,437 @@
+
+
+
+
+ Debug
+ ARM64
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Profile
+ ARM64
+
+
+ Profile
+ Win32
+
+
+ Profile
+ x64
+
+
+ Release
+ ARM64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ texdiag
+ {8E31A619-F4F8-413F-A973-4EE37B1AAA5D}
+ texdiag
+ Win32Proj
+ 10.0
+
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+ Application
+ true
+ Unicode
+ v145
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ Bin\Desktop_2026\$(Platform)\$(Configuration)\
+ texdiag
+ true
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ Disabled
+ MultiThreadedDebugDLL
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;DEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ Console
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ Guard
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ StreamingSIMDExtensions2
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+ true
+
+
+ false
+
+
+
+
+ Level4
+ MaxSpeed
+ Fast
+ $(ProjectDir);..\Common;..\DirectXTex;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;PROFILE;_CONSOLE;_WIN32_WINNT=0x0A00;%(PreprocessorDefinitions)
+ true
+ true
+ /Zc:__cplusplus %(AdditionalOptions)
+ Guard
+ 26812
+ stdcpp17
+
+
+ ole32.lib;windowscodecs.lib;uuid.lib;version.lib;%(AdditionalDependencies)
+ true
+ Console
+ true
+ true
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+ {371b9fa9-4c90-4ac6-a123-aced756d6c77}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Texdiag/texdiag_Desktop_2026.vcxproj.filters b/Texdiag/texdiag_Desktop_2026.vcxproj.filters
new file mode 100644
index 00000000..80ea3674
--- /dev/null
+++ b/Texdiag/texdiag_Desktop_2026.vcxproj.filters
@@ -0,0 +1,25 @@
+
+
+
+
+ {8e114980-c1a3-4ada-ad7c-83caadf5daeb}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
+
+
+
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/CompilerAndLinker.cmake b/build/CompilerAndLinker.cmake
index c2220f53..72ff2a91 100644
--- a/build/CompilerAndLinker.cmake
+++ b/build/CompilerAndLinker.cmake
@@ -205,6 +205,10 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
list(APPEND COMPILER_SWITCHES $<$:/Zc:templateScope>)
endif()
endif()
+
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.50)
+ list(APPEND COMPILER_SWITCHES /Zc:u8EscapeEncoding)
+ endif()
endif()
#--- Windows API Family
diff --git a/build/downloadbuild.ps1 b/build/downloadbuild.ps1
index c5f7d250..cca73ded 100644
--- a/build/downloadbuild.ps1
+++ b/build/downloadbuild.ps1
@@ -55,7 +55,7 @@ try
}
catch
{
- Write-Error "##[error]Build $BuildId not found!" -ErrorAction Continue
+ Write-Error "##[error]Build $BuildId not found!" -ErrorAction Stop
}
$ProgressPreference = 'SilentlyContinue'
@@ -85,7 +85,7 @@ foreach ($artifact in $responsearm64) {
}
catch
{
- Write-Error "##[error]Failed to download $artifactName!" -ErrorAction Continue
+ Write-Error "##[error]Failed to download $artifactName!" -ErrorAction Stop
}
try
@@ -95,7 +95,7 @@ foreach ($artifact in $responsearm64) {
}
catch
{
- Write-Error "##[error]Failed to extract $artifactName!" -ErrorAction Continue
+ Write-Error "##[error]Failed to extract $artifactName!" -ErrorAction Stop
}
}
@@ -112,7 +112,7 @@ foreach ($artifact in $responseamd64) {
}
catch
{
- Write-Error "##[error]Failed to download $artifactName!" -ErrorAction Continue
+ Write-Error "##[error]Failed to download $artifactName!" -ErrorAction Stop
}
try
@@ -122,7 +122,7 @@ foreach ($artifact in $responseamd64) {
}
catch
{
- Write-Error "##[error]Failed to extract $artifactName!" -ErrorAction Continue
+ Write-Error "##[error]Failed to extract $artifactName!" -ErrorAction Stop
}
}
diff --git a/build/promotenuget.ps1 b/build/promotenuget.ps1
index 4dd2d39f..ac790124 100644
--- a/build/promotenuget.ps1
+++ b/build/promotenuget.ps1
@@ -33,7 +33,7 @@ param(
# Parse PAT
if ($PAT.Length -eq 0) {
- $PAT = $env:ADO_PERSONAL_ACCESS_TOKEN
+ $PAT = [string]$env:ADO_PERSONAL_ACCESS_TOKEN
if ($PAT.Length -eq 0) {
Write-Error "##[error]This script requires a valid ADO Personal Access Token!" -ErrorAction Stop