mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
Release 1.2.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
db8ab36464
commit
56cd4a94d5
171
ANNOUNCE
171
ANNOUNCE
@ -1,16 +1,17 @@
|
|||||||
The Wine team is proud to announce that release 1.1 of vkd3d, the
|
The Wine team is proud to announce that release 1.2 of vkd3d, the Direct3D to
|
||||||
Direct3D 12 to Vulkan translation library, is now available.
|
Vulkan translation library, is now available.
|
||||||
|
|
||||||
This release contains improvements that are listed in the release notes below.
|
This release contains improvements that are listed in the release notes below.
|
||||||
The main highlights are:
|
The main highlights are:
|
||||||
|
|
||||||
- Initial support for placed resources.
|
- Availability of libvkd3d-shader as a public library.
|
||||||
- MoltenVK support.
|
- Support for tessellation shaders.
|
||||||
- Support for geometry shaders.
|
- Version 1.1 root signatures.
|
||||||
|
- Stream output support.
|
||||||
|
|
||||||
The source is available from the following location:
|
The source is available from the following location:
|
||||||
|
|
||||||
https://dl.winehq.org/vkd3d/source/vkd3d-1.1.tar.xz
|
https://dl.winehq.org/vkd3d/source/vkd3d-1.2.tar.xz
|
||||||
|
|
||||||
The current source can also be pulled directly from the git repository:
|
The current source can also be pulled directly from the git repository:
|
||||||
|
|
||||||
@ -21,65 +22,171 @@ for the complete list.
|
|||||||
|
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
What's new in vkd3d 1.1
|
What's new in vkd3d 1.2
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
|
||||||
*** libvkd3d
|
*** libvkd3d
|
||||||
|
|
||||||
- Initial support for memory heaps and placed resources.
|
- Newly implemented Direct3D 12 features:
|
||||||
|
- Multi-sampling.
|
||||||
|
- Reserved resources.
|
||||||
|
- Instance data step rates. This requires the
|
||||||
|
VK_EXT_vertex_attribute_divisor extension.
|
||||||
|
- `Private data' APIs for all interfaces.
|
||||||
|
- Shader-resource view component mappings.
|
||||||
|
- Indirect indexed draws.
|
||||||
|
- Indirect draws with a count buffer. This requires the
|
||||||
|
VK_KHR_draw_indirect_count extension.
|
||||||
|
- Stream output and stream output queries. This requires the
|
||||||
|
VK_EXT_transform_feedback extension.
|
||||||
|
- Predicated/conditional rendering.
|
||||||
|
- Primitive restart.
|
||||||
|
- Depth rendering without a pixel shader.
|
||||||
|
- Depth clipping. This requires the VK_EXT_depth_clip_enable extension.
|
||||||
|
- Rasteriser discard.
|
||||||
|
- Dual-source blending.
|
||||||
|
- Mapping placed resources.
|
||||||
|
- The ReadFromSubresource() and WriteToSubresource() ID3D12Resource methods.
|
||||||
|
- Simultaneous access to resources from multiple queues.
|
||||||
|
- Null-views. I.e., views without an underlying resource.
|
||||||
|
- Several more feature support queries.
|
||||||
|
|
||||||
- Improved support for resource views.
|
- New interfaces:
|
||||||
|
- vkd3d_serialize_versioned_root_signature() and
|
||||||
|
vkd3d_create_versioned_root_signature_deserializer() provide support for
|
||||||
|
versioned root signatures.
|
||||||
|
- The vkd3d_application_info structure extends the
|
||||||
|
vkd3d_instance_create_info structure, and can be used to pass information
|
||||||
|
about the application to libvkd3d. It is analogous to the
|
||||||
|
VkApplicationInfo structure in Vulkan. Its `api_version' field should be
|
||||||
|
set to the version of the libvkd3d API that the application targets.
|
||||||
|
- The vkd3d_optional_device_extensions_info structure extends the
|
||||||
|
vkd3d_device_create_info structure, and can be used to pass a list of
|
||||||
|
device extensions to enable only when available to libvkd3d. It is
|
||||||
|
analogous to the vkd3d_optional_instance_extensions_info structure for
|
||||||
|
instance extensions.
|
||||||
|
|
||||||
- ClearUnorderedAccessViewUint() is implemented for textures.
|
- New environment variables:
|
||||||
|
- VKD3D_CONFIG can be used to set options that change the behaviour of
|
||||||
|
libvkd3d.
|
||||||
|
- VKD3D_TEST_BUG can be used to disable bug_if() conditions in the test
|
||||||
|
suite.
|
||||||
|
- VKD3D_TEST_FILTER can be used to control which tests are run.
|
||||||
|
- VKD3D_VULKAN_DEVICE can be used to override the Vulkan physical device
|
||||||
|
used by vkd3d.
|
||||||
|
See the README for more detailed descriptions and how to use these.
|
||||||
|
|
||||||
- Blend factor is implemented.
|
- When the VK_KHR_dedicated_allocation extension is available, dedicated
|
||||||
|
allocations may be used for committed resources.
|
||||||
|
|
||||||
- Performance improvements.
|
- When the VK_KHR_image_format_list extension is available, it will be used to
|
||||||
|
inform the driver about the view formats that a particular mutable Vulkan
|
||||||
|
image can be used with. This improves performance on some Vulkan
|
||||||
|
implementations.
|
||||||
|
|
||||||
- A new interface is available for enabling additional Vulkan instance
|
- When the VK_EXT_debug_marker extension is available, object names set with
|
||||||
extensions.
|
the ID3D12Object SetName() method will be propagated to the underlying
|
||||||
|
Vulkan objects.
|
||||||
|
|
||||||
- A new public function is available for mapping VkFormats to DXGI_FORMATs.
|
- Unordered-access view clears are supported on more formats. Previously these
|
||||||
|
were limited to integer formats for texture resources, and single component
|
||||||
|
integer formats for buffer resources.
|
||||||
|
|
||||||
- Support for more DXGI formats.
|
- When the D24_UNORM_S8_UINT format is not supported by the Vulkan
|
||||||
|
implementation, the D32_SFLOAT_S8_UINT format will be used instead to
|
||||||
|
implement the D24_UNORM_S8_UINT and related DXGI formats. This is required
|
||||||
|
because the DXGI D24_UNORM_S8_UINT format is mandatory, while the Vulkan
|
||||||
|
D24_UNORM_S8_UINT format is optional.
|
||||||
|
|
||||||
- Various bug fixes.
|
- Various bug fixes.
|
||||||
|
|
||||||
|
|
||||||
*** libvkd3d-shader
|
*** libvkd3d-shader
|
||||||
|
|
||||||
- Support for geometry shaders.
|
- libvkd3d-shader is now available as a public instead of an internal library.
|
||||||
|
|
||||||
- Pretty printing is implemented for shader code extracted from DXBC.
|
- New features:
|
||||||
|
- Tessellation shaders.
|
||||||
|
- Root signature version 1.1 serialisation, deserialisation, and conversion.
|
||||||
|
- Multi-sample masks.
|
||||||
|
- Per-sample shading.
|
||||||
|
- Early depth/stencil test.
|
||||||
|
- Conservative depth output.
|
||||||
|
- Dual-source blending.
|
||||||
|
- Stream output.
|
||||||
|
- Viewport arrays.
|
||||||
|
|
||||||
- Clip and cull distances are supported.
|
- Support for OpenGL SPIR-V target environments. This allows SPIR-V produced
|
||||||
|
by libvkd3d-shader to be used with GL_ARB_gl_spirv. This includes support
|
||||||
|
for OpenGL atomic counters and combined samplers.
|
||||||
|
|
||||||
|
- Preliminary support for shader model 5.1 shaders. This is still a work in
|
||||||
|
progress. Notably, support for resource arrays is not yet implemented.
|
||||||
|
|
||||||
|
- When the SPV_EXT_demote_to_helper_invocation is available, it will be used
|
||||||
|
to implement the `discard' shader instruction instead of using SpvOpKill. In
|
||||||
|
particular, this ensures the `deriv_rtx' and `deriv_rty' instruction return
|
||||||
|
accurate results after a (conditional) `discard' instruction.
|
||||||
|
|
||||||
|
- Support for using SPIR-V specialisation constants for shader parameters.
|
||||||
|
|
||||||
- Support for more shader instructions:
|
- Support for more shader instructions:
|
||||||
- round_ne,
|
- bufinfo,
|
||||||
- sincos,
|
- eval_centroid,
|
||||||
- ineg,
|
- eval_sample_index,
|
||||||
- continue,
|
- ld2ms,
|
||||||
- continuec,
|
- sample_b,
|
||||||
- gather4_po,
|
- sample_d,
|
||||||
- gather4_po_c,
|
- sample_info,
|
||||||
- gather4_c.
|
- samplepos.
|
||||||
|
|
||||||
- Texel offsets are supported.
|
- When built against SPIRV-Tools, libvkd3d-shader can produce SPIR-V shaders
|
||||||
|
in text form.
|
||||||
|
|
||||||
|
- libvkd3d-shader now has its own environment variable (VKD3D_SHADER_DEBUG) to
|
||||||
|
control debug output.
|
||||||
|
|
||||||
- Various shader translation fixes.
|
- Various shader translation fixes.
|
||||||
|
|
||||||
|
|
||||||
|
*** vkd3d-compiler
|
||||||
|
|
||||||
|
- When supported by libvkd3d-shader, text form SPIR-V is available as a target
|
||||||
|
format, in addition to the existing binary form SPIR-V target format.
|
||||||
|
|
||||||
|
- Input from standard input, and output to standard output is supported.
|
||||||
|
|
||||||
|
|
||||||
*** libvkd3d-utils
|
*** libvkd3d-utils
|
||||||
|
|
||||||
- Vulkan WSI extensions are detected at runtime.
|
- To specify the libvkd3d API version to use when creating vkd3d instances,
|
||||||
|
define VKD3D_UTILS_API_VERSION to the desired version before including
|
||||||
|
vkd3d_utils.h. If VKD3D_UTILS_API_VERSION is not explicitly defined,
|
||||||
|
VKD3D_API_VERSION_1_0 will be used.
|
||||||
|
|
||||||
|
- Support for versioned root signatures is provided by the
|
||||||
|
D3D12SerializeVersionedRootSignature() and
|
||||||
|
D3D12CreateVersionedRootSignatureDeserializer() entry points.
|
||||||
|
|
||||||
|
|
||||||
*** build
|
*** build
|
||||||
|
|
||||||
- Demos are not built by default.
|
- The minimum required version of Vulkan-Headers and SPIRV-Headers for this
|
||||||
|
release is version 1.1.113.
|
||||||
|
|
||||||
- libxcb is now an optional dependency required only for demos.
|
- The minimum required version of widl for this release is version 3.20.
|
||||||
|
|
||||||
- MoltenVK is supported.
|
- If doxygen is available, it will be used to build API documentation. By
|
||||||
|
default, documentation will be generated in HTML and PDF formats.
|
||||||
|
|
||||||
|
- If debug logs are not required or desired, defining VKD3D_NO_TRACE_MESSAGES
|
||||||
|
and VKD3D_NO_DEBUG_MESSAGES will prevent them from being included in the
|
||||||
|
build. For example, a release build may want to configure with
|
||||||
|
`CPPFLAGS="-DNDEBUG -DVKD3D_NO_TRACE_MESSAGES -DVKD3D_NO_DEBUG_MESSAGES"'.
|
||||||
|
|
||||||
|
- Microsoft Windows is now a supported target platform. To create a build for
|
||||||
|
Windows, either cross-compile by configuring with an appropriate --host
|
||||||
|
option like for example `--host=x86_64-w64-mingw32', or build on Windows
|
||||||
|
itself using an environment like MSYS2 or Cygwin.
|
||||||
|
|
||||||
|
11
AUTHORS
11
AUTHORS
@ -1,4 +1,15 @@
|
|||||||
|
Alexandre Julliard
|
||||||
|
Andrew Eikum
|
||||||
Chip Davis
|
Chip Davis
|
||||||
|
Conor McCarthy
|
||||||
|
Derek Lesho
|
||||||
|
Hans-Kristian Arntzen
|
||||||
Henri Verbeet
|
Henri Verbeet
|
||||||
|
Isabella Bosia
|
||||||
|
Jactry Zeng
|
||||||
Józef Kucia
|
Józef Kucia
|
||||||
|
Philip Rebohle
|
||||||
|
Rémi Bernon
|
||||||
Sven Hesse
|
Sven Hesse
|
||||||
|
Zebediah Figura
|
||||||
|
Zhiyi Zhang
|
||||||
|
@ -111,7 +111,7 @@ libvkd3d_la_SOURCES = \
|
|||||||
libs/vkd3d/vkd3d_private.h \
|
libs/vkd3d/vkd3d_private.h \
|
||||||
libs/vkd3d/vkd3d_shaders.h \
|
libs/vkd3d/vkd3d_shaders.h \
|
||||||
libs/vkd3d/vulkan_procs.h
|
libs/vkd3d/vulkan_procs.h
|
||||||
libvkd3d_la_LDFLAGS = $(AM_LDFLAGS) -version-info 2:0:1
|
libvkd3d_la_LDFLAGS = $(AM_LDFLAGS) -version-info 3:0:2
|
||||||
libvkd3d_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la @DL_LIBS@ @PTHREAD_LIBS@
|
libvkd3d_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la @DL_LIBS@ @PTHREAD_LIBS@
|
||||||
if HAVE_LD_VERSION_SCRIPT
|
if HAVE_LD_VERSION_SCRIPT
|
||||||
libvkd3d_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d/vkd3d.map
|
libvkd3d_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d/vkd3d.map
|
||||||
@ -122,7 +122,7 @@ libvkd3d_utils_la_SOURCES = \
|
|||||||
libs/vkd3d-utils/vkd3d_utils.map \
|
libs/vkd3d-utils/vkd3d_utils.map \
|
||||||
libs/vkd3d-utils/vkd3d_utils_main.c \
|
libs/vkd3d-utils/vkd3d_utils_main.c \
|
||||||
libs/vkd3d-utils/vkd3d_utils_private.h
|
libs/vkd3d-utils/vkd3d_utils_private.h
|
||||||
libvkd3d_utils_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:1:0
|
libvkd3d_utils_la_LDFLAGS = $(AM_LDFLAGS) -version-info 2:0:1
|
||||||
libvkd3d_utils_la_LIBADD = libvkd3d-common.la libvkd3d.la @PTHREAD_LIBS@
|
libvkd3d_utils_la_LIBADD = libvkd3d-common.la libvkd3d.la @PTHREAD_LIBS@
|
||||||
if HAVE_LD_VERSION_SCRIPT
|
if HAVE_LD_VERSION_SCRIPT
|
||||||
libvkd3d_utils_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-utils/vkd3d_utils.map
|
libvkd3d_utils_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-utils/vkd3d_utils.map
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
AC_PREREQ([2.69])
|
AC_PREREQ([2.69])
|
||||||
AC_INIT([vkd3d],[1.1])
|
AC_INIT([vkd3d],[1.2])
|
||||||
|
|
||||||
AC_CONFIG_AUX_DIR([bin])
|
AC_CONFIG_AUX_DIR([bin])
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
@ -213,7 +213,7 @@ static enum vkd3d_shader_input_sysval_semantic vkd3d_siv_from_sysval(enum vkd3d_
|
|||||||
|
|
||||||
#define VKD3D_SPIRV_VERSION 0x00010000
|
#define VKD3D_SPIRV_VERSION 0x00010000
|
||||||
#define VKD3D_SPIRV_GENERATOR_ID 18
|
#define VKD3D_SPIRV_GENERATOR_ID 18
|
||||||
#define VKD3D_SPIRV_GENERATOR_VERSION 1
|
#define VKD3D_SPIRV_GENERATOR_VERSION 2
|
||||||
#define VKD3D_SPIRV_GENERATOR_MAGIC ((VKD3D_SPIRV_GENERATOR_ID << 16) | VKD3D_SPIRV_GENERATOR_VERSION)
|
#define VKD3D_SPIRV_GENERATOR_MAGIC ((VKD3D_SPIRV_GENERATOR_ID << 16) | VKD3D_SPIRV_GENERATOR_VERSION)
|
||||||
|
|
||||||
struct vkd3d_spirv_stream
|
struct vkd3d_spirv_stream
|
||||||
|
Loading…
Reference in New Issue
Block a user