summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/hwdec_d3d11eglrgb.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-06-30 12:46:12 +0200
committerwm4 <wm4@nowhere>2017-06-30 18:57:37 +0200
commitf003d8ea367f247e3ff49b672003817a0c3cdb30 (patch)
treeff198c9ec228a30d226edadfd741956a9a24af70 /video/out/opengl/hwdec_d3d11eglrgb.c
parentdd408e68ed57fa5130bef976751e58a5d6e42f75 (diff)
downloadmpv-f003d8ea367f247e3ff49b672003817a0c3cdb30.tar.bz2
mpv-f003d8ea367f247e3ff49b672003817a0c3cdb30.tar.xz
d3d: UWP support for D3D11VA
For some braindead reason, Microsoft decided to prevent you from dynamically loading system libraries. This makes portability harder. And we're talking about portability between Microsoft OSes!
Diffstat (limited to 'video/out/opengl/hwdec_d3d11eglrgb.c')
-rw-r--r--video/out/opengl/hwdec_d3d11eglrgb.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/video/out/opengl/hwdec_d3d11eglrgb.c b/video/out/opengl/hwdec_d3d11eglrgb.c
index 5b32290f8f..d1e96cf295 100644
--- a/video/out/opengl/hwdec_d3d11eglrgb.c
+++ b/video/out/opengl/hwdec_d3d11eglrgb.c
@@ -105,20 +105,15 @@ static int create(struct gl_hwdec *hw)
p->egl_display = egl_display;
- if (!d3d11_dll) {
+ if (!d3d11_D3D11CreateDevice) {
if (!hw->probing)
MP_ERR(hw, "Failed to load D3D11 library\n");
goto fail;
}
- PFN_D3D11_CREATE_DEVICE CreateDevice =
- (void *)GetProcAddress(d3d11_dll, "D3D11CreateDevice");
- if (!CreateDevice)
- goto fail;
-
- hr = CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL,
- D3D11_CREATE_DEVICE_VIDEO_SUPPORT, NULL, 0,
- D3D11_SDK_VERSION, &p->d3d11_device, NULL, NULL);
+ hr = d3d11_D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL,
+ D3D11_CREATE_DEVICE_VIDEO_SUPPORT, NULL, 0,
+ D3D11_SDK_VERSION, &p->d3d11_device, NULL, NULL);
if (FAILED(hr)) {
int lev = hw->probing ? MSGL_V : MSGL_ERR;
mp_msg(hw->log, lev, "Failed to create D3D11 Device: %s\n",