Commit graph

76963 commits

Author SHA1 Message Date
winesync 4e6848d18a [WINESYNC] d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 77cb466268 [WINESYNC] d3dx9_36: Add format description for X8L8V8U8 for format conversions.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 9c4185cb30 [WINESYNC] d3dx9_36: Recognize bump luminance X8L8V8U8 when loading dds file.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 7e60f0ec68 [WINESYNC] d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 4e1377665e [WINESYNC] d3dx9: Use parameter data for the first constant only in d3dx_set_shader_const_state().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f72204abd6037e59ba1bf500a3a9d0316e65a024 by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 523edfe3eb [WINESYNC] d3dx9: Handle short parameter in d3dx_set_shader_const_state().
The issue is spotted in https://bugs.winehq.org/show_bug.cgi?id=46553,
while fixing it alone is reported not to affect the bug.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b3e91c3408797da72fdd5066e983d8861d9271ea by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync e680fff376 [WINESYNC] d3dx9/tests: Add more tests for VertexShaderConstant state.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6fe2728b215fcc22940c556f195fe223c5ac2cff by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync ff940e0901 [WINESYNC] d3dx9/tests: Clear vertex shader constants in test_effect_states().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cf992bebb056814a05fe3a82011c4de701c144c4 by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 2fcf99a2c3 [WINESYNC] d3dx9/tests: Actually test the return of the effect SetInt() call.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e01ec6018c062d11b29ba2b9a2056d98e8bc406 by Michael Stefaniuc <mstefani@winehq.org>
2020-02-26 18:19:18 +01:00
Jérôme Gardou 8cc1ec1b82 [WINESYNC]: revert wine-staging patchset for d3dx9 2020-02-26 18:19:18 +01:00
Jérôme Gardou c3ad01e3b2 [REACTOS] Exclude some wine modules from clang-format 2020-02-26 18:19:18 +01:00
Jérôme Gardou f149b8ce86 [TOOLS] Add a python script for syncing wine patches
This requires the pygit2 module
usage : ./winesync.py module <wine-tag> <winestaging-tag>

for instance ./winesync.py d3dx9 wine-4.1 v4.1

This requires to have a wine git checkout and a wine-staging checkout
configuration is done through yaml file named <module>.cfg specifying
the following:
 - file mappings
 - directory mappings
 - latest wine version the module is synced with
it then creates a local branch in the wine checkout, based on the given
tag, and then the staging script is ran on top of it.
Thanks to the mappings defined in the module configuration file, it then
create individual commits in the reactos git checkout with reworked
path.
In case of problem, it stops and lets you amend the latest commit and go
along with the process once this is done. (Makefile.in modified, new or
removed files, patches not cleanly applied)

Staging patches are added into the <module>_staging directory for the
ease of reverting them later. (TODO)

See previous [WINESYNC] commits to have an overview of the result
2020-02-26 18:19:18 +01:00
Jérôme Gardou e562617a84 [WINESYNC]: d3dx9 is now in sync with wine-staging wine-4.1 2020-02-26 18:19:18 +01:00
winesync 692992f2bf [WINESYNC]d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.
This patch fixes last problem of bug 32572.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 81c78a0a6b [WINESYNC]d3dx9_36: Align texture dimensions to block size for compressed textures in D3DXCheckTextureRequirements.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync afac88c50e [WINESYNC]d3dx9_36: No need to fail if we don't support vertices reordering in D3DXMESHOPT_ATTRSORT
A non optimized mesh does not prevent rendering as long as we return valid data to the application.
In our case we provided an identity remapping array when no vertices reordering is done.

Avencast demo works perfectly well (using native effects functions).

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync f6c4f5e79c [WINESYNC]d3dx9_36: Filter out D3DCompile warning messages that are not present with D3DCompileShader. (try 4)
This patch fixes vertex processing issue of bug 33770.

The problem comes from the fact that even if the call succeeds,
the game interprets a non null error_messages pointer as an error.

By calling D3DCompile we use a newer version of the compiler which is more
strict and generates the following warning.
  - warning X3206: 'dot': implicit truncation of vector type
  - warning X3206: implicit truncation of vector type
  - warning X3206: 'mul': implicit truncation of vector type
D3DCompileShader does not generate such warnings.

These is confirmed in the DX SDK release note:
New Warning X3206: Implicit Truncation of Vector Type
Beginning in the August 2009 release of the DirectX SDK, the compiler will warn
when an implicit truncation of a vector type occurs.

The warnings cannot be disable so this patch filters out these strings in D3DCompileShader
and reset the error messages pointer if the resulting buffer is empty.

Try 2:
  - only filter out lines containing "X3206:" in case d3dcompiler_43 has localization

Try 3:
  - use move in place instead of copying the buffer

Try 4:
  - filter simplification by Sebastian and remove 'mul' testing left-out in search string

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 4faa6f9822 [WINESYNC]d3dx9_36/tests: Add initial tests for dummy skininfo interface.
wine-staging patch by Michael Müller <michael@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 8931e12659 [WINESYNC]d3dx9_36: Return dummy skininfo interface in D3DXLoadSkinMeshFromXof when skin information is unavailable.
wine-staging patch by Michael Müller <michael@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 33f33c9387 [WINESYNC]d3dx9_36: ID3DXFont_DrawText calc_rect can be null
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync 219ef2e81f [WINESYNC]d3dx9_36: Support NULL terminated strings in ID3DXFont_DrawText
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync 54240ccee0 [WINESYNC]d3dx9_36: Fix horizontal centering in ID3DXFont_DrawText.
Fix remaining text issues in Air Strike.
Should fix text placement in Stronghold Kingdoms.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync dead753d8f [WINESYNC]d3dx9_36: Implement ID3DXFontImpl_DrawText.
Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Use pitch value for locked buffer instead of assuming that pitch = width * bytesperpixel
* Avoid one for loop to simplify code
* Ensure that DrawText doesn't dereference a NULL pointer when count != 0.

Changes by Christian Costa <titan.costa@gmail.com>
* Use dedicated variables for text width & height instead of reusing rect.right and rect.bottom
* Remove useless test in pixel conversion
* Remove left over 'partial stub' in fixme

Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Replace code to convert text from ascii to widechar
* Strip terminating NULL chars before drawing text

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 30328cab07 [WINESYNC]d3dx9_36: add DXTn support
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync fad6fb021d [WINESYNC]d3dx9_36: Improve D3DXSaveTextureToFile to save simple texture to dds file.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync ea80aaf8ad [WINESYNC]d3dx9_36: Add support for FOURCC surface to save_dds_surface_to_memory.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 71c6a60ad4 [WINESYNC]d3dx9: Implement D3DXComputeTangent
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync 98cd28be0d [WINESYNC]d3dx9_*: Add D3DXSHProjectCubeMap stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46284

wine-staging patch by Andrey Gusev <andrey.goosev@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 24b51d5a07 [WINESYNC]d3dx9_36: Add semi-stub for D3DXOptimizeVertices.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 5bab8274d9 [WINESYNC]d3dx9_36/tests: Remove useless \n within some ok messages.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 06983139f6 [WINESYNC]d3dx9_36/tests: Add additional tests for special cases.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 9fef76cb44 [WINESYNC]d3dx9_36/tests: Add initial tests for D3DXDisassembleShader.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 0ab0dc096d [WINESYNC]d3dx9_36: Implement D3DXDisassembleShader. (v2)
Changes in v2 (by Christian Costa):
  * More generic code for D3DXDisassembleShader.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 6311935980 [WINESYNC]d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync fea73b02ee [WINESYNC]d3dx9_36: Add format description for X8L8V8U8 for format conversions.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync f7b86ac3b1 [WINESYNC]d3dx9_36: Recognize bump luminance X8L8V8U8 when loading dds file.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 90e8c4a5db [WINESYNC]d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync ac79207f18 [WINESYNC]d3dx9/tests: Add more tests for D3DXMatrixTransformation().
Most of those new tests were written by Rico Schüller.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33456
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 956d7356e0559a07aac68bcaf73a5005e0600fad by David Adam <david.adam.cnrs@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 16bc86bfb1 [WINESYNC]d3dx9: Use wincodecs directly without initializing COM system.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 77c3761ad4e557f9fa311299e77746bf225a575a by Nikolay Sivov <nsivov@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync 296900e697 [WINESYNC]d3dx9/tests: Avoid some 64-bit test failures.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 699eb8cdba8fe236f038550e2bd68a4cd2cab055 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync b56af85d81 [WINESYNC]d3dx9: Improve D3DXMatrixTransformation2D().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dba1304bdde9639b01fa7b1e93cce1a298999b72 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync 4f4d37a3b1 [WINESYNC]d3dx9: Improve D3DXMatrixTransformation() implementation.
Inspired by a patch from David Adam.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33456
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f54260a789387ab40de3d80291ad9000176dabe1 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync 4cecd21f9a [WINESYNC]d3dx9/tests: Fix a couple of ok() messages.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5a5beba6c4e3bc53790e3a31916d0aaf57dc19b8 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync f4fb1884a8 [WINESYNC]d3dx9/tests: Expect plain render target creation to work.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 64b6bb4d4a54642434594f0df2afcd2e90b2a0a8 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync 083cd9a957 [WINESYNC]d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 65956ae50a136fe8467a0332c7495f36617a16dc by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync a1f2064705 [WINESYNC]d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
Fixes a regression triggered by commit
949dbbd31f450178c90ea8267097a975b77c3219.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 092c14b9d86ee1e96e465908cc524ec85988d0ff by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 9e1d68edb0 [WINESYNC]d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ce090114340fe6ce9314f543a1389de9bdc6df14 by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 95d6d1b3d1 [WINESYNC]d3dx9/tests: Add test for D3DXFillVolumeTexture() with default pool texture.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 61e7e6ec1bf5d13d4cafa883ac74fe987c339740 by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync b8714c31cd [WINESYNC]d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
Fixes a regression triggered by commit 949dbbd31f450178c90ea8267097a975b77c3219.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46453
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4e44d74afb12b40f673e3be0a91cd523013544cd by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync b50ef9007c [WINESYNC]d3dx9: Factor out {lock|unlock}_surface() functions.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 33be8439fc95ca8f005bd3a2b6790c101842c02e by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00