Commit Graph

1490 Commits

Author SHA1 Message Date
Matteo Bruni f54260a789 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>
2019-01-25 23:20:06 +01:00
Matteo Bruni 5a5beba6c4 d3dx9/tests: Fix a couple of ok() messages.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 17:33:37 +01:00
Matteo Bruni 64b6bb4d4a 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>
2019-01-24 17:33:37 +01:00
Paul Gofman 65956ae50a 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>
2019-01-23 16:31:46 +01:00
Paul Gofman 092c14b9d8 d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
Fixes a regression triggered by commit
949dbbd31f.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 16:31:43 +01:00
Paul Gofman ce09011434 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>
2019-01-23 16:31:41 +01:00
Paul Gofman 61e7e6ec1b 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>
2019-01-23 16:31:38 +01:00
Paul Gofman 4e44d74afb d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
Fixes a regression triggered by commit 949dbbd31f.

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>
2019-01-23 16:31:31 +01:00
Paul Gofman 33be8439fc 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>
2019-01-23 16:31:28 +01:00
Paul Gofman 807e5fc04a d3dx9: Return correct comment length from get_instr_length().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46435
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-09 15:27:55 -06:00
Michael Stefaniuc 90a3911355 d3dx9/tests: Use SetRectEmpty() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-07 18:07:56 +01:00
Henri Verbeet 9ff5aae4c8 d3dx9: Try to use IDirect3DDevice9_StretchRect() in D3DXLoadSurfaceFromSurface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:00:50 +01:00
Henri Verbeet 6c7c777f8d d3dx9: Use intermediate surfaces for loading from unmappable source surfaces in D3DXLoadSurfaceFromSurface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:00:47 +01:00
Henri Verbeet 9ab14dff87 d3dx9: Use a staging texture to update unmappable surfaces in D3DXLoadSurfaceFromMemory().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Paul Gofman 126d3b703b d3dx9: Add FIXME for unlockable source surface in D3DXLoadSurfaceFromSurface().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 16:32:59 +01:00
Paul Gofman f9f6f42749 d3dx9/tests: Add tests for using D3DXLoadSurfaceFromSurface() with default render target.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 16:32:57 +01:00
Michael Stefaniuc df722d2628 d3dx9: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:52:55 +01:00
Alistair Leslie-Hughes 135d458d34 d3dx9: Return a mesh in D3DXCreateTeapot().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36884
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:03 +02:00
Michael Stefaniuc 962b31c80b include: Add a generic available ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 10:39:15 +02:00
Marcus Meissner 0caef45409 d3dx9/tests: Fix string size to MultiByteToWideChar().
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 10:07:38 +02:00
Kieran Duggan 36ad988da8 d3dx9/tests: Add initial tests for ID3DXFont::DrawText().
Signed-off-by: Kieran Duggan <kieranduggan15@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-21 11:18:25 +02:00
Michael Stefaniuc 84f5873906 d3dx9/tests: Use ARRAY_SIZE() in the initialization of registerset_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>
2018-06-05 23:49:58 +02:00
Michael Stefaniuc 1a5339346f d3dx9/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 23:49:56 +02:00
Michael Stefaniuc 7b5668a6e7 include: Make ARRAY_SIZE() available in wine/test.h.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-25 12:09:17 +02:00
Valentin Gabriel Mitrea 970009fed7 d3dx9: Fix D3DCompile() call.
When using D3DCompile() with an fx profile, the entry point
parameter is not used. So, it should be set to NULL.

Signed-off-by: Valentin Gabriel Mitrea <mitrea.valentin@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-24 18:15:09 +02:00
Matteo Bruni f956200775 d3dx9: Allow passes argument to Begin() to be NULL.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 21:26:00 +02:00
Matteo Bruni 01e278a309 d3dx9: Fix FindNextValidTechnique() when no previous technique is specified.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-28 23:05:04 +02:00
Matteo Bruni afef57f872 d3dx9: Disentangle ID3DXEffectCompiler implementation from struct d3dx9_base_effect.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 22:06:00 +01:00
Matteo Bruni 74a02a850c d3dx9/tests: Add a test for FindNextValidTechnique().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 22:05:58 +01:00
Matteo Bruni c3342644e4 d3dx9: Implement FindNextValidTechnique().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 22:05:56 +01:00
Matteo Bruni ed746aeed4 d3dx9/tests: Add a test for D3DXCreateEffectFromFileExW().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 22:05:54 +01:00
Matteo Bruni f5b888a708 d3dx9: Fix handling of includes in D3DXCreateEffectFromFileExW().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 22:05:52 +01:00
Matteo Bruni f57d316cd3 d3dx9/tests: Add a test for texture refcounts and OnLostDevice().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:14:13 +01:00
Matteo Bruni 1bba7c5705 d3dx9: Implement ID3DXEffect::OnLostDevice().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:14:11 +01:00
Matteo Bruni 633ad47b29 d3dx9: Add a comment about a specific preshader parsing failure mode.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:14:10 +01:00
Matteo Bruni 50453644f6 d3dx9/tests: Improve a few ok() messages.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:14:08 +01:00
Matteo Bruni f335932a81 d3dx9: Introduce a parameter rbtree to speed up get_parameter_by_name().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:14:06 +01:00
Sebastian Lackner 1c8c9308e7 d3dx9: Adjust ID3DXEffect interface based on DLL version.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 22:39:13 +01:00
Matteo Bruni 912a1009c9 d3dx9/tests: Cleanup test_createtext() a bit.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 22:38:53 +01:00
Matteo Bruni 6dc78d5c27 d3dx9: Cleanup D3DXVec3Unproject() implementation a bit.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 22:38:50 +01:00
Matteo Bruni 972dc565ed d3dx9: Skip AddRef + Release if SetValue is called with the old texture.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 22:38:46 +01:00
David Adam 32ffef3333 d3dx9: Improve vertices computation in D3DXCreatePolygon().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 22:38:43 +01:00
Matteo Bruni ae519aff95 d3dx9/tests: Add a few missing surface Release() calls.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:09 +01:00
Matteo Bruni 9682095a3b d3dx9/tests: Fix checking for D3DUSAGE_AUTOGENMIPMAP support.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:09 +01:00
Matteo Bruni e8bef37c57 d3dx9/tests: Disable a test crashing on Win10.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:09 +01:00
Zebediah Figura 7dbcbed704 d3dx9: Add stub for D3DXComputeNormalMap.
Based on a patch by Christian Costa.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Nikolay Sivov c3f92419e8 d3dx9: Improve argument validation in CloneEffect().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-05 06:58:45 -06:00
Michael Stefaniuc f46c96332b d3dx9: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 15:31:29 +01:00
Alex Henrie 00a352a376 d3dx9: Correctly round constants in D3DXSHMultiply3 implementation.
The correct constants are given to approximately 64-bit precision in
"Code Generation and Factoring for Fast Evaluation of Low-order
Spherical Harmonic Products and Squares" (2006) by John Snyder.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-13 20:23:26 +01:00
Alistair Leslie-Hughes 5db63eb3ca d3dx9: Stub D3DXCreateKeyframedAnimationSet().
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 09:58:20 +01:00