Implementation for the D3D10CompileEffectFromMemory() function. This could be a possible fix for this bug:
https://bugs.winehq.org/show_bug.cgi?id=36538
Changes in v2: As Matteo Bruni suggested, I have added a period at the end of the TRACE message and I removed the comment.
Signed-off-by: Valentin Gabriel Mitrea mitrea.valentin@gmail.com --- dlls/d3d10/d3d10_main.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/dlls/d3d10/d3d10_main.c b/dlls/d3d10/d3d10_main.c index f2fbb41..7c8bee7 100644 --- a/dlls/d3d10/d3d10_main.c +++ b/dlls/d3d10/d3d10_main.c @@ -253,17 +253,13 @@ HRESULT WINAPI D3D10CompileEffectFromMemory(void *data, SIZE_T data_size, const const D3D10_SHADER_MACRO *defines, ID3D10Include *include, UINT hlsl_flags, UINT fx_flags, ID3D10Blob **effect, ID3D10Blob **errors) { - FIXME("data %p, data_size %lu, filename %s, defines %p, include %p," - " hlsl_flags %#x, fx_flags %#x, effect %p, errors %p stub!\n", + TRACE("data %p, data_size %lu, filename %s, defines %p, include %p, " + "hlsl_flags %#x, fx_flags %#x, effect %p, errors %p.\n", data, data_size, wine_dbgstr_a(filename), defines, include, hlsl_flags, fx_flags, effect, errors);
- if (effect) - *effect = NULL; - if (errors) - *errors = NULL; - - return E_NOTIMPL; + return D3DCompile(data, data_size, filename, defines, include, + NULL, "fx_4_0", hlsl_flags, fx_flags, effect, errors); }
HRESULT WINAPI D3D10CreateEffectPoolFromMemory(void *data, SIZE_T data_size, UINT fx_flags,
Signed-off-by: Matteo Bruni mbruni@codeweavers.com --- You're right, the entry point parameter makes no sense for effect files. I was confused by the similar call in d3dx9_36/effect.c, which should be fixed. Do you want to write a patch for that?
On Tue, Apr 24, 2018 at 12:15 AM, Matteo Bruni mbruni@codeweavers.com wrote:
Signed-off-by: Matteo Bruni mbruni@codeweavers.com
You're right, the entry point parameter makes no sense for effect files. I was confused by the similar call in d3dx9_36/effect.c, which should be fixed. Do you want to write a patch for that?
Sure, I can fix the call in the effect.c file from d3dx9_36.