DirectStorage 1.3 is now available

DirectStorage 1.3 Update Summary
-
EnqueueRequests – Enhanced I/O Scheduling: DirectStorage 1.3 introduces the new EnqueueRequests API, providing developers with more control over data request scheduling and synchronization with the graphics work. This API allows batching multiple requests in a single call and synchronization using a D3D12 fence, improving coordination with the D3D12 rendering pipeline.
-
New DSTORAGE_DESTINATION Type: A new destination type, DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES_RANGE, is added in DirectStorage 1.3, enabling copying a range of contiguous subresources into a D3D12 resource. This, combined with the EnqueueRequests API, reduces CPU overhead and enhances asset loading performance.
-
Bug Fixes and Breaking Changes: DirectStorage 1.3 includes fixes such as handling invalid or corrupted data during built-in CPU decompression, resolving issues with DSTORAGE_DESTINATION_TILES for resources with different dimensions, and updating MSBuild properties for better integration.
-
New Sample & Getting Started: A new sample demonstrating the use of EnqueueRequests with DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES_RANGE for populating texture MIPs is now available on the DirectStorage GitHub. This sample showcases effective patterns for coordinating DirectStorage reads with GPU work, aiding in the integration process.
DirectStorage 1.3 can be downloaded via NuGet, offering developers the opportunity to leverage these updates in their game titles.