From 6a751578a8c357e2742deec83f5def4a9d1d4dc8 Mon Sep 17 00:00:00 2001 From: Andrey Gusev Date: Tue, 14 Jun 2016 22:57:22 +0200 Subject: [PATCH] include: Add d3dx11core.idl. Signed-off-by: Andrey Gusev Signed-off-by: Matteo Bruni Signed-off-by: Alexandre Julliard --- include/Makefile.in | 1 + include/d3dx11.h | 1 + include/d3dx11core.idl | 65 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 include/d3dx11core.idl diff --git a/include/Makefile.in b/include/Makefile.in index 1612a944766..9ffaff4cf28 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -42,6 +42,7 @@ IDL_SRCS = \ d3d11sdklayers.idl \ d3dcommon.idl \ d3dx10core.idl \ + d3dx11core.idl \ dbccmd.idl \ dbcses.idl \ dbdsad.idl \ diff --git a/include/d3dx11.h b/include/d3dx11.h index 52191da140b..08a303d2ee3 100644 --- a/include/d3dx11.h +++ b/include/d3dx11.h @@ -27,5 +27,6 @@ #define DXGI_FORMAT_FROM_FILE ((DXGI_FORMAT)0xfffffffdu) #include "d3d11.h" +#include "d3dx11core.h" #endif diff --git a/include/d3dx11core.idl b/include/d3dx11core.idl new file mode 100644 index 00000000000..d47463cc8fc --- /dev/null +++ b/include/d3dx11core.idl @@ -0,0 +1,65 @@ +/* + * Copyright 2016 Andrey Gusev + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "oaidl.idl"; +import "ocidl.idl"; +import "dxgi.idl"; +import "d3dcommon.idl"; + +[ + object, + local, + pointer_default(unique) +] +interface ID3DX11DataLoader +{ + HRESULT Load(); + HRESULT Decompress([out] void **data, [in] SIZE_T *bytes); + HRESULT Destroy(); +}; + +[ + object, + local, + pointer_default(unique) +] +interface ID3DX11DataProcessor +{ + HRESULT Process([in] void *data, [in] SIZE_T bytes); + HRESULT CreateDeviceObject([out] void **data_object); + HRESULT Destroy(); +}; + +[ + object, + local, + pointer_default(unique), + uuid(c93fecfa-6967-478a-abbc-402d90621fcb) +] +interface ID3DX11ThreadPump : IUnknown +{ + HRESULT AddWorkItem([in] ID3DX11DataLoader *loader, [in] ID3DX11DataProcessor *processor, + [in] HRESULT *hresult, [out] void **device_object); + UINT GetWorkItemCount(); + + HRESULT WaitForAllItems(); + HRESULT ProcessDeviceWorkItems([in] UINT count); + + HRESULT PurgeAllItems(); + HRESULT GetQueueStatus([in] UINT *io_queue, [in] UINT *process_queue, [in] UINT *device_queue); +};