| /* | |
| * Copyright 2016 Józef Kucia for CodeWeavers | |
| * | |
| * 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 "vkd3d_windows.h"; | |
| #include "vkd3d_unknown.idl" | |
| typedef enum D3D_PRIMITIVE_TOPOLOGY | |
| { | |
| D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, | |
| D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1, | |
| D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2, | |
| D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, | |
| D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, | |
| D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, | |
| D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN = 6, | |
| D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, | |
| D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, | |
| D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, | |
| D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, | |
| D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, | |
| D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST, | |
| D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST, | |
| } D3D_PRIMITIVE_TOPOLOGY; | |
| typedef enum D3D_FEATURE_LEVEL | |
| { | |
| D3D_FEATURE_LEVEL_9_1 = 0x9100, | |
| D3D_FEATURE_LEVEL_9_2 = 0x9200, | |
| D3D_FEATURE_LEVEL_9_3 = 0x9300, | |
| D3D_FEATURE_LEVEL_10_0 = 0xa000, | |
| D3D_FEATURE_LEVEL_10_1 = 0xa100, | |
| D3D_FEATURE_LEVEL_11_0 = 0xb000, | |
| D3D_FEATURE_LEVEL_11_1 = 0xb100, | |
| D3D_FEATURE_LEVEL_12_0 = 0xc000, | |
| D3D_FEATURE_LEVEL_12_1 = 0xc100, | |
| D3D_FEATURE_LEVEL_12_2 = 0xc200, | |
| } D3D_FEATURE_LEVEL; | |
| [ | |
| uuid(8ba5fb08-5195-40e2-ac58-0d989c3a0102), | |
| object, | |
| local, | |
| pointer_default(unique) | |
| ] | |
| interface ID3D10Blob : IUnknown | |
| { | |
| void *GetBufferPointer(); | |
| SIZE_T GetBufferSize(); | |
| } | |
| typedef ID3D10Blob ID3DBlob; | |
| cpp_quote("#define IID_ID3DBlob IID_ID3D10Blob") | |
| typedef void (__stdcall *PFN_DESTRUCTION_CALLBACK)(void*); | |
| [ | |
| uuid(a06eb39a-50da-425b-8c31-4eecd6c270f3), | |
| object, | |
| local, | |
| pointer_default(unique) | |
| ] | |
| interface ID3DDestructionNotifier : IUnknown | |
| { | |
| HRESULT RegisterDestructionCallback(PFN_DESTRUCTION_CALLBACK callback, | |
| void *data, UINT *callback_id); | |
| HRESULT UnregisterDestructionCallback(UINT callback_id); | |
| } | |
| cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);") | |
| cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);") | |
| cpp_quote("DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81,0x44,0xe9,0x00,0xad,0x26,0x6b,0xb2);") |