The D3D12 spec guarantees that lists submitted in ExecuteCommandLists()
will complete execution before any subsequent commands begin execution.
Based on a vkd3d-proton patch by Hans-Kristian Arntzen.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/146
> The patch may fix an application, but that doesn't mean it's correct.
Yeah, I know that.
The problem is my test isn't just add an interface function to the existing interface, I need to add a new interface without 'implicit_handle'. I need to understand all the server test code of rpcrt4 and insert my interface in a correct place, and start the server and client at a right time. It's too hard, Visual Studio did this for me automatically.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2305#note_29694
On Wed Apr 12 07:11:24 2023 +0000, Yeshun Ye wrote:
> I tried to add an interface like this:
> ```
> [
> uuid(00000000-4114-0704-2301-000000000002)
> ]
>
> interface IServer_Expilicit
> {
> void need_explicit_handle([in] handle_t binding, [in] unsigned int
> protseq);
> }
> ```
> I added the code above to the file 'server_interp.idl', the function
> code to 'server.c' like this:
> ```
> void __cdecl s_need_explicit_handle(RPC_BINDING_HANDLE binding, unsigned
> int protseq)
> {
> RPC_STATUS status;
> ULONG pid;
> winetest_push_context("%s", client_test_name);
> ok(binding != NULL, "Got unexpected binding\n");
> trace("s_need_explicit_handle\n");
> if (protseq == RPC_PROTSEQ_LRPC) /* Other protocol sequences throw
> exceptions */
> {
> trace("RPC_PROTSEQ_LRPC\n");
> status = I_RpcBindingInqLocalClientPID(binding, &pid);
> trace("I_RpcBindingInqLocalClientPID\n");
> ok(status == RPC_S_OK, "Got unexpected %ld.\n", status);
> ok(pid == client_info.dwProcessId, "Got unexpected pid.\n");
> trace("pid=%x client_info.dwProcessId=%x\n", pid, client_info.dwProcessId);
> }
> winetest_pop_context();
> }
> ```
> Then I don't know what to do next.
For a generic test case, you can see https://source.winehq.org/git/wine.git/commitdiff/056dbb04dea4d0b990e0177f6… for an example. However, in this case, you need to add a test case specifically for your changes. To be honest, I don't understand your patch, that's why I asked for a test case.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2305#note_29693
On Wed Apr 12 06:56:41 2023 +0000, Zhiyi Zhang wrote:
> Could you be more specific about your question? You can paste your code here.
I tried to add an interface like this:
```
[
uuid(00000000-4114-0704-2301-000000000002)
]
interface IServer_Expilicit
{
void need_explicit_handle([in] handle_t binding, [in] unsigned int protseq);
}
```
I added the code above to the file 'server_interp.idl', the function code to 'server.c' like this:
```
void __cdecl s_need_explicit_handle(RPC_BINDING_HANDLE binding, unsigned int protseq)
{
RPC_STATUS status;
ULONG pid;
winetest_push_context("%s", client_test_name);
ok(binding != NULL, "Got unexpected binding\n");
trace("s_need_explicit_handle\n");
if (protseq == RPC_PROTSEQ_LRPC) /* Other protocol sequences throw exceptions */
{
trace("RPC_PROTSEQ_LRPC\n");
status = I_RpcBindingInqLocalClientPID(binding, &pid);
trace("I_RpcBindingInqLocalClientPID\n");
ok(status == RPC_S_OK, "Got unexpected %ld.\n", status);
ok(pid == client_info.dwProcessId, "Got unexpected pid.\n");
trace("pid=%x client_info.dwProcessId=%x\n", pid, client_info.dwProcessId);
}
winetest_pop_context();
}
```
Then I don't know what to do next.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2305#note_29689
Needed for mingw Firefox build.
The WIDL error points to the wrong function, specifically the one after it.
include/windows.ui.composition.interop.idl:35:63: error: parameter 'swapchain' of function 'CreateCompositionSurfaceForHandle' cannot derive from void *
HRESULT CreateCompositionSurfaceForSwapChain([in] IUnknown *swapchain, [out, retval] ICompositionSurface **result);
^
make[1]: *** [Makefile:163749: include/windows.ui.composition.interop.h] Error 1
--
v4: include: Add windows.ui.composition.interop.idl file.
widl: Add support for WinRT HANDLE parameter type.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2620