Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v4: programs/vkd3d-compiler: Dynamically allocate options array.
vkd3d-shader/tpf: Convert some of the semantic names to system values names when in compatibility mode.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/381
I've fixed the `beforeunload` case, since it happens during `load_nsuri`. I added tests for both it and `unload`, but unfortunately the new tests are somewhat hackish, as we have to release the View without actually closing it to test this, because closing the view sends those events (this is already tested by existing tests), and we want to test if releasing the doc obj sends those events. As for why we have to release the View, it's because it holds a ref to the doc obj.
So I placed the test last now since it doesn't close the view properly. If you think the test is too hackish I can remove it.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4109
Don't use hard coded string indexes as one of the expected string
can be absent, hence decreasing its index; nothing ensures that the
strings are placed in the order of the fields in the smbios structure.
So use, smbios structures' indexes instead.
Wbemprox was also expecting one string too much.
Signed-off-by: Eric Pouech <epouech(a)codeweavers.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4107
--
v2: user32: Pass real argument to NtUserGetClassName in RealGetWindowClass.
win32u: Add support for retrieving real window class ID across processes.
user32: Set real window class ID for user32 standard controls.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4092
On Sat Oct 14 22:06:36 2023 +0000, Bartosz Kosiorek wrote:
> With previous implementation we have 2*4 float multiplication inside
> `GdipTransformMatrixPoints` function:
> ```
> pts[i].X = x * matrix->matrix[0] + y * matrix->matrix[2] + matrix->matrix[4];
> pts[i].Y = x * matrix->matrix[1] + y * matrix->matrix[3] + matrix->matrix[5];
> ```
> Here is the full source code:
> ```
> GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts,
> INT count)
> {
> REAL x, y;
> INT i;
> TRACE("(%s, %p, %d)\n", debugstr_matrix(matrix), pts, count);
> if(!matrix || !pts || count <= 0)
> return InvalidParameter;
> for(i = 0; i < count; i++)
> {
> x = pts[i].X;
> y = pts[i].Y;
> pts[i].X = x * matrix->matrix[0] + y * matrix->matrix[2] + matrix->matrix[4];
> pts[i].Y = x * matrix->matrix[1] + y * matrix->matrix[3] + matrix->matrix[5];
> }
> return Ok;
> }
> ```
> As the vector is (0,0) and (1, 1), we could replace invocation of this
> function by simple assigment (no need to multiple anything):
> ```
> scale_x = graphics->worldtrans.matrix[0] + graphics->worldtrans.matrix[2];
> scale_y = graphics->worldtrans.matrix[1] + graphics->worldtrans.matrix[3];
> ```
> We could also optimize it more and calculate width via `sqrt` only once
> (I would like to leave it for next MR).
This seems simple enough that I have no problem changing it without performance numbers. Note that we immediately turn around and do the same thing with graphics->gdi_transform (with some indirection through gdip_transform_points and get_graphics_transform that could be eliminated).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3971#note_48812
Goes atop MR 403 and 388. The last four commits belong to this MR.
--
v7: vkd3d-shader: Clone descriptor scan info from struct vkd3d_shader_desc.
vkd3d-shader/dxil: Read CBV descriptors.
vkd3d-shader/dxil: Validate the descriptor list metadata nodes.
vkd3d-shader/spirv: Align constant buffer sizes to 16 bytes.
vkd3d-shader/dxil: Read DXIL compute shader thread group dimensions.
vkd3d-shader/dxil: Read DXIL global flags.
vkd3d-shader: Define more global flags.
vkd3d-shader/dxil: Handle multi-row signature elements.
vkd3d-shader/dxil: Handle signature element additional tag/value pairs.
vkd3d-shader/dxil: Read the DXIL input and output signatures.
vkd3d-shader/dxil: Validate the entry point info.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/401