Hex Artifact Content

Not logged in

Artifact 371321ee8dae06506dcc99d9af09b6f6a7fc2fe2:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20  ********\..*    
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 64 33 64 31 30             d3d10
0070: 6d 69 73 63 2e 64 20 20 20 20 20 20 20 20 20 20  misc.d          
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20     *..*         
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20           *..*   
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50                 P
0190: 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69  laced into publi
01a0: 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20  c domain        
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..\*************
01d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0200: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f 64  **********/..mod
0210: 75 6c 65 20 77 69 6e 33 32 2e 64 69 72 65 63 74  ule win32.direct
0220: 78 2e 64 33 64 31 30 6d 69 73 63 3b 0d 0a 0d 0a  x.d3d10misc;....
0230: 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77  private import w
0240: 69 6e 33 32 2e 77 69 6e 64 6f 77 73 3b 0d 0a 0d  in32.windows;...
0250: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20  .private import 
0260: 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e 64 78  win32.directx.dx
0270: 67 69 3b 0d 0a 70 72 69 76 61 74 65 20 69 6d 70  gi;..private imp
0280: 6f 72 74 20 77 69 6e 33 32 2e 64 69 72 65 63 74  ort win32.direct
0290: 78 2e 64 33 64 31 30 3b 0d 0a 0d 0a 65 78 74 65  x.d3d10;....exte
02a0: 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49  rn (C) const GUI
02b0: 44 20 49 49 44 5f 49 44 33 44 31 30 42 6c 6f 62  D IID_ID3D10Blob
02c0: 20 3d 20 7b 0d 0a 09 30 78 38 42 41 35 46 42 30   = {...0x8BA5FB0
02d0: 38 2c 20 30 78 35 31 39 35 2c 20 30 78 34 30 45  8, 0x5195, 0x40E
02e0: 32 2c 20 5b 30 78 41 43 2c 20 30 78 35 38 2c 20  2, [0xAC, 0x58, 
02f0: 30 78 30 44 2c 20 30 78 39 38 2c 20 30 78 39 43  0x0D, 0x98, 0x9C
0300: 2c 20 30 78 33 41 2c 20 30 78 30 31 2c 20 30 78  , 0x3A, 0x01, 0x
0310: 30 32 5d 0d 0a 7d 3b 0d 0a 0d 0a 69 6e 74 65 72  02]..};....inter
0320: 66 61 63 65 20 49 44 33 44 31 30 42 6c 6f 62 20  face ID3D10Blob 
0330: 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 65  : IUnknown {...e
0340: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 3a  xtern(Windows) :
0350: 0d 0a 09 4c 50 56 4f 49 44 20 47 65 74 42 75 66  ...LPVOID GetBuf
0360: 66 65 72 50 6f 69 6e 74 65 72 28 29 3b 0d 0a 09  ferPointer();...
0370: 53 49 5a 45 5f 54 20 47 65 74 42 75 66 66 65 72  SIZE_T GetBuffer
0380: 53 69 7a 65 28 29 3b 0d 0a 7d 0d 0a 0d 0a 65 6e  Size();..}....en
0390: 75 6d 20 44 33 44 31 30 5f 44 52 49 56 45 52 5f  um D3D10_DRIVER_
03a0: 54 59 50 45 20 7b 0d 0a 09 44 33 44 31 30 5f 44  TYPE {...D3D10_D
03b0: 52 49 56 45 52 5f 54 59 50 45 5f 48 41 52 44 57  RIVER_TYPE_HARDW
03c0: 41 52 45 20 20 3d 20 30 2c 0d 0a 09 44 33 44 31  ARE  = 0,...D3D1
03d0: 30 5f 44 52 49 56 45 52 5f 54 59 50 45 5f 52 45  0_DRIVER_TYPE_RE
03e0: 46 45 52 45 4e 43 45 20 3d 20 31 2c 0d 0a 09 44  FERENCE = 1,...D
03f0: 33 44 31 30 5f 44 52 49 56 45 52 5f 54 59 50 45  3D10_DRIVER_TYPE
0400: 5f 4e 55 4c 4c 20 20 20 20 20 20 3d 20 32 2c 0d  _NULL      = 2,.
0410: 0a 09 44 33 44 31 30 5f 44 52 49 56 45 52 5f 54  ..D3D10_DRIVER_T
0420: 59 50 45 5f 53 4f 46 54 57 41 52 45 20 20 3d 20  YPE_SOFTWARE  = 
0430: 33 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 28  3..}....extern (
0440: 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 47 55  C) const GUID GU
0450: 49 44 5f 44 65 76 69 63 65 54 79 70 65 20 3d 20  ID_DeviceType = 
0460: 7b 0d 0a 09 30 78 44 37 32 32 46 42 34 44 2c 20  {...0xD722FB4D, 
0470: 30 78 37 41 36 38 2c 20 30 78 34 33 37 41 2c 20  0x7A68, 0x437A, 
0480: 5b 30 78 42 32 2c 20 30 78 30 43 2c 20 30 78 35  [0xB2, 0x0C, 0x5
0490: 38 2c 20 30 78 30 34 2c 20 30 78 45 45 2c 20 30  8, 0x04, 0xEE, 0
04a0: 78 32 34 2c 20 30 78 39 34 2c 20 30 78 41 36 5d  x24, 0x94, 0xA6]
04b0: 0d 0a 7d 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ..};....extern(W
04c0: 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 48 52 45 53  indows) {...HRES
04d0: 55 4c 54 20 44 33 44 31 30 43 72 65 61 74 65 44  ULT D3D10CreateD
04e0: 65 76 69 63 65 28 49 44 58 47 49 41 64 61 70 74  evice(IDXGIAdapt
04f0: 65 72 20 70 41 64 61 70 74 65 72 2c 0d 0a 09 20  er pAdapter,... 
0500: 20 44 33 44 31 30 5f 44 52 49 56 45 52 5f 54 59   D3D10_DRIVER_TY
0510: 50 45 20 44 72 69 76 65 72 54 79 70 65 2c 20 48  PE DriverType, H
0520: 4d 4f 44 55 4c 45 20 53 6f 66 74 77 61 72 65 2c  MODULE Software,
0530: 20 55 49 4e 54 20 46 6c 61 67 73 2c 0d 0a 09 20   UINT Flags,... 
0540: 20 55 49 4e 54 20 53 44 4b 56 65 72 73 69 6f 6e   UINT SDKVersion
0550: 2c 20 49 44 33 44 31 30 44 65 76 69 63 65 2a 20  , ID3D10Device* 
0560: 70 70 44 65 76 69 63 65 29 3b 0d 0a 09 48 52 45  ppDevice);...HRE
0570: 53 55 4c 54 20 44 33 44 31 30 43 72 65 61 74 65  SULT D3D10Create
0580: 44 65 76 69 63 65 41 6e 64 53 77 61 70 43 68 61  DeviceAndSwapCha
0590: 69 6e 28 49 44 58 47 49 41 64 61 70 74 65 72 20  in(IDXGIAdapter 
05a0: 70 41 64 61 70 74 65 72 2c 0d 0a 09 20 20 44 33  pAdapter,...  D3
05b0: 44 31 30 5f 44 52 49 56 45 52 5f 54 59 50 45 20  D10_DRIVER_TYPE 
05c0: 44 72 69 76 65 72 54 79 70 65 2c 20 48 4d 4f 44  DriverType, HMOD
05d0: 55 4c 45 20 53 6f 66 74 77 61 72 65 2c 20 55 49  ULE Software, UI
05e0: 4e 54 20 46 6c 61 67 73 2c 0d 0a 09 20 20 55 49  NT Flags,...  UI
05f0: 4e 54 20 53 44 4b 56 65 72 73 69 6f 6e 2c 20 44  NT SDKVersion, D
0600: 58 47 49 5f 53 57 41 50 5f 43 48 41 49 4e 5f 44  XGI_SWAP_CHAIN_D
0610: 45 53 43 2a 20 70 53 77 61 70 43 68 61 69 6e 44  ESC* pSwapChainD
0620: 65 73 63 2c 0d 0a 09 20 20 49 44 58 47 49 53 77  esc,...  IDXGISw
0630: 61 70 43 68 61 69 6e 2a 20 70 70 53 77 61 70 43  apChain* ppSwapC
0640: 68 61 69 6e 2c 20 49 44 33 44 31 30 44 65 76 69  hain, ID3D10Devi
0650: 63 65 2a 20 70 70 44 65 76 69 63 65 29 3b 0d 0a  ce* ppDevice);..
0660: 09 48 52 45 53 55 4c 54 20 44 33 44 31 30 43 72  .HRESULT D3D10Cr
0670: 65 61 74 65 42 6c 6f 62 28 53 49 5a 45 5f 54 20  eateBlob(SIZE_T 
0680: 4e 75 6d 42 79 74 65 73 2c 20 49 44 33 44 31 30  NumBytes, ID3D10
0690: 42 6c 6f 62 2a 20 70 70 42 75 66 66 65 72 29 3b  Blob* ppBuffer);
06a0: 0d 0a 7d 0d 0a                                   ..}..