Revisions of vkd3d
Dominique Leuenberger (dimstar_suse)
accepted
request 1219916
from
Marcus Meissner (msmeissn)
(revision 16)
- 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 (forwarded request 1219907 from rrahl0)
Dominique Leuenberger (dimstar_suse)
accepted
request 1204501
from
Marcus Meissner (msmeissn)
(revision 15)
Update to version 1.13 If you have any suggestions for improvement, please let me know! (forwarded request 1204419 from DarkWav)
Ana Guerrero (anag+factory)
accepted
request 1156283
from
Marcus Meissner (msmeissn)
(revision 14)
- Update to version 1.11: - libvkd3d Descriptor updates happen asynchronously on an internal worker thread, for a minor performance improvement in applications that update many descriptors per frame. When the VK_EXT_mutable_descriptor_type extension is available, libvkd3d will make more efficient use of descriptor pools and sets. When the VK_EXT_shader_viewport_index_layer extension is available, libvkd3d supports indexing viewport and render target arrays from vertex and tessellation evaluation shaders. Support for standard (i.e., black and white) border colours is implemented. The GetResourceAllocationInfo1() method of the ID3D12Device4 interface is implemented. The ID3D12Device7 and ID3D12Resource2 interface is supported. Several new feature queries are supported: D3D12_FEATURE_D3D12_OPTIONS6, D3D12_FEATURE_D3D12_OPTIONS7, D3D12_FEATURE_D3D12_OPTIONS8, D3D12_FEATURE_D3D12_OPTIONS9, D3D12_FEATURE_D3D12_OPTIONS10, D3D12_FEATURE_D3D12_OPTIONS11, D3D12_FEATURE_D3D12_OPTIONS12 and D3D12_FEATURE_D3D12_OPTIONS13 - libvkd3d-shader Initial support for compiling legacy Direct3D bytecode to SPIR-V. Experimental support for compiling DirectX Intermediate Language (DXIL) to SPIR-V and Direct3D shader assembly. Being an experimental feature, this requires building vkd3d with the ‘-DVKD3D_SHADER_UNSUPPORTED_DXIL’ preprocessor option. Note that enabling this feature will affect the capabilities reported by libvkd3d as well, and may cause previously working applications to break due to attempting to use incomplete DXIL support. No API or ABI stability guarantees are provided for experimental features. New features for the HLSL source type: Initial support for the ‘fx_2_0’, ‘fx_4_0’, ‘fx_4_1’, and ‘fx_5_0’ profiles, using the new ‘VKD3D_SHADER_TARGET_FX’ target type. Support for ‘Buffer’ resources. The acos(), asin(), atan(), and atan2() intrinsic functions are supported. Explicit register assignment using the ‘register()’ keyword in shader model 1-3 profiles. This was previously only supported in shader model 4+ profiles. Casts from integer to floating-point types in shader model 1-3 profiles. Support for various input/output semantics: SV_InstanceID in shader model 4+ fragment shaders. SV_PrimitiveID in shader model 4+ fragment shaders. In previous versions this was only supported in shader model 4+ geometry shaders. SV_RenderTargetArrayIndex in shader model 4+ vertex and fragment shaders. SV_ViewportArrayIndex in shader model 4+ vertex and fragment shaders. Support for various rasteriser-ordered view types. Specifically: RasterizerOrderedBuffer, RasterizerOrderedStructuredBuffer, RasterizerOrderedTexture1D, RasterizerOrderedTexture1DArray, RasterizerOrderedTexture2D, RasterizerOrderedTexture2DArray, RasterizerOrderedTexture3D New features for the SPIR-V target type: Support for globally coherent unordered access views. These have the ‘globallycoherent’ storage class in HLSL, and the ‘_glc’ suffix in Direct3D assembly. Support for thread group unordered access view barriers. This corresponds to ‘sync_ugroup’ instructions in Direct3D assembly. When the SPV_EXT_viewport_index_layer extension is supported, vertex and tessellation evaluation shaders can write render target and viewport array indices. This corresponds to the ‘SV_RenderTargetArrayIndex’ and ‘SV_ViewportArrayIndex’ HLSL output semantics. New interfaces: The VKD3D_SHADER_COMPILE_OPTION_FEATURE compile option can be used to specify features available in the target environment. The VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 flag indicates support for 64-bit integer types in the SPIR-V target environment. The VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 flag indicates support for 64-bit floating-point types in the SPIR-V target environment. For backward compatibility, VKD3D_SHADER_API_VERSION_1_10 and earlier also imply support for 64-bit floating-point types. The VKD3D_SHADER_SPIRV_EXTENSION_EXT_VIEWPORT_INDEX_LAYER enumeration value indicates support for the SPV_EXT_viewport_index_layer extension in the SPIR-V target environment. -libvkd3d-utils When available, the following Vulkan extensions are enabled by D3D12CreateDeviceVKD3D() and D3D12CreateDevice(): VK_KHR_android_surface, VK_KHR_wayland_surface, VK_KHR_win32_surface, VK_KHR_xlib_surface, VK_EXT_metal_surface, VK_MVK_ios_surface Previous versions of vkd3d-utils enabled VK_KHR_xcb_surface and VK_MVK_macos_surface. In practice this means that D3D12CreateDevice() / D3D12CreateDeviceVKD3D() can be used on the corresponding additional window systems. New interfaces: D3DReflect() is used to retrieve information about shaders. It currently supports retrieving information about input, output, and patch constant parameters using the ID3D12ShaderReflection interface. D3DDisassemble() is used to disassemble legacy Direct3D bytecode (shader model 1-3) and ‘Tokenized Program Format’ (shader model 4 and 5) shaders. - vkd3d-compiler The new ‘fx’ target is used for outputting Direct3D effects when compiling HLSL ‘fx_2_0’, ‘fx_4_0’, ‘fx_4_1’, and ‘fx_5_0’ profiles. - build The minimum required version of Vulkan-Headers for this release is version 1.3.228. (forwarded request 1156074 from tobijk)
Dominique Leuenberger (dimstar_suse)
accepted
request 1132240
from
Marcus Meissner (msmeissn)
(revision 13)
- Update to version 1.10: - libvkd3d Creating pipeline state objects from pipeline state stream descriptions is implemented. Depth-bounds testing is implemented. When the VK_KHR_maintenance2 extension is available, libvkd3d will explicitly specify the usage flags of Vulkan image views. This is particularly useful on MoltenVK, where 2D-array views of 3D textures are subject to usage restrictions. The D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD and/or D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE feature flags are reported for UAV formats when the ‘shaderStorageImageReadWithoutFormat’ and/or ‘shaderStorageImageWriteWithoutFormat’ Vulkan device features are supported. The ID3D12Device5 interface is supported. The ID3D12GraphicsCommandList5 interface is supported. The ID3D12Resource1 interface is supported. - libvkd3d-shader New features for the HLSL source type: Support for the following intrinsic functions: ceil(), degrees(), radians(), fwidth(), tan() tex2Dlod(), tex2Dproj(), texCUBEproj(), and tex3Dproj() Constant folding support for more expression types. In particular: ternary operators and branches, reciprocal square roots, exponentials, logical ‘not’ on booleans, bitwise complements, left/right shifts, ceil(), floor(), frac(), and saturate() Support for dynamic indexing of arrays. Support for ‘break’ and ‘continue’ statements. Support for ‘switch’ statements. The ‘linear’, ‘centroid’, and ‘noperspective’ interpolation modifiers are supported. The ‘RWTexture1DArray’ and ‘RWTexture2DArray’ unordered access view types are supported. ‘[loop]’ attributes are accepted on loops. u/U and l/L suffixes on integer constants. Floating-point values are explicitly clamped to the upper and lower bounds of the target type by ‘ftoi’ and ‘ftou’ instructions when targeting SPIR-V. Similarly, NaNs are flushed to zero. Some hardware/drivers would already do this implicitly, but behaviour for such inputs is undefined as far as SPIR-V is concerned. The VKD3D_SHADER_CONFIG environment variable can be used to modify the behaviour of libvkd3d-shader at run-time, analogous to the existing VKD3D_CONFIG environment variable for libvkd3d. See the README for a list of supported options. When scanning legacy Direct3D bytecode using vkd3d_shader_scan(), descriptor information for shader model 2 and 3 combined resource-sampler pairs is returned in the vkd3d_shader_scan_descriptor_info structure. Note that this information is not yet available for shader model 1 sources, although this will likely be added in a future release. The Direct3D shader assembly target supports the ‘rasteriser ordered view’ flag (‘_rov’) on unordered access view declarations. New interfaces: The VKD3D_SHADER_COMPILE_OPTION_BACKWARD_COMPATIBILITY compile option can be used to specify backward compatibility options. The VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES flag is the only currently supported flag, and can be used to specify that shader model 1-3 semantic names should be mapped to their shader model 4+ system value equivalents when compiling HLSL sources. The VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN compile option can be used to specify the origin of fragment coordinates for SPIR-V targets. This is especially useful in OpenGL environments, where the origin may be different than in Direct3D or Vulkan environments. The vkd3d_shader_scan_combined_resource_sampler_info structure extends the vkd3d_shader_compile_info structure, and can be used to retrieve information about the combined resource-sampler pairs used by a shader. This is especially useful when compiling shaders for usage in environments without separate binding points for samplers and resources, like OpenGL. vkd3d_shader_free_scan_combined_resource_sampler_info() is used to free vkd3d_shader_scan_combined_resource_sampler_info structures. - libvkd3d-utils Passing the D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY flag to D3DCompile() and D3DCompile2() will enable mapping shader model 1-3 semantic names to their shader model 4+ system value equivalents. New interfaces: D3DGetBlobPart() is used to retrieve specific parts of DXBC blobs. D3DGetDebugInfo() is used to retrieve debug information from DXBC blobs. D3DGetInputAndOutputSignatureBlob() is used to retrieve input and output signatures from DXBC blobs. D3DGetInputSignatureBlob() is used to retrieve input signatures from DXBC blobs. D3DGetOutputSignatureBlob() is used to retrieve output signatures from DXBC blobs. D3DStripShader() is used to remove specific parts from DXBC blobs. - vkd3d-compiler The ‘--fragment-coordinate-origin’ option can be used to specify the origin of fragment coordinates for SPIR-V targets. The ‘--semantic-compat-map’ option can be used to specify that shader model 1-3 semantic names should be mapped to their shader model 4+ system value equivalents when compiling HLSL sources. - vkd3d-dxbc The ‘--list’ and ‘--list-data’ options now also output the offsets of sections inside the input data. - build The minimum required version of Vulkan-Headers for this release is version 1.2.148. When available, the libEGL and libOpenGL libraries are used to run the vkd3d tests in additional configurations. These libraries are not used by vkd3d itself. The SONAME_LIBDXCOMPILER configure variable can be used specify the shared object name of the dxcompiler library. When available, it's used to run the vkd3d tests in additional configurations. The dxcompiler library is not used by vkd3d itself. (forwarded request 1132181 from tobijk)
Ana Guerrero (anag+factory)
accepted
request 1113366
from
Marcus Meissner (msmeissn)
(revision 12)
- Update to version 1.9: - libvkd3d Copying between depth/stencil and colour formats in ID3D12GraphicsCommandList::CopyResource() is supported. The ID3D12Fence1 interface is supported. - libvkd3d-shader vkd3d_shader_scan() supports retrieving descriptor information for d3dbc' shaders. This is one of the requirements for eventual SPIR-V generation from d3dbc' sources. New features for the HLSL source type: Support for the following intrinsic functions: clip(), ddx_coarse(), ddy_coarse(), ddx_fine(), ddy_fine(), tex1D(), tex2D(), texCUBE(), and tex3D() Constant folding support for more expression types. In particular: comparison operators, floating-point min(), max(), logical and' and or', dot products, square roots and logarithms Support for multi-sample texture object declarations without explicit sample counts in shader model 4.1 and later shaders. Support for using constant expressions as sample counts in multi-sample texture object declarations. Support for variable initialisers using variables declared earlier in the same declaration list. E.g., `float a = 1, b = a, c = b + 1;'. The GetDimensions() texture object method is implemented. Matrix swizzles are implemented. Parser support for if-statement attributes like [branch]' and [flatten]'. Support for the `inline' function modifier. Previously, vkd3d_shader_compile() would in some cases return VKD3D_OK despite compilation failing when targeting legacy Direct3D bytecode. These cases have been fixed. Various HLSL preprocessor fixes for edge cases related to stringification. (forwarded request 1113211 from tobijk)
Dominique Leuenberger (dimstar_suse)
accepted
request 1087761
from
Marcus Meissner (msmeissn)
(revision 10)
- Update to version 1.7.1: - Release 1.7 has a bug that causes an internal mutex in its command queue implementation to be unlocked too early under certain usage patterns. This is known to further cause internal inconsistencies that manifest as program deadlocks for some programs. In release 1.7.1 the mutex is correctly kept locked until required. - Symbol D3D12CreateDevice is mistakenly not exported in release 1.7, breaking library clients that need it. The symbol is exported again in release 1.7.1.
Dominique Leuenberger (dimstar_suse)
accepted
request 1076661
from
Marcus Meissner (msmeissn)
(revision 9)
- Update to version 1.7: - Support for many more HLSL features and intrinsics. - Much improved support for the Direct3D shader model 1/2/3 HLSL profiles. - Public vkd3d-shader API for parsing and serialising DXBC blobs. - Miscellaneous bug fixes. (forwarded request 1076657 from tobijk)
Dominique Leuenberger (dimstar_suse)
accepted
request 1042562
from
Marcus Meissner (msmeissn)
(revision 8)
- Update to version 1.6: - Initial support for HLSL compute shaders. - More support for HLSL features and intrinsics. - Miscellaneous bug fixes. (forwarded request 1042502 from tobijk)
Dominique Leuenberger (dimstar_suse)
accepted
request 1035884
from
Marcus Meissner (msmeissn)
(revision 7)
Dominique Leuenberger (dimstar_suse)
accepted
request 836446
from
Marcus Meissner (msmeissn)
(revision 6)
- added also shader library to baselibs.conf (bsc#1176894)
Dominique Leuenberger (dimstar_suse)
accepted
request 836072
from
Marcus Meissner (msmeissn)
(revision 5)
- updated to 1.2 - Availability of libvkd3d-shader as a public library. - Support for tessellation shaders. - Version 1.1 root signatures. - Stream output support. - added gpg signature and keyring. (forwarded request 836071 from msmeissn)
Dominique Leuenberger (dimstar_suse)
accepted
request 810397
from
Marcus Meissner (msmeissn)
(revision 4)
- updated baselibs requires to allow better wine 32bit dependencies (bsc#1172310) (forwarded request 810396 from msmeissn)
Dominique Leuenberger (dimstar_suse)
accepted
request 640434
from
Marcus Meissner (msmeissn)
(revision 3)
- updated to 1.1 - Initial support for placed resources. - MoltenVK support. - Support for geometry shaders.
Dominique Leuenberger (dimstar_suse)
accepted
request 626161
from
Marcus Meissner (msmeissn)
(revision 2)
- Fix RPM groups. Drop redundant ldconfig requires (they are implicit). (forwarded request 626036 from jengelh)
Yuchen Lin (maxlin_factory)
accepted
request 617689
from
Marcus Meissner (msmeissn)
(revision 1)
add to factory for wine usage
Displaying all 16 revisions