ReactOS 0.4.17-dev-934-g091855f
d3dx11async.h File Reference
#include "d3dx11.h"
Include dependency graph for d3dx11async.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

HRESULT WINAPI D3DX11CreateAsyncFileLoaderA (const char *file_name, ID3DX11DataLoader **loader)
 
HRESULT WINAPI D3DX11CreateAsyncFileLoaderW (const WCHAR *file_name, ID3DX11DataLoader **loader)
 
HRESULT WINAPI D3DX11CreateAsyncResourceLoaderA (HMODULE module, const char *resource, ID3DX11DataLoader **loader)
 
HRESULT WINAPI D3DX11CreateAsyncResourceLoaderW (HMODULE module, const WCHAR *resource, ID3DX11DataLoader **loader)
 
HRESULT WINAPI D3DX11CreateAsyncMemoryLoader (const void *data, SIZE_T data_size, ID3DX11DataLoader **loader)
 
HRESULT WINAPI D3DX11CompileFromMemory (const char *data, SIZE_T data_size, const char *filename, const D3D10_SHADER_MACRO *defines, ID3D10Include *include, const char *entry_point, const char *target, UINT sflags, UINT eflags, ID3DX11ThreadPump *pump, ID3D10Blob **shader, ID3D10Blob **error_messages, HRESULT *hresult)
 
HRESULT WINAPI D3DX11CompileFromFileA (const char *filename, const D3D10_SHADER_MACRO *defines, ID3D10Include *include, const char *entry_point, const char *target, UINT sflags, UINT eflags, ID3DX11ThreadPump *pump, ID3D10Blob **shader, ID3D10Blob **error_messages, HRESULT *hresult)
 
HRESULT WINAPI D3DX11CompileFromFileW (const WCHAR *filename, const D3D10_SHADER_MACRO *defines, ID3D10Include *include, const char *entry_point, const char *target, UINT sflags, UINT eflags, ID3DX11ThreadPump *pump, ID3D10Blob **shader, ID3D10Blob **error_messages, HRESULT *hresult)
 

Function Documentation

◆ D3DX11CompileFromFileA()

HRESULT WINAPI D3DX11CompileFromFileA ( const char *  filename,
const D3D10_SHADER_MACRO *  defines,
ID3D10Include *  include,
const char *  entry_point,
const char *  target,
UINT  sflags,
UINT  eflags,
ID3DX11ThreadPump *  pump,
ID3D10Blob **  shader,
ID3D10Blob **  error_messages,
HRESULT *  hresult 
)

Definition at line 235 of file async.c.

238{
239 WCHAR filename_w[MAX_PATH];
240
241 TRACE("filename %s, defines %p, include %p, entry_point %s, target %s, sflags %#x, "
242 "eflags %#x, pump %p, shader %p, error_messages %p, hresult %p.\n",
244 sflags, eflags, pump, shader, error_messages, hresult);
245
246 MultiByteToWideChar(CP_ACP, 0, filename, -1, filename_w, ARRAY_SIZE(filename_w));
247
248 return D3DX11CompileFromFileW(filename_w, defines, include, entry_point, target,
249 sflags, eflags, pump, shader, error_messages, hresult);
250}
#define ARRAY_SIZE(A)
Definition: main.h:20
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude * include
Definition: asm.c:31
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude UINT ID3DBlob ID3DBlob ** error_messages
Definition: asm.c:32
static SIZE_T const char const D3D_SHADER_MACRO * defines
Definition: asm.c:31
HRESULT WINAPI D3DX11CompileFromFileW(const WCHAR *filename, const D3D10_SHADER_MACRO *defines, ID3D10Include *include, const char *entry_point, const char *target, UINT sflags, UINT eflags, ID3DX11ThreadPump *pump, ID3D10Blob **shader, ID3D10Blob **error_messages, HRESULT *hresult)
Definition: async.c:252
#define CP_ACP
Definition: compat.h:109
#define MAX_PATH
Definition: compat.h:34
#define MultiByteToWideChar
Definition: compat.h:110
GLuint shader
Definition: glext.h:6030
const char * filename
Definition: ioapi.h:137
#define debugstr_a
Definition: kernel32.h:31
short WCHAR
Definition: pedump.c:58
#define TRACE(s)
Definition: solgame.cpp:4
Definition: tools.h:99

◆ D3DX11CompileFromFileW()

HRESULT WINAPI D3DX11CompileFromFileW ( const WCHAR *  filename,
const D3D10_SHADER_MACRO *  defines,
ID3D10Include *  include,
const char *  entry_point,
const char *  target,
UINT  sflags,
UINT  eflags,
ID3DX11ThreadPump *  pump,
ID3D10Blob **  shader,
ID3D10Blob **  error_messages,
HRESULT *  hresult 
)

Definition at line 252 of file async.c.

255{
256 HRESULT hr;
257
258 TRACE("filename %s, defines %p, include %p, entry_point %s, target %s, sflags %#x, "
259 "eflags %#x, pump %p, shader %p, error_messages %p, hresult %p.\n",
261 sflags, eflags, pump, shader, error_messages, hresult);
262
263 if (pump)
264 FIXME("Unimplemented ID3DX11ThreadPump handling.\n");
265
266 if (!include)
268
270 if (hresult)
271 *hresult = hr;
272
273 return hr;
274}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define D3D_COMPILE_STANDARD_FILE_INCLUDE
Definition: d3dcompiler.h:85
HRESULT WINAPI D3DCompileFromFile(const WCHAR *filename, const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint, const char *target, UINT flags1, UINT flags2, ID3DBlob **code, ID3DBlob **errors)
Definition: compiler.c:743
HRESULT hr
Definition: delayimp.cpp:582
#define debugstr_w
Definition: kernel32.h:32

Referenced by D3DX11CompileFromFileA().

◆ D3DX11CompileFromMemory()

HRESULT WINAPI D3DX11CompileFromMemory ( const char *  data,
SIZE_T  data_size,
const char *  filename,
const D3D10_SHADER_MACRO *  defines,
ID3D10Include *  include,
const char *  entry_point,
const char *  target,
UINT  sflags,
UINT  eflags,
ID3DX11ThreadPump *  pump,
ID3D10Blob **  shader,
ID3D10Blob **  error_messages,
HRESULT *  hresult 
)

Definition at line 217 of file async.c.

221{
222 TRACE("data %s, data_size %Iu, filename %s, defines %p, include %p, entry_point %s, target %s, "
223 "sflags %#x, eflags %#x, pump %p, shader %p, error_messages %p, hresult %p.\n",
224 debugstr_an(data, data_size), data_size, debugstr_a(filename), defines, include,
225 debugstr_a(entry_point), debugstr_a(target), sflags, eflags, pump, shader,
226 error_messages, hresult);
227
228 if (pump)
229 FIXME("Unimplemented ID3DX11ThreadPump handling.\n");
230
231 return D3DCompile(data, data_size, filename, defines, include, entry_point, target,
233}
HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filename, const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint, const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages)
Definition: compiler.c:639
static __inline const char * debugstr_an(const char *s, int n)
Definition: compat.h:55
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950

◆ D3DX11CreateAsyncFileLoaderA()

HRESULT WINAPI D3DX11CreateAsyncFileLoaderA ( const char *  file_name,
ID3DX11DataLoader **  loader 
)

Definition at line 298 of file async.c.

299{
300 WCHAR *filename_w;
301 HRESULT hr;
302 int len;
303
304 TRACE("filename %s, loader %p.\n", debugstr_a(filename), loader);
305
306 if (!filename || !loader)
307 return E_FAIL;
308
310 filename_w = malloc(len * sizeof(*filename_w));
311 MultiByteToWideChar(CP_ACP, 0, filename, -1, filename_w, len);
312
314
315 free(filename_w);
316
317 return hr;
318}
#define E_FAIL
Definition: ddrawi.h:102
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
HRESULT WINAPI D3DX11CreateAsyncFileLoaderW(const WCHAR *filename, ID3DX11DataLoader **loader)
Definition: async.c:320
#define NULL
Definition: types.h:112
GLenum GLsizei len
Definition: glext.h:6722
Definition: loader.c:72

◆ D3DX11CreateAsyncFileLoaderW()

HRESULT WINAPI D3DX11CreateAsyncFileLoaderW ( const WCHAR *  file_name,
ID3DX11DataLoader **  loader 
)

Definition at line 320 of file async.c.

321{
322 struct asyncdataloader *object;
323
324 TRACE("filename %s, loader %p.\n", debugstr_w(filename), loader);
325
326 if (!filename || !loader)
327 return E_FAIL;
328
329 object = calloc(1, sizeof(*object));
330 if (!object)
331 return E_OUTOFMEMORY;
332
333 object->ID3DX11DataLoader_iface.lpVtbl = &filedataloadervtbl;
334 object->u.file.path = malloc((lstrlenW(filename) + 1) * sizeof(WCHAR));
335 if (!object->u.file.path)
336 {
337 free(object);
338 return E_OUTOFMEMORY;
339 }
340 lstrcpyW(object->u.file.path, filename);
341 object->data = NULL;
342 object->size = 0;
343
344 *loader = &object->ID3DX11DataLoader_iface;
345
346 return S_OK;
347}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static const ID3DX10DataLoaderVtbl filedataloadervtbl
Definition: async.c:169
#define lstrcpyW
Definition: compat.h:749
#define lstrlenW
Definition: compat.h:750
#define S_OK
Definition: intsafe.h:52
#define calloc
Definition: rosglue.h:14

Referenced by D3DX11CreateAsyncFileLoaderA().

◆ D3DX11CreateAsyncMemoryLoader()

HRESULT WINAPI D3DX11CreateAsyncMemoryLoader ( const void *  data,
SIZE_T  data_size,
ID3DX11DataLoader **  loader 
)

Definition at line 276 of file async.c.

277{
278 struct asyncdataloader *object;
279
280 TRACE("data %p, data_size %Iu, loader %p.\n", data, data_size, loader);
281
282 if (!data || !loader)
283 return E_FAIL;
284
285 object = calloc(1, sizeof(*object));
286 if (!object)
287 return E_OUTOFMEMORY;
288
289 object->ID3DX11DataLoader_iface.lpVtbl = &memorydataloadervtbl;
290 object->data = (void *)data;
291 object->size = data_size;
292
293 *loader = &object->ID3DX11DataLoader_iface;
294
295 return S_OK;
296}
static const ID3DX10DataLoaderVtbl memorydataloadervtbl
Definition: async.c:84

◆ D3DX11CreateAsyncResourceLoaderA()

HRESULT WINAPI D3DX11CreateAsyncResourceLoaderA ( HMODULE  module,
const char *  resource,
ID3DX11DataLoader **  loader 
)

Definition at line 349 of file async.c.

350{
351 struct asyncdataloader *object;
352 HRSRC rsrc;
353
354 TRACE("module %p, resource %s, loader %p.\n", module, debugstr_a(resource), loader);
355
356 if (!loader)
357 return E_FAIL;
358
359 object = calloc(1, sizeof(*object));
360 if (!object)
361 return E_OUTOFMEMORY;
362
363 if (!(rsrc = FindResourceA(module, resource, (const char *)RT_RCDATA)))
364 {
365 WARN("Failed to find resource.\n");
366 free(object);
368 }
369
370 object->ID3DX11DataLoader_iface.lpVtbl = &resourcedataloadervtbl;
371 object->u.resource.module = module;
372 object->u.resource.rsrc = rsrc;
373 object->data = NULL;
374 object->size = 0;
375
376 *loader = &object->ID3DX11DataLoader_iface;
377
378 return S_OK;
379}
#define WARN(fmt,...)
Definition: precomp.h:61
@ D3DX11_ERR_INVALID_DATA
Definition: d3dx11.h:44
static const ID3DX10DataLoaderVtbl resourcedataloadervtbl
Definition: async.c:272
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
Definition: res.c:155
#define RT_RCDATA
Definition: pedump.c:372
HRSRC rsrc
Definition: async.c:44
HMODULE module
Definition: async.c:43

◆ D3DX11CreateAsyncResourceLoaderW()

HRESULT WINAPI D3DX11CreateAsyncResourceLoaderW ( HMODULE  module,
const WCHAR *  resource,
ID3DX11DataLoader **  loader 
)

Definition at line 381 of file async.c.

382{
383 struct asyncdataloader *object;
384 HRSRC rsrc;
385
386 TRACE("module %p, resource %s, loader %p.\n", module, debugstr_w(resource), loader);
387
388 if (!loader)
389 return E_FAIL;
390
391 object = calloc(1, sizeof(*object));
392 if (!object)
393 return E_OUTOFMEMORY;
394
395 if (!(rsrc = FindResourceW(module, resource, (const WCHAR *)RT_RCDATA)))
396 {
397 WARN("Failed to find resource.\n");
398 free(object);
400 }
401
402 object->ID3DX11DataLoader_iface.lpVtbl = &resourcedataloadervtbl;
403 object->u.resource.module = module;
404 object->u.resource.rsrc = rsrc;
405 object->data = NULL;
406 object->size = 0;
407
408 *loader = &object->ID3DX11DataLoader_iface;
409
410 return S_OK;
411}
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
Definition: res.c:176