Hex Artifact Content

Not logged in

Artifact 3663615d3892dfa712893b02b671adb706018487:


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 64 33 64 78 31 30 61           d3dx10a
0070: 73 79 6e 63 2e 64 20 20 20 20 20 20 20 20 20 20  sync.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 78 31 30 61 73 79 6e 63 3b 0d 0a  x.d3dx10async;..
0230: 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74  ..private import
0240: 20 77 69 6e 33 32 2e 77 69 6e 64 6f 77 73 3b 0d   win32.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 33  win32.directx.d3
0270: 64 31 30 3b 0d 0a 70 72 69 76 61 74 65 20 69 6d  d10;..private im
0280: 70 6f 72 74 20 77 69 6e 33 32 2e 64 69 72 65 63  port win32.direc
0290: 74 78 2e 64 33 64 31 30 73 68 61 64 65 72 3b 0d  tx.d3d10shader;.
02a0: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20  .private import 
02b0: 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e 64 33  win32.directx.d3
02c0: 64 31 30 65 66 66 65 63 74 3b 0d 0a 70 72 69 76  d10effect;..priv
02d0: 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32  ate import win32
02e0: 2e 64 69 72 65 63 74 78 2e 64 33 64 78 31 30 3b  .directx.d3dx10;
02f0: 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74  ..private import
0300: 20 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e 64   win32.directx.d
0310: 33 64 78 31 30 61 73 79 6e 63 3b 0d 0a 0d 0a 65  3dx10async;....e
0320: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 7b  xtern(Windows) {
0330: 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44 58 31  ...HRESULT D3DX1
0340: 30 43 6f 6d 70 69 6c 65 46 72 6f 6d 46 69 6c 65  0CompileFromFile
0350: 41 28 4c 50 43 53 54 52 20 70 53 72 63 46 69 6c  A(LPCSTR pSrcFil
0360: 65 2c 20 44 33 44 31 30 5f 53 48 41 44 45 52 5f  e, D3D10_SHADER_
0370: 4d 41 43 52 4f 2a 20 70 44 65 66 69 6e 65 73 2c  MACRO* pDefines,
0380: 20 49 44 33 44 31 30 49 6e 63 6c 75 64 65 20 70   ID3D10Include p
0390: 49 6e 63 6c 75 64 65 2c 20 4c 50 43 53 54 52 20  Include, LPCSTR 
03a0: 70 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 4c  pFunctionName, L
03b0: 50 43 53 54 52 20 70 50 72 6f 66 69 6c 65 2c 20  PCSTR pProfile, 
03c0: 55 49 4e 54 20 46 6c 61 67 73 31 2c 20 55 49 4e  UINT Flags1, UIN
03d0: 54 20 46 6c 61 67 73 32 2c 20 49 44 33 44 58 31  T Flags2, ID3DX1
03e0: 30 54 68 72 65 61 64 50 75 6d 70 20 70 50 75 6d  0ThreadPump pPum
03f0: 70 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a 20 70  p, ID3D10Blob* p
0400: 70 53 68 61 64 65 72 2c 20 49 44 33 44 31 30 42  pShader, ID3D10B
0410: 6c 6f 62 2a 20 70 70 45 72 72 6f 72 4d 73 67 73  lob* ppErrorMsgs
0420: 2c 20 48 52 45 53 55 4c 54 2a 20 70 48 52 65 73  , HRESULT* pHRes
0430: 75 6c 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  ult);...HRESULT 
0440: 44 33 44 58 31 30 43 6f 6d 70 69 6c 65 46 72 6f  D3DX10CompileFro
0450: 6d 46 69 6c 65 57 28 4c 50 43 57 53 54 52 20 70  mFileW(LPCWSTR p
0460: 53 72 63 46 69 6c 65 2c 20 44 33 44 31 30 5f 53  SrcFile, D3D10_S
0470: 48 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65  HADER_MACRO* pDe
0480: 66 69 6e 65 73 2c 20 49 44 33 44 31 30 49 6e 63  fines, ID3D10Inc
0490: 6c 75 64 65 20 70 49 6e 63 6c 75 64 65 2c 20 4c  lude pInclude, L
04a0: 50 43 53 54 52 20 70 46 75 6e 63 74 69 6f 6e 4e  PCSTR pFunctionN
04b0: 61 6d 65 2c 20 4c 50 43 53 54 52 20 70 50 72 6f  ame, LPCSTR pPro
04c0: 66 69 6c 65 2c 20 55 49 4e 54 20 46 6c 61 67 73  file, UINT Flags
04d0: 31 2c 20 55 49 4e 54 20 46 6c 61 67 73 32 2c 20  1, UINT Flags2, 
04e0: 49 44 33 44 58 31 30 54 68 72 65 61 64 50 75 6d  ID3DX10ThreadPum
04f0: 70 20 70 50 75 6d 70 2c 20 49 44 33 44 31 30 42  p pPump, ID3D10B
0500: 6c 6f 62 2a 20 70 70 53 68 61 64 65 72 2c 20 49  lob* ppShader, I
0510: 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 45 72 72  D3D10Blob* ppErr
0520: 6f 72 4d 73 67 73 2c 20 48 52 45 53 55 4c 54 2a  orMsgs, HRESULT*
0530: 20 70 48 52 65 73 75 6c 74 29 3b 0d 0a 7d 0d 0a   pHResult);..}..
0540: 0d 0a 76 65 72 73 69 6f 6e 28 55 6e 69 63 6f 64  ..version(Unicod
0550: 65 29 20 7b 0d 0a 09 61 6c 69 61 73 20 44 33 44  e) {...alias D3D
0560: 58 31 30 43 6f 6d 70 69 6c 65 46 72 6f 6d 46 69  X10CompileFromFi
0570: 6c 65 57 20 44 33 44 58 31 30 43 6f 6d 70 69 6c  leW D3DX10Compil
0580: 65 46 72 6f 6d 46 69 6c 65 3b 0d 0a 7d 20 65 6c  eFromFile;..} el
0590: 73 65 20 7b 0d 0a 09 61 6c 69 61 73 20 44 33 44  se {...alias D3D
05a0: 58 31 30 43 6f 6d 70 69 6c 65 46 72 6f 6d 46 69  X10CompileFromFi
05b0: 6c 65 41 20 44 33 44 58 31 30 43 6f 6d 70 69 6c  leA D3DX10Compil
05c0: 65 46 72 6f 6d 46 69 6c 65 3b 0d 0a 7d 0d 0a 0d  eFromFile;..}...
05d0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
05e0: 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44   {...HRESULT D3D
05f0: 58 31 30 43 6f 6d 70 69 6c 65 46 72 6f 6d 52 65  X10CompileFromRe
0600: 73 6f 75 72 63 65 41 28 48 4d 4f 44 55 4c 45 20  sourceA(HMODULE 
0610: 68 53 72 63 4d 6f 64 75 6c 65 2c 20 4c 50 43 53  hSrcModule, LPCS
0620: 54 52 20 70 53 72 63 52 65 73 6f 75 72 63 65 2c  TR pSrcResource,
0630: 20 4c 50 43 53 54 52 20 70 53 72 63 46 69 6c 65   LPCSTR pSrcFile
0640: 4e 61 6d 65 2c 20 44 33 44 31 30 5f 53 48 41 44  Name, D3D10_SHAD
0650: 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65 66 69 6e  ER_MACRO* pDefin
0660: 65 73 2c 20 49 44 33 44 31 30 49 6e 63 6c 75 64  es, ID3D10Includ
0670: 65 20 70 49 6e 63 6c 75 64 65 2c 20 4c 50 43 53  e pInclude, LPCS
0680: 54 52 20 70 46 75 6e 63 74 69 6f 6e 4e 61 6d 65  TR pFunctionName
0690: 2c 20 4c 50 43 53 54 52 20 70 50 72 6f 66 69 6c  , LPCSTR pProfil
06a0: 65 2c 20 55 49 4e 54 20 46 6c 61 67 73 31 2c 20  e, UINT Flags1, 
06b0: 55 49 4e 54 20 46 6c 61 67 73 32 2c 20 49 44 33  UINT Flags2, ID3
06c0: 44 58 31 30 54 68 72 65 61 64 50 75 6d 70 20 70  DX10ThreadPump p
06d0: 50 75 6d 70 2c 20 49 44 33 44 31 30 42 6c 6f 62  Pump, ID3D10Blob
06e0: 2a 20 70 70 53 68 61 64 65 72 2c 20 49 44 33 44  * ppShader, ID3D
06f0: 31 30 42 6c 6f 62 2a 20 70 70 45 72 72 6f 72 4d  10Blob* ppErrorM
0700: 73 67 73 2c 20 48 52 45 53 55 4c 54 2a 20 70 48  sgs, HRESULT* pH
0710: 52 65 73 75 6c 74 29 3b 0d 0a 09 48 52 45 53 55  Result);...HRESU
0720: 4c 54 20 44 33 44 58 31 30 43 6f 6d 70 69 6c 65  LT D3DX10Compile
0730: 46 72 6f 6d 52 65 73 6f 75 72 63 65 57 28 48 4d  FromResourceW(HM
0740: 4f 44 55 4c 45 20 68 53 72 63 4d 6f 64 75 6c 65  ODULE hSrcModule
0750: 2c 20 4c 50 43 57 53 54 52 20 70 53 72 63 52 65  , LPCWSTR pSrcRe
0760: 73 6f 75 72 63 65 2c 20 4c 50 43 57 53 54 52 20  source, LPCWSTR 
0770: 70 53 72 63 46 69 6c 65 4e 61 6d 65 2c 20 44 33  pSrcFileName, D3
0780: 44 31 30 5f 53 48 41 44 45 52 5f 4d 41 43 52 4f  D10_SHADER_MACRO
0790: 2a 20 70 44 65 66 69 6e 65 73 2c 20 49 44 33 44  * pDefines, ID3D
07a0: 31 30 49 6e 63 6c 75 64 65 20 70 49 6e 63 6c 75  10Include pInclu
07b0: 64 65 2c 20 4c 50 43 53 54 52 20 70 46 75 6e 63  de, LPCSTR pFunc
07c0: 74 69 6f 6e 4e 61 6d 65 2c 20 4c 50 43 53 54 52  tionName, LPCSTR
07d0: 20 70 50 72 6f 66 69 6c 65 2c 20 55 49 4e 54 20   pProfile, UINT 
07e0: 46 6c 61 67 73 31 2c 20 55 49 4e 54 20 46 6c 61  Flags1, UINT Fla
07f0: 67 73 32 2c 20 49 44 33 44 58 31 30 54 68 72 65  gs2, ID3DX10Thre
0800: 61 64 50 75 6d 70 20 70 50 75 6d 70 2c 20 49 44  adPump pPump, ID
0810: 33 44 31 30 42 6c 6f 62 2a 20 70 70 53 68 61 64  3D10Blob* ppShad
0820: 65 72 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a 20  er, ID3D10Blob* 
0830: 70 70 45 72 72 6f 72 4d 73 67 73 2c 20 48 52 45  ppErrorMsgs, HRE
0840: 53 55 4c 54 2a 20 70 48 52 65 73 75 6c 74 29 3b  SULT* pHResult);
0850: 0d 0a 7d 0d 0a 0d 0a 76 65 72 73 69 6f 6e 28 55  ..}....version(U
0860: 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c 69 61  nicode) {...alia
0870: 73 20 44 33 44 58 31 30 43 6f 6d 70 69 6c 65 46  s D3DX10CompileF
0880: 72 6f 6d 52 65 73 6f 75 72 63 65 57 20 44 33 44  romResourceW D3D
0890: 58 31 30 43 6f 6d 70 69 6c 65 46 72 6f 6d 52 65  X10CompileFromRe
08a0: 73 6f 75 72 63 65 3b 0d 0a 7d 20 65 6c 73 65 20  source;..} else 
08b0: 7b 0d 0a 09 61 6c 69 61 73 20 44 33 44 58 31 30  {...alias D3DX10
08c0: 43 6f 6d 70 69 6c 65 46 72 6f 6d 52 65 73 6f 75  CompileFromResou
08d0: 72 63 65 41 20 44 33 44 58 31 30 43 6f 6d 70 69  rceA D3DX10Compi
08e0: 6c 65 46 72 6f 6d 52 65 73 6f 75 72 63 65 3b 0d  leFromResource;.
08f0: 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  .}....extern(Win
0900: 64 6f 77 73 29 20 7b 0d 0a 09 48 52 45 53 55 4c  dows) {...HRESUL
0910: 54 20 44 33 44 58 31 30 43 6f 6d 70 69 6c 65 46  T D3DX10CompileF
0920: 72 6f 6d 4d 65 6d 6f 72 79 28 4c 50 43 53 54 52  romMemory(LPCSTR
0930: 20 70 53 72 63 44 61 74 61 2c 20 53 49 5a 45 5f   pSrcData, SIZE_
0940: 54 20 53 72 63 44 61 74 61 4c 65 6e 2c 20 4c 50  T SrcDataLen, LP
0950: 43 53 54 52 20 70 46 69 6c 65 4e 61 6d 65 2c 20  CSTR pFileName, 
0960: 44 33 44 31 30 5f 53 48 41 44 45 52 5f 4d 41 43  D3D10_SHADER_MAC
0970: 52 4f 2a 20 70 44 65 66 69 6e 65 73 2c 20 49 44  RO* pDefines, ID
0980: 33 44 31 30 49 6e 63 6c 75 64 65 20 70 49 6e 63  3D10Include pInc
0990: 6c 75 64 65 2c 20 4c 50 43 53 54 52 20 70 46 75  lude, LPCSTR pFu
09a0: 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 4c 50 43 53  nctionName, LPCS
09b0: 54 52 20 70 50 72 6f 66 69 6c 65 2c 20 55 49 4e  TR pProfile, UIN
09c0: 54 20 46 6c 61 67 73 31 2c 20 55 49 4e 54 20 46  T Flags1, UINT F
09d0: 6c 61 67 73 32 2c 20 49 44 33 44 58 31 30 54 68  lags2, ID3DX10Th
09e0: 72 65 61 64 50 75 6d 70 20 70 50 75 6d 70 2c 20  readPump pPump, 
09f0: 49 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 53 68  ID3D10Blob* ppSh
0a00: 61 64 65 72 2c 20 49 44 33 44 31 30 42 6c 6f 62  ader, ID3D10Blob
0a10: 2a 20 70 70 45 72 72 6f 72 4d 73 67 73 2c 20 48  * ppErrorMsgs, H
0a20: 52 45 53 55 4c 54 2a 20 70 48 52 65 73 75 6c 74  RESULT* pHResult
0a30: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44  );...HRESULT D3D
0a40: 58 31 30 43 72 65 61 74 65 45 66 66 65 63 74 46  X10CreateEffectF
0a50: 72 6f 6d 46 69 6c 65 41 28 4c 50 43 53 54 52 20  romFileA(LPCSTR 
0a60: 70 46 69 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30  pFileName, D3D10
0a70: 5f 53 48 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70  _SHADER_MACRO* p
0a80: 44 65 66 69 6e 65 73 2c 20 49 44 33 44 31 30 49  Defines, ID3D10I
0a90: 6e 63 6c 75 64 65 20 70 49 6e 63 6c 75 64 65 2c  nclude pInclude,
0aa0: 20 4c 50 43 53 54 52 20 70 50 72 6f 66 69 6c 65   LPCSTR pProfile
0ab0: 2c 20 55 49 4e 54 20 48 4c 53 4c 46 6c 61 67 73  , UINT HLSLFlags
0ac0: 2c 20 55 49 4e 54 20 46 58 46 6c 61 67 73 2c 20  , UINT FXFlags, 
0ad0: 49 44 33 44 31 30 44 65 76 69 63 65 20 70 44 65  ID3D10Device pDe
0ae0: 76 69 63 65 2c 20 49 44 33 44 31 30 45 66 66 65  vice, ID3D10Effe
0af0: 63 74 50 6f 6f 6c 20 70 45 66 66 65 63 74 50 6f  ctPool pEffectPo
0b00: 6f 6c 2c 20 49 44 33 44 58 31 30 54 68 72 65 61  ol, ID3DX10Threa
0b10: 64 50 75 6d 70 20 70 50 75 6d 70 2c 20 49 44 33  dPump pPump, ID3
0b20: 44 31 30 45 66 66 65 63 74 2a 20 70 70 45 66 66  D10Effect* ppEff
0b30: 65 63 74 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a  ect, ID3D10Blob*
0b40: 20 70 70 45 72 72 6f 72 73 2c 20 48 52 45 53 55   ppErrors, HRESU
0b50: 4c 54 2a 20 70 48 52 65 73 75 6c 74 29 3b 0d 0a  LT* pHResult);..
0b60: 09 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 43  .HRESULT D3DX10C
0b70: 72 65 61 74 65 45 66 66 65 63 74 46 72 6f 6d 46  reateEffectFromF
0b80: 69 6c 65 57 28 4c 50 43 57 53 54 52 20 70 46 69  ileW(LPCWSTR pFi
0b90: 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30 5f 53 48  leName, D3D10_SH
0ba0: 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65 66  ADER_MACRO* pDef
0bb0: 69 6e 65 73 2c 20 49 44 33 44 31 30 49 6e 63 6c  ines, ID3D10Incl
0bc0: 75 64 65 20 70 49 6e 63 6c 75 64 65 2c 20 4c 50  ude pInclude, LP
0bd0: 43 53 54 52 20 70 50 72 6f 66 69 6c 65 2c 20 55  CSTR pProfile, U
0be0: 49 4e 54 20 48 4c 53 4c 46 6c 61 67 73 2c 20 55  INT HLSLFlags, U
0bf0: 49 4e 54 20 46 58 46 6c 61 67 73 2c 20 49 44 33  INT FXFlags, ID3
0c00: 44 31 30 44 65 76 69 63 65 20 70 44 65 76 69 63  D10Device pDevic
0c10: 65 2c 20 49 44 33 44 31 30 45 66 66 65 63 74 50  e, ID3D10EffectP
0c20: 6f 6f 6c 20 70 45 66 66 65 63 74 50 6f 6f 6c 2c  ool pEffectPool,
0c30: 20 49 44 33 44 58 31 30 54 68 72 65 61 64 50 75   ID3DX10ThreadPu
0c40: 6d 70 20 70 50 75 6d 70 2c 20 49 44 33 44 31 30  mp pPump, ID3D10
0c50: 45 66 66 65 63 74 2a 20 70 70 45 66 66 65 63 74  Effect* ppEffect
0c60: 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a 20 70 70  , ID3D10Blob* pp
0c70: 45 72 72 6f 72 73 2c 20 48 52 45 53 55 4c 54 2a  Errors, HRESULT*
0c80: 20 70 48 52 65 73 75 6c 74 29 3b 0d 0a 09 48 52   pHResult);...HR
0c90: 45 53 55 4c 54 20 44 33 44 58 31 30 43 72 65 61  ESULT D3DX10Crea
0ca0: 74 65 45 66 66 65 63 74 46 72 6f 6d 4d 65 6d 6f  teEffectFromMemo
0cb0: 72 79 28 4c 50 43 56 4f 49 44 20 70 44 61 74 61  ry(LPCVOID pData
0cc0: 2c 20 53 49 5a 45 5f 54 20 44 61 74 61 4c 65 6e  , SIZE_T DataLen
0cd0: 67 74 68 2c 20 4c 50 43 53 54 52 20 70 53 72 63  gth, LPCSTR pSrc
0ce0: 46 69 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30 5f  FileName, D3D10_
0cf0: 53 48 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70 44  SHADER_MACRO* pD
0d00: 65 66 69 6e 65 73 2c 20 49 44 33 44 31 30 49 6e  efines, ID3D10In
0d10: 63 6c 75 64 65 20 70 49 6e 63 6c 75 64 65 2c 20  clude pInclude, 
0d20: 4c 50 43 53 54 52 20 70 50 72 6f 66 69 6c 65 2c  LPCSTR pProfile,
0d30: 20 55 49 4e 54 20 48 4c 53 4c 46 6c 61 67 73 2c   UINT HLSLFlags,
0d40: 20 55 49 4e 54 20 46 58 46 6c 61 67 73 2c 20 49   UINT FXFlags, I
0d50: 44 33 44 31 30 44 65 76 69 63 65 20 70 44 65 76  D3D10Device pDev
0d60: 69 63 65 2c 20 49 44 33 44 31 30 45 66 66 65 63  ice, ID3D10Effec
0d70: 74 50 6f 6f 6c 20 70 45 66 66 65 63 74 50 6f 6f  tPool pEffectPoo
0d80: 6c 2c 20 49 44 33 44 58 31 30 54 68 72 65 61 64  l, ID3DX10Thread
0d90: 50 75 6d 70 20 70 50 75 6d 70 2c 20 49 44 33 44  Pump pPump, ID3D
0da0: 31 30 45 66 66 65 63 74 2a 20 70 70 45 66 66 65  10Effect* ppEffe
0db0: 63 74 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a 20  ct, ID3D10Blob* 
0dc0: 70 70 45 72 72 6f 72 73 2c 20 48 52 45 53 55 4c  ppErrors, HRESUL
0dd0: 54 2a 20 70 48 52 65 73 75 6c 74 29 3b 0d 0a 09  T* pHResult);...
0de0: 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 43 72  HRESULT D3DX10Cr
0df0: 65 61 74 65 45 66 66 65 63 74 46 72 6f 6d 52 65  eateEffectFromRe
0e00: 73 6f 75 72 63 65 41 28 48 4d 4f 44 55 4c 45 20  sourceA(HMODULE 
0e10: 68 4d 6f 64 75 6c 65 2c 20 4c 50 43 53 54 52 20  hModule, LPCSTR 
0e20: 70 52 65 73 6f 75 72 63 65 4e 61 6d 65 2c 20 4c  pResourceName, L
0e30: 50 43 53 54 52 20 70 53 72 63 46 69 6c 65 4e 61  PCSTR pSrcFileNa
0e40: 6d 65 2c 20 44 33 44 31 30 5f 53 48 41 44 45 52  me, D3D10_SHADER
0e50: 5f 4d 41 43 52 4f 2a 20 70 44 65 66 69 6e 65 73  _MACRO* pDefines
0e60: 2c 20 49 44 33 44 31 30 49 6e 63 6c 75 64 65 20  , ID3D10Include 
0e70: 70 49 6e 63 6c 75 64 65 2c 20 4c 50 43 53 54 52  pInclude, LPCSTR
0e80: 20 70 50 72 6f 66 69 6c 65 2c 20 55 49 4e 54 20   pProfile, UINT 
0e90: 48 4c 53 4c 46 6c 61 67 73 2c 20 55 49 4e 54 20  HLSLFlags, UINT 
0ea0: 46 58 46 6c 61 67 73 2c 20 49 44 33 44 31 30 44  FXFlags, ID3D10D
0eb0: 65 76 69 63 65 20 70 44 65 76 69 63 65 2c 20 49  evice pDevice, I
0ec0: 44 33 44 31 30 45 66 66 65 63 74 50 6f 6f 6c 20  D3D10EffectPool 
0ed0: 70 45 66 66 65 63 74 50 6f 6f 6c 2c 20 49 44 33  pEffectPool, ID3
0ee0: 44 58 31 30 54 68 72 65 61 64 50 75 6d 70 20 70  DX10ThreadPump p
0ef0: 50 75 6d 70 2c 20 49 44 33 44 31 30 45 66 66 65  Pump, ID3D10Effe
0f00: 63 74 2a 20 70 70 45 66 66 65 63 74 2c 20 49 44  ct* ppEffect, ID
0f10: 33 44 31 30 42 6c 6f 62 2a 20 70 70 45 72 72 6f  3D10Blob* ppErro
0f20: 72 73 2c 20 48 52 45 53 55 4c 54 2a 20 70 48 52  rs, HRESULT* pHR
0f30: 65 73 75 6c 74 29 3b 0d 0a 09 48 52 45 53 55 4c  esult);...HRESUL
0f40: 54 20 44 33 44 58 31 30 43 72 65 61 74 65 45 66  T D3DX10CreateEf
0f50: 66 65 63 74 46 72 6f 6d 52 65 73 6f 75 72 63 65  fectFromResource
0f60: 57 28 48 4d 4f 44 55 4c 45 20 68 4d 6f 64 75 6c  W(HMODULE hModul
0f70: 65 2c 20 4c 50 43 57 53 54 52 20 70 52 65 73 6f  e, LPCWSTR pReso
0f80: 75 72 63 65 4e 61 6d 65 2c 20 4c 50 43 57 53 54  urceName, LPCWST
0f90: 52 20 70 53 72 63 46 69 6c 65 4e 61 6d 65 2c 20  R pSrcFileName, 
0fa0: 44 33 44 31 30 5f 53 48 41 44 45 52 5f 4d 41 43  D3D10_SHADER_MAC
0fb0: 52 4f 2a 20 70 44 65 66 69 6e 65 73 2c 20 49 44  RO* pDefines, ID
0fc0: 33 44 31 30 49 6e 63 6c 75 64 65 20 70 49 6e 63  3D10Include pInc
0fd0: 6c 75 64 65 2c 20 4c 50 43 53 54 52 20 70 50 72  lude, LPCSTR pPr
0fe0: 6f 66 69 6c 65 2c 20 55 49 4e 54 20 48 4c 53 4c  ofile, UINT HLSL
0ff0: 46 6c 61 67 73 2c 20 55 49 4e 54 20 46 58 46 6c  Flags, UINT FXFl
1000: 61 67 73 2c 20 49 44 33 44 31 30 44 65 76 69 63  ags, ID3D10Devic
1010: 65 20 70 44 65 76 69 63 65 2c 20 49 44 33 44 31  e pDevice, ID3D1
1020: 30 45 66 66 65 63 74 50 6f 6f 6c 20 70 45 66 66  0EffectPool pEff
1030: 65 63 74 50 6f 6f 6c 2c 20 49 44 33 44 58 31 30  ectPool, ID3DX10
1040: 54 68 72 65 61 64 50 75 6d 70 20 70 50 75 6d 70  ThreadPump pPump
1050: 2c 20 49 44 33 44 31 30 45 66 66 65 63 74 2a 20  , ID3D10Effect* 
1060: 70 70 45 66 66 65 63 74 2c 20 49 44 33 44 31 30  ppEffect, ID3D10
1070: 42 6c 6f 62 2a 20 70 70 45 72 72 6f 72 73 2c 20  Blob* ppErrors, 
1080: 48 52 45 53 55 4c 54 2a 20 70 48 52 65 73 75 6c  HRESULT* pHResul
1090: 74 29 3b 0d 0a 7d 0d 0a 0d 0a 76 65 72 73 69 6f  t);..}....versio
10a0: 6e 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61  n(Unicode) {...a
10b0: 6c 69 61 73 20 44 33 44 58 31 30 43 72 65 61 74  lias D3DX10Creat
10c0: 65 45 66 66 65 63 74 46 72 6f 6d 46 69 6c 65 57  eEffectFromFileW
10d0: 20 44 33 44 58 31 30 43 72 65 61 74 65 45 66 66   D3DX10CreateEff
10e0: 65 63 74 46 72 6f 6d 46 69 6c 65 3b 0d 0a 09 61  ectFromFile;...a
10f0: 6c 69 61 73 20 44 33 44 58 31 30 43 72 65 61 74  lias D3DX10Creat
1100: 65 45 66 66 65 63 74 46 72 6f 6d 52 65 73 6f 75  eEffectFromResou
1110: 72 63 65 57 20 44 33 44 58 31 30 43 72 65 61 74  rceW D3DX10Creat
1120: 65 45 66 66 65 63 74 46 72 6f 6d 52 65 73 6f 75  eEffectFromResou
1130: 72 63 65 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a  rce;..} else {..
1140: 09 61 6c 69 61 73 20 44 33 44 58 31 30 43 72 65  .alias D3DX10Cre
1150: 61 74 65 45 66 66 65 63 74 46 72 6f 6d 46 69 6c  ateEffectFromFil
1160: 65 41 20 44 33 44 58 31 30 43 72 65 61 74 65 45  eA D3DX10CreateE
1170: 66 66 65 63 74 46 72 6f 6d 46 69 6c 65 3b 0d 0a  ffectFromFile;..
1180: 09 61 6c 69 61 73 20 44 33 44 58 31 30 43 72 65  .alias D3DX10Cre
1190: 61 74 65 45 66 66 65 63 74 46 72 6f 6d 52 65 73  ateEffectFromRes
11a0: 6f 75 72 63 65 41 20 44 33 44 58 31 30 43 72 65  ourceA D3DX10Cre
11b0: 61 74 65 45 66 66 65 63 74 46 72 6f 6d 52 65 73  ateEffectFromRes
11c0: 6f 75 72 63 65 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74  ource;..}....ext
11d0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a  ern(Windows) {..
11e0: 09 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 43  .HRESULT D3DX10C
11f0: 72 65 61 74 65 45 66 66 65 63 74 50 6f 6f 6c 46  reateEffectPoolF
1200: 72 6f 6d 46 69 6c 65 41 28 4c 50 43 53 54 52 20  romFileA(LPCSTR 
1210: 70 46 69 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30  pFileName, D3D10
1220: 5f 53 48 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70  _SHADER_MACRO* p
1230: 44 65 66 69 6e 65 73 2c 20 49 44 33 44 31 30 49  Defines, ID3D10I
1240: 6e 63 6c 75 64 65 20 70 49 6e 63 6c 75 64 65 2c  nclude pInclude,
1250: 20 4c 50 43 53 54 52 20 70 50 72 6f 66 69 6c 65   LPCSTR pProfile
1260: 2c 20 55 49 4e 54 20 48 4c 53 4c 46 6c 61 67 73  , UINT HLSLFlags
1270: 2c 20 55 49 4e 54 20 46 58 46 6c 61 67 73 2c 20  , UINT FXFlags, 
1280: 49 44 33 44 31 30 44 65 76 69 63 65 20 70 44 65  ID3D10Device pDe
1290: 76 69 63 65 2c 20 49 44 33 44 58 31 30 54 68 72  vice, ID3DX10Thr
12a0: 65 61 64 50 75 6d 70 20 70 50 75 6d 70 2c 20 49  eadPump pPump, I
12b0: 44 33 44 31 30 45 66 66 65 63 74 50 6f 6f 6c 2a  D3D10EffectPool*
12c0: 20 70 70 45 66 66 65 63 74 50 6f 6f 6c 2c 20 49   ppEffectPool, I
12d0: 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 45 72 72  D3D10Blob* ppErr
12e0: 6f 72 73 2c 20 48 52 45 53 55 4c 54 2a 20 70 48  ors, HRESULT* pH
12f0: 52 65 73 75 6c 74 29 3b 0d 0a 09 48 52 45 53 55  Result);...HRESU
1300: 4c 54 20 44 33 44 58 31 30 43 72 65 61 74 65 45  LT D3DX10CreateE
1310: 66 66 65 63 74 50 6f 6f 6c 46 72 6f 6d 46 69 6c  ffectPoolFromFil
1320: 65 57 28 4c 50 43 57 53 54 52 20 70 46 69 6c 65  eW(LPCWSTR pFile
1330: 4e 61 6d 65 2c 20 44 33 44 31 30 5f 53 48 41 44  Name, D3D10_SHAD
1340: 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65 66 69 6e  ER_MACRO* pDefin
1350: 65 73 2c 20 49 44 33 44 31 30 49 6e 63 6c 75 64  es, ID3D10Includ
1360: 65 20 70 49 6e 63 6c 75 64 65 2c 20 4c 50 43 53  e pInclude, LPCS
1370: 54 52 20 70 50 72 6f 66 69 6c 65 2c 20 55 49 4e  TR pProfile, UIN
1380: 54 20 48 4c 53 4c 46 6c 61 67 73 2c 20 55 49 4e  T HLSLFlags, UIN
1390: 54 20 46 58 46 6c 61 67 73 2c 20 49 44 33 44 31  T FXFlags, ID3D1
13a0: 30 44 65 76 69 63 65 20 70 44 65 76 69 63 65 2c  0Device pDevice,
13b0: 20 49 44 33 44 58 31 30 54 68 72 65 61 64 50 75   ID3DX10ThreadPu
13c0: 6d 70 20 70 50 75 6d 70 2c 20 49 44 33 44 31 30  mp pPump, ID3D10
13d0: 45 66 66 65 63 74 50 6f 6f 6c 2a 20 70 70 45 66  EffectPool* ppEf
13e0: 66 65 63 74 50 6f 6f 6c 2c 20 49 44 33 44 31 30  fectPool, ID3D10
13f0: 42 6c 6f 62 2a 20 70 70 45 72 72 6f 72 73 2c 20  Blob* ppErrors, 
1400: 48 52 45 53 55 4c 54 2a 20 70 48 52 65 73 75 6c  HRESULT* pHResul
1410: 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 33  t);...HRESULT D3
1420: 44 58 31 30 43 72 65 61 74 65 45 66 66 65 63 74  DX10CreateEffect
1430: 50 6f 6f 6c 46 72 6f 6d 4d 65 6d 6f 72 79 28 4c  PoolFromMemory(L
1440: 50 43 56 4f 49 44 20 70 44 61 74 61 2c 20 53 49  PCVOID pData, SI
1450: 5a 45 5f 54 20 44 61 74 61 4c 65 6e 67 74 68 2c  ZE_T DataLength,
1460: 20 4c 50 43 53 54 52 20 70 53 72 63 46 69 6c 65   LPCSTR pSrcFile
1470: 4e 61 6d 65 2c 20 44 33 44 31 30 5f 53 48 41 44  Name, D3D10_SHAD
1480: 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65 66 69 6e  ER_MACRO* pDefin
1490: 65 73 2c 20 49 44 33 44 31 30 49 6e 63 6c 75 64  es, ID3D10Includ
14a0: 65 20 70 49 6e 63 6c 75 64 65 2c 20 4c 50 43 53  e pInclude, LPCS
14b0: 54 52 20 70 50 72 6f 66 69 6c 65 2c 20 55 49 4e  TR pProfile, UIN
14c0: 54 20 48 4c 53 4c 46 6c 61 67 73 2c 20 55 49 4e  T HLSLFlags, UIN
14d0: 54 20 46 58 46 6c 61 67 73 2c 20 49 44 33 44 31  T FXFlags, ID3D1
14e0: 30 44 65 76 69 63 65 20 70 44 65 76 69 63 65 2c  0Device pDevice,
14f0: 20 49 44 33 44 58 31 30 54 68 72 65 61 64 50 75   ID3DX10ThreadPu
1500: 6d 70 20 70 50 75 6d 70 2c 20 49 44 33 44 31 30  mp pPump, ID3D10
1510: 45 66 66 65 63 74 50 6f 6f 6c 2a 20 70 70 45 66  EffectPool* ppEf
1520: 66 65 63 74 50 6f 6f 6c 2c 20 49 44 33 44 31 30  fectPool, ID3D10
1530: 42 6c 6f 62 2a 20 70 70 45 72 72 6f 72 73 2c 20  Blob* ppErrors, 
1540: 48 52 45 53 55 4c 54 2a 20 70 48 52 65 73 75 6c  HRESULT* pHResul
1550: 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 33  t);...HRESULT D3
1560: 44 58 31 30 43 72 65 61 74 65 45 66 66 65 63 74  DX10CreateEffect
1570: 50 6f 6f 6c 46 72 6f 6d 52 65 73 6f 75 72 63 65  PoolFromResource
1580: 41 28 48 4d 4f 44 55 4c 45 20 68 4d 6f 64 75 6c  A(HMODULE hModul
1590: 65 2c 20 4c 50 43 53 54 52 20 70 52 65 73 6f 75  e, LPCSTR pResou
15a0: 72 63 65 4e 61 6d 65 2c 20 4c 50 43 53 54 52 20  rceName, LPCSTR 
15b0: 70 53 72 63 46 69 6c 65 4e 61 6d 65 2c 20 44 33  pSrcFileName, D3
15c0: 44 31 30 5f 53 48 41 44 45 52 5f 4d 41 43 52 4f  D10_SHADER_MACRO
15d0: 2a 20 70 44 65 66 69 6e 65 73 2c 20 49 44 33 44  * pDefines, ID3D
15e0: 31 30 49 6e 63 6c 75 64 65 20 70 49 6e 63 6c 75  10Include pInclu
15f0: 64 65 2c 20 4c 50 43 53 54 52 20 70 50 72 6f 66  de, LPCSTR pProf
1600: 69 6c 65 2c 20 55 49 4e 54 20 48 4c 53 4c 46 6c  ile, UINT HLSLFl
1610: 61 67 73 2c 20 55 49 4e 54 20 46 58 46 6c 61 67  ags, UINT FXFlag
1620: 73 2c 20 49 44 33 44 31 30 44 65 76 69 63 65 20  s, ID3D10Device 
1630: 70 44 65 76 69 63 65 2c 20 49 44 33 44 58 31 30  pDevice, ID3DX10
1640: 54 68 72 65 61 64 50 75 6d 70 20 70 50 75 6d 70  ThreadPump pPump
1650: 2c 20 49 44 33 44 31 30 45 66 66 65 63 74 50 6f  , ID3D10EffectPo
1660: 6f 6c 2a 20 70 70 45 66 66 65 63 74 50 6f 6f 6c  ol* ppEffectPool
1670: 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a 20 70 70  , ID3D10Blob* pp
1680: 45 72 72 6f 72 73 2c 20 48 52 45 53 55 4c 54 2a  Errors, HRESULT*
1690: 20 70 48 52 65 73 75 6c 74 29 3b 0d 0a 09 48 52   pHResult);...HR
16a0: 45 53 55 4c 54 20 44 33 44 58 31 30 43 72 65 61  ESULT D3DX10Crea
16b0: 74 65 45 66 66 65 63 74 50 6f 6f 6c 46 72 6f 6d  teEffectPoolFrom
16c0: 52 65 73 6f 75 72 63 65 57 28 48 4d 4f 44 55 4c  ResourceW(HMODUL
16d0: 45 20 68 4d 6f 64 75 6c 65 2c 20 4c 50 43 57 53  E hModule, LPCWS
16e0: 54 52 20 70 52 65 73 6f 75 72 63 65 4e 61 6d 65  TR pResourceName
16f0: 2c 20 4c 50 43 57 53 54 52 20 70 53 72 63 46 69  , LPCWSTR pSrcFi
1700: 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30 5f 53 48  leName, D3D10_SH
1710: 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65 66  ADER_MACRO* pDef
1720: 69 6e 65 73 2c 20 49 44 33 44 31 30 49 6e 63 6c  ines, ID3D10Incl
1730: 75 64 65 20 70 49 6e 63 6c 75 64 65 2c 20 4c 50  ude pInclude, LP
1740: 43 53 54 52 20 70 50 72 6f 66 69 6c 65 2c 20 55  CSTR pProfile, U
1750: 49 4e 54 20 48 4c 53 4c 46 6c 61 67 73 2c 20 55  INT HLSLFlags, U
1760: 49 4e 54 20 46 58 46 6c 61 67 73 2c 20 49 44 33  INT FXFlags, ID3
1770: 44 31 30 44 65 76 69 63 65 20 70 44 65 76 69 63  D10Device pDevic
1780: 65 2c 20 49 44 33 44 58 31 30 54 68 72 65 61 64  e, ID3DX10Thread
1790: 50 75 6d 70 20 70 50 75 6d 70 2c 20 49 44 33 44  Pump pPump, ID3D
17a0: 31 30 45 66 66 65 63 74 50 6f 6f 6c 2a 20 70 70  10EffectPool* pp
17b0: 45 66 66 65 63 74 50 6f 6f 6c 2c 20 49 44 33 44  EffectPool, ID3D
17c0: 31 30 42 6c 6f 62 2a 20 70 70 45 72 72 6f 72 73  10Blob* ppErrors
17d0: 2c 20 48 52 45 53 55 4c 54 2a 20 70 48 52 65 73  , HRESULT* pHRes
17e0: 75 6c 74 29 3b 0d 0a 7d 0d 0a 0d 0a 76 65 72 73  ult);..}....vers
17f0: 69 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a  ion(Unicode) {..
1800: 09 61 6c 69 61 73 20 44 33 44 58 31 30 43 72 65  .alias D3DX10Cre
1810: 61 74 65 45 66 66 65 63 74 50 6f 6f 6c 46 72 6f  ateEffectPoolFro
1820: 6d 46 69 6c 65 57 20 44 33 44 58 31 30 43 72 65  mFileW D3DX10Cre
1830: 61 74 65 45 66 66 65 63 74 50 6f 6f 6c 46 72 6f  ateEffectPoolFro
1840: 6d 46 69 6c 65 3b 0d 0a 09 61 6c 69 61 73 20 44  mFile;...alias D
1850: 33 44 58 31 30 43 72 65 61 74 65 45 66 66 65 63  3DX10CreateEffec
1860: 74 50 6f 6f 6c 46 72 6f 6d 52 65 73 6f 75 72 63  tPoolFromResourc
1870: 65 57 20 44 33 44 58 31 30 43 72 65 61 74 65 45  eW D3DX10CreateE
1880: 66 66 65 63 74 50 6f 6f 6c 46 72 6f 6d 52 65 73  ffectPoolFromRes
1890: 6f 75 72 63 65 3b 0d 0a 7d 20 65 6c 73 65 20 7b  ource;..} else {
18a0: 0d 0a 09 61 6c 69 61 73 20 44 33 44 58 31 30 43  ...alias D3DX10C
18b0: 72 65 61 74 65 45 66 66 65 63 74 50 6f 6f 6c 46  reateEffectPoolF
18c0: 72 6f 6d 46 69 6c 65 41 20 44 33 44 58 31 30 43  romFileA D3DX10C
18d0: 72 65 61 74 65 45 66 66 65 63 74 50 6f 6f 6c 46  reateEffectPoolF
18e0: 72 6f 6d 46 69 6c 65 3b 0d 0a 09 61 6c 69 61 73  romFile;...alias
18f0: 20 44 33 44 58 31 30 43 72 65 61 74 65 45 66 66   D3DX10CreateEff
1900: 65 63 74 50 6f 6f 6c 46 72 6f 6d 52 65 73 6f 75  ectPoolFromResou
1910: 72 63 65 41 20 44 33 44 58 31 30 43 72 65 61 74  rceA D3DX10Creat
1920: 65 45 66 66 65 63 74 50 6f 6f 6c 46 72 6f 6d 52  eEffectPoolFromR
1930: 65 73 6f 75 72 63 65 3b 0d 0a 7d 0d 0a 0d 0a 65  esource;..}....e
1940: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 7b  xtern(Windows) {
1950: 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44 58 31  ...HRESULT D3DX1
1960: 30 50 72 65 70 72 6f 63 65 73 73 53 68 61 64 65  0PreprocessShade
1970: 72 46 72 6f 6d 46 69 6c 65 41 28 4c 50 43 53 54  rFromFileA(LPCST
1980: 52 20 70 46 69 6c 65 4e 61 6d 65 2c 20 44 33 44  R pFileName, D3D
1990: 31 30 5f 53 48 41 44 45 52 5f 4d 41 43 52 4f 2a  10_SHADER_MACRO*
19a0: 20 70 44 65 66 69 6e 65 73 2c 20 49 44 33 44 31   pDefines, ID3D1
19b0: 30 49 6e 63 6c 75 64 65 20 70 49 6e 63 6c 75 64  0Include pInclud
19c0: 65 2c 20 49 44 33 44 58 31 30 54 68 72 65 61 64  e, ID3DX10Thread
19d0: 50 75 6d 70 20 70 50 75 6d 70 2c 20 49 44 33 44  Pump pPump, ID3D
19e0: 31 30 42 6c 6f 62 2a 20 70 70 53 68 61 64 65 72  10Blob* ppShader
19f0: 54 65 78 74 2c 20 49 44 33 44 31 30 42 6c 6f 62  Text, ID3D10Blob
1a00: 2a 20 70 70 45 72 72 6f 72 4d 73 67 73 2c 20 48  * ppErrorMsgs, H
1a10: 52 45 53 55 4c 54 2a 20 70 48 52 65 73 75 6c 74  RESULT* pHResult
1a20: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44  );...HRESULT D3D
1a30: 58 31 30 50 72 65 70 72 6f 63 65 73 73 53 68 61  X10PreprocessSha
1a40: 64 65 72 46 72 6f 6d 46 69 6c 65 57 28 4c 50 43  derFromFileW(LPC
1a50: 57 53 54 52 20 70 46 69 6c 65 4e 61 6d 65 2c 20  WSTR pFileName, 
1a60: 44 33 44 31 30 5f 53 48 41 44 45 52 5f 4d 41 43  D3D10_SHADER_MAC
1a70: 52 4f 2a 20 70 44 65 66 69 6e 65 73 2c 20 49 44  RO* pDefines, ID
1a80: 33 44 31 30 49 6e 63 6c 75 64 65 20 70 49 6e 63  3D10Include pInc
1a90: 6c 75 64 65 2c 20 49 44 33 44 58 31 30 54 68 72  lude, ID3DX10Thr
1aa0: 65 61 64 50 75 6d 70 20 70 50 75 6d 70 2c 20 49  eadPump pPump, I
1ab0: 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 53 68 61  D3D10Blob* ppSha
1ac0: 64 65 72 54 65 78 74 2c 20 49 44 33 44 31 30 42  derText, ID3D10B
1ad0: 6c 6f 62 2a 20 70 70 45 72 72 6f 72 4d 73 67 73  lob* ppErrorMsgs
1ae0: 2c 20 48 52 45 53 55 4c 54 2a 20 70 48 52 65 73  , HRESULT* pHRes
1af0: 75 6c 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  ult);...HRESULT 
1b00: 44 33 44 58 31 30 50 72 65 70 72 6f 63 65 73 73  D3DX10Preprocess
1b10: 53 68 61 64 65 72 46 72 6f 6d 4d 65 6d 6f 72 79  ShaderFromMemory
1b20: 28 4c 50 43 53 54 52 20 70 53 72 63 44 61 74 61  (LPCSTR pSrcData
1b30: 2c 20 53 49 5a 45 5f 54 20 53 72 63 44 61 74 61  , SIZE_T SrcData
1b40: 53 69 7a 65 2c 20 4c 50 43 53 54 52 20 70 46 69  Size, LPCSTR pFi
1b50: 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30 5f 53 48  leName, D3D10_SH
1b60: 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65 66  ADER_MACRO* pDef
1b70: 69 6e 65 73 2c 20 49 44 33 44 31 30 49 6e 63 6c  ines, ID3D10Incl
1b80: 75 64 65 20 70 49 6e 63 6c 75 64 65 2c 20 49 44  ude pInclude, ID
1b90: 33 44 58 31 30 54 68 72 65 61 64 50 75 6d 70 20  3DX10ThreadPump 
1ba0: 70 50 75 6d 70 2c 20 49 44 33 44 31 30 42 6c 6f  pPump, ID3D10Blo
1bb0: 62 2a 20 70 70 53 68 61 64 65 72 54 65 78 74 2c  b* ppShaderText,
1bc0: 20 49 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 45   ID3D10Blob* ppE
1bd0: 72 72 6f 72 4d 73 67 73 2c 20 48 52 45 53 55 4c  rrorMsgs, HRESUL
1be0: 54 2a 20 70 48 52 65 73 75 6c 74 29 3b 0d 0a 09  T* pHResult);...
1bf0: 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 50 72  HRESULT D3DX10Pr
1c00: 65 70 72 6f 63 65 73 73 53 68 61 64 65 72 46 72  eprocessShaderFr
1c10: 6f 6d 52 65 73 6f 75 72 63 65 41 28 48 4d 4f 44  omResourceA(HMOD
1c20: 55 4c 45 20 68 4d 6f 64 75 6c 65 2c 20 4c 50 43  ULE hModule, LPC
1c30: 53 54 52 20 70 52 65 73 6f 75 72 63 65 4e 61 6d  STR pResourceNam
1c40: 65 2c 20 4c 50 43 53 54 52 20 70 53 72 63 46 69  e, LPCSTR pSrcFi
1c50: 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30 5f 53 48  leName, D3D10_SH
1c60: 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65 66  ADER_MACRO* pDef
1c70: 69 6e 65 73 2c 20 49 44 33 44 31 30 49 6e 63 6c  ines, ID3D10Incl
1c80: 75 64 65 20 70 49 6e 63 6c 75 64 65 2c 20 49 44  ude pInclude, ID
1c90: 33 44 58 31 30 54 68 72 65 61 64 50 75 6d 70 20  3DX10ThreadPump 
1ca0: 70 50 75 6d 70 2c 20 49 44 33 44 31 30 42 6c 6f  pPump, ID3D10Blo
1cb0: 62 2a 20 70 70 53 68 61 64 65 72 54 65 78 74 2c  b* ppShaderText,
1cc0: 20 49 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 45   ID3D10Blob* ppE
1cd0: 72 72 6f 72 4d 73 67 73 2c 20 48 52 45 53 55 4c  rrorMsgs, HRESUL
1ce0: 54 2a 20 70 48 52 65 73 75 6c 74 29 3b 0d 0a 09  T* pHResult);...
1cf0: 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 50 72  HRESULT D3DX10Pr
1d00: 65 70 72 6f 63 65 73 73 53 68 61 64 65 72 46 72  eprocessShaderFr
1d10: 6f 6d 52 65 73 6f 75 72 63 65 57 28 48 4d 4f 44  omResourceW(HMOD
1d20: 55 4c 45 20 68 4d 6f 64 75 6c 65 2c 20 4c 50 43  ULE hModule, LPC
1d30: 57 53 54 52 20 70 52 65 73 6f 75 72 63 65 4e 61  WSTR pResourceNa
1d40: 6d 65 2c 20 4c 50 43 57 53 54 52 20 70 53 72 63  me, LPCWSTR pSrc
1d50: 46 69 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30 5f  FileName, D3D10_
1d60: 53 48 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70 44  SHADER_MACRO* pD
1d70: 65 66 69 6e 65 73 2c 20 49 44 33 44 31 30 49 6e  efines, ID3D10In
1d80: 63 6c 75 64 65 20 70 49 6e 63 6c 75 64 65 2c 20  clude pInclude, 
1d90: 49 44 33 44 58 31 30 54 68 72 65 61 64 50 75 6d  ID3DX10ThreadPum
1da0: 70 20 70 50 75 6d 70 2c 20 49 44 33 44 31 30 42  p pPump, ID3D10B
1db0: 6c 6f 62 2a 20 70 70 53 68 61 64 65 72 54 65 78  lob* ppShaderTex
1dc0: 74 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a 20 70  t, ID3D10Blob* p
1dd0: 70 45 72 72 6f 72 4d 73 67 73 2c 20 48 52 45 53  pErrorMsgs, HRES
1de0: 55 4c 54 2a 20 70 48 52 65 73 75 6c 74 29 3b 0d  ULT* pHResult);.
1df0: 0a 7d 0d 0a 0d 0a 76 65 72 73 69 6f 6e 28 55 6e  .}....version(Un
1e00: 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c 69 61 73  icode) {...alias
1e10: 20 44 33 44 58 31 30 50 72 65 70 72 6f 63 65 73   D3DX10Preproces
1e20: 73 53 68 61 64 65 72 46 72 6f 6d 46 69 6c 65 57  sShaderFromFileW
1e30: 20 44 33 44 58 31 30 50 72 65 70 72 6f 63 65 73   D3DX10Preproces
1e40: 73 53 68 61 64 65 72 46 72 6f 6d 46 69 6c 65 3b  sShaderFromFile;
1e50: 0d 0a 09 61 6c 69 61 73 20 44 33 44 58 31 30 50  ...alias D3DX10P
1e60: 72 65 70 72 6f 63 65 73 73 53 68 61 64 65 72 46  reprocessShaderF
1e70: 72 6f 6d 52 65 73 6f 75 72 63 65 57 20 44 33 44  romResourceW D3D
1e80: 58 31 30 50 72 65 70 72 6f 63 65 73 73 53 68 61  X10PreprocessSha
1e90: 64 65 72 46 72 6f 6d 52 65 73 6f 75 72 63 65 3b  derFromResource;
1ea0: 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 61 6c 69  ..} else {...ali
1eb0: 61 73 20 44 33 44 58 31 30 50 72 65 70 72 6f 63  as D3DX10Preproc
1ec0: 65 73 73 53 68 61 64 65 72 46 72 6f 6d 46 69 6c  essShaderFromFil
1ed0: 65 41 20 44 33 44 58 31 30 50 72 65 70 72 6f 63  eA D3DX10Preproc
1ee0: 65 73 73 53 68 61 64 65 72 46 72 6f 6d 46 69 6c  essShaderFromFil
1ef0: 65 3b 0d 0a 09 61 6c 69 61 73 20 44 33 44 58 31  e;...alias D3DX1
1f00: 30 50 72 65 70 72 6f 63 65 73 73 53 68 61 64 65  0PreprocessShade
1f10: 72 46 72 6f 6d 52 65 73 6f 75 72 63 65 41 20 44  rFromResourceA D
1f20: 33 44 58 31 30 50 72 65 70 72 6f 63 65 73 73 53  3DX10PreprocessS
1f30: 68 61 64 65 72 46 72 6f 6d 52 65 73 6f 75 72 63  haderFromResourc
1f40: 65 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28  e;..}....extern(
1f50: 57 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 48 52 45  Windows) {...HRE
1f60: 53 55 4c 54 20 44 33 44 58 31 30 43 72 65 61 74  SULT D3DX10Creat
1f70: 65 41 73 79 6e 63 43 6f 6d 70 69 6c 65 72 50 72  eAsyncCompilerPr
1f80: 6f 63 65 73 73 6f 72 28 4c 50 43 53 54 52 20 70  ocessor(LPCSTR p
1f90: 46 69 6c 65 4e 61 6d 65 2c 20 44 33 44 31 30 5f  FileName, D3D10_
1fa0: 53 48 41 44 45 52 5f 4d 41 43 52 4f 2a 20 70 44  SHADER_MACRO* pD
1fb0: 65 66 69 6e 65 73 2c 20 49 44 33 44 31 30 49 6e  efines, ID3D10In
1fc0: 63 6c 75 64 65 20 70 49 6e 63 6c 75 64 65 2c 20  clude pInclude, 
1fd0: 4c 50 43 53 54 52 20 70 46 75 6e 63 74 69 6f 6e  LPCSTR pFunction
1fe0: 4e 61 6d 65 2c 20 4c 50 43 53 54 52 20 70 50 72  Name, LPCSTR pPr
1ff0: 6f 66 69 6c 65 2c 20 55 49 4e 54 20 46 6c 61 67  ofile, UINT Flag
2000: 73 31 2c 20 55 49 4e 54 20 46 6c 61 67 73 32 2c  s1, UINT Flags2,
2010: 20 49 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 43   ID3D10Blob* ppC
2020: 6f 6d 70 69 6c 65 64 53 68 61 64 65 72 2c 20 49  ompiledShader, I
2030: 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 45 72 72  D3D10Blob* ppErr
2040: 6f 72 42 75 66 66 65 72 2c 20 49 44 33 44 58 31  orBuffer, ID3DX1
2050: 30 44 61 74 61 50 72 6f 63 65 73 73 6f 72 2a 20  0DataProcessor* 
2060: 70 70 50 72 6f 63 65 73 73 6f 72 29 3b 0d 0a 09  ppProcessor);...
2070: 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 43 72  HRESULT D3DX10Cr
2080: 65 61 74 65 41 73 79 6e 63 45 66 66 65 63 74 43  eateAsyncEffectC
2090: 72 65 61 74 65 50 72 6f 63 65 73 73 6f 72 28 4c  reateProcessor(L
20a0: 50 43 53 54 52 20 70 46 69 6c 65 4e 61 6d 65 2c  PCSTR pFileName,
20b0: 20 44 33 44 31 30 5f 53 48 41 44 45 52 5f 4d 41   D3D10_SHADER_MA
20c0: 43 52 4f 2a 20 70 44 65 66 69 6e 65 73 2c 20 49  CRO* pDefines, I
20d0: 44 33 44 31 30 49 6e 63 6c 75 64 65 20 70 49 6e  D3D10Include pIn
20e0: 63 6c 75 64 65 2c 20 4c 50 43 53 54 52 20 70 50  clude, LPCSTR pP
20f0: 72 6f 66 69 6c 65 2c 20 55 49 4e 54 20 46 6c 61  rofile, UINT Fla
2100: 67 73 2c 20 55 49 4e 54 20 46 58 46 6c 61 67 73  gs, UINT FXFlags
2110: 2c 20 49 44 33 44 31 30 44 65 76 69 63 65 20 70  , ID3D10Device p
2120: 44 65 76 69 63 65 2c 20 49 44 33 44 31 30 45 66  Device, ID3D10Ef
2130: 66 65 63 74 50 6f 6f 6c 20 70 50 6f 6f 6c 2c 20  fectPool pPool, 
2140: 49 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 45 72  ID3D10Blob* ppEr
2150: 72 6f 72 42 75 66 66 65 72 2c 20 49 44 33 44 58  rorBuffer, ID3DX
2160: 31 30 44 61 74 61 50 72 6f 63 65 73 73 6f 72 2a  10DataProcessor*
2170: 20 70 70 50 72 6f 63 65 73 73 6f 72 29 3b 0d 0a   ppProcessor);..
2180: 09 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 43  .HRESULT D3DX10C
2190: 72 65 61 74 65 41 73 79 6e 63 45 66 66 65 63 74  reateAsyncEffect
21a0: 50 6f 6f 6c 43 72 65 61 74 65 50 72 6f 63 65 73  PoolCreateProces
21b0: 73 6f 72 28 4c 50 43 53 54 52 20 70 46 69 6c 65  sor(LPCSTR pFile
21c0: 4e 61 6d 65 2c 20 44 33 44 31 30 5f 53 48 41 44  Name, D3D10_SHAD
21d0: 45 52 5f 4d 41 43 52 4f 2a 20 70 44 65 66 69 6e  ER_MACRO* pDefin
21e0: 65 73 2c 20 49 44 33 44 31 30 49 6e 63 6c 75 64  es, ID3D10Includ
21f0: 65 20 70 49 6e 63 6c 75 64 65 2c 20 4c 50 43 53  e pInclude, LPCS
2200: 54 52 20 70 50 72 6f 66 69 6c 65 2c 20 55 49 4e  TR pProfile, UIN
2210: 54 20 46 6c 61 67 73 2c 20 55 49 4e 54 20 46 58  T Flags, UINT FX
2220: 46 6c 61 67 73 2c 20 49 44 33 44 31 30 44 65 76  Flags, ID3D10Dev
2230: 69 63 65 20 70 44 65 76 69 63 65 2c 20 49 44 33  ice pDevice, ID3
2240: 44 31 30 42 6c 6f 62 2a 20 70 70 45 72 72 6f 72  D10Blob* ppError
2250: 42 75 66 66 65 72 2c 20 49 44 33 44 58 31 30 44  Buffer, ID3DX10D
2260: 61 74 61 50 72 6f 63 65 73 73 6f 72 2a 20 70 70  ataProcessor* pp
2270: 50 72 6f 63 65 73 73 6f 72 29 3b 0d 0a 09 48 52  Processor);...HR
2280: 45 53 55 4c 54 20 44 33 44 58 31 30 43 72 65 61  ESULT D3DX10Crea
2290: 74 65 41 73 79 6e 63 53 68 61 64 65 72 50 72 65  teAsyncShaderPre
22a0: 70 72 6f 63 65 73 73 50 72 6f 63 65 73 73 6f 72  processProcessor
22b0: 28 4c 50 43 53 54 52 20 70 46 69 6c 65 4e 61 6d  (LPCSTR pFileNam
22c0: 65 2c 20 44 33 44 31 30 5f 53 48 41 44 45 52 5f  e, D3D10_SHADER_
22d0: 4d 41 43 52 4f 2a 20 70 44 65 66 69 6e 65 73 2c  MACRO* pDefines,
22e0: 20 49 44 33 44 31 30 49 6e 63 6c 75 64 65 20 70   ID3D10Include p
22f0: 49 6e 63 6c 75 64 65 2c 20 49 44 33 44 31 30 42  Include, ID3D10B
2300: 6c 6f 62 2a 20 70 70 53 68 61 64 65 72 54 65 78  lob* ppShaderTex
2310: 74 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a 20 70  t, ID3D10Blob* p
2320: 70 45 72 72 6f 72 42 75 66 66 65 72 2c 20 49 44  pErrorBuffer, ID
2330: 33 44 58 31 30 44 61 74 61 50 72 6f 63 65 73 73  3DX10DataProcess
2340: 6f 72 2a 20 70 70 50 72 6f 63 65 73 73 6f 72 29  or* ppProcessor)
2350: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44 58  ;...HRESULT D3DX
2360: 31 30 43 72 65 61 74 65 41 73 79 6e 63 46 69 6c  10CreateAsyncFil
2370: 65 4c 6f 61 64 65 72 57 28 4c 50 43 57 53 54 52  eLoaderW(LPCWSTR
2380: 20 70 46 69 6c 65 4e 61 6d 65 2c 20 49 44 33 44   pFileName, ID3D
2390: 58 31 30 44 61 74 61 4c 6f 61 64 65 72 2a 20 70  X10DataLoader* p
23a0: 70 44 61 74 61 4c 6f 61 64 65 72 29 3b 0d 0a 09  pDataLoader);...
23b0: 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 43 72  HRESULT D3DX10Cr
23c0: 65 61 74 65 41 73 79 6e 63 46 69 6c 65 4c 6f 61  eateAsyncFileLoa
23d0: 64 65 72 41 28 4c 50 43 53 54 52 20 70 46 69 6c  derA(LPCSTR pFil
23e0: 65 4e 61 6d 65 2c 20 49 44 33 44 58 31 30 44 61  eName, ID3DX10Da
23f0: 74 61 4c 6f 61 64 65 72 2a 20 70 70 44 61 74 61  taLoader* ppData
2400: 4c 6f 61 64 65 72 29 3b 0d 0a 09 48 52 45 53 55  Loader);...HRESU
2410: 4c 54 20 44 33 44 58 31 30 43 72 65 61 74 65 41  LT D3DX10CreateA
2420: 73 79 6e 63 4d 65 6d 6f 72 79 4c 6f 61 64 65 72  syncMemoryLoader
2430: 28 4c 50 43 56 4f 49 44 20 70 44 61 74 61 2c 20  (LPCVOID pData, 
2440: 53 49 5a 45 5f 54 20 63 62 44 61 74 61 2c 20 49  SIZE_T cbData, I
2450: 44 33 44 58 31 30 44 61 74 61 4c 6f 61 64 65 72  D3DX10DataLoader
2460: 2a 20 70 70 44 61 74 61 4c 6f 61 64 65 72 29 3b  * ppDataLoader);
2470: 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44 58 31  ...HRESULT D3DX1
2480: 30 43 72 65 61 74 65 41 73 79 6e 63 52 65 73 6f  0CreateAsyncReso
2490: 75 72 63 65 4c 6f 61 64 65 72 57 28 48 4d 4f 44  urceLoaderW(HMOD
24a0: 55 4c 45 20 68 53 72 63 4d 6f 64 75 6c 65 2c 20  ULE hSrcModule, 
24b0: 4c 50 43 57 53 54 52 20 70 53 72 63 52 65 73 6f  LPCWSTR pSrcReso
24c0: 75 72 63 65 2c 20 49 44 33 44 58 31 30 44 61 74  urce, ID3DX10Dat
24d0: 61 4c 6f 61 64 65 72 2a 20 70 70 44 61 74 61 4c  aLoader* ppDataL
24e0: 6f 61 64 65 72 29 3b 0d 0a 09 48 52 45 53 55 4c  oader);...HRESUL
24f0: 54 20 44 33 44 58 31 30 43 72 65 61 74 65 41 73  T D3DX10CreateAs
2500: 79 6e 63 52 65 73 6f 75 72 63 65 4c 6f 61 64 65  yncResourceLoade
2510: 72 41 28 48 4d 4f 44 55 4c 45 20 68 53 72 63 4d  rA(HMODULE hSrcM
2520: 6f 64 75 6c 65 2c 20 4c 50 43 53 54 52 20 70 53  odule, LPCSTR pS
2530: 72 63 52 65 73 6f 75 72 63 65 2c 20 49 44 33 44  rcResource, ID3D
2540: 58 31 30 44 61 74 61 4c 6f 61 64 65 72 2a 20 70  X10DataLoader* p
2550: 70 44 61 74 61 4c 6f 61 64 65 72 29 3b 0d 0a 7d  pDataLoader);..}
2560: 0d 0a 0d 0a 76 65 72 73 69 6f 6e 28 55 6e 69 63  ....version(Unic
2570: 6f 64 65 29 20 7b 0d 0a 09 61 6c 69 61 73 20 44  ode) {...alias D
2580: 33 44 58 31 30 43 72 65 61 74 65 41 73 79 6e 63  3DX10CreateAsync
2590: 46 69 6c 65 4c 6f 61 64 65 72 57 20 44 33 44 58  FileLoaderW D3DX
25a0: 31 30 43 72 65 61 74 65 41 73 79 6e 63 46 69 6c  10CreateAsyncFil
25b0: 65 4c 6f 61 64 65 72 3b 0d 0a 09 61 6c 69 61 73  eLoader;...alias
25c0: 20 44 33 44 58 31 30 43 72 65 61 74 65 41 73 79   D3DX10CreateAsy
25d0: 6e 63 52 65 73 6f 75 72 63 65 4c 6f 61 64 65 72  ncResourceLoader
25e0: 57 20 44 33 44 58 31 30 43 72 65 61 74 65 41 73  W D3DX10CreateAs
25f0: 79 6e 63 52 65 73 6f 75 72 63 65 4c 6f 61 64 65  yncResourceLoade
2600: 72 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 61  r;..} else {...a
2610: 6c 69 61 73 20 44 33 44 58 31 30 43 72 65 61 74  lias D3DX10Creat
2620: 65 41 73 79 6e 63 46 69 6c 65 4c 6f 61 64 65 72  eAsyncFileLoader
2630: 41 20 44 33 44 58 31 30 43 72 65 61 74 65 41 73  A D3DX10CreateAs
2640: 79 6e 63 46 69 6c 65 4c 6f 61 64 65 72 3b 0d 0a  yncFileLoader;..
2650: 09 61 6c 69 61 73 20 44 33 44 58 31 30 43 72 65  .alias D3DX10Cre
2660: 61 74 65 41 73 79 6e 63 52 65 73 6f 75 72 63 65  ateAsyncResource
2670: 4c 6f 61 64 65 72 41 20 44 33 44 58 31 30 43 72  LoaderA D3DX10Cr
2680: 65 61 74 65 41 73 79 6e 63 52 65 73 6f 75 72 63  eateAsyncResourc
2690: 65 4c 6f 61 64 65 72 3b 0d 0a 7d 0d 0a 0d 0a 65  eLoader;..}....e
26a0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 7b  xtern(Windows) {
26b0: 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44 58 31  ...HRESULT D3DX1
26c0: 30 43 72 65 61 74 65 41 73 79 6e 63 54 65 78 74  0CreateAsyncText
26d0: 75 72 65 50 72 6f 63 65 73 73 6f 72 28 49 44 33  ureProcessor(ID3
26e0: 44 31 30 44 65 76 69 63 65 20 70 44 65 76 69 63  D10Device pDevic
26f0: 65 2c 20 44 33 44 58 31 30 5f 49 4d 41 47 45 5f  e, D3DX10_IMAGE_
2700: 4c 4f 41 44 5f 49 4e 46 4f 2a 20 70 4c 6f 61 64  LOAD_INFO* pLoad
2710: 49 6e 66 6f 2c 20 49 44 33 44 58 31 30 44 61 74  Info, ID3DX10Dat
2720: 61 50 72 6f 63 65 73 73 6f 72 2a 20 70 70 44 61  aProcessor* ppDa
2730: 74 61 50 72 6f 63 65 73 73 6f 72 29 3b 0d 0a 09  taProcessor);...
2740: 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 43 72  HRESULT D3DX10Cr
2750: 65 61 74 65 41 73 79 6e 63 54 65 78 74 75 72 65  eateAsyncTexture
2760: 49 6e 66 6f 50 72 6f 63 65 73 73 6f 72 28 44 33  InfoProcessor(D3
2770: 44 58 31 30 5f 49 4d 41 47 45 5f 49 4e 46 4f 2a  DX10_IMAGE_INFO*
2780: 20 70 49 6d 61 67 65 49 6e 66 6f 2c 20 49 44 33   pImageInfo, ID3
2790: 44 58 31 30 44 61 74 61 50 72 6f 63 65 73 73 6f  DX10DataProcesso
27a0: 72 2a 20 70 70 44 61 74 61 50 72 6f 63 65 73 73  r* ppDataProcess
27b0: 6f 72 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44  or);...HRESULT D
27c0: 33 44 58 31 30 43 72 65 61 74 65 41 73 79 6e 63  3DX10CreateAsync
27d0: 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 56 69  ShaderResourceVi
27e0: 65 77 50 72 6f 63 65 73 73 6f 72 28 49 44 33 44  ewProcessor(ID3D
27f0: 31 30 44 65 76 69 63 65 20 70 44 65 76 69 63 65  10Device pDevice
2800: 2c 20 44 33 44 58 31 30 5f 49 4d 41 47 45 5f 4c  , D3DX10_IMAGE_L
2810: 4f 41 44 5f 49 4e 46 4f 2a 20 70 4c 6f 61 64 49  OAD_INFO* pLoadI
2820: 6e 66 6f 2c 20 49 44 33 44 58 31 30 44 61 74 61  nfo, ID3DX10Data
2830: 50 72 6f 63 65 73 73 6f 72 2a 20 70 70 44 61 74  Processor* ppDat
2840: 61 50 72 6f 63 65 73 73 6f 72 29 3b 0d 0a 7d 0d  aProcessor);..}.
2850: 0a                                               .