Block records are not processed; only the bitcode is validated.
--
v3: vkd3d-shader/dxil: Read and validate global abbreviated operands.
vkd3d-shader/dxil: Read and validate local abbreviated operands.
vkd3d-compiler: Introduce a dxil-asm target type.
vkd3d-compiler: Introduce a dxbc-dxil source type.
vkd3d-shader/dxil: Read and validate DXIL bitcode unabbreviated blocks.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/44
The function is implemented by setting cache file pointer to fill
read_buf. Consequently, when HTTPREQ_ReadFile is called, it will try
reading data from cache after read_buf is depleted, before continuing
reading from http stream.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26570
--
v2: wininet: Implement InternetSetFilePointer
wininet/tests: Add InternetSetFilePointer tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1268
Based on a patch by Mark Jansen.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v2: user32/edit: Check for control destruction on notification return.
comctl32/edit: Check for control destruction on notification return.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1270
This is slightly different from dlltool but I think it should be compatible. The transition is done by first replacing dlltool with its bugs, and fixing them in separate changes.
I based the ARM / AARCH64 implementation on the existing code around, but I have no idea if it is correct, and dlltool also doesn't include any delay load implementation for ARM.
--
v5: winebuild: Put the delay import descriptor in data section.
winebuild: Fix import hint value for symbols imported by name.
winebuild: Implement delay import lib generation without dlltool.
winebuild: Enable unwind tables by default in PE files.
winebuild: Implement import lib generation without dlltool.
winebuild: Introduce a new --without-dlltool winebuild flag.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1001
This is slightly different from dlltool but I think it should be compatible. The transition is done by first replacing dlltool with its bugs, and fixing them in separate changes.
I based the ARM / AARCH64 implementation on the existing code around, but I have no idea if it is correct, and dlltool also doesn't include any delay load implementation for ARM.
--
v4: winebuild: Put the delay import descriptor in data section.
winebuild: Fix import hint value for symbols imported by name.
winebuild: Implement delay import lib generation without dlltool.
winebuild: Enable unwind tables by default in PE files.
winebuild: Implement import lib generation without dlltool.
winebuild: Introduce a new --without-dlltool winebuild flag.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1001
Patch 1.
The tests on Windows show that when the timer callback is queued behind the clock time it is queued and executed quite soon with 0-15ms delay which corresponds to default timer granularity. The timeout tolerance in the test is quite bigger to avoid a flaky test. Wine currently may execute the callback right away or delay it indefinitely depending on the time difference and current system time.
Patch 2.
It turns out when the session is paused and then restarted and all the samples were delivered to sample grabber before restart, nothing is going to request the samples again when the session is restarted. I am attaching a test in a patch which hopefully confirms how that should work. I am not including that in the patches as the test involves delays (to make sure all the async events settle at certain points) and inherently flaky. Also, _
IMFStreamSink_GetEvent(stream, ...) in the test crashes on Win7 for some unknown reason.
[0001-mf-tests-Add-test-for-pausing-and-restarting-sample-.patch](/uploads/58c1738d48b3392e7ec430a0757210d0/0001-mf-tests-Add-test-for-pausing-and-restarting-sample-.patch)
--
v5: mf/samplegrabber: Handle samples receieved in paused state.
mf/samplegrabber: Process samples in paused state in ignore_clock mode.
mf: Handle timer time behind clock time in present_clock_schedule_timer().
https://gitlab.winehq.org/wine/wine/-/merge_requests/574
Supersedes: https://gitlab.winehq.org/wine/wine/-/merge_requests/789
This MR, with patches from Rémi should fix the no sound issue in media engine and also the black screen issue with MfPlayer.exe.
--
v2: mf: Set media types for output nodes in the media session.
mf: Move D3D awareness logic to branch resolver.
mf/tests: Test for copier node in topology using evr.
mf: Add some topology source node checks in IMFMediaSession_SetTopology.
mf: Always enumerate branch source types for transform nodes.
winegstreamer: Support MFT_SET_TYPE_TEST_ONLY flag in the MF transforms.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1262
Although I couldn't find other uses for `list_manager_create`, it seems that in this case is working just fine.
The list manager should be released once the `IEnumNetworkConnections` is destroyed.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1265
mrac tries to get function pointers for these functions using MmGetSystemRoutineAddress, I haven't seen them being used by it, but might as well implement it since they are very easy to implement.
--
v7: ntoskrnl.exe: Implement KeQueryActiveProcessorCount.
ntoskrnl.exe: implement KeQueryMaximumProcessorCount/Ex.
https://gitlab.winehq.org/wine/wine/-/merge_requests/914
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>
--
v16: ntdll: Fix reading stale Information from IOSB.
https://gitlab.winehq.org/wine/wine/-/merge_requests/155
This makes most vkd3d-shader insufficiencies a lot more obvious when used as an
embedded library.
The obvious disadvantage here is that vkd3d-compiler will basically print every
fixme message twice.
This is a bit of an RFC, since I'm not married to this patch. Other potential
approaches I see (not all mutually exclusive):
* Always print a FIXME if we return VKD3D_ERROR_NOT_IMPLEMENTED from
compile_hlsl(), but don't print messages for individual compilation errors.
Thus we clue in debuggers that a bug is related to HLSL, but let them use
VKD3D_SHADER_DEBUG to find out what the actual bug is. Since the first step is
most of the hard part I think this is a reasonable solution.
* Or do the same thing from d3dcompiler.
* Relegate hlsl_fixme to a separate vkd3d_shader_log_level, and print messages
from that log level in d3dcompiler by default. This isn't quite as simple as
that though, since currently all the messages are stored in a single blob.
* Extra APIs to control whether FIXMES are printed.
I'd also like to propose extending whichever of the above solutions to the
hlsl_error() / VKD3D_ERROR_INVALID_SHADER cases. That way we catch things which
we aren't going to catch via hlsl_fixme(), such as syntax errors from
unrecognized keywords. There's a counterargument that compiling an invalid
shader is valid usage, and that we (wine or vkd3d) shouldn't print any ERR/FIXME
messages when a program does something valid and implemented, but I'd counter
that in practice intentionally compiling an invalid shader should be exceedingly
rare, and especially for something like wine or vkd3d where debugging is
difficult, it's simply not worth insisting on "a correctly functioning program
should print no messages" if it's at the cost of making debugging that much
harder.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/41