Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

libvkd3d-shader1-1.11-1.2 RPM for x86_64

From OpenSuSE Tumbleweed for x86_64

Name: libvkd3d-shader1 Distribution: openSUSE Tumbleweed
Version: 1.11 Vendor: openSUSE
Release: 1.2 Build date: Thu Mar 7 18:11:06 2024
Group: System/Libraries Build host: reproducible
Size: 910164 Source RPM: vkd3d-1.11-1.2.src.rpm
Packager: https://bugs.opensuse.org
Url: https://winehq.org/
Summary: Direct3D 12 to Vulkan translation shader library
This is a Direct3D 12 to Vulkan shader library for use by e.g. Wine.

Provides

Requires

License

LGPL-2.1-or-later

Changelog

* Thu Mar 07 2024 Tobias Klausmann <tobias.klausmann@freenet.de>
  - 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.
* Thu Dec 07 2023 Tobias Klausmann <tobias.klausmann@freenet.de>
  - 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.
* Sat Sep 23 2023 Tobias Klausmann <tobias.klausmann@freenet.de>
  - 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.
      SPIR-V target support for the `linear noperspective centroid' input
      interpolation mode.
      New interfaces:
      The vkd3d_shader_scan_signature_info structure extends the
      vkd3d_shader_compile_info structure, and can be used to retrieve
      descriptions of dxbc-tpf' and d3dbc' shader inputs and outputs.
      vkd3d_shader_free_scan_signature_info() is used to free
      vkd3d_shader_scan_signature_info structures.
      The VKD3D_SHADER_COMPILE_OPTION_PACK_MATRIX_ORDER compile option can be
      used to specify the default matrix packing order for HLSL sources.
      The vkd3d_shader_varying_map_info structure extends the
      vkd3d_shader_compile_info structure, and can be used to specify a mapping
      between the outputs of a shader stage and the inputs of the next shader
      stage.
      vkd3d_shader_build_varying_map() is used to build a mapping between the
      outputs of a shader stage and the inputs of the next shader stage.
      The VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_RAW_BUFFER flag returned as part of
      the vkd3d_shader_descriptor_info structure indicates the descriptor refers
      to a byte-addressed (`raw') buffer resource.
    - vkd3d-compiler
      The `--matrix-storage-order' option can used to specify the default matrix
      storage order for HLSL sources.
    - vkd3d-dxbc
      vkd3d-dxbc is a new utility that can be used to inspect the contents of DXBC
      blobs.
* Sun Aug 06 2023 Tobias Klausmann <tobias.klausmann@freenet.de>
  - Update to version 1.8:
    - Performance improvements have been made to the code that handles descriptor
      updates. In some applications the improvement can be quite significant.
    - Host-visible descriptor heaps are persistently mapped on creation. Some
      applications access resource data from the CPU after calling Unmap(), and
      that's supposed to work in practice.
    - 1-dimensional texture unordered-access views and shader resource views are
      implemented.
    - Shader resource view, unordered access view, and constant buffer view root
      descriptors with NULL GPU addresses are supported.
    - Direct3D 12 descriptor heap destruction is delayed until all contained
      resources are destroyed.
    - libvkd3d-shader
    - New features for the HLSL source type:
    - Support for the ternary conditional operator "?:".
    - Support for "discard" statements.
    - Support for the "packoffset" keyword.
    - Support for semantics on array types.
    - Support for RWBuffer loads and stores.
    - Register allocation for arrays and structures of resources and samplers
      is implemented.
    - Support for the SV_IsFrontFace pixel shader system-value semantics.
    - Support for using constant expressions as array sizes and indices.
    - Support for dynamic selection of vector components.
    - Support for the following intrinsic functions: D3DCOLORtoUBYTE4(),
      any(), asfloat(), ddx(), ddy(), fmod(), log(), log2(), log10(), sign()
      and trunc().
    - The SampleBias(), SampleCmp(), SampleCmpLevelZero(), and SampleGrad()
      texture object methods are implemented.
    - Support for the case-insensitive variants of the "vector" and "matrix"
      data types.
    - Parser support for the "unroll" loop attribute. A warning is output for
      "unroll" without iteration count, and an error is output when an
      iteration count is specified. Actual unrolling is not implemented yet.
    - Parser support for RWStructuredBuffer resources.
    - Parser support for SamplerComparisonState objects. Note that outputting
      compiled effects is not supported yet, but parsing these allows shaders
      containing SamplerComparisonState state objects to be compiled.
    - More improvements to HLSL support for the Direct3D shader model 1/2/3
      profiles.
    - The section alignment of DXBC blobs produced by
      vkd3d_shader_serialize_dxbc() matches those produced by d3dcompiler more
      closely.
    - The "main" function for shaders produced by the SPIR-V target is always
      terminated, even when the source was a TPF shader without explicit "ret"
      instruction.
    - Relative addressing of shader input registers is supported by SPIR-V
      targets.
* Wed May 17 2023 Tobias Klausmann <tobias.klausmann@freenet.de>
  - 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.
* Sat Apr 01 2023 Tobias Klausmann <tobias.klausmann@freenet.de>
  - 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.
* Mon Dec 12 2022 Tobias Klausmann <tobias.klausmann@freenet.de>
  - Update to version 1.6:
    - Initial support for HLSL compute shaders.
    - More support for HLSL features and intrinsics.
    - Miscellaneous bug fixes.
* Thu Oct 27 2022 Tobias Klausmann <tobias.klausmann@freenet.de>
  - Update to version 1.5:
    - Support for various HLSL features and intrinsics.
    - Typed unordered access view loads of multicomponent formats.
    - Miscellaneous bug fixes.
  - Packaging changes:
    - Disable test until they are fixed
* Thu Jun 23 2022 Marcus Meissner <meissner@suse.com>
  - 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.
* Thu Sep 24 2020 Marcus Meissner <meissner@suse.com>
  - added also shader library to baselibs.conf (bsc#1176894)

Files

/usr/lib64/libvkd3d-shader.so.1
/usr/lib64/libvkd3d-shader.so.1.9.0
/usr/share/licenses/libvkd3d-shader1
/usr/share/licenses/libvkd3d-shader1/COPYING
/usr/share/licenses/libvkd3d-shader1/LICENSE


Generated by rpm2html 1.8.1

Fabrice Bellet, Sat Apr 13 23:32:31 2024