Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package vkd3d for openSUSE:Factory checked in at 2023-05-18 15:19:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vkd3d (Old) and /work/SRC/openSUSE:Factory/.vkd3d.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vkd3d" Thu May 18 15:19:56 2023 rev:10 rq:1087761 version:1.7.1 Changes: -------- --- /work/SRC/openSUSE:Factory/vkd3d/vkd3d.changes 2023-04-02 19:18:13.836780969 +0200 +++ /work/SRC/openSUSE:Factory/.vkd3d.new.1533/vkd3d.changes 2023-05-18 15:20:06.726143605 +0200 @@ -1,0 +2,13 @@ +Wed May 17 17:06:32 UTC 2023 - Tobias Klausmann <[email protected]> + +- 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. + +------------------------------------------------------------------- Old: ---- vkd3d-1.7.tar.xz vkd3d-1.7.tar.xz.sign New: ---- vkd3d-1.7.1.tar.xz vkd3d-1.7.1.tar.xz.sign ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vkd3d.spec ++++++ --- /var/tmp/diff_new_pack.AMWRpU/_old 2023-05-18 15:20:08.982157439 +0200 +++ /var/tmp/diff_new_pack.AMWRpU/_new 2023-05-18 15:20:08.986157463 +0200 @@ -34,7 +34,7 @@ Summary: Direct3D 12 to Vulkan translation library License: LGPL-2.1-or-later Group: System/X11/Utilities -Version: 1.7 +Version: 1.7.1 Release: 0 Source0: https://dl.winehq.org/vkd3d/source/vkd3d-%version.tar.xz Source1: https://dl.winehq.org/vkd3d/source/vkd3d-%version.tar.xz.sign ++++++ vkd3d-1.7.tar.xz -> vkd3d-1.7.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/ANNOUNCE new/vkd3d-1.7.1/ANNOUNCE --- old/vkd3d-1.7/ANNOUNCE 2023-03-24 11:22:28.000000000 +0100 +++ new/vkd3d-1.7.1/ANNOUNCE 2023-05-03 21:46:28.000000000 +0200 @@ -1,17 +1,12 @@ -The Wine team is proud to announce that release 1.7 of vkd3d, the Direct3D to +The Wine team is proud to announce that release 1.7.1 of vkd3d, the Direct3D to Vulkan translation library, is now available. -This release contains improvements that are listed in the release notes below. -The main highlights are: - - - 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. +This is a bugfix release, only containing targeted fixes for a couple +of defects that had slipped in in vkd3d 1.7. The source is available from the following location: - https://dl.winehq.org/vkd3d/source/vkd3d-1.7.tar.xz + https://dl.winehq.org/vkd3d/source/vkd3d-1.7.1.tar.xz The current source can also be pulled directly from the git repository: @@ -22,49 +17,20 @@ ---------------------------------------------------------------- -What's new in vkd3d 1.7 -======================= +What's new in vkd3d 1.7.1 +========================= + + +*** libvkd3d +- 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. -*** libvkd3d-shader +*** libvkd3d-utils -- New features for the HLSL source type: - - Support for calling user-defined functions. - - Support for array parameters to user-defined functions. - - Much improved support for the Direct3D shader model 1/2/3 profiles. - - Support for the SV_DispatchThreadID, SV_GroupID, and SV_GroupThreadID - compute shader system-value semantics. - - Support for the optional "offset" parameter of the texture object Load() - method. - - Support for the all() intrinsic function. - - Support for the distance() intrinsic function. - - Support for the exp() and exp2() intrinsic functions. - - Support for the frac() intrinsic function. - - Support for the lit() intrinsic function. - - Support for the reflect() intrinsic function. - - Support for the sin() and cos() intrinsic functions. - - Support for the smoothstep() intrinsic function. - - Support for the sqrt() and rsqrt() intrinsic functions. - - Support for the step() intrinsic function. - - Support for the transpose() intrinsic function. - - Support for the case-insensitive variants of the "float" and "dword" data - types. - - Partial support for minimum precision data types like "min16float". These - are currently interpreted as their regular counterparts. - - Improved constant propagation support, in particular to constant - propagation through swizzles. - -- HLSL static variables are now properly zero-initialised. - -- The Direct3D shader model 4 and 5 disassembler outputs sample counts for - multi-sampled resource declarations. - -- New interfaces: - - vkd3d_shader_parse_dxbc() provides support for parsing DXBC blobs. - - vkd3d_shader_serialize_dxbc() provides support for serialising DXBC blobs. - - vkd3d_shader_free_dxbc() is used to free vkd3d_shader_dxbc_desc - structures, as returned by vkd3d_shader_parse_dxbc(). - - The VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE compile option - can be used to specify whether SPIR-V shaders targeting Vulkan - environments should write point sizes for geometry and tessellation - shaders. If left unspecified, point sizes will be written. +- 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. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/configure new/vkd3d-1.7.1/configure --- old/vkd3d-1.7/configure 2023-03-24 11:22:33.000000000 +0100 +++ new/vkd3d-1.7.1/configure 2023-05-03 21:46:33.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for vkd3d 1.7. +# Generated by GNU Autoconf 2.71 for vkd3d 1.7.1. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -618,8 +618,8 @@ # Identity of this package. PACKAGE_NAME='vkd3d' PACKAGE_TARNAME='vkd3d' -PACKAGE_VERSION='1.7' -PACKAGE_STRING='vkd3d 1.7' +PACKAGE_VERSION='1.7.1' +PACKAGE_STRING='vkd3d 1.7.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1466,7 +1466,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures vkd3d 1.7 to adapt to many kinds of systems. +\`configure' configures vkd3d 1.7.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1537,7 +1537,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of vkd3d 1.7:";; + short | recursive ) echo "Configuration of vkd3d 1.7.1:";; esac cat <<\_ACEOF @@ -1696,7 +1696,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -vkd3d configure 1.7 +vkd3d configure 1.7.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1966,7 +1966,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by vkd3d $as_me 1.7, which was +It was created by vkd3d $as_me 1.7.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -7926,7 +7926,7 @@ # Define the identity of the package. PACKAGE='vkd3d' - VERSION='1.7' + VERSION='1.7.1' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -19236,7 +19236,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by vkd3d $as_me 1.7, which was +This file was extended by vkd3d $as_me 1.7.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19304,7 +19304,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -vkd3d config.status 1.7 +vkd3d config.status 1.7.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/configure.ac new/vkd3d-1.7.1/configure.ac --- old/vkd3d-1.7/configure.ac 2023-03-24 11:22:28.000000000 +0100 +++ new/vkd3d-1.7.1/configure.ac 2023-05-03 21:46:28.000000000 +0200 @@ -1,5 +1,5 @@ AC_PREREQ([2.69]) -AC_INIT([vkd3d],[1.7]) +AC_INIT([vkd3d],[1.7.1]) AC_CONFIG_AUX_DIR([bin]) AC_CONFIG_MACRO_DIR([m4]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_d3d12.h new/vkd3d-1.7.1/include/vkd3d_d3d12.h --- old/vkd3d-1.7/include/vkd3d_d3d12.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_d3d12.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_d3d12.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_d3d12.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_d3d12sdklayers.h new/vkd3d-1.7.1/include/vkd3d_d3d12sdklayers.h --- old/vkd3d-1.7/include/vkd3d_d3d12sdklayers.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_d3d12sdklayers.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_d3d12sdklayers.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_d3d12sdklayers.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_d3dcommon.h new/vkd3d-1.7.1/include/vkd3d_d3dcommon.h --- old/vkd3d-1.7/include/vkd3d_d3dcommon.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_d3dcommon.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_d3dcommon.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_d3dcommon.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_d3dx9shader.h new/vkd3d-1.7.1/include/vkd3d_d3dx9shader.h --- old/vkd3d-1.7/include/vkd3d_d3dx9shader.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_d3dx9shader.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_d3dx9shader.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_d3dx9shader.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_dxgi.h new/vkd3d-1.7.1/include/vkd3d_dxgi.h --- old/vkd3d-1.7/include/vkd3d_dxgi.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_dxgi.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_dxgi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_dxgi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_dxgi1_2.h new/vkd3d-1.7.1/include/vkd3d_dxgi1_2.h --- old/vkd3d-1.7/include/vkd3d_dxgi1_2.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_dxgi1_2.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_dxgi1_2.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_dxgi1_2.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_dxgi1_3.h new/vkd3d-1.7.1/include/vkd3d_dxgi1_3.h --- old/vkd3d-1.7/include/vkd3d_dxgi1_3.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_dxgi1_3.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_dxgi1_3.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_dxgi1_3.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_dxgi1_4.h new/vkd3d-1.7.1/include/vkd3d_dxgi1_4.h --- old/vkd3d-1.7/include/vkd3d_dxgi1_4.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_dxgi1_4.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_dxgi1_4.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_dxgi1_4.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_dxgibase.h new/vkd3d-1.7.1/include/vkd3d_dxgibase.h --- old/vkd3d-1.7/include/vkd3d_dxgibase.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_dxgibase.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_dxgibase.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_dxgibase.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_dxgiformat.h new/vkd3d-1.7.1/include/vkd3d_dxgiformat.h --- old/vkd3d-1.7/include/vkd3d_dxgiformat.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_dxgiformat.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_dxgiformat.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_dxgiformat.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/include/vkd3d_dxgitype.h new/vkd3d-1.7.1/include/vkd3d_dxgitype.h --- old/vkd3d-1.7/include/vkd3d_dxgitype.h 2023-02-20 22:17:16.000000000 +0100 +++ new/vkd3d-1.7.1/include/vkd3d_dxgitype.h 2023-03-30 21:55:50.000000000 +0200 @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 8.2 from include/vkd3d_dxgitype.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.4 from include/vkd3d_dxgitype.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/libs/vkd3d/command.c new/vkd3d-1.7.1/libs/vkd3d/command.c --- old/vkd3d-1.7/libs/vkd3d/command.c 2023-03-08 20:14:39.000000000 +0100 +++ new/vkd3d-1.7.1/libs/vkd3d/command.c 2023-05-03 21:46:25.000000000 +0200 @@ -6781,16 +6781,16 @@ return true; } -static HRESULT d3d12_command_queue_fixup_after_flush(struct d3d12_command_queue *queue, unsigned int done_count) +static void d3d12_command_queue_delete_aux_ops(struct d3d12_command_queue *queue, + unsigned int done_count) { - HRESULT hr; - queue->aux_op_queue.count -= done_count; memmove(queue->aux_op_queue.ops, &queue->aux_op_queue.ops[done_count], queue->aux_op_queue.count * sizeof(*queue->aux_op_queue.ops)); +} - vkd3d_mutex_lock(&queue->op_mutex); - +static HRESULT d3d12_command_queue_fixup_after_flush_locked(struct d3d12_command_queue *queue) +{ d3d12_command_queue_swap_queues(queue); d3d12_command_queue_op_array_append(&queue->op_queue, queue->aux_op_queue.count, queue->aux_op_queue.ops); @@ -6798,11 +6798,7 @@ queue->aux_op_queue.count = 0; queue->is_flushing = false; - hr = d3d12_command_queue_record_as_blocked(queue); - - vkd3d_mutex_unlock(&queue->op_mutex); - - return hr; + return d3d12_command_queue_record_as_blocked(queue); } static HRESULT d3d12_command_queue_flush_ops(struct d3d12_command_queue *queue, bool *flushed_any) @@ -6855,7 +6851,9 @@ if (op->u.wait.value > fence->max_pending_value) { vkd3d_mutex_unlock(&fence->mutex); - return d3d12_command_queue_fixup_after_flush(queue, i); + d3d12_command_queue_delete_aux_ops(queue, i); + vkd3d_mutex_lock(&queue->op_mutex); + return d3d12_command_queue_fixup_after_flush_locked(queue); } d3d12_command_queue_wait_locked(queue, fence, op->u.wait.value); d3d12_fence_decref(fence); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vkd3d-1.7/libs/vkd3d-utils/vkd3d_utils_main.c new/vkd3d-1.7.1/libs/vkd3d-utils/vkd3d_utils_main.c --- old/vkd3d-1.7/libs/vkd3d-utils/vkd3d_utils_main.c 2023-03-24 11:22:28.000000000 +0100 +++ new/vkd3d-1.7.1/libs/vkd3d-utils/vkd3d_utils_main.c 2023-05-03 21:46:27.000000000 +0200 @@ -85,7 +85,7 @@ return vkd3d_create_device(&device_create_info, iid, device); } -HRESULT WINAPI D3D12CreateDevice(IUnknown *adapter, +VKD3D_UTILS_API HRESULT WINAPI D3D12CreateDevice(IUnknown *adapter, D3D_FEATURE_LEVEL minimum_feature_level, REFIID iid, void **device) { return D3D12CreateDeviceVKD3D(adapter, minimum_feature_level, iid, device, VKD3D_API_VERSION_1_0);
