Wine-Announce
By message
wine-announce@list.winehq.org
By month
Threads by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
August 2026
- 1 participants
- 3 discussions
The vkd3d team is proud to announce that release 2.1 of vkd3d, the 3D graphics
porting library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-2.1.tar.xz>
The current source can also be pulled directly from either of these git
repositories:
<https://gitlab.winehq.org/wine/vkd3d.git>
<https://codeberg.org/vkd3d/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 2.1
### libvkd3d-shader
- New features and improvements for the HLSL source type:
- A flaw has been fixed where nested function calls of the form
‘g(f(1), f(2), f(3));’ would be compiled like ‘g(f(3), f(3), f(3));’.
- A new dead store elimination pass. Its primary purpose is to eliminate
unused uniforms in shader model 1-3 target profiles, allowing vkd3d-shader
to more closely match the constant table layout produced by
d3dcompiler/fxc.
- Arithmetic operations on ‘half’ types in shader model 4 and 5 target
profiles.
- Stricter validation of allowed and required semantics on shader inputs and
outputs. Notably:
- User-defined semantics on outputs are explicitly rejected in shader
model 4 and 5 pixel shader target profiles. These never worked, but
would previously either be rejected by the target, or produce invalid
output.
- Semantics on unused input and outputs are not validated in shader model
1-3 target profiles. This matches the behaviour of d3dcompiler/fxc.
- Shader model 1-3 vertex shader target profiles require ‘position’
outputs.
- Shader model 1-3 pixel shader target profiles require ‘color’ outputs.
- The effects (FX) target can output numeric states and shader objects in
‘fx_2_0’ profiles.
- New features and improvements for the legacy Direct3D byte-code source type:
- The ‘sub’ and ‘break_cmp’ instructions.
- The ‘\_x2’, ‘\_x4’, ‘\_x8’, ‘\_d2’, ‘\_d4’, and ‘\_d8’ instruction
modifiers.
- The ‘\_bias’, ‘\_x2’, ‘\_bx2’, ‘negate’ (‘-register’), and ‘invert’
(‘1 - register’) source operand modifiers.
- The SPIR-V target supports floating-point to 64-bit signed and unsigned
integer conversion operations. These typically originate from DXIL sources.
- New features and improvements for the experimental OpenGL Shading Language
target type:
- Indirect addressing of shader input registers.
- Load and store operations on raw and structured unordered access views and
thread group shared memory.
- Atomic compare/exchange and integer addition operations.
- Bit scanning and counting operations.
- Barrier operations.
- ‘SV_GroupID’, ‘SV_GroupIndex’, and ‘SV_GroupThreadID’ inputs.
- New interfaces:
- The VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_ALLOW_HALF_GLOBALS flag
specifies that global variables with ‘half’ types in HLSL sources should
be compiled as if they had the corresponding ‘float’ types.
### libvkd3d-utils
- New shader reflection features and improvements:
- The GetDesc() method of the ID3D12ShaderReflection interface now returns
all information contained in the D3D12_SHADER_DESC structure.
- The following methods of the ID3D12ShaderReflection interface are
implemented:
- GetBitwiseInstructionCount()
- GetConstantBufferByName()
- GetConversionInstructionCount()
- GetGSInputPrimitive()
- GetMovInstructionCount()
- GetMovcInstructionCount()
- GetResourceBindingDescByName()
- GetThreadGroupSize()
- GetVariableByName()
- IsSampleFrequencyShader()
- The GetVariableByName() method of the ID3D12ShaderReflectionConstantBuffer
interface is implemented.
- The following methods of the ID3D12ShaderReflectionType interface are
implemented:
- GetMemberTypeByName()
- GetMemberTypeName()
- IsEqual()
- The ID3D10ShaderReflection, ID3D10ShaderReflection1, and
ID3D11ShaderReflection interfaces are implemented. Where applicable,
everything above also applies to the version 10, 10.1, and 11 equivalents
of the methods mentioned above.
- When the D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY flag is specified,
D3DCompile2VKD3D() will consider global variables with ‘half’ types to have
the corresponding ‘float’ types. Without this flag, global variables with
‘half’ types are not allowed. This change also applies to D3DCompile() and
D3DCompile2(), which behave like D3DCompile2VKD3D() called with a
‘compiler_version’ of 47.
- New interfaces:
- D3DPreprocessVKD3D() is a variant of D3DPreprocess() that allows
targeting the behaviour of a specific d3dcompiler version.
- D3DReflectVKD3D() is a variant of D3DReflect() that allows
targeting the behaviour of a specific d3dcompiler version.
- D3D10ReflectShader() is equivalent to calling D3DReflectVKD3D() with an
‘iid’ of ‘IID_ID3D10ShaderReflection’ and a ‘version’ of 0.
### vkd3d-compiler
- The ‘--allow-half-globals’ option specifies that global variables with
‘half’ types in HLSL sources should be compiled as if they had the
corresponding ‘float’ types.
- The Windows build of vkd3d-compiler will default to colour output when it's
able to determine that the output is a device capable of interpreting
virtual terminal sequences.
### vkd3d-dxbc
- The ‘--input’ option specifies the input to use for subsequent ‘--update’
options.
- The ‘--update’ option specifies a section to update with the contents of the
current input. For example,
‘vkd3d-dxbc -i priv.bin -u t:PRIV in.dxbc > out.dxbc’ would replace the
private data section of ‘in.dxbc’ with the contents of ‘priv.bin’, and write
the result to ‘out.dxbc’.
- The Windows build of vkd3d-dxbc will default to colour output when it's able
to determine that the output is a device capable of interpreting virtual
terminal sequences.
### Changes since vkd3d 2.0:
```
Elizabeth Figura (55):
vkd3d-utils: Add a D3DPreprocessVKD3D() that allows configuring DLL version.
tests/hlsl_d3d12: Test zero sized includes.
vkd3d-utils: Factor out an init_preprocess_info() helper.
vkd3d-utils: Always supply a "pfn_close_include" callback in init_preprocess_info().
vkd3d-utils: Pass the include context structure for all includes in init_preprocess_info().
vkd3d-utils: Return E_INVALIDARG when opening an empty file in open_include().
vkd3d-shader/d3dbc: Rename d3dbc_compiler variables to "compiler".
vkd3d-shader/hlsl: Remove a redundant hlsl_types_are_equal().
tests: Decrement "refcount_empty3" in test_include_Close().
vkd3d-shader/hlsl: Remove some obsolete block parameters.
vkd3d-shader/hlsl: Don't call allocate_register_reservations() for semantics.
vkd3d-shader/hlsl: Remove an obsolete comment.
vkd3d-shader/d3dbc: Handle 1.x COLOR in sm1_register_from_semantic_name().
vkd3d-shader/hlsl: Remove an unnecessary check for 1.x PS output.
vkd3d-shader/ir: Introduce a separate register type for oPts.
tests/shader_runner: Account for tessellation in get_runner_test_mask().
vkd3d-shader/hlsl: Get rid of the "optimize" argument to allocate_semantic_register().
vkd3d-shader/hlsl: Use allocators corresponding to the signature in allocate_semantic_registers().
vkd3d-shader/hlsl: Call generate_vsir_signature_entry() from allocate_semantic_register().
vkd3d-shader/hlsl: Move some validation to allocate_semantic_register().
vkd3d-shader/hlsl: Move signature construction directly into allocate_semantic_register().
tests/hlsl: Test semantics required by vertex and pixel shaders.
vkd3d-shader/hlsl: Validate that position is output for d3dbc targets.
vkd3d-shader/hlsl: Validate that colour is output for d3dbc targets.
vkd3d-shader/hlsl: Simplify updating temp_count for 1.x in allocate_temp_registers().
vkd3d-shader/hlsl: Process the loop iterator in transformation passes.
vkd3d-shader/hlsl: Rename some deref functions to hlsl_deref_*().
vkd3d-shader/hlsl: Add a hlsl_deref_init_child() helper.
vkd3d-shader/hlsl: Construct a deref directly in prepend_input_var_copy().
vkd3d-shader/hlsl: Construct a deref directly in append_output_var_copy().
vkd3d-shader/hlsl: Use hlsl_block_add_*() helpers in prepend_input_copy().
vkd3d-shader/hlsl: Use hlsl_block_add_load_index() in lower_index_load().
vkd3d-shader/hlsl: Use hlsl_block_add_load_index() in copy_propagation_replace_with_deref().
vkd3d-shader/hlsl: Pass a block to hlsl_new_load_parent().
vkd3d-shader/hlsl: Use block helpers in lower_return().
vkd3d-shader/hlsl: Add a hlsl_block_add_bool_constant() helper.
vkd3d-shader/hlsl: Use block helpers in prepend_uniform_copy().
vkd3d-shader/hlsl: Make hlsl_new_store_index() static.
tests/hlsl: Add a v# indexing shader test.
vkd3d-shader/glsl: Copy outputs using their element index in shader_glsl_shader_epilogue().
vkd3d-shader/glsl: Declare separate variables for each input signature element.
vkd3d-shader/glsl: Handle arrayed inputs.
vkd3d-shader/glsl: Implement support for indirect input register addressing.
vkd3d-shader: Use the vsir signature in vsir_program_copy_d3dbc_input_to_indexable_temp().
vkd3d-shader/glsl: Do not skip UNUSED outputs with a system value.
vkd3d-shader/glsl: Do not guard RET behaviour for sm1.
vkd3d-shader/hlsl: Enable MINIMUM_PRECISION when generating the vsir signature.
vkd3d-shader/hlsl: Handle sm4 TARGET in generate_signature_entry().
vkd3d-shader/hlsl: Fix mask handling in sm1_generate_vsir_init_dst_operand_from_deref().
vkd3d-shader/d3dbc: Introduce struct d3dbc_instruction.
vkd3d-shader/d3dbc: Introduce struct d3dbc_semantic.
vkd3d-shader/d3dbc: Move TEXKILL normalisation to shader_sm1_read_instruction().
vkd3d-shader/d3dbc: Introduce a separate field in d3dbc_instruction for DEF* constants.
vkd3d-shader/d3dbc: Introduce struct d3dbc_operand.
vkd3d-shader/d3dbc: Introduce enum d3dbc_register_type.
Evan Tang (1):
tests/d3d12: Test buffer SRVs with single-texel offsets.
Francisco Casas (23):
vkd3d-shader: Go through d3dbc/tpf bytecode when targeting d3d-asm from HLSL.
vkd3d-shader/ir: Turn vsir register allocation into a proper vsir_transform() pass.
tests/hlsl: Add additional half declaration tests.
vkd3d-shader/hlsl: Introduce a compatibility flag to handle half globals as float.
tests/hlsl: Add tests with half arithmetic expressions.
vkd3d-shader/hlsl: Support half arithmetic operations in shader model 4 and 5.
vkd3d-shader/ir: Introduce struct vsir_compile_info.
vkd3d-shader/spirv: Trace the available SPIR-V extensions.
vd3d-shader/hlsl: Check "is_uniform" instead of "!semantic->name" in ctab_write_uniforms().
vkd3d-shader/hlsl: Handle allocation failures on copy_propagation_push_scope().
vkd3d-shader/ir: Remove an unused iterator variable in instruction_array_normalise_hull_shader_control_point_io().
vkd3d-dxbc: Remove the unused "ptr" variable from dump_data().
tests/hlsl: Test temp copies of uniforms with backcompat.
tests/hlsl: Test conditional per-component writes to temp copies of uniforms with backcompat.
vkd3d-shader/hlsl: Introduce a Dead Store Elimination pass.
vkd3d-shader/hlsl: Use vkd3d_ptr_compare() in copy_propagation_var_def_compare().
tests/hlsl: Merge the writemask-assignop tests into a single file.
vkd3d-shader/hlsl: Check that dse_stores_array is not empty before sorting (ubsan).
tests/hlsl: Add a test for per-component DSE.
tests/hlsl: Add specific DSE and per-component DSE tests.
vkd3d-shader/hlsl: Only mark used components on swizzled loads in DSE.
tests/hlsl: Test multiple calls to the same function as arguments of another.
vkd3d-shader/hlsl: Place the split load next to the load itself on split_copy().
Giovanni Mascellani (46):
tests/d3d12_invalid_usage: Drop some tests for which native behaviour has changed.
ci: Run the Windows tests with the latest Agility SDK.
vkd3d: Parse amplification and mesh shader pipeline subobjects.
tests/hlsl: Test a few simple mesh pipelines.
tests/hlsl: Test normalized pixel formats in more configurations.
tests/hlsl: Test loading from UNORM and UINT textures.
tests/d3d12: Skip test_hull_shader_relative_addressing() on Windows AMD.
tests/hlsl: Tweak a f16 test in arithmetic-float-uniform.shader_test.
tests/hlsl: Skip a test in float-comparison.shader_test on Windows AMD.
tests/hlsl: Account for a bug in switch.shader_test on Windows AMD.
tests/d3d12: Do not skip the "continue" test any more.
tests/d3d12: Skip the "dadd" and "dmovc" on all Windows drivers.
tests/d3d12: Tweak the shader cache tests so that they pass in other environments.
tests/hlsl: Account for a bug on Windows NVIDIA d3d11 in minimum-precision.shader_test.
tests/hlsl: Account for a bug on Windows AMD in cast-64-bit.shader_test.
tests/hlsl: Make a test in non-const-indexing.shader_test more robust.
tests/hlsl: Account for a bug on Windows AMD in non-const-indexing.shader_test.
tests/hlsl: Test RestartStrip() and maxvertexcount() in geometry shaders.
tests/hlsl: Account for some bugs on Windows AMD d3d11 in tgsm.shader_test.
tests/hlsl: Account for a bug on Windows AMD d3d12 in shader-interstage-interface.shader_test.
tests/hlsl: Account for a bug on Windows AMD in mesh.shader_test.
tests/hlsl: Add more mesh and amplification shader tests.
tests/hlsl: Account for a bug on Windows AMD d3d9 in uninitialized-varyings.shader_test.
tests/shader_runner_d3d12: Create X32G8X24 SRVs as views of D32S8X24 textures.
tests/hlsl: Account for a bug on Windows AMD d3d9 in shader-point-size.shader_test.
tests/hlsl: Account for a bug on Windows AMD in mesh.shader_test.
tests/hlsl: Account for a bug on Windows AMD in clip-planes.shader_test.
tests/d3dbc: Use b8g8r8a8-unorm textures for d3d9 tests.
tests/hlsl: Test loading from a swizzled texture.
tests/hlsl: Test GatherCmp{Green,Blue,Alpha}() with a SRV swizzle.
tests/d3dbc: Account for a bug on Windows AMD d3d9 in bump.shader_test.
tests/d3dbc: Avoid testing a negative loop counter in rep.shader_test.
tests/hlsl: Remove outdated comment in wave-reconvergence.shader_test.
tests/hlsl: Account for the Windows NVIDIA behaviour in wave-reconvergence.shader_test.
tests/hlsl: Account for a bug on recent Windows d3d9 in fog.shader_test.
tests/hlsl: Test type sizes and alignments in the amplification shader payload.
tests/hlsl: Test field alignment when composing structures and arrays.
tests/hlsl: Test calling DispatchMesh() either never or more than once.
vkd3d-shader/spirv: Actually use the "mode" parameter in spirv_compiler_emit_denormal_mode().
vkd3d: Enable the VK_KHR_shader_float_controls extension.
tests/d3d12: Print DLL versions when running tests on Windows.
tests/d3d12: Test copying between compressed textures of different sizes.
tests/d3d12: Check all blocks in test_copy_block_compressed_texture().
tests/d3d12: Test copying from small mipmaps of compressed textures.
tests/hlsl: Test the "globallycoherent" keyword.
tests/hlsl: Run RWTexture basic tests for shader model 6.0 too.
Henri Verbeet (167):
vkd3d-shader/glsl: Use vkd3d_shader_find_descriptor().
vkd3d-shader/ir: Remove VSIR_OP_DCL_RESOURCE_RAW instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_RESOURCE_STRUCTURED instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_UAV_RAW instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_UAV_STRUCTURED instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_VERTICES_OUT instructions.
vkd3d-shader/glsl: Implement VSIR_OP_STORE_RAW.
vkd3d-shader/glsl: Implement VSIR_OP_LD_RAW.
vkd3d-shader/glsl: Ignore VKD3DSGF_ENABLE_RAW_AND_STRUCTURED_BUFFERS in shader_glsl_handle_global_flags().
vkd3d-shader/glsl: Implement VSIR_OP_STORE_STRUCTURED.
vkd3d-shader/glsl: Implement VSIR_OP_LD_STRUCTURED.
vkd3d-shader/msl: Ignore VKD3DSGF_ENABLE_UP_TO_64_UAVS in msl_generator_generate().
vkd3d-shader/ir: Rename enum vkd3d_shader_register_type to enum vsir_register_type.
vkd3d-shader/glsl: Output vsir register type names in error messages.
vkd3d-shader/glsl: Output vsir data type names in error messages.
vkd3d-shader/glsl: Output vsir dimension names in error messages.
tests/shader_runner_gl: Require GL_EXT_shader_image_load_formatted for typed UAV loads without format.
tests/d3dbc: Add a test for partially initialised I/O registers.
vkd3d-shader/ir: Handle partially initialised I/O registers in vsir_program_remap_output_signature().
vkd3d-utils: Introduce D3DReflectVKD3D().
tests/hlsl_d3d12: Slightly modify the shader model 5.1 shader in test_reflection().
tests/hlsl_d3d12: Get rid of the "is_todo" parameter to check_signature_element_().
tests/hlsl_d3d12: Run test_reflection() with multiple d3dcompiler versions.
tests/hlsl_d3d12: Run test_default_values_reflection() with multiple d3dcompiler versions.
tests/hlsl_d3d12: Run test_signature_reflection() with multiple d3dcompiler versions.
tests/hlsl: Add some tests for invalid I/O semantics.
vkd3d-shader/hlsl: Disallow user-defined pixel shader outputs in shader model 4+ target profiles.
vkd3d-shader/hlsl: Do not validate unused semantic registers in shader model 1-3 target profiles.
vkd3d-shader/hlsl: Take the kind of input/output into account in sm1_usage_from_semantic_name().
vkd3d-shader/hlsl: Do not allow "sv_target" in sm1_usage_from_semantic_name().
vkd3d-utils: Support the ID3D10ShaderReflection interface in D3DReflectVKD3D().
vkd3d-utils: Support the ID3D11ShaderReflection interfaces in D3DReflectVKD3D().
vkd3d-shader/ir: Rename struct shader_signature to struct vsir_signature.
vkd3d-shader/ir: Rename struct signature_element to struct vsir_signature_element.
vkd3d-utils: Support the ID3D10ShaderReflection1 interface in D3DReflectVKD3D().
vkd3d-shader/ir: Get rid of the "input_control_point_count" parameter to control_point_normaliser_emit_hs_input().
vkd3d-shader: Get the output primitive directly from the vsir program in vsir_program_scan().
vkd3d-shader: Get the tessellator partitioning directly from the vsir program in vsir_program_scan().
tests/hlsl_d3d12: Release the shader blobs on error paths in the reflection tests.
tests/hlsl_d3d12: Add some basic thread group size reflection tests.
vkd3d-utils: Require version 40 for compute shader support.
vkd3d-utils: Implement d3d12_reflection_GetThreadGroupSize().
vkd3d-dxbc: Implement updating section data.
vkd3d-shader/ir: Remove VSIR_OP_DCL_INPUT_CONTROL_POINT_COUNT instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_OUTPUT_CONTROL_POINT_COUNT instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_TESSELLATOR_OUTPUT_PRIMITIVE instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_TESSELLATOR_PARTITIONING instructions.
vkd3d-utils: Introduce D3D10ReflectShader().
tests/hlsl_d3d12: Add some STAT reflection tests.
vkd3d-utils: Parse STAT sections in d3d12_reflection_init().
vkd3d-shader/hlsl: Use VSIR_DATA_U32 as structured buffer resource data type.
vkd3d-shader/ir: Validate that the resource data type for raw view descriptors is VSIR_DATA_U32.
vkd3d-shader/ir: Validate that the resource data type for structured view descriptors is VSIR_DATA_U32.
vkd3d-shader/spirv: Use spirv_compiler_error() in image_format_for_image_read().
vkd3d-shader/glsl: Implement support for the VSIR_REGISTER_LOCALTHREADINDEX register.
vkd3d-shader/ir: Rename struct vkd3d_shader_scan_descriptor_info1 to struct vsir_descriptor_info.
vkd3d-shader/ir: Store the array capacity inside struct vsir_descriptor_info.
vkd3d-shader/ir: Rename struct vkd3d_shader_descriptor_info1 to struct vsir_descriptor.
vkd3d-utils: Implement d3d12_reflection_GetMovInstructionCount().
vkd3d-utils: Implement d3d12_reflection_GetMovcInstructionCount().
vkd3d-utils: Implement d3d12_reflection_GetConversionInstructionCount().
vkd3d-utils: Implement d3d12_reflection_GetBitwiseInstructionCount().
vkd3d-utils: Implement d3d12_reflection_GetGSInputPrimitive().
vkd3d-utils: Implement d3d12_reflection_IsSampleFrequencyShader().
vkd3d-shader/spirv: Always load the UAV data as VSIR_DATA_U32 in spirv_compiler_emit_store_uav_raw_structured().
vkd3d-shader/glsl: Implement support for the VSIR_REGISTER_THREADGROUPID register.
vkd3d-shader/ir: Store the formatting flags in struct vsir_compile_info.
vkd3d-shader/ir: Store the "strip_debug" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the "ssbo_uavs" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the "uav_read_without_format" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the "write_tess_geom_point_size" flag in struct vsir_compile_info.
vkd3d-shader/glsl: Implement VSIR_OP_SYNC.
vkd3d-utils: Avoid leaking "name" on error paths in d3d12_type_init().
vkd3d-utils: Avoid leaking fields[] on error paths in d3d12_type_init().
vkd3d-utils: Avoid leaking "name" on error paths in d3d12_variable_init().
vkd3d-utils: Avoid leaking the default value on error in d3d12_variable_init().
vkd3d-utils: Avoid leaking "name" on error paths in d3d12_buffer_init().
vkd3d-shader/glsl: Implement support for the VSIR_REGISTER_LOCALTHREADID register.
vkd3d-shader/ir: Store the default matrix packing order in struct vsir_compile_info.
vkd3d-shader/ir: Store the backward compatibility flags in struct vsir_compile_info.
vkd3d-shader/ir: Store the fragment coordinate origin in struct vsir_compile_info.
vkd3d-shader/ir: Store the feature flags in struct vsir_compile_info.
vkd3d-shader/ir: Store the "child_effect" flag in struct vsir_compile_info.
vkd3d-shader/glsl: Implement VSIR_OP_ATOMIC_IADD.
tests/hlsl_d3d12: Avoid leaking the "errors" blobs in test_preprocess(). (Valgrind)
vkd3d-shader/ir: Store the "warn_implicit_truncation" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the "include_empty_buffers" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the denormal mode overrides in struct vsir_compile_info.
vkd3d-shader/hlsl: Add DEPTHOUT to io_dcls when outputting depth.
vkd3d-utils: Avoid leaking variables[] on error paths in d3d12_buffer_init().
vkd3d-utils: Avoid leaking buffers[] on error paths in parse_rdef().
vkd3d-utils: Avoid leaking bindings[] on error paths in parse_rdef().
vkd3d-utils: Avoid leaking buffers[] on error paths in d3d12_reflection_init().
vkd3d-utils: Avoid leaking bindings[] on error paths in d3d12_reflection_init().
vkd3d-shader/hlsl: Only consider used uniforms when updating "flat_constant_count" in generate_vsir_descriptors().
vkd3d-shader/ir: Remove VSIR_OP_DCL_TGSM_RAW instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_TGSM_STRUCTURED instructions.
vkd3d-shader/glsl: Implement TGSM loads and stores.
vkd3d-shader/glsl: Handle TGSM in shader_glsl_atomic().
tests: Enable colour output when outputting to a colour capable tty.
tests/d3dbc: Add some tests for sub instructions.
vkd3d-shader/d3dbc: Lower VSIR_OP_SUB instructions.
vkd3d-shader/glsl: Implement VSIR_OP_IMM_ATOMIC_CMP_EXCH.
tests/d3dbc: Add tests for source/destination modifiers.
vkd3d-shader/d3dbc: Lower destination shift modifiers.
vkd3d-shader/d3dbc: Lower BIAS source modifiers.
vkd3d-shader/d3dbc: Lower BIASNEG source modifiers.
vkd3d-shader/d3dbc: Lower SIGN source modifiers.
vkd3d-shader/glsl: Introduce shader_glsl_print_raw_structured_address().
vkd3d-shader/glsl: Try to simplify the address in shader_glsl_print_raw_structured_address().
vkd3d-dxbc: Support colour output in the Win32 build.
vkd3d-shader/d3dbc: Lower SIGNNEG source modifiers.
vkd3d-shader/d3dbc: Lower X2 source modifiers.
vkd3d-shader/d3dbc: Lower X2NEG source modifiers.
vkd3d-shader/d3dbc: Lower COMP source modifiers.
tests/d3dbc: Add some tests for break_cmp instructions.
vkd3d-shader/d3dbc: Lower VSIR_OP_BREAKC instructions.
vkd3d-compiler: Support colour output in the Win32 build.
tests/hlsl: Test f32 to i64/u64 conversion.
vkd3d-shader/spirv: Handle 64-bit destinations in spirv_compiler_emit_ftou().
vkd3d-shader/dxil: Generate signed destination operands for FTOI instructions.
vkd3d-shader/spirv: Handle 64-bit destinations in spirv_compiler_emit_ftoi().
tests: Support colour output in the Win32 build.
tests/hlsl_d3d12: Add ID3D12ShaderReflection_GetResourceBindingDescByName() tests.
vkd3d-utils: Implement d3d12_reflection_GetResourceBindingDescByName().
tests/hlsl_d3d12: Add ID3D12ShaderReflection_GetConstantBufferByName() tests.
vkd3d-utils: Implement d3d12_reflection_GetConstantBufferByName().
tests/hlsl_d3d12: Add ID3D12ShaderReflectionConstantBuffer_GetVariableByName() tests.
vkd3d-utils: Implement d3d12_buffer_GetVariableByName().
vkd3d-utils: Parse the creator string in parse_rdef().
vkd3d-utils: Validate the RD11 field size in parse_rdef().
vkd3d-shader/hlsl: Only use "type" when initialised in generate_signature_entry(). (Valgrind)
tests/hlsl_d3d12: Add ID3D12ShaderReflection_GetVariableByName() tests.
vkd3d-utils: Implement d3d12_reflection_GetVariableByName().
tests/hlsl_d3d12: Add ID3D12ShaderReflectionType_GetMemberTypeName() tests.
vkd3d-utils: Implement d3d12_type_GetMemberTypeName().
tests/hlsl_d3d12: Add ID3D12ShaderReflectionType_GetMemberTypeByName() tests.
vkd3d-utils: Implement d3d12_type_GetMemberTypeByName().
vkd3d-shader/ir: Free the tgsms[] array in vsir_program_cleanup(). (Valgrind)
vkd3d-shader/glsl: Handle swizzles on scalar sources in shader_glsl_print_src().
vkd3d-shader/dxil: Generate signed source operands for FIRSTBIT_SHI instructions.
tests/hlsl_d3d12: Add ID3D12ShaderReflectionVariable_GetBuffer() tests.
vkd3d-utils: Initialise the "buffer" field in d3d12_variable_init().
vkd3d-utils: Handle "null_variable" in d3d12_variable_GetBuffer().
vkd3d-common: Add missing braces to the definition of VKD3D_MUTEX_INITIALIZER.
tests/hlsl: Run bitwise.shader_test on more shader models.
vkd3d-shader/glsl: Implement VSIR_OP_COUNTBITS.
vkd3d-shader/glsl: Implement VSIR_OP_FIRSTBIT_LO.
vkd3d-shader/ir: Lower FIRSTBIT_HI and FIRSTBIT_SHI instructions.
vkd3d-shader/glsl: Implement VSIR_OP_ILOG2.
vkd3d-shader/glsl: Implement VSIR_OP_ULOG2.
vkd3d-utils: Handle NULL "desc" pointers in d3d12_reflection_GetDesc().
vkd3d-utils: Handle NULL "desc" pointers in d3d12_reflection_GetResourceBindingDesc().
tests/hlsl_d3d12: Test compile flags reflection.
vkd3d-utils: Parse the compile flags in parse_rdef().
tests/hlsl_d3d12: Test invalid blob reflection.
vkd3d-utils: Return the expected error codes from D3DReflectVKD3D() for invalid DXBC blobs in version >= 43.
vkd3d-utils: Handle NULL "data" pointers with non-zero "data_size" in d3d12_reflection_init().
vkd3d-shader/ir: Lower VSIR_OP_FIRSTBIT_SHI to VSIR_OP_FIRSTBIT_HI for the MSL target.
tests/hlsl_d3d12: Test ID3D12ShaderReflectionType_IsEqual().
vkd3d-utils: Implement d3d12_type_IsEqual().
vkd3d-shader/ir: Slightly simplify vsir_program_lower_clz().
tests/hlsl_d3d12: Add a basic interface reflection test.
vkd3d-shader/ir: Allow indirect addressing of descriptor IDs.
vkd3d-shader/tpf: Clone indirect indices of descriptor operands in shader_sm4_read_param().
vkd3d-shader/ir: Allow VSIR_REGISTER_FUNCTIONBODY label operands.
vkd3d-utils: Do not fail when "rd11->zero" is non-zero in parse_rdef().
Matteo Bruni (1):
vkd3d-utils: NULL-check the standard include initial filename.
Nikolay Sivov (5):
vkd3d-shader/fx: Support writing numeric state entries in passes for fx_2_0.
vkd3d-shader/fx: Use the global variable list instead of the externs list when writing fx_2_0 parameters.
vkd3d-shader/fx: Add support for writing shader object initializers for fx_2_0.
vkd3d-shader/fx: Use the globals list when writing fx_4+ objects.
vkd3d-shader/fx: Use the globals list when writing buffers.
Simon McVittie (2):
demos: Use STT_OBJECT instead of @object in the DEMO_ASM_OBJECT_TYPE macro.
tests/d3d12: Mark some NaN corner-cases as expected to fail on ppc64el.
Victor Chiletto (2):
tests/d3d12: Test D3D_COMPILE_STANDARD_FILE_INCLUDE with absolute paths.
tests/d3d12: Test D3D_COMPILE_STANDARD_FILE_INCLUDE with NULL paths.
```
1
0
The Wine development release 11.16 is now available.
What's new in this release:
- Mono engine updated to version 11.3.0, including ARM64 support.
- Hardware video decoding using VA-API.
- Improved exception handling on ARM64EC.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.16.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.16 (total 35):
- #19160 Orly's Draw-A-Story demo crashes on startup (dmDriverExtra is not initialized)
- #26040 Odell Down Under Demo: Pagefault on read access when moving fish around the map
- #29451 pmd85 emulator - toolbar icons missing
- #32783 Siemens Automation License Manager installer (part of SIMATIC STEP 7 Lite SP4) fails to start ALM service (Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider missing)
- #33600 Klik and Play crash on modify / create game option
- #35732 Adobe CC (Creative Cloud) installer crashes inside msxml3
- #40526 "Pettersson und Findus" does not start
- #40945 Post provider setup of WMI core 1.5 installer crashes in wbemprox
- #42062 silhouette studio : installation frozen
- #42226 No ingame sfx audio when CD Audio playing with builtin dsound in Ignition
- #46392 Commandos: Behind Enemy Lines videos aren't played
- #46559 Visual C++ Build Tools 2015 hangs on install
- #47785 CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG not taken into account
- #49792 pfx import does not works
- #49837 Just Grandma and Me (win16) softlock. Win16Mutex wait timed out
- #50824 ISdone.dll error 5, something releated to insufficient virtual memory
- #52201 Backpacker crashes on launch
- #56565 Command and Conquer 3 Tiberium Wars installer crashes
- #56887 Total Commander ftps connection (TLS1.2)
- #57669 Suspicious behavior of rundll32.exe
- #58530 regedit /e should exit silently on failure
- #58698 Application goes into an infinite loop under new wow64 but works okay under old wow64
- #59642 Stratego (1997): Jittery mouse pointer / cursor
- #59726 Syscall emulation on Linux using Syscall User Dispatch broken with glibc < 2.34
- #59757 SteelSeries GG 110.0 crashes on startup in .NET System.Security.Cryptography.X509Certificates.StorePal.Export
- #59977 Acrobat Reader DC locks up opening a PDF directly with "wine some.pdf"
- #60029 Broken cursor in Star Citizen inventory + terminal menu
- #60125 Yabridge overlaping windows on some WM produce dead zone for input
- #60141 CertCreateSelfSignCertificate with default parameters makes insecure RSA 512 cert
- #60142 CertGetCertificateContextProperty does not support CERT_SIGN_HASH_CNG_ALG_PROP_ID
- #60152 WineWayland driver doesn't work anymore in Wine 11.15
- #60158 Steam fails to launch
- #60162 WPF apps crash on startup (x86 only?)
- #60164 WebView2 mouse hit testing is vertically offset under X11
- #60198 X11 fullscreen borderless non-decorated window's surface offset by Wine's window borders
### Changes since 11.15:
```
Alex Henrie (2):
riched20: Set value to 0 in TextPara_GetAlignment.
krnl386: Respect the MOVEABLE flag in AllocResource16.
Alexandre Julliard (23):
ntdll: Export the helper function to allocate object attributes.
server: Use standard object attributes for window stations and desktops.
configure: Make the non-PE build an error unless --without-mingw is specified.
user32: Pass valid security descriptors when creating user objects.
user32: Implement Get/SetUserObjectSecurity().
server: Don't check access rights on newly-created desktop.
server: Set the object name parent also for desktops.
server: Use the root directory as winstation handle in create_desktop.
ntdll: Ignore dlls of the wrong architecture during bootstrap.
ntdll: Force running wineboot.exe with the native architecture.
win32u: Force running explorer.exe with the native architecture.
wineboot: Force running services.exe and rundll32.exe with the native architecture.
server: Return correct status on overflow in desktop_get_full_name().
wow64: Enforce a valid low limit in extended memory parameters.
ntdll: Don't try to allocate past the specified limits in map_free_area().
ntdll: Reserve some space for top-down allocation in large address aware mode.
ntdll: Avoid overflow in NtQueryVirtualMemory() in old wow64 mode.
ntdll: Set a 32-bit limit on cross-process allocations in old wow64 mode.
kernel32/tests: Move the large page test to virtual.c.
kernelbase: Fetch the large page minimum size from the user shared data.
kernel32/tests: Add some tests for MEM_PHYSICAL and MEM_LARGE_PAGES.
ntdll: Add parameter checks for MEM_LARGE_PAGES in NtAllocateVirtualMemory().
ntdll: Support the MEM_PHYSICAL flag in NtAllocateVirtualMemory().
Alistair Leslie-Hughes (1):
wintrust: Add parameter check in WTHelperGetProvCertFromChain.
Aric Stewart (2):
coreaudio: Report USB device PKEY_Device_InstanceId.
mmdevapi: Propagate the hardware Device_InstanceId.
Bernhard Übelacker (2):
winhttp: Avoid heap-use-after-free with WINHTTP_OPTION_SERVER_CBT.
wow64win: Add structure conversions in wow64_NtUserGetPointerInfoList.
Brendan McGrath (18):
windows.gaming.input: Allow gamepad added callback to be registered before initializing providers.
quartz/tests: Add test stub for color space converter.
quartz/tests: Add test for filter registration.
quartz/tests: Add interface tests for colorconv.
quartz/tests: Add aggregation test.
quartz/tests: Add enum pin test.
quartz/tests: Add find pin test.
quartz/tests: Add pin info test.
quartz/tests: Add media types test.
quartz/tests: Add enum media types test.
quartz/tests: Add unconnected filter state test.
quartz/tests: Add connect pin test.
quartz/tests: Add sink allocator test.
quartz/tests: Add filter state test.
quartz/tests: Add sample processing test.
quartz/tests: Test content of image.
quartz/tests: Test dynamic format change.
quartz/tests: Add streaming events test.
Brendan Shanks (3):
ntdll: NtQuerySystemInformation(SystemProcessorBrandString) is only supported on i386 and x86_64.
ntdll: Populate the CPU name and vendor on ARM64 macOS.
ws2_32/tests: Remove faulty inet_addr() test.
Carl-Friedrich Braun (2):
rsaenh: Use SymCryptAesKeyCopy() when duplicating AES keys.
rsaenh/tests: Test that a duplicated AES key encrypts identically.
Conor McCarthy (11):
bcrypt/tests: Test non-HMAC BCryptHash() with a secret.
bcrypt/tests: Test BCryptDeriveKey() with secret buffers.
bcrypt: Return INVALID_PARAMETER from BCryptHash() if the input secret is not used.
bcrypt: Handle prepended secret buffers in BCryptDeriveKey() for KDF_HASH.
wbemdisp/tests: Test ISWbemObjectPath::DisplayName.
wbemdisp/tests: Test ISWbemObject set enumeration.
wbemdisp: Handle null output pointer in enumvar_Next().
wbemdisp: Add ISWbemObjectPath stub implementation.
wbemdisp: Partially implement get ISWbemObjectPath::DisplayName.
wbemdisp: Implement ISWbemObject::GetTypeInfo().
wbemdisp: Return null object on failure of QueryInterface().
Deep Agrawal (2):
kernelbase: Implement ReadConsoleInputEx.
kernelbase: Reimplement PeekConsoleInput and ReadConsoleInput on top of ReadConsoleInputEx.
Elizabeth Figura (25):
xaudio2: Release the correct lock on failure in CreateSourceVoice().
wined3d: Introduce a stub VA decoder backend.
wined3d: Allocate the bitstream on CPU for the VA backend.
win32u: Enable VK_EXT_physical_device_drm and VK_EXT_external_memory_dma_buf.
wined3d: Query VA for H.264 support.
wined3d: Create a VA decoding session.
wined3d: Share VA surfaces with Vulkan.
wined3d: Implement VA H.264 decoding.
mountmgr: Pass the device type to IoCreateDevice().
mountmgr: Pass characteristics to IoCreateDevice().
mountmgr: Rename the "serial" field of struct disk_device to "disk_serial".
mountmgr: Consistently use "unix_device" for variables representing the Unix block device path.
mountmgr: Move unix_mount to struct volume.
mountmgr: Document the difference between struct disk_device and struct volume.
mountmgr: Rename harddisk_* to disk_*.
mountmgr.sys: Handle IRP_MJ_CREATE.
ndis: Handle IRP_MJ_CREATE.
nsiproxy: Handle IRP_MJ_CREATE.
winebth: Handle IRP_MJ_CREATE.
mouhid: Handle IRP_MJ_CREATE.
wined3d: Pass a VkImageCreateInfo to wined3d_context_vk_create_image().
d3d11: Plumb resource sharing flags to wined3d.
d3d11: Validate shared resource flags.
wined3d: Make WINED3D_TEXTURE_GENERATE_MIPMAPS a usage flag.
wined3d: Try to perform CPU copy in wined3d_texture_update_sub_resource().
Eric Pouech (2):
cmd: Revert AI generated code.
widl: Handle boolean as template parameter.
Esme Povirk (2):
appwiz.cpl: Move architecture to addon_info_t.
mscoree: Update Wine Mono to 11.3.0.
Francisco Casas (1):
wined3d: Don't call vulkan functions with 0 attachments on wined3d_context_vk_update_blend_state().
Gabriel Ivăncescu (1):
mshtml: Don't leak the attribute after forwarding in setAttributeNode.
Hans Leidekker (1):
crypt32: Support CertGetCertificateContextProperty(CERT_SIGN_HASH_CNG_ALG_PROP_ID).
Henri Verbeet (1):
d3dcompiler_46: Return E_NOINTERFACE from D3DReflect() for unsupported interfaces.
Hugo Osvaldo Barrera (1):
winex11: Fix use-after-free in GL_EXTENSIONS string.
Ivan Ivlev (9):
comctl32/tests: Test wrapping for fixed size toolbar and autosized buttons.
comctl32/toolbar: Add TOOLBAR_AutoSizeButtonWidth from LayoutToolbar as a separate function.
comctl32/toolbar: Use TOOLBAR_AutoSizeButtonWidth in WrapToolbar.
comctl32/toolbar: Remove redundant toolbar wrapping logic.
ntdll/tests: Test NtAllocateVirtualMemory user address limit.
ntdll/tests: Test NtMapViewOfSection user address limit.
ntdll/tests: Test NtAllocateVirtualMemoryEx user address limit.
ntdll/tests: Test NtMapViewOfSectionEx user address limit.
ntdll: Validate virtual memory ranges against the user address limit.
Jacek Caban (7):
winegcc: Disable safeseh by default.
ntdll: Fix CONTEXT_ARM64_X18 handling when setting another thread's context.
ntdll: Move KiUserEmulationDispatcher setup to syscall dispatcher exit code.
ntdll: Setup KiUserEmulationDispatcher in usr1_handler when needed.
ntdll: Set InSimulation before returning to KiUserEmulationDispatcher from the kernel side.
ntdll: Don't use entry thunk context in RtlRaiseException.
ntdll: Preserve exception flags when converting between x64 and arm64 context flags.
Ken Sharp (3):
regedit: /e should exit silently if key not found.
ntdll: Remove debug_init declaration.
ntdll: Avoid sign extension when parsing MaxVersionTested.
Matteo Bruni (1):
win32u: Fix get_locale_data() table entry lookup.
Nikolay Sivov (19):
oleaut32/tests: Add a test for Invoke() with typeinfo from CreateDispTypeInfo().
oleaut32/typelib: Make it possible to Invoke() through COCLASS type.
msxml3: Remove commented out leftover line.
msxml3/tests: Add one more test for document dirty state.
msxml3/tests: Add some tests for supported interfaces for XMLHTTP objects.
comctl32/tests: Add more tests for TCM_SETCURFOCUS.
comctl32/tests: Remove trace noise from the Tab tests.
comctl32/tab: Ignore negative index TCM_SETCURFOCUS for TCS_BUTTONS controls.
comctl32/tests: Add a Tab test for switching focus from -1 value.
comctl32/tab: Fix switching focus from unset state.
comctl32/tab: Update item pressed state on focus change.
d3d10/tests: Add some state block capture tests with disabled fields.
d3d10/stateblock: Fix mask checks for byte-sized fields.
d3dx10/sprite: Check for the Begin/End state in affected methods.
d3dx10/tests: Add some tests for the sprite state saving feature.
d3dx10/sprite: Partially implement state restore functionality.
d3dx10/sprite: Collect sprites on DrawSpritesBuffered().
include: Add some matrix functions prototypes to d3dx10math.h.
d3dx10/tests: Add some sprites rendering tests.
Paul Gofman (20):
ntdll: Implement NtQuerySystemInformation( SystemNumaProcessorMap ).
kernelbase: Implement GetNumaHighestNodeNumber().
kernel32: Implement GetNumaProcessorNode[Ex]().
kernel32: Add FIXME to GetNumaProximityNode() stub.
kernelbase: Implement GetNumaNodeProcessorMask[Ex]().
kernelbase: Add FIXME to GetNumaProximityNodeEx().
ntdll/tests: Remove spurious pointer advance in test_query_numa_map().
ntdll: Check iosb for FSCTL_GET_OBJECT_ID in open_dll_file().
quartz/tests: Add tests for implicit fullscreen support by filter graph.
quartz: Implement BaseControlWindowImpl_GetRestorePosition().
quartz: Introduce fullscreen mode emulation in filtergraph.
quartz: Implement entering and leaving emulated fullscreen mode.
ntdll: Add WAYLAND_DISPLAY to ignored variables list.
msvcrt: Introduce asm wrapper for _isatty on x64.
winhttp: Support WINHTTP_QUERY_FLAG_NUMBER64 with WINHTTP_QUERY_CONTENT_LENGTH.
msvcrt: Always set WX_TEXT flag when importing std handles.
msvcrt: Initialize std handles in a loop in msvcrt_init_io().
msvcrt: Don't update system std handles in msvcrt_init_io().
msvcrt: Also inherit WX_ATEOF and WX_READNL attributes.
ntdll: Treat 'reached_thread_count > total_thread_count' the same as equal in RtlBarrier().
Piotr Caban (18):
include: Add SECPKG_CALL_* definitions.
secur32: Don't convert authentication identity in lsa_AcquireCredentialsHandleA.
secur32: Handle memory allocated with lsa_AllocateClientBuffer in FreeContextBuffer.
msv1_0: Use GetCallInfo to obtain thread and process id.
msv1_0: Fix client buffer handling in ntlm_SpQueryCredentialsAttributes.
msv1_0: Fix client buffer handling in ntlm_SpQueryContextAttributes.
kerberos: Handle SEC_WINNT_AUTH_IDENTITY_EX in SpAcquireCredentialsHandle.
kerberos: Use LSA_SECPKG_FUNCTION_TABLE to call Lsa functions.
kerberos: Fix client buffer handling in kerberos_SpQueryContextAttributes.
secur32: Pass unmodified authentication data from nego_SpAcquireCredentialsHandle().
msv1_0: Fix auth_data client buffer handling in ntlm_SpAcquireCredentialsHandle.
kerberos: Fix auth_data client buffer handling in kerberos_SpAcquireCredentialsHandle.
msv1_0: Map SecBuffer data before accessing it in ntlm_SpInitLsaModeContext and ntlm_SpInitLsaModeContext.
kerberos: Map SecBuffer data before accessing it in kerberos_SpInitLsaModeContext and kerberos_SpAcceptLsaModeContext.
secur32: Initialize user mode handle in lsa_InitializeSecurityContextW.
secur32: Initialize user mode handle in lsa_AcceptSecurityContext.
secur32: Don't access Lsa mode data in negotiate user mode functions.
msv1_0: Don't access Lsa mode data in user mode functions.
Ralf Habacker (2):
ntdll: Fix some SIMD exception codes.
ntdll/tests: Add SIMD exception test for floating point overflow operation fault.
Rémi Bernon (37):
win32u: Avoid a race condition when releasing / detaching a client surface.
win32u: Keep unused client surfaces around and reuse them if possible.
opengl32: Move wglCopyContext implementation to the PE side.
opengl32: Keep vendor / renderer strings in opengl_client_context.
opengl32: Keep context version string in opengl_client_context.
opengl32: Move debug callback / user pointers to opengl_client_context.
opengl32: Optionally return client context from get_current_context.
opengl32: Move unix-side context wrapper allocation to win32u.
win32u: Remove wgl functions that aren't doing anything.
user32/tests: Cleanup AttachThreadInput tests.
user32/tests: Test that thread input attachments are refcounted.
server: Move desktop check out of attach_thread_input.
server: Pass desktop instead of thread to create_thread_input.
server: Assume thread queues are valid in attach_thread_input.
user32/tests: Improve reparenting tests with different DPI awareness.
server: Check DPI awareness contexts when reparenting windows.
server: Don't change DPI awareness context when reparenting.
win32u: Avoid calling monitor_dpi_from_rect when creating the desktop window.
server: Return the visible rect from get_window_rectangles request.
server: Use the receiving window thread for set_window_rect_visible.
opengl32: Set glTable before calling init_client_context.
win32u: Allocate a proper opengl_context struct for internal contexts.
win32u: Use toplevel visible rect relative position for client surfaces.
win32u: Latch the client surface sizes in the opengl_drawable struct.
opengl32: Initialize the scissor box when making context current.
opengl32: Restore read and draw buffers when popping default FBOs.
win32u: Move framebuffer_surface_resize into framebuffer_surface_flush.
win32u: Introduce helpers to resize / destroy framebuffer attachments.
server: Update both shared input at once in assign_thread_input.
server: Update shared input keystate in assign_thread_input.
server: Update focus and active windows in assign_thread_input.
server: Detach the parent window thread input when reparenting.
server: Implement thread input attachments refcounting.
opengl32: Wrap glGetFramebufferParameteriv separately from its extensions.
opengl32: Ignore the currently bound FBO in glGetFramebufferParameterivEXT.
winex11: Use the client surface monitor rect for offscreen present.
winex11: Allow child D3D presentation on fullscreen exclusive toplevel.
Rüdiger Lenz (1):
winex11: Preserve fractional raw mouse motion.
Santino Mazza (1):
d2d1: Implement DrawSpriteBatch() command list recording.
Stefan Dösinger (3):
wined3d: Don't delay-clear backbuffers except to black.
d3d11/tests: Test delayed clear RGB/sRGB mismatch.
d3d10/tests: Synchronize test_swapchain_views with d3d11.
Thomas Portal (1):
winebus.sys: Report USB class compatible IDs.
Tobiasz Laskowski (10):
jscript/tests: Ensure windows run uses jscript.dll.
comctl32/tests: Check multicolumn listbox redraw.
user32/tests: Check multicolumn listbox redraw.
comctl32/listbox: Fix SetRedraw top item handling.
user32/listbox: Fix SetRedraw top item handling.
gdiplus/tests: Check drawimage without attributes.
gdiplus/metafile: Allow drawimage without attributes.
gdiplus/tests: Check drawimage corner colors.
gdiplus/metafile: Fix emf+ image rendering.
gdiplus/tests: Clean up converged cases.
Zhiyi Zhang (12):
jscript: Separate keyword searching from parsing.
jscript: Support Unicode characters in identifiers.
jscript/tests: Add ES3 identifier tests.
mshtml/tests: Add ES5 identifier tests.
dinput/tests: Test setting two actions with the same control identifier.
dinput: Check device GUID in init_object_app_data().
winemac.drv: Hide client_view when flushing window surfaces.
winex11.drv: Allow ConfigureRequest events when the window is maximized.
mmdevapi: Use MulDiv() to avoid rounding errors.
winecoreaudio: Set the requested period frame size when creating audio streams.
winecoreaudio: Add a helper to get device sample rate.
winecoreaudio: Return the actual Core Audio device period frame size.
```
1
0
The Wine development release 11.15 is now available.
What's new in this release:
- More KDF algorithms in BCrypt.
- Support for ARM64EC build in Mingw mode.
- More format conversions in WindowsCodecs.
- Support for local NTLM authentication.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.15.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.15 (total 41):
- #4811 MSXML3: XMLDOMDocument cannot be queried for IStream interface
- #11595 Notepad++ versions prior to 6.9 freeze if native application changes a file it has open when not in a virtual desktop (dogfood)
- #20584 Lemmings Revolution - Crash on exit.
- #21940 Rise of Legends Demo crashes with null pointer reference in msxml3?
- #23319 cmd thinks shift.exe is an internal command
- #30239 Multiple Adobe CS6 trial installers fail to initialize, reporting 'Exception caught while getting payloads data combined. Error #1090'
- #33984 Nokia Music Player: extraneous transparent gray border in installer window
- #35727 Tom Clancy's Rainbow Six: Lockdown Demo wrong players and weapon rendering
- #37896 EM_SETPASSWORDCHAR ineffective on multiline edit controls
- #43031 popen() hangs when both stdin and stdout are closed
- #50109 conhost: write_console beep doesn't produce a beep
- #54928 exclamation mark ! in string missing if EnableDelayedExpansion
- #55198 QuickBooks SS 2009 installer crash
- #55447 wine cannot parse valid javascript
- #56399 cmd.exe's %~s modifier (short DOS path) expands to mixed short/long format
- #57967 Wrong Z-order in Browse for Folder from MPC-HC 1.7.13
- #58112 Unimplemented function KERNEL32.dll.InitializeSynchronizationBarrier
- #59073 Washed out colors in OpenGL
- #59436 Wayland/EGL: Washed-out colors caused by double sRGB conversion on default framebuffer (GL_FRAMEBUFFER_SRGB)
- #59898 Wine on aarch64 fails on linux with CONFIG_ARM64_VA_BITS=39
- #59926 CharPrevA/CharPrevExA crash on NULL start pointer (MapleStory 216150 fails to launch)
- #59970 monitor_get_dpi will get zero dmPelsWidth/dmPelsHeight in both physical/current cause divide by zero
- #59980 Final Fantasy XI Online: Unexpected Right Shift behaviour.
- #59986 Mouse misbehaves in Steam
- #59998 Multiple applications freeze (Mugen, Touhou 8, Final Burn Neo)
- #59999 Application (e. g. WinSCP) freeze after resize its window
- #60002 YNAB 4 mouse position incorrect
- #60005 Pegasus hangs and crashes
- #60012 HOTAS controlls by WinWing are not recognized and even aggresively mapped as some x-box controller.
- #60023 Dialogs in some applications are rendered at a quarter of their actual size in Wine 11.13 under certain conditions, e.g. DPI = 144 (IrfanView, WinSCP)
- #60036 WMI queries via PS Core do not work with mono.
- #60037 Fixed resolution 4:3 fullscreen apps on Wayland have their content offset and present some undefined padding area
- #60046 Multiple 32-bit applications including wine builtins (winecfg / regedit / etc.) crash under wine-11.13.
- #60051 KakaoTalk intermittently hangs
- #60057 gdiplus: GdipCloneBitmapArea drops trailing pixels for 1bpp/4bpp bitmaps with non-byte-aligned width
- #60063 shell32: SHBrowseForFolder crashes when an application passes an invalid BROWSEINFO.pidlRoot
- #60068 wminet_utils: implement GetErrorInfo()
- #60069 WordPerfect 7 installation fails
- #60088 ole32/storage: extra trailing NUL byte written into name of stream nested in a substorage (breaks MS Publisher .pub file portability)
- #60093 Unable to combine 32 bit arm with i386 emulation on aarch64
- #60120 Amnesia: Rebirth crashes after the splash screens
### Changes since 11.14:
```
Alex Dujardin (4):
windowscodecs: Add 32bppBGRA, 32bppPBGRA -> 64bppPRGBA conversion.
windowscodecs: Add 64bppPRGBA -> 128bppRGBAFloat conversion.
windowscodecs: Add 64bppPRGBA -> 128bppPRGBAFloat conversion.
windowscodecs: Remove incorrectly added bound check.
Alex Henrie (3):
kernelbase: Make Char(Next|Prev)A call Char(Next|Prev)ExA.
kernelbase: Search backwards in CharPrevExA.
user32/tests: Add tests for CharPrev(Ex)A.
Alexandre Julliard (28):
wmc: Remove an unused variable.
install: Remove an unused variable.
server: Pass unicode_str objects by value where possible.
server: Add a structure to store object initialization parameters.
server: Pass an object parameters structure to create_named_object().
server: Pass an object parameters structure to open_named_object().
server: Add an init() object operation.
server: Implement the init() operation for events.
server: Implement the init() operation for mutexes.
server: Implement the init() operation for semaphores.
server: Implement the init() operation for timers.
server: Implement the init() operation for debug objects.
server: Implement the init() operation for ALPC ports.
server: Implement the init() operation for completion objects.
server: Implement the init() operation for directories.
server: Implement the init() operation for symlinks.
server: Implement the init() operation for mailslots.
server: Implement the init() operation for named pipes.
server: Implement the init() operation for devices.
server: Implement the init() operation for sections.
server: Implement the init() operation for registry keys.
server: Implement the init() operation for reserve objects.
server: Implement the init() operation for job objects.
server: Implement the init() operation for window stations and desktops.
server: Move the name length check into open_named_object().
server: Add a helper to create an object and its handle.
symcrypt: Don't enforce any alignment in non-PE builds.
ntdll: Redirect to sysarm32 directory on ARM wow64.
Alfred Agrell (3):
vidreszr: Register the correct media types.
vidreszr: Implement CResizerDMO by piggybacking on CColorConvertDMO.
mf: Add tests for video resizer DMO.
Alistair Leslie-Hughes (5):
include: Add more defines in wdm.h.
include: Add more defines in fltkernel.h.
include: Add Flag* defines.
include: Add fltuser.h.
include: Add fltuserstructures.h.
Allan Vester (2):
bcrypt: Add tests for BCRYPT_INITIALIZATION_VECTOR.
bcrypt: Support BCRYPT_INITIALIZATION_VECTOR.
Arkadiusz Hiler (1):
winebus: Fix initial axis values for evdev gamepads.
Attila Fidan (2):
shell32/tests: Test SHBrowseForFolderW() with CSIDL values.
shell32: Accept CSIDL values in SHBrowseForFolderW().
Barath Kannan (1):
conhost: Add beep functionality to write_console.
Benoît Legat (1):
crypt32: Ignore trailing bytes past the outer SEQUENCE in PFXImportCertStore.
Bernhard Übelacker (3):
win32u: Fix off-by-one in kbdus_tables.
comctl32/tests: Add test of LM_GETIDEALSIZE being more greedy in width.
comctl32_v6: Improve LM_GETIDEALSIZE to be more greedy in width.
Billy Laws (1):
ntdll: Add RtlWow64SuspendThread semi-stub implementation.
Brendan Shanks (5):
dinput/tests: Fix tests that are faulty because of == vs ?: operator precedence.
msado15/tests: Fix typos.
advapi32/tests: Fix typo.
msvcp120/tests: Fix tests that are faulty because of == vs ?: operator precedence.
ucrtbase/tests: Fix tests that are faulty because of == vs ?: operator precedence.
Conor McCarthy (1):
mfreadwrite: Do not return NEED_MORE_INPUT from source_reader_push_transform_samples().
Dan Fraser (1):
dnsapi: Add stubs for the DNS-SD service entry points.
Dean M Greer (1):
documentation: Update macOS version.
Elizabeth Figura (11):
d3d11/tests: Shrink NV12 test textures a bit.
wined3d: Separate a surface_cpu_blt_plane() helper.
wined3d: Implement planar CPU blits.
d3d11/tests: Test planar CPU blits.
wined3d: Separate a wined3d_decoder_vk_prepare_image() helper.
wined3d: Separate a wined3d_decoder_vk_create_layered_image() helper.
wined3d: Separate a wined3d_decoder_vk_destroy_images() helper.
wined3d: Handle dynamic resizing of the H.264 stream.
win32u: Make win32u_vkDestroySwapchainKHR() static.
win32u: Do not use EXT_external_memory_dma_buf.
ntdll: Search for the library containing sa_restorer.
Eric Pouech (3):
winedbg: Support larger strings in DebugString.
winedbg: Let 'maint module' be a bit more useful.
winedbg: Support watch operation larger than 4 bytes.
Esme Povirk (2):
winedump: Use the Length from the metadata header.
winedump: Handle incremental CLR images.
Etaash Mathamsetty (1):
winewayland: Use the visible rect for toplevel rect.
Hans Leidekker (10):
bcrypt: Add support for BCRYPT_TLS1_{1,2}_KDF_ALGORITHM.
bcrypt: Support retrieving hash block length.
bcrypt: TLS1 KDF label is optional.
bcrypt: Add support for BCRYPT_HKDF_ALGORITHM.
msi: Close the RPC connection on dll unload.
secur32: Use bcrypt to hash the certificate in schan_QueryContextAttributesW().
winhttp: Support WinHttpQueryOption(WINHTTP_OPTION_SERVER_CBT).
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS).
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT).
crypt32: Use the strong provider in CertCreateSelfSignCertificate().
Henri Verbeet (1):
wined3d: Add GPU information for AMD REMBRANDT.
Iliya Andrienko (2):
gdiplus: Fix convert_pixels() rounding down bytes.
gdiplus: Add sub-byte formats logic to GdipImageRotateFlip.
Jacek Caban (2):
winegcc: Always add Clang target options to the compiler command when building ARM64X image.
ntdll: Run native-ready .net applications as ARM64EC on ARM64.
Jannis Lübke (3):
wined3d: Don't hold wined3d cs mutex when waiting for frame latency.
d3dx9/tests: Add tests for D3DXIntersect() and D3DXIntersectSubset().
d3dx9: Implement D3DXIntersect() and D3DXIntersectSubset().
Ken Sharp (1):
po: Update English resource.
Lokesh Poovaragan (4):
jscript: Don't insert implicit semicolon after '.' in member expressions.
cmd: Handle caret escape in delayed expansion.
cmd/tests: Add tests for %~s short path modifier.
cmd: Fix %~s modifier to produce fully short paths.
Louis Lenders (7):
wminet_utils: Add NextMethod.
wminet_utils: Add EndMethodEnumeration.
wminet_utils: Add GetMethod.
wminet_utils: Add GetMethodQualifierSet.
wminet_utils: Add QualifierSet_Get.
wminet_utils: Add GetPropertyQualifierSet.
wminet_utils: Add GetErrorInfo.
Maotong Zhang (2):
comctl32/tests: Add test for RBBS_VARIABLEHEIGHT band height handling.
comctl32: Clamp child height when cyIntegral is zero.
Martin Storsjö (2):
include: Use __atomic_exchange_n on Clang.
include: Fix building for arm64ec in mingw mode.
Matteo Bruni (3):
winex11: Get rid of special handling for right shift in X11DRV_GetKeyNameText().
win32u: Don't ignore raw mouse input.
d3dx9/tests: Fix a flaky D3DXWeldVertices() test.
Nello De Gregoris (1):
ntoskrnl.exe: Add stub for KeGetCurrentIrql().
Nikolay Sivov (20):
comdlg32/filedlg: Return current path as is for CDM_GETFILEPATH if it's absolute.
ole32/storage: Update name size field on rename.
msxml3/tests: Add a test for the document stream.
msxml3/tests: Add another stream read test.
msxml3: Write out UTF-16 BOM in save().
msxml3/tests: Extend a test with multiple writing streams.
msxml3/tests: Adjust stream test XML data.
msxml3/stylesheet: Improve processor output object management.
msxml3/dom: Add IStream support for the document object.
msxml3: Remove now unnecessary workaround in save().
msxml3: Use ISequentialStream internally for save().
msxml3: Explicitly handle ISequentialStream in save().
msxml3: Add explicit messages for currently unsupported destination types in save().
comdlg32/tests: Add a CDM_SETCONTROLTEXT(edt1) test.
comdlg32: For CDM_SETCONTROLTEXT(edt1) always use current file control.
msxml3: Handle null destination object in save().
msxml3/tests: Add a test for loading from a document.
msxml3: Remove workaround when loading from a document in load().
include: Add IRequest definition.
msxml3: Explicitly check and warn about currently unsupported source types in load().
Paul Gofman (10):
winebus: Avoid spurious device recreation in process_inotify_event().
kernel32/tests: Add tests for unhandled exception filter with BeingDebugged PEB flag set.
kernel32/tests: Add tests for unhandled exception filter under debugger.
kernelbase: Query debug port instead of BeingDebugged PEB flag in UnhandledExceptionFilter().
crypt32: Avoid adding spurious line separator in encodeBase64[A/W]().
crypt32: Fix output string tracing in quote_rdn_value_to_str_w().
winhttp: Handle incorrect handle state when querying WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT.
winhttp: Use chain established in netconn_verify_cert() for WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT.
cmd/tests: Add test for console mode change.
cmd: Set console mode in node_execute().
Piotr Caban (23):
secur32/tests: Add NTLM QueryCredentialsAttributes(SECPKG_CRED_ATTR_NAMES) tests.
msv1_0: Use calloc to allocate credentials handle in ntlm_SpAcquireCredentialsHandle.
msv1_0: Add ntlm_SpQueryCredentialsAttributes stub.
msv1_0: Add ntlm_SpQueryCredentialsAttributes implementation.
msv1_0: Hide password in logs.
msv1_0: Remove FLAG_NEGOTIATE_* defines and use NTLMSSP_NEGOTIATE_* instead.
ntoskrnl: Implement IoGetRequestorProcessId.
msv1_0: Implement in-process NTLM local authentication.
msvcr120/tests: Restore exp() tests.
ucrtbase: Fix exp(NAN) handling.
msv1_0: Don't overwrite output buffer when getting session key.
include: Declare SEC_WINNT_AUTH_IDENTITY_EX2.
secur32/tests: Add SspiMarshalAuthIdentity tests.
secur32/tests: Add SspiUnmarshalAuthIdentity tests.
sspicli: Handle more auth identity formats in SspiZeroAuthIdentity.
sspicli: Handle more auth identity formats in SspiEncodeAuthIdentityAsStrings.
sspicli: Handle more auth identity formats in SspiPrepareForCredWrite.
sspicli: Change auth identity format returned by SspiEncodeStringsAsAuthIdentity.
sspicli: Use LocalAlloc/LocalFree when allocating auth identity.
sspicli: Handle more auth identity formats in SspiFreeAuthIdentity.
secur32: Implement SspiMarshalAuthIdentity() and SspiUnmarshalAuthIdentity().
secur32: Pass stub LSA_SECPKG_FUNCTION_TABLE to SpInitialize.
msv1_0: Get clients process id and thread id using LSA functions table.
Rick Rey (1):
winebus.sys: Prefer hidraw for (some) switch 1 controllers.
Rémi Bernon (10):
opengl32: Use unsigned handle entry pointer index.
opengl32: Add some missing SetLastError on invalid handles.
win32u: Use system DPI as monitor DPI for detached sources.
user32/tests: Fix monitor DPI awareness tests when system DPI isn't 96.
user32/tests: Test window DPI context and monitor DPI in CBT hooks.
user32/tests: Check child window DPI awareness and monitor changes.
win32u: Lock host window state updates when applying new state.
opengl32: Pass NULL object array pointers through.
dinput/tests: Fix incorrect GetOverlappedResult test expectation.
win32u: Pass initial monitor DPI to the window creation request.
Santino Mazza (3):
d2d1/tests: Add some tests for sprite batches.
d2d1: Implement sprite batch object methods.
cmd: Fix usage of uninitialized variable in node_build_parse.
Thomas Portal (2):
dnsapi: Implement DnsServiceConstructInstance() and DnsServiceFreeInstance().
dnsapi/tests: Add tests for DnsServiceConstructInstance().
Tobiasz Laskowski (9):
jscript: Fix String.replace with multi-digit group.
jscript: Fix internal state of RegExp.prototype.
jscript/tests: Add tests for RegExp.prototype use.
comctl32/tests: Check listbox SETTOPINDEX errors.
user32/tests: Check listbox SETTOPINDEX errors.
comctl32/listbox: Handle out-of-bounds SETTOPINDEX.
user32/listbox: Handle out-of-bounds SETTOPINDEX.
jscript: Fix zero-length regex matches.
jscript/tests: Add more tests for 0-length regex.
Tomáš Novotný (1):
winebus: Enable hidraw by default for Winwing Orion controllers.
Vibhav Pant (4):
rometadata: Implement IMetaDataImport::{EnumMembers, EnumMembersWithName}.
rometadata: Implement IMetaDataImport::FindMember.
rometadata/tests: Add tests for IMetaDataImport::{EnumCustomAttributes, GetCustomAttributeProps}.
maintainers: Add entry for WinRT Metadata.
Vlad Zahorodnii (1):
winewayland: Add support for wl_fixes.ack_global_remove.
Yuxuan Shui (4):
mfplat/tests: Test how the MPEG4 media source handles aspect ratio info.
mfreadwrite: Don't modify the `type` parameter in src_reader_SetCurrentMediaType.
mfreadwrite/tests: Test how aspect ratios are handled by the reader.
mfreadwrite: Ensure output has a 1:1 pixel aspect ratio if processing is enabled.
Zhiyi Zhang (1):
winex11.drv: Remove some noisy traces.
```
1
0