--
v2: vkd3d-shader/hlsl: Return an hlsl_ir_node pointer from hlsl_new_resource_store().
vkd3d-shader/hlsl: Return an hlsl_ir_node pointer from hlsl_new_resource_load().
vkd3d-shader/hlsl: Return an hlsl_ir_node pointer from hlsl_new_loop().
vkd3d-shader/hlsl: Pass an hlsl_block pointer to hlsl_new_loop().
vkd3d-shader/hlsl: Reuse the "init" instruction list if possible in create_loop().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/176
SPIR-V already handled DSX/DSY, so only D3DBC/TPF needed new case blocks.
You'll notice that there's no test for this one - in addition to being a pretty straightforward translation for all possible formats, this feature uses the render target width/height and I wasn't sure if there was a good way to ensure that the test would always make sense.
Instead, I did the test manually, and it's what you'd expect:
HLSL:
```
uniform float f;
float4 main() : sv_target
{
float4 x = ddx(f);
float4 y = ddy(f);
return x + y;
}
```
D3DBC:
```
ps_3_0
mov r0.x, c0.x
dsx r1.x, r0.x
dsy r0.x, r0.x
mov r1.xyzw, r1.x
mov r0.xyzw, r0.x
add r0.xyzw, r1.xyzw, r0.xyzw
mov oC0.xyzw, r0.xyzw
```
DXBC-TPF:
```
ps_4_0
dcl_constantBuffer cb0[1], immediateIndexed
dcl_output o0.xyzw
dcl_temps 2
mov r0.x, cb0[0].x
dsx r0.y, r0.x
dsy r0.x, r0.x
mov r1.xyzw, r0.y
mov r0.xyzw, r0.x
add r0.xyzw, r1.xyzw, r0.xyzw
mov o0.xyzw, r0.xyzw
ret
```
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/179
custom.c does not use the test.h and debug.h definitions and presumably has a good reason not to. But this resulted in the printf-format compiler attribute getting lost. So copy it from debug.h to allow proper checks of the ok_() format string.
Also fix said format strings.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2692
Mainly comprises support for allocating arrays of resources, and loading from them, for both SM1 and SM4.
--
v3: vkd3d-shader/hlsl: Support resource arrays when writting SM4.
vkd3d-shader/hlsl: Write resource loads in SM1.
vkd3d-shader/hlsl: Write sampler declarations in SM1.
vkd3d-shader/hlsl: Track objects sampling dimension.
vkd3d-shader/hlsl: Track object components usage and allocate registers accordingly.
tests: Test objects as parameters.
vkd3d-shader/hlsl: Skip object components when creating input/output copies.
vkd3d-shader/hlsl: Add fixme for uniform copies for objects within structs.
vkd3d-shader/hlsl: Support multiple-register variables in object regsets.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/159
This should finally fix the ref leaks that keep all gecko nsDocuments alive even on the most basic docs.
--
v2: mshtml/tests: Fix element leak in elem_fire_event.
mshtml: Pass actual node_ccp to ccref_decr for nodes.
mshtml: Fix nsChannel's load_info leak.
mshtml: Support cycle collection for nsChannel.
mshtml: Ensure SnowWhite objects are cleared when forcing cycle collection.
mshtml: Supply dummy logger when forcing cycle collection.
mshtml: Flush all gecko thread events after detaching Gecko browser.
mshtml: Fix nsProgressEvent leak for pre IE10 modes.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix factory leak in init_nsio.
mshtml: Do not release the principal returned by GetPrincipal.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2691
On Mon Apr 24 17:46:10 2023 +0000, Nikolay Sivov wrote:
> Another option is to build separate modules with PARENTSRC. Was it dismissed?
Right, sorry, meant to mention that. I was trying to avoid having a multiple-megabyte copy of libxml2 in each msxml*.dll.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2700#note_31019