Artifact 95a83671f36f06d6a9d615fc7ac5534bc0d59bff:
- File
src/win32/directx/d3dx10.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 20 20 20 64 33 64 78 d3dx 0070: 31 30 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 10.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 3b 0d 0a 0d 0a 70 72 69 x.d3dx10;....pri 0230: 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 vate import win3 0240: 32 2e 77 69 6e 64 6f 77 73 3b 0d 0a 0d 0a 70 75 2.windows;....pu 0250: 62 6c 69 63 20 69 6d 70 6f 72 74 20 77 69 6e 33 blic import win3 0260: 32 2e 64 69 72 65 63 74 78 2e 64 33 64 31 30 3b 2.directx.d3d10; 0270: 0d 0a 70 75 62 6c 69 63 20 69 6d 70 6f 72 74 20 ..public import 0280: 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e 64 33 win32.directx.d3 0290: 64 78 31 30 6d 61 74 68 3b 0d 0a 70 75 62 6c 69 dx10math;..publi 02a0: 63 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 64 c import win32.d 02b0: 69 72 65 63 74 78 2e 64 33 64 78 31 30 63 6f 72 irectx.d3dx10cor 02c0: 65 3b 0d 0a 70 75 62 6c 69 63 20 69 6d 70 6f 72 e;..public impor 02d0: 74 20 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e t win32.directx. 02e0: 64 33 64 78 31 30 74 65 78 3b 0d 0a 70 75 62 6c d3dx10tex;..publ 02f0: 69 63 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e ic import win32. 0300: 64 69 72 65 63 74 78 2e 64 33 64 78 31 30 6d 65 directx.d3dx10me 0310: 73 68 3b 0d 0a 70 75 62 6c 69 63 20 69 6d 70 6f sh;..public impo 0320: 72 74 20 77 69 6e 33 32 2e 64 69 72 65 63 74 78 rt win32.directx 0330: 2e 64 33 64 78 31 30 61 73 79 6e 63 3b 0d 0a 0d .d3dx10async;... 0340: 0a 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 64 33 .pragma(lib, "d3 0350: 64 78 31 30 2e 6c 69 62 22 29 3b 0d 0a 0d 0a 63 dx10.lib");....c 0360: 6f 6e 73 74 20 55 49 4e 54 20 44 33 44 58 31 30 onst UINT D3DX10 0370: 5f 44 45 46 41 55 4c 54 20 3d 20 2d 31 3b 0d 0a _DEFAULT = -1;.. 0380: 63 6f 6e 73 74 20 55 49 4e 54 20 44 33 44 58 31 const UINT D3DX1 0390: 30 5f 46 52 4f 4d 5f 46 49 4c 45 20 3d 20 2d 33 0_FROM_FILE = -3 03a0: 3b 0d 0a 63 6f 6e 73 74 20 44 58 47 49 5f 46 4f ;..const DXGI_FO 03b0: 52 4d 41 54 20 44 58 47 49 5f 46 4f 52 4d 41 54 RMAT DXGI_FORMAT 03c0: 5f 46 52 4f 4d 5f 46 49 4c 45 20 3d 20 63 61 73 _FROM_FILE = cas 03d0: 74 28 44 58 47 49 5f 46 4f 52 4d 41 54 29 2d 33 t(DXGI_FORMAT)-3 03e0: 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 5f 46 41 43 44 ;....const _FACD 03f0: 44 20 3d 20 30 78 38 37 36 3b 0d 0a 48 52 45 53 D = 0x876;..HRES 0400: 55 4c 54 20 4d 41 4b 45 5f 44 44 48 52 45 53 55 ULT MAKE_DDHRESU 0410: 4c 54 28 54 29 28 54 20 63 6f 64 65 29 20 7b 0d LT(T)(T code) {. 0420: 0a 09 72 65 74 75 72 6e 20 4d 41 4b 45 5f 48 52 ..return MAKE_HR 0430: 45 53 55 4c 54 28 31 2c 20 5f 46 41 43 44 44 2c ESULT(1, _FACDD, 0440: 20 63 6f 64 65 29 3b 0d 0a 7d 0d 0a 0d 0a 61 6c code);..}....al 0450: 69 61 73 20 48 52 45 53 55 4c 54 20 5f 44 33 44 ias HRESULT _D3D 0460: 58 31 30 5f 45 52 52 3b 0d 0a 5f 44 33 44 58 31 X10_ERR;.._D3DX1 0470: 30 5f 45 52 52 20 44 33 44 58 31 30 5f 45 52 52 0_ERR D3DX10_ERR 0480: 5f 43 41 4e 4e 4f 54 5f 4d 4f 44 49 46 59 5f 49 _CANNOT_MODIFY_I 0490: 4e 44 45 58 5f 42 55 46 46 45 52 09 3d 20 4d 41 NDEX_BUFFER.= MA 04a0: 4b 45 5f 44 44 48 52 45 53 55 4c 54 28 32 39 30 KE_DDHRESULT(290 04b0: 30 29 3b 0d 0a 5f 44 33 44 58 31 30 5f 45 52 52 0);.._D3DX10_ERR 04c0: 20 44 33 44 58 31 30 5f 45 52 52 5f 49 4e 56 41 D3DX10_ERR_INVA 04d0: 4c 49 44 5f 4d 45 53 48 09 09 09 09 09 3d 20 4d LID_MESH.....= M 04e0: 41 4b 45 5f 44 44 48 52 45 53 55 4c 54 28 32 39 AKE_DDHRESULT(29 04f0: 30 31 29 3b 0d 0a 5f 44 33 44 58 31 30 5f 45 52 01);.._D3DX10_ER 0500: 52 20 44 33 44 58 31 30 5f 45 52 52 5f 43 41 4e R D3DX10_ERR_CAN 0510: 4e 4f 54 5f 41 54 54 52 5f 53 4f 52 54 09 09 09 NOT_ATTR_SORT... 0520: 09 3d 20 4d 41 4b 45 5f 44 44 48 52 45 53 55 4c .= MAKE_DDHRESUL 0530: 54 28 32 39 30 32 29 3b 0d 0a 5f 44 33 44 58 31 T(2902);.._D3DX1 0540: 30 5f 45 52 52 20 44 33 44 58 31 30 5f 45 52 52 0_ERR D3DX10_ERR 0550: 5f 53 4b 49 4e 4e 49 4e 47 5f 4e 4f 54 5f 53 55 _SKINNING_NOT_SU 0560: 50 50 4f 52 54 45 44 09 09 3d 20 4d 41 4b 45 5f PPORTED..= MAKE_ 0570: 44 44 48 52 45 53 55 4c 54 28 32 39 30 33 29 3b DDHRESULT(2903); 0580: 0d 0a 5f 44 33 44 58 31 30 5f 45 52 52 20 44 33 .._D3DX10_ERR D3 0590: 44 58 31 30 5f 45 52 52 5f 54 4f 4f 5f 4d 41 4e DX10_ERR_TOO_MAN 05a0: 59 5f 49 4e 46 4c 55 45 4e 43 45 53 09 09 09 3d Y_INFLUENCES...= 05b0: 20 4d 41 4b 45 5f 44 44 48 52 45 53 55 4c 54 28 MAKE_DDHRESULT( 05c0: 32 39 30 34 29 3b 0d 0a 5f 44 33 44 58 31 30 5f 2904);.._D3DX10_ 05d0: 45 52 52 20 44 33 44 58 31 30 5f 45 52 52 5f 49 ERR D3DX10_ERR_I 05e0: 4e 56 41 4c 49 44 5f 44 41 54 41 09 09 09 09 09 NVALID_DATA..... 05f0: 3d 20 4d 41 4b 45 5f 44 44 48 52 45 53 55 4c 54 = MAKE_DDHRESULT 0600: 28 32 39 30 35 29 3b 0d 0a 5f 44 33 44 58 31 30 (2905);.._D3DX10 0610: 5f 45 52 52 20 44 33 44 58 31 30 5f 45 52 52 5f _ERR D3DX10_ERR_ 0620: 4c 4f 41 44 45 44 5f 4d 45 53 48 5f 48 41 53 5f LOADED_MESH_HAS_ 0630: 4e 4f 5f 44 41 54 41 09 09 3d 20 4d 41 4b 45 5f NO_DATA..= MAKE_ 0640: 44 44 48 52 45 53 55 4c 54 28 32 39 30 36 29 3b DDHRESULT(2906); 0650: 0d 0a 5f 44 33 44 58 31 30 5f 45 52 52 20 44 33 .._D3DX10_ERR D3 0660: 44 58 31 30 5f 45 52 52 5f 44 55 50 4c 49 43 41 DX10_ERR_DUPLICA 0670: 54 45 5f 4e 41 4d 45 44 5f 46 52 41 47 4d 45 4e TE_NAMED_FRAGMEN 0680: 54 09 09 3d 20 4d 41 4b 45 5f 44 44 48 52 45 53 T..= MAKE_DDHRES 0690: 55 4c 54 28 32 39 30 37 29 3b 0d 0a 5f 44 33 44 ULT(2907);.._D3D 06a0: 58 31 30 5f 45 52 52 20 44 33 44 58 31 30 5f 45 X10_ERR D3DX10_E 06b0: 52 52 5f 43 41 4e 4e 4f 54 5f 52 45 4d 4f 56 45 RR_CANNOT_REMOVE 06c0: 5f 4c 41 53 54 5f 49 54 45 4d 09 09 3d 20 4d 41 _LAST_ITEM..= MA 06d0: 4b 45 5f 44 44 48 52 45 53 55 4c 54 28 32 39 30 KE_DDHRESULT(290 06e0: 38 29 3b 8);