4 * Copyright (c) 2010 Owen Rudge for CodeWeavers
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 #include "wine/port.h"
24 #include "wine/debug.h"
25 #include "wine/unicode.h"
37 #include "d3dx10core.h"
39 WINE_DEFAULT_DEBUG_CHANNEL(d3dx
);
41 BOOL WINAPI
DllMain(HINSTANCE hinstDLL
, DWORD fdwReason
, LPVOID lpvReserved
)
45 case DLL_WINE_PREATTACH
:
46 return FALSE
; /* prefer native version */
47 case DLL_PROCESS_ATTACH
:
48 DisableThreadLibraryCalls(hinstDLL
);
55 /***********************************************************************
58 * Checks whether we are compiling against the correct d3d and d3dx library.
60 BOOL WINAPI
D3DX10CheckVersion(UINT d3dsdkvers
, UINT d3dxsdkvers
)
62 if ((d3dsdkvers
== D3D10_SDK_VERSION
) && (d3dxsdkvers
== 43))
68 HRESULT WINAPI
D3DX10CreateEffectFromFileA(const char *filename
, const D3D10_SHADER_MACRO
*defines
,
69 ID3D10Include
*include
, const char *profile
, UINT hlslflags
, UINT fxflags
, ID3D10Device
*device
,
70 ID3D10EffectPool
*effectpool
, ID3DX10ThreadPump
*pump
, ID3D10Effect
**effect
, ID3D10Blob
**errors
,
73 FIXME("filename %s, defines %p, include %p, profile %s, hlslflags %#x, fxflags %#x, "
74 "device %p, effectpool %p, pump %p, effect %p, errors %p, hresult %p\n",
75 debugstr_a(filename
), defines
, include
, debugstr_a(profile
), hlslflags
, fxflags
,
76 device
, effectpool
, pump
, effect
, errors
, hresult
);
81 HRESULT WINAPI
D3DX10CreateEffectFromFileW(const WCHAR
*filename
, const D3D10_SHADER_MACRO
*defines
,
82 ID3D10Include
*include
, const char *profile
, UINT hlslflags
, UINT fxflags
, ID3D10Device
*device
,
83 ID3D10EffectPool
*effectpool
, ID3DX10ThreadPump
*pump
, ID3D10Effect
**effect
, ID3D10Blob
**errors
,
86 FIXME("filename %s, defines %p, include %p, profile %s, hlslflags %#x, fxflags %#x, "
87 "device %p, effectpool %p, pump %p, effect %p, errors %p, hresult %p\n",
88 debugstr_w(filename
), defines
, include
, debugstr_a(profile
), hlslflags
, fxflags
, device
,
89 effectpool
, pump
, effect
, errors
, hresult
);
94 HRESULT WINAPI
D3DX10CreateEffectFromMemory(const void *data
, SIZE_T datasize
, const char *filename
,
95 const D3D10_SHADER_MACRO
*defines
, ID3D10Include
*include
, const char *profile
, UINT hlslflags
,
96 UINT fxflags
, ID3D10Device
*device
, ID3D10EffectPool
*effectpool
, ID3DX10ThreadPump
*pump
,
97 ID3D10Effect
**effect
, ID3D10Blob
**errors
, HRESULT
*hresult
)
99 FIXME("data %p, datasize %lu, filename %s, defines %p, include %p, profile %s, hlslflags %#x, fxflags %#x, "
100 "device %p, effectpool %p, pump %p, effect %p, errors %p, hresult %p\n",
101 data
, datasize
, debugstr_a(filename
), defines
, include
, debugstr_a(profile
), hlslflags
, fxflags
, device
,
102 effectpool
, pump
, effect
, errors
, hresult
);
107 HRESULT WINAPI
D3DX10CreateEffectPoolFromMemory(const void *data
, SIZE_T datasize
, const char *filename
,
108 const D3D10_SHADER_MACRO
*defines
, ID3D10Include
*include
, const char *profile
, UINT hlslflags
,
109 UINT fxflags
, ID3D10Device
*device
, ID3DX10ThreadPump
*pump
, ID3D10EffectPool
**effectpool
,
110 ID3D10Blob
**errors
, HRESULT
*hresult
)
112 FIXME("data %p, datasize %lu, filename %s, defines %p, include %p, profile %s, hlslflags %#x, fxflags %#x, "
113 "device %p, pump %p, effectpool %p, errors %p, hresult %p.\n",
114 data
, datasize
, debugstr_a(filename
), defines
, include
, debugstr_a(profile
), hlslflags
, fxflags
, device
,
115 pump
, effectpool
, errors
, hresult
);
120 HRESULT WINAPI
D3DX10UnsetAllDeviceObjects(ID3D10Device
*device
)
122 FIXME("device %p stub.\n", device
);
127 HRESULT WINAPI
D3DX10CreateDevice(IDXGIAdapter
*adapter
, D3D10_DRIVER_TYPE driver_type
,
128 HMODULE swrast
, unsigned int flags
, ID3D10Device
**device
)
132 TRACE("adapter %p, driver_type %d, swrast %p, flags %#x, device %p.\n", adapter
, driver_type
,
133 swrast
, flags
, device
);
135 if (SUCCEEDED(hr
= D3D10CreateDevice1(adapter
, driver_type
, swrast
, flags
, D3D10_FEATURE_LEVEL_10_1
,
136 D3D10_SDK_VERSION
, (ID3D10Device1
**)device
)))
139 if (SUCCEEDED(hr
= D3D10CreateDevice1(adapter
, driver_type
, swrast
, flags
, D3D10_FEATURE_LEVEL_10_0
,
140 D3D10_SDK_VERSION
, (ID3D10Device1
**)device
)))
146 HRESULT WINAPI
D3DX10GetFeatureLevel1(ID3D10Device
*device
, ID3D10Device1
**device1
)
148 TRACE("device %p, device1 %p.\n", device
, device1
);
150 return ID3D10Device_QueryInterface(device
, &IID_ID3D10Device1
, (void **)device1
);