- Initial support for HLSL (High-Level Shading Language) thread group shared memory.
- Various enhancements for the experimental Metal Shading Language (MSL) target.
- Numerous bug fixes to improve stability and performance.
The release is accessible from the libvkd3d repository and can also be fetched directly from the Git repository. Key new functionalities in this version include the implementation of the `EnumerateMetaCommands()` method within the ID3D12Device5 interface and enhanced support for geometry shaders, including shader model 5 multiple output streams and additional output semantics.
Among the improvements for the HLSL source type are:
- Enhanced support for geometry shaders and memory barrier intrinsics in shader model 4 profiles.
- Parser support for new features like the noise() intrinsic and StructuredBuffer resources.
- Updates to the handling of shader entry points and improved preprocessor functionality.
The experimental MSL target has also seen significant updates, incorporating texture sampling, loops, integer arithmetic, and more, which are essential for rendering in Metal environments. Additionally, the core grammar for the SPIR-V disassembler has been updated to align with the latest Vulkan SDK release.
In addition to these technical advancements, the new version includes a demo showcasing a tessellated version of Martin Newell's famous teapot, highlighting the library's capabilities in rendering.
The release notes detail many changes made since version 1.16, emphasizing contributions from various developers who have enhanced the library's functionality, support for new features, and overall robustness.
Overall, vkd3d 1.17 represents a significant step forward for users looking to leverage Vulkan's capabilities in conjunction with Direct3D, making it a valuable update for developers in the graphics programming community. Future updates may further expand on these features and introduce additional support for emerging graphics technologies
vkd3d 1.17 released
The vkd3d team has announced the release of version 1.17 of their Direct3D to Vulkan translation library. This update introduces enhancements including initial HLSL support for thread group shared memory, various features for the experimental Metal Shading Language target, and several bug fixes. The release can be accessed from the libvkd3d repository and is also available for direct retrieval from the git repository. The latest enhancements encompass the EnumerateMetaCommands() method within the ID3D12Device5 interface, augmented support for geometry shaders, and the introduction of memory barrier intrinsics in shader model 4 target profiles. The experimental Metal Shading Language target includes features like texture sampling and gather operations, loops and switches, screen-space partial derivatives, integer arithmetic and comparison operations, indirect addressing of constant buffers, indexable temporary registers, fragment shader output sample coverage masks, as well as SV_Position and SV_SampleIndex fragment shader inputs. The core grammar for the experimental SPIR-V disassembler has been revised to align with the vulkan-sdk-1.4.313.0 release.