From 01c9bbac32fc9e38d981479e3839665161fd57c9 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Wed, 4 Sep 2024 17:50:28 -0700 Subject: [PATCH] September 4, 2024 (#248) --- .nuget/directxtk12_desktop_2019.nuspec | 2 +- .nuget/directxtk12_uwp.nuspec | 2 +- CHANGELOG.md | 9 ++ CMakeLists.txt | 2 +- README.md | 2 +- build/Directory.Build.props | 5 + build/onefuzz-setup.ps1 | 5 + build/preparerelease.ps1 | 124 +++++++++++++++++++++++++ 8 files changed, 147 insertions(+), 4 deletions(-) create mode 100644 build/preparerelease.ps1 diff --git a/.nuget/directxtk12_desktop_2019.nuspec b/.nuget/directxtk12_desktop_2019.nuspec index ed8577c6..50d84563 100644 --- a/.nuget/directxtk12_desktop_2019.nuspec +++ b/.nuget/directxtk12_desktop_2019.nuspec @@ -34,7 +34,7 @@ SpriteBatch - simple & efficient 2D sprite rendering SpriteFont - bitmap based text rendering VertexTypes - structures for commonly used vertex data formats WICTextureLoader - WIC-based image file texture loader - Matches the June 4, 2024 release on GitHub. + Matches the September 4, 2024 release on GitHub. http://go.microsoft.com/fwlink/?LinkID=615561 images\icon.jpg diff --git a/.nuget/directxtk12_uwp.nuspec b/.nuget/directxtk12_uwp.nuspec index 18d302ba..f523c590 100644 --- a/.nuget/directxtk12_uwp.nuspec +++ b/.nuget/directxtk12_uwp.nuspec @@ -34,7 +34,7 @@ SpriteBatch - simple & efficient 2D sprite rendering SpriteFont - bitmap based text rendering VertexTypes - structures for commonly used vertex data formats WICTextureLoader - WIC-based image file texture loader - Matches the June 4, 2024 release on GitHub. + Matches the September 4, 2024 release on GitHub. http://go.microsoft.com/fwlink/?LinkID=615561 images\icon.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index d2f6eeef..f8258e0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ Release available for download on [GitHub](https://github.com/microsoft/DirectXT ## Release History +### September 4, 2024 +* HLSL shaders built with `-HV 2021` when using DXIL +* *DirectX Tool Kit for Audio* update + * Add ``IsValid`` method to **AudioEmitter** and **AudioListener** +* Sync'd DDS.H with latest changes from DirectXTex +* CMake project updates including support for ARM64EC +* Minor code review +* Added GitHub Actions YAML files + ### June 4, 2024 * *breaking change* `CreateUploadBuffer` helper no longer takes initialState parameter as it must be a specific value * Renamed Internal namespace to ToolKitInternal for some conformance issues diff --git a/CMakeLists.txt b/CMakeLists.txt index ed24cc50..01f07e14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required (VERSION 3.20) -set(DIRECTXTK12_VERSION 1.5.9) +set(DIRECTXTK12_VERSION 1.6.0) if(WINDOWS_STORE OR (DEFINED XBOX_CONSOLE_TARGET)) set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY") diff --git a/README.md b/README.md index c508f2b3..c2b924c5 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ http://go.microsoft.com/fwlink/?LinkID=615561 Copyright (c) Microsoft Corporation. -**June 4, 2024** +**September 4, 2024** This package contains the "DirectX Tool Kit", a collection of helper classes for writing Direct3D 12 C++ code for Universal Windows Platform (UWP) apps for Windows 11 and Windows 10, game titles for Xbox Series X\|S and Xbox One, and Win32 desktop applications for Windows 11 and Windows 10. diff --git a/build/Directory.Build.props b/build/Directory.Build.props index 35bb4c57..43baa29f 100644 --- a/build/Directory.Build.props +++ b/build/Directory.Build.props @@ -1,6 +1,11 @@ + + C:\xtracted\ $(ExtractedFolder)\ diff --git a/build/onefuzz-setup.ps1 b/build/onefuzz-setup.ps1 index 7c1c75a7..6e68c53d 100644 --- a/build/onefuzz-setup.ps1 +++ b/build/onefuzz-setup.ps1 @@ -1,3 +1,8 @@ +<# +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. +#> + function Execute-Setup { # Temporary work-around while OneFuzz does not run script from setup dir Set-Location -Path $PSScriptRoot diff --git a/build/preparerelease.ps1 b/build/preparerelease.ps1 new file mode 100644 index 00000000..18d46f22 --- /dev/null +++ b/build/preparerelease.ps1 @@ -0,0 +1,124 @@ +<# + +.NOTES +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +.SYNOPSIS +Prepares a PR for release + +.DESCRIPTION +This script is used to do the edits required for preparing a release PR. + +.PARAMETER BaseBranch +This the branch to use as the base of the release. Defaults to 'main'. + +.PARAMETER TargetBranch +This is the name of the newly created branch for the release PR. Defaults to 'release'. If set to 'none', then no branch is created. + +.PARAMETER UpdateVersion +This is a $true or $false value that indicates if the library version number should be incremented. Defaults to $true. + +.LINK +https://github.com/microsoft/DirectXTK12/wiki + +#> + +param( + [string]$BaseBranch = "main", + [string]$TargetBranch = $null, + [bool]$UpdateVersion = $true +) + +$reporoot = Split-Path -Path $PSScriptRoot -Parent +$cmake = $reporoot + "\CMakeLists.txt" +$readme = $reporoot + "\README.md" +$history = $reporoot + "\CHANGELOG.md" + +if ((-Not (Test-Path $cmake)) -Or (-Not (Test-Path $readme)) -Or (-Not (Test-Path $history))) { + Write-Error "ERROR: Unexpected location of script file!" -ErrorAction Stop +} + +$branch = git branch --show-current +if ($branch -ne $BaseBranch) { + Write-Error "ERROR: Must be in the $BaseBranch branch!" -ErrorAction Stop +} + +git pull -q +if ($LastExitCode -ne 0) { + Write-Error "ERROR: Failed to sync branch!" -ErrorAction Stop +} + +$version = Get-Content ($cmake) | Select-String -Pattern "set\(DIRECTXTK12_VERSION" -CaseSensitive +if (-Not ($version -match "([0-9]?\.[0-9]?\.[0-9]?)")) { + Write-Error "ERROR: Failed to current version!" -ErrorAction Stop +} +$version = $Matches.0 +$rawversion = $version.replace('.','') + +$newreleasedate = Get-Date -Format "MMMM d, yyyy" +$newreleasetag = (Get-Date -Format "MMMyyyy").ToLower() + +if($UpdateVersion) { + [string]$newrawversion = ([int]$rawversion + 1) +} +else { + $newrawversion = $rawversion +} + +$newversion = $newrawversion[0] + "." + $newrawversion[1] + "." + $newrawversion[2] + +$rawreleasedate = $(Get-Content $readme) | Select-String -Pattern "\*\*[A-Z][a-z]+\S.\d+,?\S.\d\d\d\d\*\*" +if ([string]::IsNullOrEmpty($rawreleasedate)) { + Write-Error "ERROR: Failed to current release date!" -ErrorAction Stop +} +$releasedate = $rawreleasedate -replace '\*','' + +if($releasedate -eq $newreleasedate) { + Write-Error ("ERROR: Release "+$releasedate+" already exists!") -ErrorAction Stop +} + +if ($TargetBranch -ne 'none') { + if ([string]::IsNullOrEmpty($TargetBranch)) { + $TargetBranch = $newreleasetag + "release" + } + + git checkout -b $TargetBranch + if ($LastExitCode -ne 0) { + Write-Error "ERROR: Failed to create new topic branch!" -ErrorAction Stop + } +} + +Write-Host " Old Version: " $version +Write-Host "Old Release Date: " $releasedate +Write-Host "->" +Write-Host " Release Date: " $newreleasedate +Write-Host " Release Tag: " $newreleasetag +Write-Host " Release Version: " $newversion + +if($UpdateVersion) { + (Get-Content $cmake).Replace("set(DIRECTXTK12_VERSION $version)","set(DIRECTXTK12_VERSION $newversion)") | Set-Content $cmake +} + +(Get-Content $readme).Replace("$rawreleasedate", "**$newreleasedate**") | Set-Content $readme + +Get-ChildItem -Path ($reporoot + "\.nuget") -Filter *.nuspec | Foreach-Object { + (Get-Content -Path $_.Fullname).Replace("$releasedate", "$newreleasedate") | Set-Content -Path $_.Fullname -Encoding utf8 + } + +[System.Collections.ArrayList]$file = Get-Content $history +$inserthere = @() + +for ($i=0; $i -lt $file.count; $i++) { + if ($file[$i] -match "## Release History") { + $inserthere += $i + 1 + } +} + +$file.insert($inserthere[0], "`n### $newreleasedate`n* change history here") +Set-Content -Path $history -Value $file + +code $history $readme +if ($LastExitCode -ne 0) { + Write-Error "ERROR: Failed to launch VS Code!" -ErrorAction Stop +}