Artifact 3663615d3892dfa712893b02b671adb706018487:
- File
src/win32/directx/d3dx10async.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
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 .