c1bfe41da7
- Update to version 1.17: - Initial HLSL support for thread group shared memory. - Several features have been implemented for the experimental Metal Shading Language target. - Miscellaneous bug fixes.
Marcus Meissner2025-08-24 09:02:45 +00:00
ca54b06a87
Accepting request 1285025 from graphics
Ana Guerrero2025-06-12 13:54:06 +00:00
31ceccfc8b
Accepting request 1250439 from graphics
Ana Guerrero2025-03-06 13:48:44 +00:00
c71e2856b4
- Update to version 1.15: - libvkd3d vkd3d_queue_signal_on_cpu() allows a Direct3D 12 fence to be signalled when all preceding work on a Direct3D 12 command queue has been submitted to the corresponding Vulkan queue. - libvkd3d-shader New features for the HLSL source type: ‘InputPatch’ and ‘OutputPatch’ tessellation shader objects. This was the main feature required by most tessellation shaders that was still missing, and tessellation shaders should be considered generally usable now. Unrolling of loops containing conditional jumps. Improved function overload resolution. Previously the compiler was unable to decide between multiple function overloads with the same number of parameters. The parser is able to continue parsing in a larger number of error cases. This allows more issues in the input to be reported during a single compilaton attempt. The following intrinsic functions are supported: GatherCmp() GatherCmpAlpha(), GatherCmpBlue(), GatherCmpGreen(), and GatherCmpRed() InterlockedAdd(), InterlockedAnd(), InterlockedCompareExchange(), InterlockedCompareStore(), InterlockedExchange(), InterlockedMax(), InterlockedMin(), InterlockedOr(), and InterlockedXor() isinf() Separate resource and sampler support for shader model 1-3 target profiles. Casts on the left hand side of assignments. Reassociation and redistribution of constants in binary expressions, to facilitate constant folding. Packing of interstage I/O variables with the ‘SV_IsFrontFace’, ‘SV_PrimitiveID’, ‘SV_RenderTargetArrayIndex’, ‘SV_SampleIndex’, and ‘SV_ViewPortArrayIndex’ semantics matches d3dcompiler/fxc more closely. Parser support for the ‘LineStream’, ‘PointStream’, and ‘TriangleStream’ Stream-Output objects. A number of instructions have been implemented for the experimental MSL target. Although more and more shaders are starting to work, support is still fairly limited. For example, shader resource views and unordered access views are still entirely unsupported. Shader code generation for fixed-function fog. Like the existing shader code generation for other fixed-function features, this is mainly relevant for executing shader model 1-3 sources in modern target environments like Vulkan. The ‘fx’ parser can parse binary effects containing inline shader blobs. Internal validator support for validating I/O signatures, as well as I/O source and destination parameters. The validator is enabled by the ‘force_validation’ option, specified through the VKD3D_SHADER_CONFIG environment variable. Internal validator support for validating the number of indices used with a register, as well as basic bounds checking for static indices. New interfaces: The vkd3d_shader_scan_hull_shader_tessellation_info structure extends the vkd3d_shader_compile_info structure, and can be used to retrieve the output primitive type and partitioning mode used by a hull shader. This information is particularly useful for specifying vkd3d_shader_spirv_domain_shader_target_info structures when targetting SPIR-V in OpenGL environments. The VKD3D_SHADER_PARAMETER_NAME_FOG_FRAGMENT_MODE shader parameter specifies the kind of fog to generate in a fragment shader. The VKD3D_SHADER_PARAMETER_NAME_FOG_COLOUR shader parameter specifies the fog colour. The VKD3D_SHADER_PARAMETER_NAME_FOG_END shader parameter specifies the ‘end’ parameter used for linear fog generation. The VKD3D_SHADER_PARAMETER_NAME_FOG_SCALE shader parameter specifies the ‘scale’ parameter used for fog generation. The VKD3D_SHADER_PARAMETER_NAME_FOG_SOURCE shader parameter specifies the kind of fog coordinate to output from a pre-rasterisation shader. - vkd3d-compiler The new ‘dxbc-fx’ source type specifies an effect binary embedded in a DXBC container. This is a convenience feature; ‘vkd3d-compiler -x dxbc-fx blob.dxbc’ is equivalent to ‘vkd3d-dxbc -x t:FX10 blob.dxbc | vkd3d-compiler -x fx’.
Marcus Meissner2025-03-05 14:31:09 +00:00
41d119b23d
Accepting request 1226084 from graphics
Ana Guerrero2024-11-25 22:20:13 +00:00
6e4cae825c
- generate demo and docs, seperating them out into their own packages - be more explicit with buildflags, enabling opengl - write the spec file in more modern layout
Marcus Meissner2024-10-31 16:50:57 +00:00
98a9fdaefa
- updated to 1.4 - Many improvements to the HLSL compiler. - A new descriptor heap implementation using the VK_EXT_descriptor_indexing extension. - A new fence implementation using the VK_KHR_timeline_semaphore extension. - updated to 1.3 - Initial HLSL compilation support. - Shader model 5.1 descriptor array support. - Support for disassembling Direct3D shaders.
Marcus Meissner2022-06-23 07:32:01 +00:00
8d5327076b
- updated to 1.1 - Initial support for placed resources. - MoltenVK support. - Support for geometry shaders.
Marcus Meissner2018-10-07 15:43:28 +00:00