[PATCH v4 04/11] d3d10+d3dcompiler: Move d3d10 reflection into d3dcompiler.
Matteo Bruni
matteo.mystral at gmail.com
Wed Oct 30 04:28:52 CDT 2019
On Mon, Oct 28, 2019 at 6:16 PM Connor McAdams <conmanx360 at gmail.com> wrote:
>
> Move the methods for d3d10 reflection into d3dcompiler, as well as the
> D3D10Reflect function.
>
> Signed-off-by: Connor McAdams <conmanx360 at gmail.com>
> ---
> dlls/d3d10/d3d10_main.c | 22 -----
> dlls/d3d10/d3d10_private.h | 8 --
> dlls/d3d10/shader.c | 112 -------------------------
> dlls/d3dcompiler_43/reflection.c | 139 +++++++++++++++++++++++++++++++
> 4 files changed, 139 insertions(+), 142 deletions(-)
I think I'd like it better if you just use the "d3dcompiler:" prefix
in the patch subject for this one.
> +static HRESULT STDMETHODCALLTYPE d3d10_shader_reflection_QueryInterface(ID3D10ShaderReflection *iface, REFIID riid, void **object)
> +{
> + TRACE("iface %p, riid %s, object %p\n", iface, debugstr_guid(riid), object);
> +
> + if (IsEqualGUID(riid, &IID_ID3D10ShaderReflection)
> + || IsEqualGUID(riid, &IID_IUnknown))
> + {
> + IUnknown_AddRef(iface);
> + *object = iface;
> + return S_OK;
> + }
> +
> + WARN("%s not implemented, returning E_NOINTERFACE\n", debugstr_guid(riid));
> +
> + *object = NULL;
> + return E_NOINTERFACE;
> +}
This is a good opportunity to fix up the formatting (e.g. add missing
periods at the end of debug messages).
> +static ULONG STDMETHODCALLTYPE d3d10_shader_reflection_AddRef(ID3D10ShaderReflection *iface)
> +{
> + struct d3dcompiler_shader_reflection *This = impl_from_ID3D10ShaderReflection(iface);
> + ULONG refcount = InterlockedIncrement(&This->refcount);
> +
> + TRACE("%p increasing refcount to %u\n", This, refcount);
> +
> + return refcount;
> +}
Or avoiding "This" as the object variable.
FWIW you should probably put the whole d3d10 stuff inside an #ifndef
D3D_COMPILER_VERSION / #endif so that it doesn't get built for
d3dcompiler_xx.
More information about the wine-devel
mailing list