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;
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
@ D3D_BLOB_ALL_SIGNATURE_BLOB
@ D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB
@ D3D_BLOB_TEST_COMPILE_PERF
@ D3D_BLOB_PATCH_CONSTANT_SIGNATURE_BLOB
@ D3D_BLOB_INPUT_SIGNATURE_BLOB
@ D3D_BLOB_OUTPUT_SIGNATURE_BLOB
@ D3D_BLOB_XNA_PREPASS_SHADER
@ D3DCOMPILER_STRIP_TEST_BLOBS
@ D3DCOMPILER_STRIP_DEBUG_INFO
@ D3DCOMPILER_STRIP_REFLECTION_DATA
HRESULT dxbc_add_section(struct dxbc *dxbc, DWORD tag, const char *data, DWORD data_size) DECLSPEC_HIDDEN
HRESULT dxbc_init(struct dxbc *dxbc, unsigned int size) DECLSPEC_HIDDEN
void dxbc_destroy(struct dxbc *dxbc) DECLSPEC_HIDDEN
#define D3DERR_INVALIDCALL
const char * debug_d3dcompiler_d3d_blob_part(D3D_BLOB_PART part) DECLSPEC_HIDDEN
HRESULT dxbc_parse(const char *data, SIZE_T data_size, struct dxbc *dxbc) DECLSPEC_HIDDEN
HRESULT dxbc_write_blob(struct dxbc *dxbc, ID3DBlob **blob) DECLSPEC_HIDDEN
static BOOL check_blob_strip(DWORD tag, UINT flags)
HRESULT WINAPI D3DGetInputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob)
static HRESULT d3dcompiler_strip_shader(const void *data, SIZE_T data_size, UINT flags, ID3DBlob **blob)
HRESULT WINAPI D3DGetBlobPart(const void *data, SIZE_T data_size, D3D_BLOB_PART part, UINT flags, ID3DBlob **blob)
static struct d3dcompiler_blob * impl_from_ID3DBlob(ID3DBlob *iface)
HRESULT WINAPI D3DWriteBlobToFile(ID3DBlob *blob, const WCHAR *filename, BOOL overwrite)
HRESULT WINAPI D3DCreateBlob(SIZE_T data_size, ID3DBlob **blob)
HRESULT WINAPI D3DGetOutputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob)
HRESULT WINAPI D3DGetDebugInfo(const void *data, SIZE_T data_size, ID3DBlob **blob)
static HRESULT d3dcompiler_blob_init(struct d3dcompiler_blob *blob, SIZE_T data_size)
HRESULT WINAPI D3DGetInputAndOutputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob)
static HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_PART part, UINT flags, ID3DBlob **blob)
static SIZE_T STDMETHODCALLTYPE d3dcompiler_blob_GetBufferSize(ID3DBlob *iface)
static ULONG STDMETHODCALLTYPE d3dcompiler_blob_Release(ID3DBlob *iface)
static void *STDMETHODCALLTYPE d3dcompiler_blob_GetBufferPointer(ID3DBlob *iface)
HRESULT WINAPI D3DStripShader(const void *data, SIZE_T data_size, UINT flags, ID3D10Blob **blob)
static HRESULT STDMETHODCALLTYPE d3dcompiler_blob_QueryInterface(ID3DBlob *iface, REFIID riid, void **object)
static BOOL check_blob_part(DWORD tag, D3D_BLOB_PART part)
static const struct ID3D10BlobVtbl d3dcompiler_blob_vtbl
HRESULT WINAPI D3DReadFileToBlob(const WCHAR *filename, ID3DBlob **contents)
static ULONG STDMETHODCALLTYPE d3dcompiler_blob_AddRef(ID3DBlob *iface)
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
static __inline const char * debugstr_an(const char *s, int n)
#define HeapFree(x, y, z)
#define FILE_ATTRIBUTE_NORMAL
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
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 memcpy(s1, s2, n)
static const char * contents
#define IsEqualGUID(rguid1, rguid2)
struct dxbc_section * sections
#define CONTAINING_RECORD(address, type, field)
DWORD WINAPI GetLastError(void)
#define INVALID_FILE_SIZE
#define HRESULT_FROM_WIN32(x)