49 IUnknown_AddRef(iface);
92 TRACE(
"iface %p\n", iface);
101 TRACE(
"iface %p\n", iface);
121 blob->size = data_size;
126 ERR(
"Failed to allocate D3D blob data memory\n");
138 TRACE(
"data_size %lu, blob %p\n", data_size,
blob);
142 WARN(
"Invalid blob specified.\n");
153 WARN(
"Failed to initialize blob, hr %#x.\n",
hr);
158 *
blob = &
object->ID3DBlob_iface;
219 struct dxbc src_dxbc, dst_dxbc;
225 WARN(
"Invalid arguments: data %p, data_size %lu, flags %#x, blob %p\n",
data, data_size,
flags,
blob);
239 WARN(
"Failed to parse blob part\n");
247 WARN(
"Failed to init dxbc\n");
251 for (
i = 0;
i < src_dxbc.
count; ++
i)
262 WARN(
"Failed to add section to dxbc\n");
299 WARN(
"Nothing to write into the blob (count = 0)\n");
314 WARN(
"Could not create blob\n");
322 WARN(
"Failed to write blob part\n");
360 struct dxbc src_dxbc, dst_dxbc;
366 WARN(
"NULL for blob specified\n");
370 if (!
data || !data_size)
372 WARN(
"Invalid arguments: data %p, data_size %lu\n",
data, data_size);
379 WARN(
"Failed to parse blob part\n");
388 WARN(
"Failed to init dxbc\n");
392 for (
i = 0;
i < src_dxbc.
count; ++
i)
403 WARN(
"Failed to add section to dxbc\n");
412 WARN(
"Failed to write blob part\n");
423 TRACE(
"data %p, data_size %lu, part %s, flags %#x, blob %p\n",
data,
485 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
493 WARN(
"Failed to initialize blob, hr %#x.\n",
hr);
501 WARN(
"Failed to read file contents.\n");
508 object->size = read_size;
510 *contents = &
object->ID3DBlob_iface;
512 TRACE(
"Returning ID3DBlob %p.\n", *contents);
const char * debug_d3dcompiler_d3d_blob_part(D3D_BLOB_PART part) DECLSPEC_HIDDEN
HRESULT dxbc_add_section(struct dxbc *dxbc, DWORD tag, const char *data, DWORD data_size) DECLSPEC_HIDDEN
#define HRESULT_FROM_WIN32(x)
HRESULT dxbc_init(struct dxbc *dxbc, unsigned int size) DECLSPEC_HIDDEN
coclass MSXML2::XSLTemplate40 object
static HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_PART part, UINT flags, ID3DBlob **blob)
GLuint GLuint GLsizei count
WINE_DEFAULT_DEBUG_CHANNEL(d3dcompiler)
static HRESULT d3dcompiler_strip_shader(const void *data, SIZE_T data_size, UINT flags, ID3DBlob **blob)
static SIZE_T STDMETHODCALLTYPE d3dcompiler_blob_GetBufferSize(ID3DBlob *iface)
#define INVALID_HANDLE_VALUE
HRESULT WINAPI D3DGetInputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob)
DWORD WINAPI GetLastError(VOID)
#define INVALID_FILE_SIZE
static ULONG STDMETHODCALLTYPE d3dcompiler_blob_Release(ID3DBlob *iface)
static struct d3dcompiler_blob * impl_from_ID3DBlob(ID3DBlob *iface)
static BOOL check_blob_strip(DWORD tag, UINT flags)
HRESULT WINAPI D3DGetInputAndOutputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob)
HRESULT WINAPI D3DReadFileToBlob(const WCHAR *filename, ID3DBlob **contents)
#define D3DERR_INVALIDCALL
static HRESULT STDMETHODCALLTYPE d3dcompiler_blob_QueryInterface(ID3DBlob *iface, REFIID riid, void **object)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static void *STDMETHODCALLTYPE d3dcompiler_blob_GetBufferPointer(ID3DBlob *iface)
static HRESULT d3dcompiler_blob_init(struct d3dcompiler_blob *blob, SIZE_T data_size)
struct dxbc_section * sections
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
HRESULT dxbc_parse(const char *data, SIZE_T data_size, struct dxbc *dxbc) DECLSPEC_HIDDEN
#define STDMETHODCALLTYPE
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
HRESULT WINAPI D3DStripShader(const void *data, SIZE_T data_size, UINT flags, ID3D10Blob **blob)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
HRESULT dxbc_write_blob(struct dxbc *dxbc, ID3DBlob **blob) DECLSPEC_HIDDEN
#define FILE_ATTRIBUTE_NORMAL
#define InterlockedDecrement
static __inline const char * debugstr_an(const char *s, int n)
HRESULT WINAPI D3DGetDebugInfo(const void *data, SIZE_T data_size, ID3DBlob **blob)
#define memcpy(s1, s2, n)
static const struct ID3D10BlobVtbl d3dcompiler_blob_vtbl
HRESULT WINAPI D3DGetBlobPart(const void *data, SIZE_T data_size, D3D_BLOB_PART part, UINT flags, ID3DBlob **blob)
void dxbc_destroy(struct dxbc *dxbc) DECLSPEC_HIDDEN
#define InterlockedIncrement
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define ReadFile(a, b, c, d, e)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
HRESULT WINAPI D3DWriteBlobToFile(ID3DBlob *blob, const WCHAR *filename, BOOL overwrite)
HRESULT WINAPI D3DGetOutputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob)
HRESULT WINAPI D3DCreateBlob(SIZE_T data_size, ID3DBlob **blob)
static ULONG STDMETHODCALLTYPE d3dcompiler_blob_AddRef(ID3DBlob *iface)
#define HeapFree(x, y, z)
static BOOL check_blob_part(DWORD tag, D3D_BLOB_PART part)
static BOOL heap_free(void *mem)