Changeset View
Changeset View
Standalone View
Standalone View
files/wine-d3d9.patch
| From 3e70b20d568b404f09415c70375c1bcf9e633878 Mon Sep 17 00:00:00 2001 | From a859cc21e2edabdcd44482b3fc397d4b8377f236 Mon Sep 17 00:00:00 2001 | ||||
| From: Nick Sarnie <sarnex@gentoo.org> | From: Nick Sarnie <sarnex@gentoo.org> | ||||
| Date: Sun, 2 Sep 2018 10:28:41 -0400 | Date: Sat, 13 Oct 2018 11:39:04 -0400 | ||||
| Subject: [PATCH] Wine D3D9 | Subject: [PATCH] Wine D3D9 | ||||
| Signed-off-by: Nick Sarnie <sarnex@gentoo.org> | Signed-off-by: Nick Sarnie <sarnex@gentoo.org> | ||||
| --- | --- | ||||
| configure.ac | 188 ++++ | configure.ac | 188 ++++ | ||||
| dlls/d3d9-nine/Makefile.in | 15 + | dlls/d3d9-nine/Makefile.in | 15 + | ||||
| dlls/d3d9-nine/d3d9-nine.spec | 14 + | dlls/d3d9-nine/d3d9-nine.spec | 14 + | ||||
| dlls/d3d9-nine/d3d9_main.c | 173 +++ | dlls/d3d9-nine/d3d9_main.c | 173 +++ | ||||
| Show All 24 Lines | |||||
| create mode 100644 dlls/d3d9-nine/present.h | create mode 100644 dlls/d3d9-nine/present.h | ||||
| create mode 100644 dlls/d3d9-nine/shader_validator.c | create mode 100644 dlls/d3d9-nine/shader_validator.c | ||||
| create mode 100644 dlls/d3d9-nine/shader_validator.h | create mode 100644 dlls/d3d9-nine/shader_validator.h | ||||
| create mode 100644 dlls/d3d9-nine/version.rc | create mode 100644 dlls/d3d9-nine/version.rc | ||||
| create mode 100644 dlls/d3d9-nine/wndproc.c | create mode 100644 dlls/d3d9-nine/wndproc.c | ||||
| create mode 100644 dlls/d3d9-nine/wndproc.h | create mode 100644 dlls/d3d9-nine/wndproc.h | ||||
| diff --git a/configure.ac b/configure.ac | diff --git a/configure.ac b/configure.ac | ||||
| index 39185e3dae..3dd1436868 100644 | index 7bfb2c3a5a..45c4b10aa3 100644 | ||||
| --- a/configure.ac | --- a/configure.ac | ||||
| +++ b/configure.ac | +++ b/configure.ac | ||||
| @@ -70,6 +70,14 @@ AC_ARG_WITH(openal, AS_HELP_STRING([--without-openal],[do not use OpenAL]), | @@ -70,6 +70,14 @@ AC_ARG_WITH(openal, AS_HELP_STRING([--without-openal],[do not use OpenAL]), | ||||
| AC_ARG_WITH(opencl, AS_HELP_STRING([--without-opencl],[do not use OpenCL]), | AC_ARG_WITH(opencl, AS_HELP_STRING([--without-opencl],[do not use OpenCL]), | ||||
| [if test "x$withval" = "xno"; then ac_cv_header_CL_cl_h=no; ac_cv_header_OpenCL_opencl_h=no; fi]) | [if test "x$withval" = "xno"; then ac_cv_header_CL_cl_h=no; ac_cv_header_OpenCL_opencl_h=no; fi]) | ||||
| AC_ARG_WITH(opengl, AS_HELP_STRING([--without-opengl],[do not use OpenGL])) | AC_ARG_WITH(opengl, AS_HELP_STRING([--without-opengl],[do not use OpenGL])) | ||||
| +AC_ARG_WITH(d3d9-nine, AS_HELP_STRING([--without-d3d9-nine],[do not build d3d9-nine.dll (Gallium Nine support)]), | +AC_ARG_WITH(d3d9-nine, AS_HELP_STRING([--without-d3d9-nine],[do not build d3d9-nine.dll (Gallium Nine support)]), | ||||
| + [], [with_d3d9_nine=auto]) | + [], [with_d3d9_nine=auto]) | ||||
| +AC_ARG_WITH(d3d9-nine-module, AS_HELP_STRING([--with-d3d9-nine-module], | +AC_ARG_WITH(d3d9-nine-module, AS_HELP_STRING([--with-d3d9-nine-module], | ||||
| + [Gallium Nine module location. Can be 'manual' (path to be filled in a register), 'auto' (default. use pkgconfig to detect the location) or a path]), | + [Gallium Nine module location. Can be 'manual' (path to be filled in a register), 'auto' (default. use pkgconfig to detect the location) or a path]), | ||||
| + [], [with_d3d9_nine_module=auto]) | + [], [with_d3d9_nine_module=auto]) | ||||
| +AC_ARG_WITH(d3d9-nine-headers-path, AS_HELP_STRING([--with-d3d9-nine-headers-path], | +AC_ARG_WITH(d3d9-nine-headers-path, AS_HELP_STRING([--with-d3d9-nine-headers-path], | ||||
| + [Gallium Nine headers location. Can be 'auto' (default. use pkgconfig to detect the location) or a path]), | + [Gallium Nine headers location. Can be 'auto' (default. use pkgconfig to detect the location) or a path]), | ||||
| + [], [with_d3d9_nine_headers_path=auto]) | + [], [with_d3d9_nine_headers_path=auto]) | ||||
| AC_ARG_WITH(osmesa, AS_HELP_STRING([--without-osmesa],[do not use the OSMesa library])) | AC_ARG_WITH(osmesa, AS_HELP_STRING([--without-osmesa],[do not use the OSMesa library])) | ||||
| AC_ARG_WITH(oss, AS_HELP_STRING([--without-oss],[do not use the OSS sound support])) | AC_ARG_WITH(oss, AS_HELP_STRING([--without-oss],[do not use the OSS sound support])) | ||||
| AC_ARG_WITH(pcap, AS_HELP_STRING([--without-pcap],[do not use the Packet Capture library]), | AC_ARG_WITH(pcap, AS_HELP_STRING([--without-pcap],[do not use the Packet Capture library]), | ||||
| @@ -424,6 +432,8 @@ AC_CHECK_LIB(ossaudio,_oss_ioctl) | @@ -429,6 +437,8 @@ AC_CHECK_LIB(ossaudio,_oss_ioctl) | ||||
| AC_SUBST(OPENGL_LIBS,"") | AC_SUBST(OPENGL_LIBS,"") | ||||
| +AC_SUBST(D3D9NINE_LIBS,"") | +AC_SUBST(D3D9NINE_LIBS,"") | ||||
| + | + | ||||
| dnl **** Check for header files **** | dnl **** Check for header files **** | ||||
| AC_SYS_LARGEFILE() | AC_SYS_LARGEFILE() | ||||
| @@ -1276,6 +1286,183 @@ OpenGL and Direct3D won't be supported.]) | @@ -1280,6 +1290,183 @@ OpenGL and Direct3D won't be supported.]) | ||||
| WINE_NOTICE_WITH(va,[test "x$ac_cv_lib_soname_va" = "x" -o "x$ac_cv_lib_soname_va_x11" = "x" -o "x$ac_cv_lib_soname_va_drm" = "x"], | WINE_NOTICE_WITH(va,[test "x$ac_cv_lib_soname_va" = "x" -o "x$ac_cv_lib_soname_va_x11" = "x" -o "x$ac_cv_lib_soname_va_drm" = "x"], | ||||
| [libva ${notice_platform}development files not found, GPU video acceleration won't be supported.]) | [libva ${notice_platform}development files not found, GPU video acceleration won't be supported.]) | ||||
| + dnl Check for d3d9-nine support | + dnl Check for d3d9-nine support | ||||
| + if test "x$with_d3d9_nine" = "xauto" && (test "x$with_d3d9_nine_module" = "xauto" || test "x$with_d3d9_nine_headers_path" = "xauto") | + if test "x$with_d3d9_nine" = "xauto" && (test "x$with_d3d9_nine_module" = "xauto" || test "x$with_d3d9_nine_headers_path" = "xauto") | ||||
| + then | + then | ||||
| + AC_MSG_CHECKING([whether d3dadapter9 package (Gallium Nine) is present]) | + AC_MSG_CHECKING([whether d3dadapter9 package (Gallium Nine) is present]) | ||||
| + D3DADAPTER9_MODULEDIR=`$PKG_CONFIG --variable=moduledir d3dadapter9 2>/dev/null` | + D3DADAPTER9_MODULEDIR=`$PKG_CONFIG --variable=moduledir d3dadapter9 2>/dev/null` | ||||
| ▲ Show 20 Lines • Show All 167 Lines • ▼ Show 20 Lines | |||||
| + AC_DEFINE(D3D9NINE_DRI2, 1, [Whether d3d9-nine DRI2 fallback is compiled]) | + AC_DEFINE(D3D9NINE_DRI2, 1, [Whether d3d9-nine DRI2 fallback is compiled]) | ||||
| + else | + else | ||||
| + enable_d3d9_nine=${enable_d3d9_nine:-no} | + enable_d3d9_nine=${enable_d3d9_nine:-no} | ||||
| + fi | + fi | ||||
| + | + | ||||
| CPPFLAGS="$ac_save_CPPFLAGS" | CPPFLAGS="$ac_save_CPPFLAGS" | ||||
| else | else | ||||
| X_CFLAGS="" | X_CFLAGS="" | ||||
| @@ -3260,6 +3447,7 @@ WINE_CONFIG_MAKEFILE(dlls/d3d8) | @@ -3266,6 +3453,7 @@ WINE_CONFIG_MAKEFILE(dlls/d3d8) | ||||
| WINE_CONFIG_MAKEFILE(dlls/d3d8/tests) | WINE_CONFIG_MAKEFILE(dlls/d3d8/tests) | ||||
| WINE_CONFIG_MAKEFILE(dlls/d3d9) | WINE_CONFIG_MAKEFILE(dlls/d3d9) | ||||
| WINE_CONFIG_MAKEFILE(dlls/d3d9/tests) | WINE_CONFIG_MAKEFILE(dlls/d3d9/tests) | ||||
| +WINE_CONFIG_MAKEFILE(dlls/d3d9-nine) | +WINE_CONFIG_MAKEFILE(dlls/d3d9-nine) | ||||
| WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_33) | WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_33) | ||||
| WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_34) | WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_34) | ||||
| WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_35) | WINE_CONFIG_MAKEFILE(dlls/d3dcompiler_35) | ||||
| diff --git a/dlls/d3d9-nine/Makefile.in b/dlls/d3d9-nine/Makefile.in | diff --git a/dlls/d3d9-nine/Makefile.in b/dlls/d3d9-nine/Makefile.in | ||||
| ▲ Show 20 Lines • Show All 5,512 Lines • ▼ Show 20 Lines | |||||
| + | + | ||||
| +LRESULT device_process_message(struct DRI3Present *present, HWND window, BOOL unicode, | +LRESULT device_process_message(struct DRI3Present *present, HWND window, BOOL unicode, | ||||
| + UINT message, WPARAM wparam, LPARAM lparam, WNDPROC proc); | + UINT message, WPARAM wparam, LPARAM lparam, WNDPROC proc); | ||||
| + | + | ||||
| +#define NINE_WINDOW_CLASS_NAME "Gallium_Nine_Window" | +#define NINE_WINDOW_CLASS_NAME "Gallium_Nine_Window" | ||||
| + | + | ||||
| +#endif | +#endif | ||||
| -- | -- | ||||
| 2.18.0 | 2.19.1 | ||||
Copyright © 2015-2021 Solus Project. The Solus logo is Copyright © 2016-2021 Solus Project. All Rights Reserved.