An alternative approach to `EnumAdapters2` that does not directly call to GDI driver and therefore does not require GDI driver functions to be expanded. The implementation now lives in `sysparams.c` to make it closer to win32u caches it accesses. It still uses `OpenAdapterFromLuid` internally because that's where adapter handles are actually assigned and to make sure returned handles are usable with other functions that rely on GDI driver being aware of what the handle represents to be able to …
[View More]function correctly (like `QueryVideoMemoryInfo`).
See !4791 for some background and why this version might be preferable over the one submitted there.
--
v5: win32u: Implement NtGdiDdDDIEnumAdapters2.
win32u: Maintain a list of GPUs in cache.
gdi32,win32u: Add stubs for D3DKMTEnumAdapters2 and NtGdiDdDDIEnumAdapters2.
gdi32/tests: Add D3DKMTEnumAdapters2 tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4857
[View Less]
This serie mainly tackles the playback of wave tracks with loops.
Current code had to be improved as:
- loop playback doesn't require setting the loop start/end points:
leaving them at 0 mean playing the whole segment,
- moreover, the length (at least for wave tracks) of the segment
is not used. Instead, the duration of stamped/posted tracks is
used instead.
- even forcing a length on segment isn't taken into account (tested
locally, but not included in the current tests).
- implemented …
[View More]it by creating the graph internal to segment state
and gathering relevant information on the fly. There's no
indication it's done this exact way on native, but at least
tests for time of track playback are identical.
Notes:
- only changed the track waves, future work will require equivalent
testings at least on MIDI sequences.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4981
[View Less]
for details see https://bugs.winehq.org/show_bug.cgi?id=56065
This change adds an implementation of Win32 API function GetAnycastIpAddressTable() that is used by Adoptium OpenJDK 21 and later to initialize Secure Random Generator. This implementation does not return real information, it just says "no entries found".
--
v11: iphlpapi: Add stub for GetAnycastIpAddressTable().
https://gitlab.winehq.org/wine/wine/-/merge_requests/4940
This is the first part of !608, which I decided to separate to ease review.
It consists of improvements to SM1 testing, mainly:
- Correctly passing int and bool uniforms as IEEE 754 floats to SM1 profiles.
- The introduction of the "only" qualifier to avoid abusing `[require]` blocks in case tests retrieve different results for different shader models.
- Allowing some of the tests we already have for SM4/SM6 to run in SM1 after those improvements.
--
v2: tests: Remove [require] directives …
[View More]for tests that use int and bool uniforms.
tests/shader-runner: Introduce "if" qualifier.
tests: Don't ignore SM1 on a non-const-indexing.shader_test test.
tests/vkd3d-shader: Set uninitialized uniforms to zero.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/616
[View Less]
Avoids value truncation in 32-bit builds and fixes clang warning:
```
../libs/vkd3d/libs/vkd3d/device.c:2157:14: warning: result of comparison of constant 4294967296 with expression of type 'size_t' (aka 'unsigned int') is always true [-Wtautological-constant-out-of-range-compare]
if (size <= VKD3D_VA_SLAB_SIZE && allocator->free_slab)
~~~~ ^ ~~~~~~~~~~~~~~~~~~
```
--
v2: vkd3d: Use uint64_t for the size in vkd3d_gpu_va_allocator_allocate.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/621