RetroArch
d3dcompiler_common.h
Go to the documentation of this file.
1 /* RetroArch - A frontend for libretro.
2  * Copyright (C) 2014-2018 - Ali Bouhlel
3  *
4  * RetroArch is free software: you can redistribute it and/or modify it under the terms
5  * of the GNU General Public License as published by the Free Software Found-
6  * ation, either version 3 of the License, or (at your option) any later version.
7  *
8  * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
9  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
10  * PURPOSE. See the GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License along with RetroArch.
13  * If not, see <http://www.gnu.org/licenses/>.
14  */
15 
16 #pragma once
17 
18 #include <retro_inline.h>
19 #include <boolean.h>
20 
21 #include "dxgi_common.h"
22 #include <d3dcommon.h>
23 #include <d3dcompiler.h>
24 
25 /* auto-generated */
26 
27 typedef ID3DBlob* D3DBlob;
29 
30 #if !defined(__cplusplus) || defined(CINTERFACE)
31 static INLINE ULONG D3DReleaseBlob(D3DBlob blob)
32 {
33  return blob->lpVtbl->Release(blob);
34 }
35 
36 static INLINE LPVOID D3DGetBufferPointer(D3DBlob blob)
37 {
38  return blob->lpVtbl->GetBufferPointer(blob);
39 }
40 static INLINE SIZE_T D3DGetBufferSize(D3DBlob blob)
41 {
42  return blob->lpVtbl->GetBufferSize(blob);
43 }
44 
46  D3DDestructionNotifier destruction_notifier)
47 {
48  return destruction_notifier->lpVtbl->Release(destruction_notifier);
49 }
50 
52  D3DDestructionNotifier destruction_notifier,
53  PFN_DESTRUCTION_CALLBACK callback_fn,
54  void* data,
55  UINT* callback_id)
56 {
57  return destruction_notifier->lpVtbl->RegisterDestructionCallback(
58  destruction_notifier, callback_fn, data, callback_id);
59 }
60 
61 static INLINE HRESULT
63  D3DDestructionNotifier destruction_notifier, UINT callback_id)
64 {
65  return destruction_notifier->lpVtbl->UnregisterDestructionCallback(
66  destruction_notifier, callback_id);
67 }
68 #endif
69 /* end of auto-generated */
70 
71 bool d3d_compile(const char* src, size_t size,
72  LPCSTR src_name, LPCSTR entrypoint, LPCSTR target, D3DBlob* out);
73 
74 bool d3d_compile_from_file(LPCWSTR filename, LPCSTR entrypoint, LPCSTR target, D3DBlob* out);
#define INLINE
Definition: retro_inline.h:35
ID3DBlob * D3DBlob
Definition: d3dcompiler_common.h:27
ID3DDestructionNotifier * D3DDestructionNotifier
Definition: d3d10_common.h:37
GLsizeiptr size
Definition: glext.h:6559
bool d3d_compile(const char *src, size_t size, LPCSTR src_name, LPCSTR entrypoint, LPCSTR target, D3DBlob *out)
Definition: d3dcompiler_common.c:126
struct passwd out
Definition: missing_libc_functions.c:51
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
interface ID3DDestructionNotifier ID3DDestructionNotifier
Definition: d3dcommon.h:51
Definition: ibxm.h:9
static INLINE ULONG D3DReleaseDestructionNotifier(D3DDestructionNotifier destruction_notifier)
Definition: d3dcompiler_common.h:45
static INLINE HRESULT D3DRegisterDestructionCallback(D3DDestructionNotifier destruction_notifier, PFN_DESTRUCTION_CALLBACK callback_fn, void *data, UINT *callback_id)
Definition: d3dcompiler_common.h:51
ID3DDestructionNotifier * D3DDestructionNotifier
Definition: d3dcompiler_common.h:28
static INLINE ULONG D3DReleaseBlob(D3DBlob blob)
Definition: d3dcompiler_common.h:31
GLenum src
Definition: glext.h:6980
void(* entrypoint)(void)
Definition: main.c:31
static INLINE LPVOID D3DGetBufferPointer(D3DBlob blob)
Definition: d3dcompiler_common.h:36
ID3D10Blob ID3DBlob
Definition: d3dcommon.h:448
static INLINE HRESULT D3DUnregisterDestructionCallback(D3DDestructionNotifier destruction_notifier, UINT callback_id)
Definition: d3dcompiler_common.h:62
bool d3d_compile_from_file(LPCWSTR filename, LPCSTR entrypoint, LPCSTR target, D3DBlob *out)
Definition: d3dcompiler_common.c:153
Definition: ffmpeg_fft.c:36
Definition: glslang_tab.cpp:136
static INLINE SIZE_T D3DGetBufferSize(D3DBlob blob)
Definition: d3dcompiler_common.h:40