Commit Graph

1545 Commits

Author SHA1 Message Date
Michael Stefaniuc 7e01ec6018 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>
2019-02-05 10:11:44 +01:00
David Adam 956d7356e0 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>
2019-01-28 22:22:44 +01:00
Nikolay Sivov 77c3761ad4 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>
2019-01-28 22:22:37 +01:00
Matteo Bruni 699eb8cdba d3dx9/tests: Avoid some 64-bit test failures.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:20:14 +01:00
Matteo Bruni dba1304bdd d3dx9: Improve D3DXMatrixTransformation2D().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:20:11 +01:00
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
Alex Henrie 07f7022fcc d3dx9/tests: Use true spherical light values and relax expectations.
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-01-03 23:26:36 +01:00
Michael Stefaniuc c5dfe1b139 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>
2017-12-29 19:58:18 +01:00
Matteo Bruni 72f3227d71 d3dx9/tests: Add a test for D3DXGetShader{Input|Output}Semantics().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 10:16:58 +01:00
Matteo Bruni 50734ad54f d3dx9: Implement D3DXGetShader{Input|Output}Semantics().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 10:16:58 +01:00
Matteo Bruni 3a5688a795 d3dx9: Use the D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY flag when compiling ASCII effects.
Some manual testing shows that the behavior changed with d3dx9_37.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 10:16:57 +01:00
Matteo Bruni 6697de156e d3dx9: Merge "main" source files.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 10:16:57 +01:00
Józef Kucia 5831e884f5 d3dx9: Avoid passing FALSE as D3DRS_CLIPPLANEENABLE bitmask.
D3DRS_CLIPPLANEENABLE is mask, not a boolean value.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 11:52:15 +01:00
Alex Henrie eaf9a28741 d3dx9/tests: Use a helper function to set matrix values in math tests.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-10 23:55:16 +01:00
Paul Gofman dc96079784 d3dx9: Zero constantinfo_reserved on error in get_constants_desc().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-10 23:54:49 +01:00
Alex Henrie f6fdcc848d d3dx9/tests: Relax D3DXQuaternionToAxisAngle test stringency a bit.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-10 23:54:42 +01:00
Alex Henrie 79b6035441 d3dx9/tests: Provide 8 significant digits in matrix reference values.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-09 23:35:38 +01:00
Alex Henrie 4aef54759c d3dx9/tests: Correct Fresnel reference term.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 21:13:19 +01:00
Nikolay Sivov 6bae0a003e d3dx9: Implement D3DXFrameFind().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 20:38:07 +01:00
Paul Gofman 0778f1c294 d3dx9: Fix zero object_id handling in d3dx9_base_effect_get_pass_desc().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 07:56:19 +02:00
Paul Gofman 07cc9acc9f d3dx9: Return E_FAIL from ValidateTechnique() for techniques with unsupported shaders.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 07:56:15 +02:00
Paul Gofman 120a83dc03 d3dx9/tests: Add test for null shaders in effect.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 07:56:13 +02:00
Paul Gofman 6c7c511a27 d3dx9: Do not fail effect creation if a shader cannot be created.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-01 07:34:15 +02:00
Paul Gofman c3677ecfc8 d3dx9/tests: Add test for effect with unsupported shader.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-01 07:34:13 +02:00
Paul Gofman e06b7693d6 d3dx9: Use bitmask instead of BOOL array for light_updated.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 20:15:32 +02:00
Paul Gofman c48658dbb8 d3dx9: Dump bytecode if parameter evaluator creation failed.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 20:15:32 +02:00
Paul Gofman 14fab72269 d3dx9: Do not support preshader instructions which output multiple registers.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 20:15:32 +02:00
Paul Gofman 72b9265680 d3dx9: Get rid of constants modification bitmasks.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-30 08:17:39 +02:00
Paul Gofman c579a81a63 d3dx9: Factor out set_constants_device() function.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-29 15:51:28 +02:00
Paul Gofman d6f36ca18f d3dx9: Avoid an extra indirection in is_const_tab_input_dirty().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-04 09:28:41 +02:00
Paul Gofman 847f772fe1 d3dx9: Use distinct structure for top level parameters.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-04 09:28:37 +02:00
Paul Gofman 3a10679b7a d3dx9: Move referenced_param definition from d3dx_parameter to d3dx_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>
2017-08-04 09:28:32 +02:00
Paul Gofman f09bf52d5d d3dx9: Return NULL for child parameter's annotation in get_parameter_by_name().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-04 09:28:29 +02:00
Paul Gofman ec199c9e0e d3dx9: Remove case for annotation in get_parameter_element_by_name().
Elements or struct members can't have annotations.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-04 09:28:25 +02:00
Matteo Bruni 88abcf3a1d d3dx9: Get rid of a forward declaration.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Paul Gofman 315e87e172 d3dx9: Fix potential memory leak on HeapReAlloc() failure in get_constants_desc().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Paul Gofman d8723657d2 d3dx9/tests: Add more tests for skip_constants effect parameter.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Paul Gofman 4b11a99108 d3dx9: Support skip_constants parameter for effect.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Paul Gofman 6498a03a8e d3dx9: Introduce d3dx_shader_get_ctab_constant() function and use it instead of ID3DXConstantTableImpl_GetConstantDesc().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Paul Gofman 518b2f27cf d3dx9: Fail effect creation when parameter evaluator creation fails.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Paul Gofman 35f82ba444 d3dx9: Get rid of init_set_constants() function.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 22:41:04 +02:00
Paul Gofman 9fc4e4a1a9 d3dx9: Simplify init and cleanup in get_constants_desc().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 22:41:01 +02:00
Paul Gofman 57de7e9919 d3dx9: Factor out is_parameter_used() function.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 22:40:58 +02:00
Paul Gofman ec7e766635 d3dx9/tests: Add test for skip_constants effect parameter.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 22:40:55 +02:00
Michael Stefaniuc 041a0ff1c0 d3dx9/tests: Use string concatenation for a multiline string.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 22:40:39 +02:00
Paul Gofman 4e2c044412 d3dx9/tests: Add tests for array of samplers.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 20:26:29 +02:00
Paul Gofman 8f9bbdf9ad d3dx9: Support arrays of samplers.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 20:26:27 +02:00
Paul Gofman a7ea12c943 d3dx9: Check type and register count for sampler constants.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 20:26:25 +02:00
Paul Gofman 08df007e80 d3dx9: Move transpose 'if' outside of the inner loop in set_constants().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-27 23:46:23 +02:00
Paul Gofman 0029128464 d3dx9: Get rid of constant's length checking for matrix in set_constants().
When count in const_upload_info is calculated precisely (considering actual
constant set length), boolean matrix setting fall in direct copy path, unless
transpose is required. The case of incomplete last row for matrix should be
handled in set_constants() for transposed boolean constant only.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-27 23:46:20 +02:00
Paul Gofman ed7e27ad8d d3dx9: Remove redundant parameter size check in set_constants().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-27 23:46:18 +02:00