diff options
| author | 3gg <3gg@shellblade.net> | 2025-12-02 16:39:36 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-12-02 16:39:36 -0800 |
| commit | 6c8ae19be66cee247980a48e736a4e05d14de179 (patch) | |
| tree | d860767907bf0cbe17ec66422e11bea700cf56d9 /contrib/microsoft.direct3d.d3d12.1.618.4/README.md | |
| parent | 8f594c8ebd11f0e5f8a0c6369c3fe7383d250cbe (diff) | |
Diffstat (limited to 'contrib/microsoft.direct3d.d3d12.1.618.4/README.md')
| -rw-r--r-- | contrib/microsoft.direct3d.d3d12.1.618.4/README.md | 310 |
1 files changed, 310 insertions, 0 deletions
diff --git a/contrib/microsoft.direct3d.d3d12.1.618.4/README.md b/contrib/microsoft.direct3d.d3d12.1.618.4/README.md new file mode 100644 index 0000000..a56d65e --- /dev/null +++ b/contrib/microsoft.direct3d.d3d12.1.618.4/README.md | |||
| @@ -0,0 +1,310 @@ | |||
| 1 | # DirectX 12 Agility SDK Redistributable NuGet Package | ||
| 2 | |||
| 3 | This package contains a copy of the DirectX 12 Agility SDK redistributable runtime and its associated development headers. | ||
| 4 | |||
| 5 | For help getting started and other information for the Agility SDK, please see: | ||
| 6 | |||
| 7 | https://aka.ms/directx12agility | ||
| 8 | |||
| 9 | The included licenses apply to the following files: | ||
| 10 | |||
| 11 | - **LICENSE.txt** : applies to all files under `build/native/bin/` | ||
| 12 | - **LICENSE-CODE.txt** : applies to all files under `build/native/include/` | ||
| 13 | |||
| 14 | ## Changelog | ||
| 15 | |||
| 16 | ### Version 1.618.4: | ||
| 17 | |||
| 18 | - Fix for broken behavior when using AddToStateObject and driver is newer than those that existed during 1.618 initial release (i.e. must be DDI version 119+) | ||
| 19 | |||
| 20 | - Debug layer validation fix: Simultaneous access texture with common layout supports render target access; Skip layout validation when undefined layout is used as both before and after layouts. | ||
| 21 | |||
| 22 | ### Version 1.618.3: | ||
| 23 | - Runtime regression fix: Creating resources in state D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE with custom heap properties validated L0 and L1 in backwards order. Apps hitting this incorrect stricter validation even if they didn't use new AgilitySDK just by using PIX which uses latest SDK, hence it looks like PIX regressed. At least one developer also hit this bug directly. | ||
| 24 | |||
| 25 | - Debug layer validation regression fix (no runtime impact): New compute and work graph dispatch grid size validation incorrectly validated against the mesh shader's 2^22 limit everywhere. Compute dispatch has no spec limit, and the limit for work graphs is 2^24-1 groups. | ||
| 26 | |||
| 27 | - Fixes an issue where, only with the debug layer enabled, recording ProcessFrames command in ID3D12VideoCommandList fails in the Close() method with E_INVALIDARG | ||
| 28 | |||
| 29 | ### Version 1.618.2: | ||
| 30 | - Correctly enable SODB capture for advanced shader delivery | ||
| 31 | - Add ID3D12StateObjectDatabase for programmatic SODB generation | ||
| 32 | - Add D3D12StateObjectCompiler 'merge' command | ||
| 33 | |||
| 34 | ### Version 1.618.1: | ||
| 35 | - StateObjectCompiler binaries added to the AgilitySDK NuGet | ||
| 36 | |||
| 37 | ### Version 1.618.0: | ||
| 38 | _Golden Ratio edition_ | ||
| 39 | |||
| 40 | - Advanced Shader Delivery | ||
| 41 | - Application Specific Driver States | ||
| 42 | - Video features | ||
| 43 | - D3D12_Video_Encoding_HEVC_ReferenceListExtension | ||
| 44 | - D3D12_Video_Encoding_LowerResolution_2Pass | ||
| 45 | - PSNR stats added to: D3D12_Video_Encoding_Stats_Metadata | ||
| 46 | - D3D12 Video encode subregion | ||
| 47 | - D3D12 Video encode output stats (per block QP, per block SATD, per block bit allocation) | ||
| 48 | - D3D12 Video encode GPU texture input QP map | ||
| 49 | - D3D12 Video encode GPU texture/CPU buffer Dirty maps/rects | ||
| 50 | - D3D12 Video encode GPU texture/CPU buffer motion vector hints | ||
| 51 | - D3D12 Video Encode Spatial Adaptive Rate Control Quantization | ||
| 52 | - Recreate at GPUVA | ||
| 53 | - Tight Alignment | ||
| 54 | |||
| 55 | |||
| 56 | ### Version 1.717.1: | ||
| 57 | |||
| 58 | - Debug Layer fixes: | ||
| 59 | - Enhanced Barrier placed resource validation fix for false errors | ||
| 60 | - For D3D12_BARRIER_SUBRESOURCE_RANGE, the Debug Layer was not handling the NumMipLevels=0 special case (treat IndexOrFirstMipLevel as a subresource index) | ||
| 61 | - Debug Layer updated to notice that RD/DS initialization can be accomplished by RenderPass Clear/Discard | ||
| 62 | - GPU based validation (GBV) fix: | ||
| 63 | - Fix for incorrect texture state/layout validation in cases where GBV needed to insert LOD calculation | ||
| 64 | |||
| 65 | ### Version 1.616.1: | ||
| 66 | |||
| 67 | - Runtime fix: D3D12EnableExperimentalFeatures() was allowing D3D12ExperimentalShaderModels | ||
| 68 | - This made it look like Shader Model 6.9 could work even though it's only supported in the 1.717.x preview | ||
| 69 | - Now asking for D3D12ExperimentalShaderModels returns E_NOINTERFACE. | ||
| 70 | - Debug Layer fixes: | ||
| 71 | - Enhanced Barrier placed resource validation fix for false errors | ||
| 72 | - For D3D12_BARRIER_SUBRESOURCE_RANGE, the Debug Layer was not handling the NumMipLevels=0 special case (treat IndexOrFirstMipLevel as a subresource index) | ||
| 73 | - Debug Layer updated to notice that RD/DS initialization can be accomplished by RenderPass Clear/Discard | ||
| 74 | - GPU based validation (GBV): | ||
| 75 | - Fix for incorrect texture state/layout validation in cases where GBV needed to insert LOD calculation | ||
| 76 | |||
| 77 | ### Version 1.717.0 | ||
| 78 | - Everything in 1.616.0 plus: | ||
| 79 | - Shader Model 6.9 preview, adding: | ||
| 80 | - Cooperative Vectors | ||
| 81 | - Shader Execution Reordering | ||
| 82 | - Support for RayQuery using Opacity Micromaps | ||
| 83 | - Normal TraceRay doens't require SM 6.9, so the 1.616.0 release works for it | ||
| 84 | - D3D Video Encoding updates | ||
| 85 | |||
| 86 | In this preview, mesh nodes is disabled, but could return in a future preview and/or retail release. | ||
| 87 | |||
| 88 | ### Version 1.616.0 | ||
| 89 | - Release Opacity Micromap support | ||
| 90 | - Just missing RayQuery+OMM suport that needs Shader Model 6.9 which is in the above preview | ||
| 91 | - Tier 4 Tiled Resources | ||
| 92 | |||
| 93 | ### Version 1.716.1 | ||
| 94 | - Fix meta command validation | ||
| 95 | - Add Raw UAV/SRV validation for tight aligned buffers | ||
| 96 | - Fix a bug where AlignmentRestriction hint wasn’t being passed to drivers | ||
| 97 | - Fix placed resource initialization validation bug related to plane validation | ||
| 98 | - Fix a bug where GBV patching will crash when initializing if the caller didn’t request a debug info parser | ||
| 99 | |||
| 100 | ### Version 1.716.0 | ||
| 101 | - Application Specific Driver State | ||
| 102 | - RecreateAt GPUVA | ||
| 103 | - Runtime Bypass | ||
| 104 | - Shader hash bypass | ||
| 105 | - Tight Alignment of Resources | ||
| 106 | - Multiple video features | ||
| 107 | - Encode subregion notifications | ||
| 108 | - Encode output stats | ||
| 109 | - Encode GPU texture input map | ||
| 110 | - Encode GPU texture/CPU buffer dirty maps/rects | ||
| 111 | - Encode GPU texture/CPU buffer motion vector hints | ||
| 112 | |||
| 113 | In this preview, mesh nodes is disabled, but could return in a future preview and/or retail release. | ||
| 114 | |||
| 115 | ### Verision 1.615.0 | ||
| 116 | - Shader hash bypass officially supports applications opting to bypass shader hash validation | ||
| 117 | |||
| 118 | ### Version 1.715.0 | ||
| 119 | - Preview of mesh nodes in work graphs | ||
| 120 | |||
| 121 | ### Version 1.714.0 | ||
| 122 | - Preview release of DirectSR | ||
| 123 | - Supports both native and built-in Super Resolution techniques ("variants") | ||
| 124 | |||
| 125 | ### Version 1.614.0 | ||
| 126 | - Enabled R9G9B9E5_SHAREDEXP format for Render Target and Unordered Access Views | ||
| 127 | |||
| 128 | ### Version 1.613.3 | ||
| 129 | |||
| 130 | - Same as 1.613.2, with minor updates shown at the end of this list: | ||
| 131 | - Work Graphs | ||
| 132 | - Generic Programs in State objects | ||
| 133 | - Shader Model 6.8 | ||
| 134 | - Work Graphs support | ||
| 135 | - Start Vertex/Instance Location | ||
| 136 | - Wave Size Range | ||
| 137 | - Expanded Comparison Sampling | ||
| 138 | - GPU Upload Heaps (requires preview or future OS, or current OS in developer mode) | ||
| 139 | - Incrementing Constants in ExecuteIndirect | ||
| 140 | - Minor updates for .3: | ||
| 141 | - Honor root signature associations added to export in collections when the export is imported into generic program in an executable state object. | ||
| 142 | - Propagate root signatures to exports that have bindings and no root signatures within the scope of a generic program, like what happens with PSOs. | ||
| 143 | - Other generic programs related bug fixes, additional validation and optimizations. | ||
| 144 | - For state objects, minor fixes to subobject association logic in edge cases involving collections to more precisely match spec wording. | ||
| 145 | - GPU Upload Heaps can now be used with a current OS in developer mode, in addition to preview and future OS that don't require developer mode. | ||
| 146 | |||
| 147 | ### Version 1.613.2 | ||
| 148 | |||
| 149 | - Same as 1.613.1, with minor updates shown at the end of this list: | ||
| 150 | - Work Graphs | ||
| 151 | - Generic Programs in State objects | ||
| 152 | - Shader Model 6.8 | ||
| 153 | - Work Graphs support | ||
| 154 | - Start Vertex/Instance Location | ||
| 155 | - Wave Size Range | ||
| 156 | - Expanded Comparison Sampling | ||
| 157 | - GPU Upload Heaps (requires preview or future OS) | ||
| 158 | - Incrementing Constants in ExecuteIndirect | ||
| 159 | - Minor updates for .2: | ||
| 160 | - Close validation hole: Prevent use of features in incompatible state object types, such as defining generic program components (like rast state) in a raytracing pipeline. | ||
| 161 | - Debug layer fixes around lifetime management of program identifiers (e.g. the handles for the new generic programs) | ||
| 162 | - ExecuteIndirect validation was too strict: buffer size only needs to be big enough for the number of commands * stride, _minus the unused space at end of last command_ | ||
| 163 | |||
| 164 | ### Version 1.613.1 | ||
| 165 | |||
| 166 | - Same as 1.613.0, with minor updates shown at the end of this list: | ||
| 167 | - Work Graphs | ||
| 168 | - Generic Programs in State objects | ||
| 169 | - Shader Model 6.8 | ||
| 170 | - Work Graphs support | ||
| 171 | - Start Vertex/Instance Location | ||
| 172 | - Wave Size Range | ||
| 173 | - Expanded Comparison Sampling | ||
| 174 | - GPU Upload Heaps (requires preview or future OS) | ||
| 175 | - Incrementing Constants in ExecuteIndirect | ||
| 176 | - Minor updates for .1: | ||
| 177 | - In d3d12.h: missing const on input pointer members: D3D12_NODE_CPU_INPUT.pRecords and D3D12_MULTI_NODE_CPU_INPUT.pNodeInputs | ||
| 178 | - Debug layer validation fixes for D3D12_DISPATCH_MODE_MULTI_NODE_CPU_INPUT | ||
| 179 | - Some missing validation for generic programs (to line up with existing PSO path) | ||
| 180 | - Allow generic programs or work graphs only in executable state objects, not collections | ||
| 181 | |||
| 182 | ### Version 1.613.0 | ||
| 183 | |||
| 184 | - Work Graphs | ||
| 185 | - Generic Programs in State objects | ||
| 186 | - Shader Model 6.8 | ||
| 187 | - Work Graphs support | ||
| 188 | - Start Vertex/Instance Location | ||
| 189 | - Wave Size Range | ||
| 190 | - Expanded Comparison Sampling | ||
| 191 | - GPU Upload Heaps (requires preview or future OS) | ||
| 192 | - Incrementing Constants in ExecuteIndirect | ||
| 193 | |||
| 194 | ### Version 1.611.1 | ||
| 195 | |||
| 196 | * Make pContext mutable in ID3D12InfoQueue1::RegisterMessageCallback. | ||
| 197 | * Fix Linux build issue. | ||
| 198 | * Legacy transitions into/out-of UAV state includes D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE, | ||
| 199 | D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO and | ||
| 200 | D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE. This only applies to buffer barriers. | ||
| 201 | * Fix enhanced barrier SYNC_DRAW being incompatible with ACCESS_RENDER_TARGET | ||
| 202 | * Improve enhanced barrier validation for raytracing acceleration data structures | ||
| 203 | |||
| 204 | ### Version 1.611.0 | ||
| 205 | |||
| 206 | * Video AV1 Encode release | ||
| 207 | |||
| 208 | ### Version 1.610.3 | ||
| 209 | |||
| 210 | - Fix regression introduced in 1.608.0 as part of independent front/back stencil support. | ||
| 211 | If an app used the stencil mask in a way that only affected back facing geometry (even | ||
| 212 | using the old depth stencil desc that had just a single mask for front/back), | ||
| 213 | the D3D runtime would incorrectly set the stencil mask to 0 on certain drivers. Specifically | ||
| 214 | drivers older than the timeframe of the 1.608.0 release (Nov 2022). | ||
| 215 | |||
| 216 | ### Version 1.610.2 | ||
| 217 | |||
| 218 | - Minor fix for Non-Normalized Sampling: The 610 release had some stale logic | ||
| 219 | that left Non-Normalized Sampling in "prerelease" mode, so it appeared as not available. | ||
| 220 | |||
| 221 | ### Version 1.610.1 | ||
| 222 | |||
| 223 | - Minor fix for RenderPasses: The 610 release had some stale logic | ||
| 224 | that left RenderPasses in "prerelease" mode, so it appeared as not available. | ||
| 225 | |||
| 226 | ### Version 1.610.0 | ||
| 227 | |||
| 228 | - Updated RenderPass support for tile based rendering GPUs | ||
| 229 | - Several minor features for improved compatibility with Vulkan | ||
| 230 | - Non-normalized sampling | ||
| 231 | - Mismatched render target dimensions | ||
| 232 | - Sample-frequency pixel shaders with no RTV/DSV | ||
| 233 | - And a handful of even more minor features. | ||
| 234 | - Fixes a regression introduced in 1.608.0 where the stencil mask could get cleared | ||
| 235 | when specifying it in a way that only affected the back-facing geometry | ||
| 236 | |||
| 237 | ### Version 1.608.3 | ||
| 238 | |||
| 239 | - Fixed state corruption causing incorrect programmable sample positions validation during ExecuteCommandList | ||
| 240 | - Address incorrect Enhanced Barriers simultaneous-access validation | ||
| 241 | - Fix incorrect Enhanced Barriers sync/access validation | ||
| 242 | - Add missing string conversion for D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW | ||
| 243 | |||
| 244 | ### Version 1.608.0 | ||
| 245 | |||
| 246 | * Enhanced Barriers release | ||
| 247 | * Independent front/back stencil refs and masks | ||
| 248 | * Triangle fans | ||
| 249 | * Dynamic depth bias and IB strip cut | ||
| 250 | |||
| 251 | ### Version 1.706.4 (preview) | ||
| 252 | |||
| 253 | - Fixes a device creation failure on WARP (Microsoft Basic Render) in Windows Server 2022. | ||
| 254 | |||
| 255 | ### Version 1.606.4 | ||
| 256 | |||
| 257 | - Fixes a device creation failure on WARP (Microsoft Basic Render) in Windows Server 2022. | ||
| 258 | |||
| 259 | ### Version 1.706.3 (preview) | ||
| 260 | |||
| 261 | - Enhanced Barriers Preview 2 with GBV support | ||
| 262 | - Adds `ID3D12DebugCommandList3::AssertTextureLayout` and ` ID3D12DebugCommandQueue1::AssertResourceAccess` methods. | ||
| 263 | - Independent Front/Back Stencil Refs and Masks | ||
| 264 | - Triangle fans are back | ||
| 265 | |||
| 266 | ### Version 1.606.3 | ||
| 267 | |||
| 268 | New features: | ||
| 269 | |||
| 270 | - Shader Model 6.7. | ||
| 271 | - d3dconfig: settings import/export. | ||
| 272 | - d3dconfig: option to allow application control over storage filters | ||
| 273 | - DRED: 'markers only breadcrumbs' stores breadcrumbs only for PIX markers and events. | ||
| 274 | |||
| 275 | Bug fixes: | ||
| 276 | |||
| 277 | - Various debug layer stability fixes. | ||
| 278 | |||
| 279 | ### Version 1.602.0 | ||
| 280 | |||
| 281 | New features: | ||
| 282 | |||
| 283 | - Relaxed buffer/texture copy alignment | ||
| 284 | - Support for copying between different dimensions of textures | ||
| 285 | - Delayed input layout and vertex buffer alignment validation | ||
| 286 | - Negative height viewports flip y-axis intepretation | ||
| 287 | - Alpha/InvAlpha blend factors | ||
| 288 | |||
| 289 | Bugfixes | ||
| 290 | |||
| 291 | - Fixes a crash using GBV with shader patch mode TRACKING_ONLY. | ||
| 292 | - Fixes false debug validation output resulting from depth slice state being confused with stencil slice state. | ||
| 293 | - Fixes a bug causing promoted COPY_DEST to not decay back to COMMON. | ||
| 294 | - Report live objects when encountering device removed from a kernel memory failure. | ||
| 295 | |||
| 296 | ### Version 1.600.10 | ||
| 297 | |||
| 298 | Fixes threading bug (intermittent crash) in runtime for apps doing multithreaded creation of raytracing state objects. | ||
| 299 | |||
| 300 | Ideally this fix would have been made in isolation on top of the previous SDK release. Unfortunately this was not possible due to build infrastructure changes - hopefully a one-time issue. What this means is that this SDK's runtime reflects the current state of the D3D12 codebase including code churn unrelated to the bug fix, such as support for preview features that are disabled here and exposed in a separate preview SDK branch. Even though preview features are disabled, the codebase is still different. So there is some risk of bugs/regressions that have not been noticed yet in internal testing. In particular there is a reasonable chance that the churn in the debug layer codebase might yield some debug validation issues, but there could be issues lurking in the runtime as well. If you report any issues you observe to us, we will try to address them with a follow-up SDK release. | ||
| 301 | |||
| 302 | Whether you choose to use this bugfix release, with its extra code churn of no value to you, really boils down to how important the specific fix is to you (if at all), and perhaps how much capacity you have to do test this combination of runtime and your app. | ||
| 303 | |||
| 304 | ### Version 1.4.10 | ||
| 305 | |||
| 306 | Fixes a debug layer issue where some ResourceBarrier calls transitioning DEPTH_READ to DEPTH_WRITE were dropped | ||
| 307 | |||
| 308 | ### Version 1.4.9 | ||
| 309 | |||
| 310 | Contains support for DirectX 12 Ultimate and Shader Model 6.6 \ No newline at end of file | ||
