Commit graph

246 commits

Author SHA1 Message Date
winesync 022ce2f70b [WINESYNC] d3dx9: Merge the d3dx_effect_SetBool() helper.
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 b4bc9ea7b711c03b93d15bb2ba04dfbbb9d70f72 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 3c49040030 [WINESYNC] d3dx9: Merge the d3dx_effect_GetBoolArray() helper.
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 ab7756619c1b16c761618a68d1b6a06ad437cbe8 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 706fd8dde3 [WINESYNC] d3dx9: Merge the d3dx_effect_GetBool() helper.
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 cca43ca090ccb27c5e3d3564dbe69a424f0c9872 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 9a5e0c591c [WINESYNC] d3dx9: Move objects out of struct d3dx9_base_effect.
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 f0d7dd0761fc0b6a45b3d3ae136339d3c3bf8075 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync bd5f74314c [WINESYNC] d3dx9: Merge the d3dx_effect_GetPassDesc() helper.
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 52c2092fa92cd06ea2c1074072be4cadd872f083 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 2b9f231acf [WINESYNC] d3dx9: Pass a struct d3dx_effect to d3dx9_copy_data().
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 26b9b04e7f40c7a2011684f01ff07be91047b492 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 44ec74a6a4 [WINESYNC] d3dx9: Move object_count out of struct d3dx9_base_effect.
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 54bdc66acf4abe1f1fa38238ed824c2372e1ff91 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 8237867116 [WINESYNC] d3dx9: Pass a struct d3dx_effect to the get technique helpers.
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 42839d15e3ec829f939fe1f99ac6b025f64b18de by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync f23b53d642 [WINESYNC] d3dx9: Merge the d3dx_effect_GetTechnique() helper.
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 a33b20a0604e29c4b502a0d77e8828e926b09a62 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 570dd1c48a [WINESYNC] d3dx9: Merge the d3dx_effect_GetTechniqueByName() helper.
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 a2e0046fc52c4e08a64cbe76c78f184e7d5b27d2 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 97475aa65c [WINESYNC] d3dx9: Merge the d3dx_effect_GetTechniqueDesc() helper.
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 10aa0819138f4aaf0f872de74eaf953326afe997 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 43d0a88291 [WINESYNC] d3dx9: Merge the d3dx_effect_GetPassByName() helper.
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 730e44ebe224c1b70e9f6eaf6a9aaeb8bc38a20b by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 862292231b [WINESYNC] d3dx9: Merge the d3dx_effect_GetPass() helper.
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 e419ac91ba5bd295b596f334951657b54dba3e99 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 3d7d27f805 [WINESYNC] d3dx9: Pass a struct d3dx_effect to get_annotation_from_object().
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 89941842affb0fec7068a8bd7adca77d8c036032 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync de908e3bd1 [WINESYNC] d3dx9: Merge the d3dx_effect_GetAnnotationByName() helper.
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 1dd9104724b333fe27c2a1b7e57b31c29a252420 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync 3a9af49488 [WINESYNC] d3dx9: Merge the d3dx_effect_GetAnnotation() helper.
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 7a1df2b0069bde1a9a022c6454fb8b3e06181fd0 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync f3d009fd46 [WINESYNC] d3dx9: Remove an unneeded forward declaration.
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 45e7e2f2d501d92436a00f97edec660a2f7a2927 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync 773ed3502e [WINESYNC] d3dx9: Move parameter_count out of struct d3dx9_base_effect.
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 58b87b0f3eb156718e297df6a64b96ff1f4e8621 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync aa84d04a66 [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameterElement() helper.
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 3899e79fc429b0c668166ccc98efbd60f5c63aa4 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync c45448a2ef [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameterBySemantic() helper.
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 04c838fa605fe586e850b4ef2dd4f9f80d5daa2e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync 2573aa0af9 [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameter() helper.
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 2f1ba910d133b93a3da55de4d0b3577936fd8224 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync 265ca68eb5 [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameterByName() helper.
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 78e067b0d0113f8f37c48366bda88d2454c8f841 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync 684130bdd9 [WINESYNC] d3dx9: Pass a struct d3dx_effect to the d3dx_parse helpers.
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 d265afcd8fb15438961d26f0160103846144a58e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync ed2023fc76 [WINESYNC] d3dx9: Get rid of the ID3DXEffectImpl #define.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d18fb86134d40ccee8df84ce7ccc4e1bdcb2d481 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:01 +01:00
winesync 74a0f6629e [WINESYNC] d3dx9: Merge the d3dx9_effect_GetDesc() helper.
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 4b85165cdc297f97a3609cfab2d64d87e435397e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync 280deff8df [WINESYNC] d3dx9: Merge the stub ID3DXBaseEffect methods.
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 715b932768d1f34815c6b0db18554e0d734bbec6 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync da833f59a6 [WINESYNC] d3dx9: Rename the ID3DXEffect object and methods.
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 612196b64c6b17d694831b92e7182afe9b2d9aca by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync 0a939c57a8 [WINESYNC] d3dx9: Simplify get_parameter_by_name().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4a9fe7a8a092095420532ae734ebce9978b1e608 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:01 +01:00
winesync 393ec322ef [WINESYNC] d3dx9: Remove redundant "not NULL" checks (coccinellery).
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 be30aab1e21e5b6811470a351ec0d6100e6e7687 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
Jérôme Gardou 6760065ef2 [D3DX9_xx] Reduce diff to wine 2021-02-04 16:37:01 +01:00
Jérôme Gardou edca86dadb [D3DX9_XX] Use a common header for every file 2021-02-04 16:37:01 +01:00
Jérôme Gardou 7b1049c8fd [WINESYNC]: revert wine-staging patchset for d3dx9 2021-02-04 16:37:01 +01:00
Amine Khaldi 139a3d6661
[CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905 2020-06-06 21:58:41 +03:00
Hervé Poussineau 5ed1867632 [CMAKE] Add some -D__ROS_LONG64__ to please gcc x64
We can now pass a UINT* to a function wanting a DWORD*
2020-03-26 16:39:16 +01:00
winesync 8c7529df7e [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 69a02efd33 [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 b7a4b73b65 [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 e362e098a3 [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 7b8f79e550 [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 58d515ea16 [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 f9c6d6e396 [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 5b56f3d681 [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 cbed631506 [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 83d1420b3c [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 de19dd3e38 [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 6e7150ee67 [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 5ba697c68b [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 e131c1834d [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 54e07d18d5 [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 afbc458a7f [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 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
Jérôme Gardou 8cc1ec1b82 [WINESYNC]: revert wine-staging patchset for d3dx9 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 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 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 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 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 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 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
Jérôme Gardou c530f34e79 [D3DX9_36] Revert wine staged patches 2020-02-26 18:19:18 +01:00
Jérôme Gardou 3435c3b503 [D3DX9_XX] Share source files
Just like wine does
2020-02-26 18:19:18 +01:00
Jérôme Gardou 23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Amine Khaldi e7b199daff [D3DX9_*] Sync with Wine Staging 4.0. CORE-15682 2019-01-25 13:10:23 +01:00
Amine Khaldi bcb816619a [D3DX9_36] Sync with Wine Staging 3.17. CORE-15127 2018-10-01 00:19:39 +01:00
Amine Khaldi 82faa151e5 [XDK][PSDK][WINE] Unify ARRAY_SIZE definition for Wine modules. CORE-15127 2018-09-30 23:57:08 +01:00
Amine Khaldi 561fd57166 [D3DX9_24 => 43] Sync with Wine Staging 3.9. CORE-14656 2018-05-27 03:54:15 +01:00
Amine Khaldi e5c42da45c [D3DX9_*] Sync with Wine Staging 3.3. CORE-14434 2018-03-08 13:26:47 +01:00
Amine Khaldi 65bd988c40 [D3DX9_24=>43] Sync with Wine 3.0. CORE-14225 2018-01-21 22:24:27 +01:00
Amine Khaldi 85d9a38ac0 [D3DX9_24 => 43] Sync with Wine Staging 2.16. CORE-13762 2017-10-08 11:48:29 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00