The streaming threads and GST_Seeking_SetPositions() contend for the same flushing locks.
GST_Seeking_SetPositions() needs to acquire all the flushing locks before doing the actual
stream seeking, having the streaming threads fighting for the same locks will make
GST_Seeking_SetPositions() wait for a unusually long time.
This reduces PowerPoint 2016 video seeking time from ~5s to almost an instant and fixes a regression
for Fallout 3.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53403
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1239
Enforce proper atomic update so that other threads do not read stale
data from IO_STATUS_BLOCK.
Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com>
--
v17: ntdll: Fix reading stale Information from IOSB.
https://gitlab.winehq.org/wine/wine/-/merge_requests/155
On Windows, application-specific settings are stored in the registry
under HKCU\\Console\\<path_to_app>.
Our implementation of conhost.exe does not know which process is
connected to it, so we need to get the full process image name before
loading any application-specific console settings.
To do this, we extend the server protocol to pass the process Id of
the connected console process to conhost.exe.
Please run tools/make_requests before merging.
--
v4: conhost: Load/Save console settings using the process path or window title
https://gitlab.winehq.org/wine/wine/-/merge_requests/1492
On Linux, the FAT filesystem implementation allows DOS file attributes to be applied to files and
queried through a family of ioctls. Note that these ioctls are not yet supported by the NTFS or CIFS
drivers.
Signed-off-by: Joel Holdsworth <joel(a)airwebreathe.org.uk>
--
v4: ntdll: Add integration with Linux FAT file attributes
https://gitlab.winehq.org/wine/wine/-/merge_requests/1414
This patch series includes an implementation of the long-pending `transpose` intrinsic and the `smoothstep` intrinsic.
While implementing `smoothstep` I realized that some intrinsics have different rules for the allowed data types than expressions:
- Vectors and matrices at the same time are not allowed, regardless of their dimensions. Even if they have the same number of components.
- Any combination of matrices is always allowed, even those when no matrix fits inside another, e.g.:
`float2x3` is compatible with `float3x2`, resulting in `float2x2`.
The common data type is the min on each dimension.
This is the case for `max`, `pow`, `ldexp`, `clamp` and `smoothstep`; which suggest that it is the case for all intrinsics where the operation is applied element-wise. So this was corrected.
A minor fix in `pow`'s type conversion is also included.
--
v2: vkd3d-shader/hlsl: Use add_unary_arithmetic_expr() in intrinsic_pow().
vkd3d-shader/hlsl: Convert elementwise intrinsics args to the proper common type.
tests: Test for common type conversion for element-wise intrinsics.
vkd3d-shader/hlsl: Support smoothstep() intrinsic.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/53
This is a draft proposal for enabling long types in wined3d.
Its purpose is to share with wined3d maintainers the best way to
enable long types. It's not meant to be committed as is (draft MR).
I tried to minimize the number of changes by migrating some types to
pure int/unsigned int types.
The net result is not a huge change, but still quite a change:
dlls/d3d11/device.c | 6 +-
dlls/d3d8/device.c | 4 +-
dlls/d3d9/device.c | 4 +-
dlls/ddraw/ddraw.c | 4 +-
dlls/wined3d/Makefile.in | 1 -
dlls/wined3d/adapter_gl.c | 32 ++++-----
dlls/wined3d/adapter_vk.c | 18 +++---
dlls/wined3d/arb_program_shader.c | 84 ++++++++++++------------
dlls/wined3d/ati_fragment_shader.c | 4 +-
dlls/wined3d/buffer.c | 16 ++---
dlls/wined3d/context_gl.c | 26 ++++----
dlls/wined3d/cs.c | 14 ++--
dlls/wined3d/device.c | 52 +++++++--------
dlls/wined3d/directx.c | 40 ++++++------
dlls/wined3d/glsl_shader.c | 112 ++++++++++++++++----------------
dlls/wined3d/nvidia_texture_shader.c | 12 ++--
dlls/wined3d/palette.c | 14 ++--
dlls/wined3d/query.c | 34 +++++-----
dlls/wined3d/resource.c | 12 ++--
dlls/wined3d/sampler.c | 4 +-
dlls/wined3d/shader.c | 51 ++++++++-------
dlls/wined3d/shader_sm1.c | 12 ++--
dlls/wined3d/shader_sm4.c | 62 +++++++++---------
dlls/wined3d/shader_spirv.c | 4 +-
dlls/wined3d/state.c | 84 ++++++++++++------------
dlls/wined3d/stateblock.c | 36 +++++------
dlls/wined3d/surface.c | 32 ++++-----
dlls/wined3d/swapchain.c | 85 ++++++++++++------------
dlls/wined3d/texture.c | 60 ++++++++---------
dlls/wined3d/utils.c | 34 +++++-----
dlls/wined3d/vertexdeclaration.c | 10 +--
dlls/wined3d/view.c | 26 ++++----
dlls/wined3d/wined3d_main.c | 16 ++---
dlls/wined3d/wined3d_private.h | 122 +++++++++++++++++------------------
include/wine/wined3d.h | 29 +++++----
35 files changed, 580 insertions(+), 576 deletions(-)
This is a fairly long series as:
- long type enabling is done on a file basis instead of the module basis.
- I tried to split as much as possible:
+ global changes (shared across multiple file)
+ type changes linked to a single file
+ printf-related changes linked to a single file.
At the implementation level, there's lots of things to be discussed:
- choice of integral type (unsigned int/uint32_t/UINT...). I tried to
follow Zebediah's guide-lines. Even if there are counter examples.
- changing type vs changing printf (there are still areas to tackle if
needed), even if some are (IMO) unavoidable (like GetLastError() or
HRESULT)
So comments welcome. I likely start next week pushing the first bits.
--
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1446
First part of v2 of !38, trying to follow the wide feedback provided.
Following patches in: https://gitlab.winehq.org/fcasas/vkd3d/-/tree/documentation
--
v2: vkd3d-shader/hlsl: Add field-level documentation to struct hlsl_src.
vkd3d-shader/hlsl: Add field-level documentation to struct hlsl_ir_node.
vkd3d-shader/hlsl: Add field-level documentation to struct hlsl_ctx.
vkd3d-shader/hlsl: Add field-level documentation to struct hlsl_ir_var.
vkd3d-shader/hlsl: Add field-level documentation to struct hlsl_struct_field.
vkd3d-shader/hlsl: Add field-level documentation to struct hlsl_type.
vkd3d-shader/hlsl: Rename hlsl_struct_field.modifiers to "storage_modifiers".
vkd3d-shader/hlsl: Rename hlsl_ir_var.modifiers to "storage_modifiers".
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/50