diff --git a/.github/dylib_bundler.zsh b/.github/dylib_bundler.zsh new file mode 100644 index 000000000000..2317f549dfaf --- /dev/null +++ b/.github/dylib_bundler.zsh @@ -0,0 +1,161 @@ +#!/bin/zsh + +# this is a script created for Mythic to bundle its dependencies' dylibs and copy them to the appropriate location. + +set -e + +# Output directory (can be overridden via environment variable) +ENGINE_DIR="${ENGINE_DIR:-Engine/wine}" +BREW_PREFIX=$(brew --prefix) + +# List of GStreamer plugins to bundle, minus the 'libgst' prefix +GSTREAMER_PLUGINS=( + applemedia + asf + audioconvert + audioparsers + audioresample + avi + coreelements + debug + deinterlace + id3demux + isomp4 + libav + opengl + playback + typefindfunctions + videoconvertscale + videofilter + videoparsersbad + wavparse +) + +# list of keg-only formulae and their main dylib names +BUNDLE_LIBS=( + molten-vk:libMoltenVK + sdl2:libSDL2-2.0.0 + freetype:libfreetype + gnutls:libgnutls + libpng:libpng16 + libtiff:libtiff + libpcap:libpcap + jpeg:libjpeg + libffi:libffi +) + +typeset -A seen_dylibs +typeset -a all_dylibs + +get_lib_path() { + local formula="$1" libname="$2" + local prefix=$(brew --prefix "$formula" 2>/dev/null) || return 1 + find "$prefix/lib" -maxdepth 1 -name "${libname}*.dylib" -type f 2>/dev/null | head -1 +} + +resolve_rpath() { + local name="${1#@rpath/}" + + # Check main lib dir first + [[ -f "${BREW_PREFIX}/lib/${name}" ]] && { echo "${BREW_PREFIX}/lib/${name}"; return; } + + # Search keg-only formula lib dirs + for entry in "${BUNDLE_LIBS[@]}"; do + local formula="${entry%%:*}" + local lib_path="$(brew --prefix "$formula" 2>/dev/null)/lib/${name}" + [[ -f "$lib_path" ]] && { echo "$lib_path"; return; } + done +} + +normalize_path() { + python3 -c "import os; print(os.path.realpath('$1'))" 2>/dev/null || echo "$1" +} + +find_dependencies() { + local dylib="$1" + local norm=$(normalize_path "$dylib") + + [[ -n "${seen_dylibs[$norm]}" ]] && return + seen_dylibs[$norm]=1 + all_dylibs+=("$dylib") + + local -a queue=("$dylib") + + while [[ ${#queue[@]} -gt 0 ]]; do + local current="${queue[1]}" + queue=("${queue[@]:1}") + + for ref in $(otool -L "$current" 2>/dev/null | tail -n +2 | awk '/^\t/ {print $1}' | grep '\.dylib'); do + [[ "$ref" == /usr/lib/* || "$ref" == /System/* ]] && continue + [[ "$ref" == @loader_path/* || "$ref" == @executable_path/* ]] && continue + + [[ "$ref" == @rpath/* ]] && { ref=$(resolve_rpath "$ref"); [[ -z "$ref" ]] && continue; } + + norm=$(normalize_path "$ref") + [[ -z "${seen_dylibs[$norm]}" ]] && { + seen_dylibs[$norm]=1 + all_dylibs+=("$ref") + queue+=("$ref") + } + done + done +} + +fix_install_names() { + local file="$1" prefix="$2" + chmod u+w "$file" + install_name_tool -id "${prefix}$(basename "$file")" "$file" 2>/dev/null || true + + otool -L "$file" | grep -v "$file" | awk '{print $1}' | while read -r lib_path; do + [[ "$lib_path" != /usr/lib* && "$lib_path" != /System/* ]] && \ + install_name_tool -change "$lib_path" "${prefix}${lib_path##*/}" "$file" 2>/dev/null || true + done + codesign -fs- "$file" 2>/dev/null || true +} + +copy_dylib() { + local lib="$1" dest_dir="${ENGINE_DIR}/lib" prefix="@loader_path/" + + [[ "$lib" == *"/gstreamer-1.0/"* ]] && { dest_dir="${ENGINE_DIR}/lib/gstreamer-1.0"; prefix="@loader_path/../"; } + + local dest="${dest_dir}/$(basename "$lib")" + mkdir -p "$dest_dir" + [[ -f "$dest" ]] && return 0 + + cp -L "$lib" "$dest" + fix_install_names "$dest" "$prefix" +} + +main() { + local gst_prefix=$(brew --prefix gstreamer) + + echo "=== Processing GStreamer plugins ===" + for plugin in "${GSTREAMER_PLUGINS[@]}"; do + local lib_path="${gst_prefix}/lib/gstreamer-1.0/libgst${plugin}.dylib" + [[ -f "$lib_path" ]] && find_dependencies "$lib_path" || echo "Warning: $plugin not found" + done + + echo "=== Processing libraries ===" + for entry in "${BUNDLE_LIBS[@]}"; do + local formula="${entry%%:*}" libname="${entry#*:}" + local lib_path=$(get_lib_path "$formula" "$libname") + [[ -n "$lib_path" ]] && find_dependencies "$lib_path" || echo "Warning: $formula not found" + done + + echo "=== Copying ${#all_dylibs[@]} dylibs ===" + for dylib in "${all_dylibs[@]}"; do copy_dylib "$dylib"; done + + [[ -d "${gst_prefix}/lib/gstreamer-1.0/include" ]] && { + mkdir -p "${ENGINE_DIR}/lib/gstreamer-1.0" + cp -a "${gst_prefix}/lib/gstreamer-1.0/include" "${ENGINE_DIR}/lib/gstreamer-1.0/" + } + + echo "=== Fixing Wine .so files ===" + for so in "${ENGINE_DIR}"/lib/wine/x86_64-unix/*.so(N); do + otool -L "$so" 2>/dev/null | grep -q "/usr/local\|/opt/homebrew" && fix_install_names "$so" "@rpath/" + done + + echo "=== Done: ${#all_dylibs[@]} dylibs bundled ===" +} + +main "$@" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000000..3cd6109a0c7c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,203 @@ +name: Build Mythic Engine (wine-crossover 9.0) + +on: + push: + pull_request: + +env: + MACOSX_DEPLOYMENT_TARGET: 10.15 + SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk + TOOLCHAINS: com.applex.dt.toolchain.Xcode13 # from gcenx + + PATH: /usr/local/bin:/usr/local/opt/bison/bin:/usr/bin:/bin:/usr/sbin:/sbin + + CPATH: /usr/local/include + LIBRARY_PATH: /usr/local/lib + + # mingw-w64 cross-compilers + i386_CC: i686-w64-mingw32-gcc + x86_64_CC: x86_64-w64-mingw32-gcc + i386_LD: i686-w64-mingw32-ld + x86_64_LD: x86_64-w64-mingw32-ld + + # compiler and linker flags + CFLAGS: -O2 -Wno-deprecated-declarations -Wno-unguarded-availability + CXXFLAGS: -O2 -Wno-deprecated-declarations -Wno-unguarded-availability + CROSSCFLAGS: -O2 -Wno-error=incompatible-pointer-types -Wno-error=int-conversion -Wno-deprecated-declarations + CPPFLAGS: -I/usr/local/opt/libpcap/include + LDFLAGS: -Wl,-headerpad_max_install_names -Wl,-rpath,@loader_path/../../ -Wl,-rpath,@loader_path/../../external -Wl,-rpath,/usr/local/lib -L/usr/local/opt/libpcap/lib + + PKG_CONFIG_PATH: /usr/local/opt/libpcap/lib/pkgconfig + + # wine configure overrides + ac_cv_lib_soname_MoltenVK: libMoltenVK.dylib + ac_cv_lib_soname_vulkan: "" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref_name }} + cancel-in-progress: true + +jobs: + build: + runs-on: macos-15-intel + + steps: + - uses: actions/checkout@v5 + with: + path: src + + - name: download & add Xcode 13 toolchain + run: | + sudo mkdir -p /Library/Developer/Toolchains + curl -fL https://dl.getmythic.app/engine/toolchains/Xcode13.xctoolchain.tar.xz \ + | sudo tar -xJ -C /Library/Developer/Toolchains + + - name: download & add macOS 12.3 SDK + run: | + sudo mkdir -p /Library/Developer/CommandLineTools/SDKs + curl -fL https://github.com/Gcenx/macos-sdk/releases/download/12.3/MacOSX12.3.tar.bz2 \ + | sudo tar -xj -C /Library/Developer/CommandLineTools/SDKs + + # ensure that when updating dependencies, the dylib bundler script is also updated + - name: install build & runtime dependencies + run: | + brew install bison \ + freetype \ + pkg-config \ + gettext \ + gnutls \ + gstreamer \ + gst-plugins-base \ + gst-plugins-good \ + jpeg \ + libpng \ + libtiff \ + libffi \ + libpcap \ + sdl2 \ + molten-vk \ + winetricks + + # install mingw-w64 v12.0.0_1 from local formula w/ tap + # required, this version requires binutils 2.43.1 or older + brew tap-new local/mingw-w64 + cp src/external/dependencies/mingw-w64.rb \ + "$(brew --repo local/mingw-w64)/Formula/mingw-w64.rb" + + brew install local/mingw-w64/mingw-w64 + + - name: create build directory + run: mkdir build + + - name: configure wine + working-directory: build + run: | + ../src/configure \ + --prefix= \ + --disable-tests \ + --enable-archs=i386,x86_64 \ + --with-mingw \ + --without-alsa \ + --without-capi \ + --with-coreaudio \ + --with-cups \ + --without-dbus \ + --without-fontconfig \ + --with-freetype \ + --with-gettext \ + --without-gettextpo \ + --without-gphoto \ + --with-gnutls \ + --without-gssapi \ + --with-gstreamer \ + --without-krb5 \ + --without-netapi \ + --with-opencl \ + --with-opengl \ + --without-oss \ + --with-pcap \ + --with-pthread \ + --without-pulse \ + --without-sane \ + --with-sdl \ + --without-udev \ + --with-unwind \ + --without-usb \ + --without-v4l2 \ + --with-vulkan \ + --without-x + + - name: build wine + working-directory: build + run: make -j$(sysctl -n hw.ncpu) + + - name: create install directory + run: mkdir install + + - name: install wine + working-directory: build + run: make install-lib DESTDIR=${{ github.workspace }}/install + + - name: add wine64 as an executable wrapper for backward compatibility + working-directory: install/bin + run: | + cat > wine64 << 'EOF' + #!/usr/bin/env bash + + # this is a wrapper created for Mythic to forward `wine64` calls to `wine`. + # for older versions of Mythic, which expected a wine64 binary to be present. + + set -e + DIR="$(cd "$(dirname "$0")" && pwd)" + exec "$DIR/wine" "$@" + EOF + + chmod +x wine64 + + - name: install wine mono + working-directory: install/share/wine + run: | + mkdir -p mono + curl -fL https://github.com/wine-mono/wine-mono/releases/download/wine-mono-8.1.0/wine-mono-8.1.0-x86.tar.xz \ + | tar -xJ -C mono + + - name: install wine gecko + working-directory: install/share/wine + run: | + mkdir -p gecko + curl -fL https://dl.winehq.org/wine/wine-gecko/2.47.4/wine-gecko-2.47.4-x86.tar.xz \ + | tar -xJ -C gecko + + - name: create Engine directory + run: mkdir Engine + + - name: copy build artifacts + run: | + mkdir -p Engine/wine + ditto --rsrc install Engine/wine + + - name: copy externals + run: | + # copy dxvk binaries + mkdir -p Engine/dxvk + ditto src/external/dxvk-* Engine/dxvk/ + + # copy gptk libraries + ditto src/external/gptk-*/redist/lib/ Engine/wine/lib/ + + - name: bundle dylib dependencies + run: | + chmod +x src/.github/dylib_bundler.zsh + ENGINE_DIR=Engine/wine src/.github/dylib_bundler.zsh + + - name: copy engine properties file + run: cp -R src/Mythic/Properties.plist Engine/ + + - name: compress engine artifact + run: tar -cf Engine.tar.xz -C Engine --use-compress-program="xz -9 -T0" . + + - name: upload engine artifact + uses: actions/upload-artifact@v5 + with: + name: Engine + path: Engine.tar.xz diff --git a/Mythic/Properties.plist b/Mythic/Properties.plist new file mode 100644 index 000000000000..08dd2abe1072 --- /dev/null +++ b/Mythic/Properties.plist @@ -0,0 +1,18 @@ + + + + + version + + major + 3 + minor + 0 + patch + 0 + preRelease + alpha + build + + + diff --git a/configure b/configure index 65c854bf97e1..d2a53a6c947a 100755 --- a/configure +++ b/configure @@ -23020,7 +23020,7 @@ install-image: install-lib as_fn_append wine_rules " dlls/ntdll/unix/version.c: dummy - @version=\`(echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[] = \"\\1 (CrossOver 24.0.7 FOSS)\";/p'\` && (echo \$\$version | cmp -s - \$@) || echo \$\$version >\$@ || (rm -f \$@ && exit 1) + @version=\`(echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[] = \"\\1 (Mythic Engine, derived from CrossOver)\";/p'\` && (echo \$\$version | cmp -s - \$@) || echo \$\$version >\$@ || (rm -f \$@ && exit 1) programs/winetest/build.rc: dummy @build=\"STRINGTABLE { 1 \\\"\`GIT_DIR=${wine_srcdir}.git git rev-parse HEAD 2>/dev/null\`\\\" }\" && (echo \$\$build | cmp -s - \$@) || echo \$\$build >\$@ || (rm -f \$@ && exit 1) programs/winetest/build.nfo: diff --git a/configure.ac b/configure.ac index 9a8f087f9165..e63d71d20e3e 100644 --- a/configure.ac +++ b/configure.ac @@ -3706,7 +3706,7 @@ dnl Rules for generated source files WINE_APPEND_RULE( [dlls/ntdll/unix/version.c: dummy - @version=\`(echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[[]] = \"\\1 (CrossOver 24.0.7 FOSS)\";/p'\` && (echo \$\$version | cmp -s - \$[@]) || echo \$\$version >\$[@] || (rm -f \$[@] && exit 1) + @version=\`(echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[[]] = \"\\1 (Mythic Engine, derived from CrossOver)\";/p'\` && (echo \$\$version | cmp -s - \$[@]) || echo \$\$version >\$[@] || (rm -f \$[@] && exit 1) programs/winetest/build.rc: dummy @build=\"STRINGTABLE { 1 \\\"\`GIT_DIR=${wine_srcdir}.git git rev-parse HEAD 2>/dev/null\`\\\" }\" && (echo \$\$build | cmp -s - \$[@]) || echo \$\$build >\$[@] || (rm -f \$[@] && exit 1) programs/winetest/build.nfo: diff --git a/external/dependencies/mingw-w64.rb b/external/dependencies/mingw-w64.rb new file mode 100644 index 000000000000..1350986ebceb --- /dev/null +++ b/external/dependencies/mingw-w64.rb @@ -0,0 +1,251 @@ +# Extracted from https://github.com/Homebrew/homebrew-core/blob/ee5de6bb2ada22b2a4aeda343d7362980a5be000/Formula/m/mingw-w64.rb + +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +class MingwW64 < Formula + desc "Minimalist GNU for Windows and GCC cross-compilers" + homepage "https://sourceforge.net/projects/mingw-w64/" + url "https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v12.0.0.tar.bz2" + sha256 "cc41898aac4b6e8dd5cffd7331b9d9515b912df4420a3a612b5ea2955bbeed2f" + license "ZPL-2.1" + revision 1 + + livecheck do + url :stable + regex(%r{url=.*?release/mingw-w64[._-]v?(\d+(?:\.\d+)+)\.t}i) + end + + bottle do + sha256 arm64_sequoia: "9c50b0cbeac45e0ca35f410e18c14018c665aa4bbdea9adf749ee96e677af13e" + sha256 arm64_sonoma: "00b5146a2b3bbd942ecf749baa930e2f7b1d5a425cadb69a8f233883eb926e63" + sha256 arm64_ventura: "c52e1f08ce3a00d33b125d85bb8a0a12f03f619c35f65ec8eed8adea99e8498f" + sha256 arm64_monterey: "883e7f44acb2e714e7a698f576c32a096bf34edc0627f101cd5e48c26f63eb1c" + sha256 sonoma: "dbfb198d40cff9bb93ac41f0a4422fe823fde2fd2610052956dbc4037e51c482" + sha256 ventura: "eed47c1f6336d28f4cebc5644202bfbc8e7723ef16cc8eef1ab50c3577f6a02b" + sha256 monterey: "5c24fa44d33423e55ac48c43575764e522d46675cdea49ad8d1b6d609b7a7509" + sha256 x86_64_linux: "1b00797a89f30786da9886ac657527b5c8e2dc98432679e9fafc7f7d230e9e87" + end + + # binutils searches for zstd using pkg-config + depends_on "pkg-config" => :build + # Apple's makeinfo is old and has bugs + depends_on "texinfo" => :build + + depends_on "gmp" + depends_on "isl" + depends_on "libmpc" + depends_on "mpfr" + depends_on "zstd" + + uses_from_macos "zlib" + + resource "binutils" do + url "https://ftp.gnu.org/gnu/binutils/binutils-2.43.1.tar.bz2" + mirror "https://ftpmirror.gnu.org/binutils/binutils-2.43.1.tar.bz2" + sha256 "becaac5d295e037587b63a42fad57fe3d9d7b83f478eb24b67f9eec5d0f1872f" + end + + resource "gcc" do + url "https://ftp.gnu.org/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz" + mirror "https://ftpmirror.gnu.org/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz" + sha256 "a7b39bc69cbf9e25826c5a60ab26477001f7c08d85cec04bc0e29cabed6f3cc9" + end + + def target_archs + ["i686", "x86_64"].freeze + end + + def install + target_archs.each do |arch| + arch_dir = "#{prefix}/toolchain-#{arch}" + target = "#{arch}-w64-mingw32" + + resource("binutils").stage do + args = %W[ + --target=#{target} + --with-sysroot=#{arch_dir} + --prefix=#{arch_dir} + --enable-targets=#{target} + --disable-multilib + --disable-nls + --with-system-zlib + --with-zstd + ] + mkdir "build-#{arch}" do + system "../configure", *args + system "make" + system "make", "install" + end + end + + # Put the newly built binutils into our PATH + ENV.prepend_path "PATH", "#{arch_dir}/bin" + + mkdir "mingw-w64-headers/build-#{arch}" do + system "../configure", "--host=#{target}", "--prefix=#{arch_dir}/#{target}" + system "make" + system "make", "install" + end + + # Create a mingw symlink, expected by GCC + ln_s "#{arch_dir}/#{target}", "#{arch_dir}/mingw" + + # Build the GCC compiler + resource("gcc").stage buildpath/"gcc" + args = %W[ + --target=#{target} + --with-sysroot=#{arch_dir} + --prefix=#{arch_dir} + --with-bugurl=#{tap.issues_url} + --enable-languages=c,c++,objc,obj-c++,fortran + --with-ld=#{arch_dir}/bin/#{target}-ld + --with-as=#{arch_dir}/bin/#{target}-as + --with-gmp=#{Formula["gmp"].opt_prefix} + --with-mpfr=#{Formula["mpfr"].opt_prefix} + --with-mpc=#{Formula["libmpc"].opt_prefix} + --with-isl=#{Formula["isl"].opt_prefix} + --with-system-zlib + --with-zstd + --disable-multilib + --disable-nls + --enable-threads=posix + ] + + mkdir "#{buildpath}/gcc/build-#{arch}" do + system "../configure", *args + system "make", "all-gcc" + system "make", "install-gcc" + end + + # Build the mingw-w64 runtime + args = %W[ + CC=#{target}-gcc + CXX=#{target}-g++ + CPP=#{target}-cpp + --host=#{target} + --with-sysroot=#{arch_dir}/#{target} + --prefix=#{arch_dir}/#{target} + ] + + case arch + when "i686" + args << "--enable-lib32" << "--disable-lib64" + when "x86_64" + args << "--disable-lib32" << "--enable-lib64" + end + + mkdir "mingw-w64-crt/build-#{arch}" do + system "../configure", *args + # Resolves "Too many open files in system" + # bfd_open failed open stub file dfxvs01181.o: Too many open files in system + # bfd_open failed open stub file: dvxvs00563.o: Too many open files in systembfd_open + # https://sourceware.org/bugzilla/show_bug.cgi?id=24723 + # https://sourceware.org/bugzilla/show_bug.cgi?id=23573#c18 + ENV.deparallelize do + system "make" + system "make", "install" + end + end + + # Build the winpthreads library + # we need to build this prior to the + # GCC runtime libraries, to have `-lpthread` + # available, for `--enable-threads=posix` + args = %W[ + CC=#{target}-gcc + CXX=#{target}-g++ + CPP=#{target}-cpp + --host=#{target} + --with-sysroot=#{arch_dir}/#{target} + --prefix=#{arch_dir}/#{target} + ] + mkdir "mingw-w64-libraries/winpthreads/build-#{arch}" do + system "../configure", *args + system "make" + system "make", "install" + end + + args = %W[ + --host=#{target} + --with-sysroot=#{arch_dir}/#{target} + --prefix=#{arch_dir} + --program-prefix=#{target}- + ] + mkdir "mingw-w64-tools/widl/build-#{arch}" do + system "../configure", *args + system "make" + system "make", "install" + end + + # Finish building GCC (runtime libraries) + chdir "#{buildpath}/gcc/build-#{arch}" do + system "make" + system "make", "install" + end + + # Symlinks all binaries into place + mkdir_p bin + Dir["#{arch_dir}/bin/*"].each { |f| ln_s f, bin } + end + end + + test do + (testpath/"hello.c").write <<~EOS + #include + #include + int main() { puts("Hello world!"); + MessageBox(NULL, TEXT("Hello GUI!"), TEXT("HelloMsg"), 0); return 0; } + EOS + (testpath/"hello.cc").write <<~EOS + #include + int main() { std::cout << "Hello, world!" << std::endl; return 0; } + EOS + (testpath/"hello.f90").write <<~EOS + program hello ; print *, "Hello, world!" ; end program hello + EOS + # https://docs.microsoft.com/en-us/windows/win32/rpc/using-midl + (testpath/"example.idl").write <<~EOS + [ + uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45), + version(1.0) + ] + interface MyInterface + { + const unsigned short INT_ARRAY_LEN = 100; + + void MyRemoteProc( + [in] int param1, + [out] int outArray[INT_ARRAY_LEN] + ); + } + EOS + + ENV["LC_ALL"] = "C" + ENV.remove_macosxsdk if OS.mac? + target_archs.each do |arch| + target = "#{arch}-w64-mingw32" + outarch = (arch == "i686") ? "i386" : "x86-64" + + system bin/"#{target}-gcc", "-o", "test.exe", "hello.c" + assert_match "file format pei-#{outarch}", shell_output("#{bin}/#{target}-objdump -a test.exe") + + system bin/"#{target}-g++", "-o", "test.exe", "hello.cc" + assert_match "file format pei-#{outarch}", shell_output("#{bin}/#{target}-objdump -a test.exe") + + system bin/"#{target}-gfortran", "-o", "test.exe", "hello.f90" + assert_match "file format pei-#{outarch}", shell_output("#{bin}/#{target}-objdump -a test.exe") + + system bin/"#{target}-widl", "example.idl" + assert_predicate testpath/"example_s.c", :exist?, "example_s.c should have been created" + end + end +end \ No newline at end of file diff --git a/external/dxvk-1.10.3-20230507-async/x32/d3d10core.dll b/external/dxvk-1.10.3-20230507-async/x32/d3d10core.dll new file mode 100644 index 000000000000..6f4fbb7d28df Binary files /dev/null and b/external/dxvk-1.10.3-20230507-async/x32/d3d10core.dll differ diff --git a/external/dxvk-1.10.3-20230507-async/x32/d3d11.dll b/external/dxvk-1.10.3-20230507-async/x32/d3d11.dll new file mode 100644 index 000000000000..a381c818ca3c Binary files /dev/null and b/external/dxvk-1.10.3-20230507-async/x32/d3d11.dll differ diff --git a/external/dxvk-1.10.3-20230507-async/x32/dxgi.dll b/external/dxvk-1.10.3-20230507-async/x32/dxgi.dll new file mode 100755 index 000000000000..3e39ca3c1eb8 Binary files /dev/null and b/external/dxvk-1.10.3-20230507-async/x32/dxgi.dll differ diff --git a/external/dxvk-1.10.3-20230507-async/x64/d3d10core.dll b/external/dxvk-1.10.3-20230507-async/x64/d3d10core.dll new file mode 100644 index 000000000000..8167a12cad54 Binary files /dev/null and b/external/dxvk-1.10.3-20230507-async/x64/d3d10core.dll differ diff --git a/external/dxvk-1.10.3-20230507-async/x64/d3d11.dll b/external/dxvk-1.10.3-20230507-async/x64/d3d11.dll new file mode 100644 index 000000000000..28e371d25c45 Binary files /dev/null and b/external/dxvk-1.10.3-20230507-async/x64/d3d11.dll differ diff --git a/external/dxvk-1.10.3-20230507-async/x64/dxgi.dll b/external/dxvk-1.10.3-20230507-async/x64/dxgi.dll new file mode 100755 index 000000000000..865a6d2aef8a Binary files /dev/null and b/external/dxvk-1.10.3-20230507-async/x64/dxgi.dll differ diff --git a/external/gptk-3.0/Acknowledgements.rtf b/external/gptk-3.0/Acknowledgements.rtf new file mode 100644 index 000000000000..96332cb2c84d --- /dev/null +++ b/external/gptk-3.0/Acknowledgements.rtf @@ -0,0 +1,221 @@ +{\rtf1\ansi\ansicpg1252\cocoartf2761 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red38\green38\blue38;\red18\green31\blue60;\red255\green255\blue255; +} +{\*\expandedcolortbl;;\csgenericrgb\c14902\c14902\c14902;\cssrgb\c9020\c16863\c30196;\cssrgb\c100000\c100000\c100000; +} +\margl1440\margr1440\vieww20040\viewh16280\viewkind0 +\deftab720 +\pard\pardeftab720\qj\partightenfactor0 + +\f0\b\fs24 \cf2 \expnd0\expndtw0\kerning0 +Acknowledgements\ +\pard\pardeftab720\qj\partightenfactor0 + +\f1\b0 \cf2 Portions of this Apple Software may utilize the following copyrighted material, the use of which is hereby acknowledged.\cf0 \kerning1\expnd0\expndtw0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardeftab720\pardirnatural\partightenfactor0 +\cf0 \ + +\f0\b DXVK +\f1\b0 \ +\pard\pardeftab720\partightenfactor0 +\cf3 \cb4 \expnd0\expndtw0\kerning0 +Copyright (c) 2017 Philip Rebohle\cb1 \uc0\u8232 \cb4 Copyright (c) 2019 Joshua Ashton\cb1 \ +\cb4 zlib/libpng license\cb1 \ +\cb4 \ +This software is provided 'as-is', without any express or implied\cb1 \cb4 warranty. In no event will the authors be held liable for any damages\cb1 \cb4 arising from the use of this software.\cb1 \ +\cb4 \ +Permission is granted to anyone to use this software for any purpose,\cb1 \cb4 including commercial applications, and to alter it and redistribute it\cb1 \cb4 freely, subject to the following restrictions:\cb1 \ +\cb4 \ +\'96 The origin of this software must not be misrepresented; you must not\cb1 \cb4 claim that you wrote the original software. If you use this software\cb1 \cb4 in a product, an acknowledgment in the product documentation would be\cb1 \cb4 appreciated but is not required.\ +\cb1 \ +\cb4 \'96 Altered source versions must be plainly marked as such, and must not\cb1 \cb4 be misrepresented as being the original software.\ +\cb1 \ +\cb4 \'96 This notice may not be removed or altered from any source distribution.\ +\ + +\f0\b DirectX-Specs\ + +\f1\b0 The MIT License (MIT)\ +Copyright (c) Microsoft Corporation\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, \ +subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +\ + +\f0\b DirectX Headers\ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 \cb1 Copyright (c) Microsoft Corporation.\ +MIT License\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 DirectXMath\ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 MIT License\ +Copyright (c) Microsoft Corporation.\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 common-src-AmdDxExt\ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 Copyright (c) 2016-2018 Advanced Micro Devices, Inc. All rights reserved.\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal\ +in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\ +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\ +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 xxHash\ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 Copyright (c) 2012-2021 Yann Collet\ +All rights reserved.\ +\ +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)\ +\ +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\ +\ +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\ +\ +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\ +\ +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 DirectXShaderCompiler\ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 =============================================================================\ +LLVM Release License\ +=============================================================================\ +University of Illinois/NCSA\ +Open Source License\ +\ +Copyright (c) 2003-2015 University of Illinois at Urbana-Champaign.\ +All rights reserved.\ +\ +Developed by:\ +\ + LLVM Team\ +\ + University of Illinois at Urbana-Champaign\ +\ + http://llvm.org\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers.\ +\ + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution.\ +\ + * Neither the names of the LLVM Team, University of Illinois at Urbana-Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission.\ +\ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE\ +SOFTWARE.\ +\ +==============================================================================\ +Copyrights and Licenses for Third Party Software Distributed with LLVM:\ +==============================================================================\ +The LLVM software contains code written by third parties. Such software will have its own individual LICENSE.TXT file in the directory in which it appears. This file will describe the copyrights, license, and restrictions which apply to that code.\ +\ +The disclaimer of warranty in the University of Illinois Open Source License applies to all code in the LLVM Distribution, and nothing in any of the other licenses gives permission to use the names of the LLVM Team or the University of Illinois to endorse or promote products derived from this Software.\ +\ +The following pieces of software have additional or alternate copyrights, licenses, and/or restrictions:\ +\ +Program Directory\ +------- ---------\ +Google Test llvm/utils/unittest/googletest\ +OpenBSD regex llvm/lib/Support/\{reg*, COPYRIGHT.regex\}\ +pyyaml tests llvm/test/YAMLParser/\{*.data, LICENSE.TXT\}\ +ARM contributions llvm/lib/Target/ARM/LICENSE.TXT\ +md5 contributions llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h\ +miniz llvm/lib/Miniz/miniz.c llvm/include/miniz/miniz.h llvm/lib/Miniz/LICENSE.txt\ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 CyberFSR2\ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 Copyright (c) 2022 PotatoOfDoom\ +MIT License\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 DLSSTweaks \ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 Copyright (c) 2023 emoose \ +MIT License\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 dxmt\ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 Copyright (c) 2023 Feifan He\ +MIT License\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +\pard\pardeftab720\partightenfactor0 + +\f0\b \cf0 \ +Accessibility Insights Service\ +\pard\pardeftab720\partightenfactor0 + +\f1\b0 \cf0 Copyright (c) Microsoft Corporation. \ +All rights reserved. +\f0\b \ + +\f1\b0 MIT License\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\f0\b \ +} \ No newline at end of file diff --git a/external/gptk-3.0/License.rtf b/external/gptk-3.0/License.rtf new file mode 100644 index 000000000000..458253d70ddd --- /dev/null +++ b/external/gptk-3.0/License.rtf @@ -0,0 +1,188 @@ +{\rtf1\ansi\ansicpg1252\cocoartf2709 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;} +\margl1440\margr1440\vieww24360\viewh15180\viewkind1\viewscale162 +\deftab720 +\pard\pardeftab720\partightenfactor0 + +\f0\b\fs24 \cf2 \expnd0\expndtw0\kerning0 +ENGLISH +\f1\b0 \ + +\f0\b \'a0 +\f1\b0 \ + +\f0\b APPLE INC. +\f1\b0 \ + +\f0\b SOFTWARE LICENSE AGREEMENT FOR GAME PORTING TOOLKIT +\f1\b0 \ + +\f0\b For use on Apple-branded Systems +\f1\b0 \ + +\f0\b \'a0 +\f1\b0 \ + +\f0\b PLEASE READ THIS SOFTWARE LICENSE AGREEMENT (\'93AGREEMENT\'94) CAREFULLY BEFORE USING THIS APPLE SOFTWARE (DEFINED BELOW).\'a0 BY USING THE APPLE SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS AGREEMENT.\'a0 IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT INSTALL AND/OR USE THE APPLE SOFTWARE.\'a0 +\f1\b0 \ + +\f0\b \'a0 +\f1\b0 \ + +\f0\b IMPORTANT NOTE:\'a0 You may only use this Apple Software in connection with non-copyrighted materials, materials in which you own the copyright, or materials you are authorized or legally permitted to use.\'a0 If you are uncertain about your rights to any copyrighted material, you should contact your legal advisor. +\f1\b0 \ +\'a0\ + +\f0\b 1. Definitions. +\f1\b0 \ +\'a0\ +Whenever capitalized in this Agreement:\ +\'a0\ +\'93 +\f0\b Apple +\f1\b0 \'94 means Apple Inc., a California corporation with its principal place of business at One Apple Park Way, Cupertino, California 95014, U.S.A. \ +\'a0\ +\'93 +\f0\b Apple Software +\f1\b0 \'94 +\f0\b +\f1\b0 means the Apple Game Porting Toolkit software, including the Redistributables and Framework, and +\f0\b +\f1\b0 documentation, updates, interfaces, content, fonts, and any data or other materials.\ +\'a0\ +\'93 +\f0\b Framework +\f1\b0 \'94 means the \'93D3DMetal.framework\'94 within the Apple Game Porting Toolkit. \ +\'a0\ +\'93 +\f0\b Redistributables +\f1\b0 \'94 means components within the \'93/redist\'94 directory of the Apple Game Porting Toolkit.\ +\'a0\ + +\f0\b 1. General. +\f1\b0 \ + +\f0\b \'a0 +\f1\b0 \ + +\f0\b A.\'a0 +\f1\b0 The Apple Software is licensed, not sold, to you by Apple for use only under the terms of this Agreement, and you may only use the Apple Software for the purposes expressly set forth herein.\'a0 Apple and/or Apple\'92s licensors retain ownership of the Apple Software itself and reserve all rights not expressly granted to you\ +\'a0\ + +\f0\b B. +\f1\b0 \'a0 Apple, at its discretion, may make available future updates to the Apple Software.\'a0 The Apple Software updates, if any, may not necessarily include all existing software features or may include new features.\'a0 The terms of this Agreement will govern any software updates provided by Apple that replace and/or supplement the original Apple Software product, unless such update is accompanied by a separate license in which case the terms of that license will govern such update. \ +\'a0\ + +\f0\b C.\'a0 +\f1\b0 Title and intellectual property rights in and to any content displayed by or accessed through the Apple Software belongs to the respective content owner.\'a0 Such content may be protected by copyright or other intellectual property laws and treaties, and may be subject to terms of use of the third party providing such content.\'a0 This Agreement does not grant you any rights to use such content nor does it guarantee that such content will continue to be available to you.\'a0 \ +\'a0\ + +\f0\b 2. Permitted Agreement Uses and Restrictions. +\f1\b0 \ + +\f0\b A.\'a0 +\f1\b0 \ul License\ulnone . +\f0\b +\f1\b0 Subject to the terms and conditions of this License, you are granted a limited, non-exclusive, non-transferable, personal copyright license to (i) install, internally use, and test the Apple Software for the sole purpose of developing, testing, or evaluating video games for use on Apple-branded products; (ii) sublicense the Apple Software to your third-party service providers (\'93Third-Party Service Providers\'94) solely for the purpose of exercising the foregoing Section 2A(i) rights on your behalf; and (iii) distribute the Apple Software solely for non-commercial purposes and in accordance with this Agreement, including Section 2C. You may make only as many internal use copies of the Apple Software as reasonably necessary to use the Apple Software as permitted under this License; provided that you reproduce on each copy of the Apple Software or portion thereof, all copyright or other proprietary notices contained on the original.\'a0 You will be responsible for Third Party Service Provider\'92s compliance with the terms and conditions of this Agreement.\ +\'a0\ + +\f0\b B. +\f1\b0 \'a0 \ul System Requirements\ulnone .\'a0 Please note that the Apple Software is supported only on Apple-branded hardware and software that meets specified system requirements as indicated by Apple. \ +\'a0\ + +\f0\b C. +\f1\b0 \'a0 \ul Other Use Restrictions; Backup Copy\ulnone .\'a0 The grants set forth in this Agreement do not permit you to, and you agree not to, install, use or run the Apple Software on any non-Apple-branded devices, or to enable others to do so.\'a0 You may not rent, lease, lend, host, sell, or sublicense (except as expressly set forth in Section 2A) the Apple Software or any services, in whole or in part.\'a0 The Apple Software is provided as part of a bundle and its components may not be separated from the Apple Software for distribution. Notwithstanding the foregoing, the Framework in its entirety or any part of the Redistributables may be distributed separately from the Apple Software. For clarity, all distribution of the Apple Software, including the Framework in its entirety and any individual Redistributables, are subject to the non-commercial restriction in Section 2(A)(iii).\'a0 You may make one copy of the Apple Software in machine-readable form for backup purposes only; provided that the backup copy must include all copyright or other proprietary notices contained on the original.\'a0 You agree not to use the Apple Software in connection with service bureau, time-sharing, terminal sharing or other similar types of services.\'a0 You also agree not to use or offer the Apple Software, or any of its functionality, to provide service bureau, time-sharing, terminal sharing or other similar types of services to third parties. \ +\'a0\ + +\f0\b D. +\f1\b0 \'a0 \ul No Reverse Engineering\ulnone .\'a0 You may not, and you agree not to or to enable others to, copy (except to the extent expressly permitted by this Agreement), decompile, reverse engineer, disassemble, attempt to derive the source code of, decrypt, modify, or create derivative works of the Apple Software or any services provided by the Apple Software or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by licensing terms governing use of open source components). \ +\'a0\ + +\f0\b 3. Transfer. +\f1\b0 \'a0 Any copy of the Apple Software that may be provided by Apple for promotional, evaluation, diagnostic or restorative purposes may only be used for such purposes and may not be resold or transferred. \ +\'a0\ + +\f0\b 4. Consent to Use of Data. +\f1\b0 \ + +\f0\b A. +\f1\b0 \'a0 \ul Analytics & Improvements\ulnone .\'a0 If you choose to share analytics with Apple, you agree that Apple and its subsidiaries and agents may collect, maintain, process and use diagnostic, technical, usage and related information, including but not limited to unique system or hardware identifiers, information about your computer, system and application software, and peripherals, that is gathered periodically to provide and improve Apple\'92s products and services, facilitate the provision of software updates, product support and other services to you (if any) related to the Apple Software, and to verify compliance with the terms of this Agreement.\'a0 \ +\'a0\ + +\f0\b B. +\f1\b0 \'a0 \ul Privacy Policy\ulnone .\'a0 At all times your information will be treated in accordance with Apple\'92s Privacy Policy, which can be viewed at: www.apple.com/legal/privacy/.\ +\'a0\ + +\f0\b 5. Termination +\f1\b0 .\'a0 This Agreement is effective until terminated.\'a0 Your rights under this Agreement will terminate automatically or otherwise cease to be effective (i) with notice from Apple, or (ii) without notice from Apple if you fail to comply with any term(s) of this Agreement.\'a0 Upon the termination of this Agreement, you shall cease all use of the Apple Software and destroy all copies, full or partial, of the Apple Software.\'a0 Sections 3, 5, 6, 7, 8, 9, 10, 11, 12, and 13 of this Agreement shall survive any such termination. \ +\'a0\ + +\f0\b 6. Indemnification +\f1\b0 \ +To the extent permitted by applicable law, you agree to indemnify, defend and hold harmless Apple, its directors, officers, employees, independent contractors and agents (each an \'93 +\f0\b Apple Indemnified Party +\f1\b0 \'94) from any and all claims, losses, liabilities, damages, expenses and costs (including without limitation attorneys' fees and court costs) (collectively \'93 +\f0\b Losses +\f1\b0 \'94) incurred by an Apple Indemnified Party as a result of your breach of this Agreement, a breach of any certification, covenant, representation or warranty made by you in this Agreement, any claims that you violate or infringe any third party intellectual property or proprietary rights, or otherwise related to or arising from your use of the Apple Software, your applications, your development of applications, or your loading of applications and limited distribution as permitted hereunder.\'a0 In no event may You enter into any settlement or like agreement with a third party that affects Apple's rights or binds Apple in any way, without the prior written consent of Apple.\ + +\f0\b \'a0 +\f1\b0 \ + +\f0\b 7. Representations and Warranties. +\f1\b0 \ + +\f0\b A. +\f1\b0 \'a0 YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT, TO THE EXTENT PERMITTED BY APPLICABLE LAW, USE OF THE APPLE SOFTWARE AND ANY SERVICES PERFORMED BY OR ACCESSED THROUGH THE APPLE SOFTWARE IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU.\ +\'a0\ + +\f0\b B. +\f1\b0 \'a0\'a0YOU AGREE THAT TO THE EXTENT YOU USE THE APPLE SOFTWARE WITH MATERIALS NOT PROVIDED BY APPLE, IT WILL ONLY BE USED WITH NON-COPYRIGHTED MATERIALS, MATERIALS IN WHICH YOU OWN THE COPYRIGHT, OR MATERIALS YOU ARE AUTHORIZED OR LEGALLY PERMITTED TO USE.\ +\'a0\ + +\f0\b C. +\f1\b0 \'a0 TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE APPLE SOFTWARE AND SERVICES ARE PROVIDED \'93AS IS\'94 AND \'93AS AVAILABLE\'94, WITH ALL FAULTS AND WITHOUT WARRANTY OF ANY KIND, AND APPLE AND APPLE\'92S LICENSORS (COLLECTIVELY REFERRED TO AS \'93APPLE\'94 FOR THE PURPOSES OF SECTIONS 7 AND 8) HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH RESPECT TO THE APPLE SOFTWARE AND SERVICES, EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, QUIET ENJOYMENT, AND NON-INFRINGEMENT OF THIRD PARTY RIGHTS. \ +\'a0\ + +\f0\b D. +\f1\b0 \'a0 APPLE DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE APPLE SOFTWARE AND SERVICES, THAT THE FUNCTIONS CONTAINED IN, OR SERVICES PERFORMED OR PROVIDED BY, THE APPLE SOFTWARE WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE OR SERVICES WILL BE UNINTERRUPTED OR ERROR-FREE, THAT ANY SERVICES WILL CONTINUE TO BE MADE AVAILABLE, THAT THE APPLE SOFTWARE OR SERVICES WILL BE COMPATIBLE OR WORK WITH YOUR OR ANY THIRD PARTY SOFTWARE, APPLICATIONS OR SERVICES OR ANY OTHER APPLE PRODUCTS OR SERVICES, OR THAT DEFECTS IN THE APPLE SOFTWARE OR SERVICES WILL BE CORRECTED.\'a0 INSTALLATION OF THIS APPLE SOFTWARE AND USE OF THE SERVICES MAY AFFECT THE USABILITY OF YOUR OR THIRD PARTY SOFTWARE, APPLICATIONS OR SERVICES AS WELL AS OTHER APPLE PRODUCTS OR SERVICES. \ +\'a0\ + +\f0\b E. +\f1\b0 \'a0 YOU FURTHER ACKNOWLEDGE THAT THE APPLE SOFTWARE AND SERVICES ARE NOT INTENDED OR SUITABLE FOR USE IN SITUATIONS OR ENVIRONMENTS WHERE THE FAILURE OR TIME DELAYS OF, OR ERRORS OR INACCURACIES IN THE CONTENT, DATA OR INFORMATION PROVIDED BY, THE APPLE SOFTWARE OR SERVICES COULD LEAD TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE, INCLUDING WITHOUT LIMITATION THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, LIFE SUPPORT OR WEAPONS SYSTEMS. \ +\'a0\ + +\f0\b F. +\f1\b0 \'a0 NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY.\'a0 SHOULD THE APPLE SOFTWARE OR SERVICES PROVE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\'a0 SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR LIMITATIONS ON APPLICABLE STATUTORY RIGHTS OF A CONSUMER, SO THE ABOVE EXCLUSION AND LIMITATIONS MAY NOT APPLY TO YOU. \ +\'a0\ + +\f0\b 8. Limitation of Liability. +\f1\b0 \'a0 TO THE EXTENT NOT PROHIBITED BY APPLICABLE LAW, IN NO EVENT SHALL APPLE BE LIABLE FOR PERSONAL INJURY, OR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES WHATSOEVER, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, CORRUPTION OR LOSS OF DATA, BUSINESS INTERRUPTION OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING OUT OF OR RELATED TO YOUR USE OR INABILITY TO USE THE APPLE SOFTWARE OR SERVICES OR ANY SOFTWARE OR APPLICATIONS IN CONJUNCTION WITH THE APPLE SOFTWARE OR SERVICES, HOWEVER CAUSED, REGARDLESS OF THE THEORY OF LIABILITY (CONTRACT, TORT OR OTHERWISE) AND EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\'a0 SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR PERSONAL INJURY, OR OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU.\'a0 In no event shall Apple\'92s total liability to you for all damages (other than as may be required by applicable law in cases involving personal injury) exceed the amount of fifty dollars ($50.00).\'a0 The foregoing limitations will apply even if the above stated remedy fails of its essential purpose. \ +\'a0\ + +\f0\b 9. Export Control. +\f1\b0 \'a0 You may not use or otherwise export or re-export the Apple Software except as authorized by United States law and the laws of the jurisdiction in which the Apple Software was obtained.\'a0 In particular, but without limitation, the Apple Software may not be exported or re-exported (a) into any U.S. embargoed countries or (b) to anyone on the U.S. Treasury Department\'92s list of Specially Designated Nationals or the U.S. Department of Commerce Denied Person\'92s List or Entity List or any other restricted party lists.\'a0 By using the Apple Software, you represent and warrant that you are not located in any such country or on any such list.\'a0 You also agree that you will not use the Apple Software for any purposes prohibited by United States law, including, without limitation, the development, design, manufacture or production of missiles, nuclear, chemical or biological weapons. \ +\'a0\ + +\f0\b 10. Government End Users. +\f1\b0 \'a0 The Apple Software and related documentation are \'93Commercial Items\'94, as that term is defined at 48 C.F.R. \'a72.101, consisting of \'93Commercial Computer Software\'94 and \'93Commercial Computer Software Documentation\'94, as such terms are used in 48 C.F.R. \'a712.212 or 48 C.F.R. \'a7227.7202, as applicable.\'a0 Consistent with 48 C.F.R. \'a712.212 or 48 C.F.R. \'a7227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein.\'a0 Unpublished-rights reserved under the copyright laws of the United States. \ +\'a0\ + +\f0\b 11. Controlling Law and Severability. +\f1\b0 \'a0 This Agreement will be governed by and construed in accordance with the laws of the State of Delaware, excluding its conflict of law principles.\'a0 This Agreement shall not be governed by the United Nations Convention on Contracts for the International Sale of Goods, the application of which is expressly excluded.\'a0 If for any reason a court of competent jurisdiction finds any provision, or portion thereof, to be unenforceable, the remainder of this Agreement shall continue in full force and effect. \ +\'a0\ + +\f0\b 12. Complete Agreement; Governing Language. +\f1\b0 \'a0 This Agreement constitutes the entire agreement between you and Apple relating to the use of the Apple Software and supersedes all prior or contemporaneous understandings regarding such subject matter.\'a0 No amendment to or modification of this Agreement will be binding unless in writing and signed by Apple.\'a0 Any translation of this Agreement is done for local requirements and in the event of a dispute between the English and any non-English versions, the English version of this Agreement shall govern, to the extent not prohibited by local law in your jurisdiction. \ +\'a0\ + +\f0\b 13. Open Source; Third Party Acknowledgements. +\f1\b0 \'a0 Certain components of the Apple Software, and third party open source programs included with the Apple Software, may be made available by Apple on its open source website (opensource.apple.com).\'a0 Acknowledgements, open source licensing terms and disclaimers for third party components of the Apple Software are also contained in the Acknowledgements file for the Apple Software.\'a0 Please refer to the Acknowledgements file for such information since you may have additional rights in such open source components of the Apple Software.\'a0 You expressly acknowledge that if failure or damage to Apple hardware results from modification of the open source components of the Apple Software, such failure or damage is excluded from the terms of the Apple hardware warranty. \ +\pard\pardeftab720\fi960\partightenfactor0 +\cf2 \'a0\ +\pard\pardeftab720\partightenfactor0 +\cf2 EA18380\ +8/17/2023\ +\'a0\ +} \ No newline at end of file diff --git a/external/gptk-3.0/Read Me.rtf b/external/gptk-3.0/Read Me.rtf new file mode 100644 index 000000000000..bd34c0295ea9 --- /dev/null +++ b/external/gptk-3.0/Read Me.rtf @@ -0,0 +1,277 @@ +{\rtf1\ansi\ansicpg1252\cocoartf2822 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;\f2\fmodern\fcharset0 CourierNewPS-BoldMT; +\f3\fnil\fcharset0 Menlo-Regular;\f4\fnil\fcharset0 LucidaGrande;\f5\fmodern\fcharset0 CourierNewPSMT; +\f6\fswiss\fcharset0 Helvetica-Oblique;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +{\*\expandedcolortbl;;\cssrgb\c0\c0\c0\cname textColor;} +{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1} +{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2} +{\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid3} +{\list\listtemplateid4\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid4} +{\list\listtemplateid5\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid5}} +{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}} +\paperw12240\paperh15840\margl1440\margr1440\vieww31760\viewh27180\viewkind1 +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b\fs36 \cf0 Evaluation environment for Windows games \cf2 3.0\cf0 README\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f1\b0\fs24 \cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b\fs28 \cf0 Overview +\f1\b0\fs24 \ +\ +The evaluation environment for Windows games is now a subset of the expanded Game Porting Toolkit. The evaluation environment helps game developers try out their existing Windows games right on Apple Silicon Macs running macOS 15 Sequoia or higher. Using community projects that bundle the evaluation environment, or building your own environment using the included binaries and installation and configuration instructions, you can run your game to get a sense of how it can feel and play right away, even before you begin your porting journey.\ +\ + +\f0\b\fs28 Requirements +\f1\b0\fs24 \ +\ +\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\pardirnatural\partightenfactor0 +\ls1\ilvl0\cf0 {\listtext \uc0\u8226 }The evaluation environment for Windows games only runs on Apple Silicon Macs running macOS 15 Sequoia or higher.\ +{\listtext \uc0\u8226 }Translated games require more resources, so developer-focused Macs with 16GB of RAM or more are recommended.\ +{\listtext \uc0\u8226 }The provided macOS graphics bridge libraries must be configured with a custom version of the Wine translation environment in order to create your evaluation environment.\ +{\listtext \uc0\u8226 }Instructions and scripts for building and configuring the custom version of Wine are included here.\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx9060\pardirnatural\partightenfactor0 +\cf0 \ + +\f0\b\fs28 Installation and Setup\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f1\b0\fs24 \cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b \cf0 Use a pre-built evaluation environment\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f1\b0 \cf0 \ +While simple to use once configured and installed, the evaluation environment for Windows games can take time to configure and use correctly depending on your proficiency and comfort with command-line tools and your experience using translation tools like WINE. The following free and commercial products incorporate the supplemental evaluation layers from this distribution within a pre-built WINE environment.\ +\ +\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\pardirnatural\partightenfactor0 +\ls2\ilvl0\cf0 {\listtext \uc0\u8226 }Dean Greer\'92s (aka GCenX) +\f0\b homebrew-wine +\f1\b0 ({\field{\*\fldinst{HYPERLINK "https://github.com/Gcenx/homebrew-wine"}}{\fldrslt https://github.com/Gcenx/homebrew-wine}}) and +\f0\b game-porting-toolkit +\f1\b0 ({\field{\*\fldinst{HYPERLINK "https://github.com/Gcenx/game-porting-toolkit/releases"}}{\fldrslt https://github.com/Gcenx/game-porting-toolkit}}) casks - use +\f2\b brew install --cask --no-quarantine gcenx/wine/ +\f1\b0 to easily install either of the more complete environments and the graphical translation layer.\ +{\listtext \uc0\u8226 }CodeWeaver\'92s +\f0\b CrossOver +\f1\b0 . ({\field{\*\fldinst{HYPERLINK "https://www.codeweavers.com/crossover"}}{\fldrslt https://www.codeweavers.com/crossover}}) CodeWeavers offers a 14-day free trial of CrossOver, which includes integration of the graphical translation layer.\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b \cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f1\b0 \cf0 Note: early in the macOS 26 Tahoe beta period these pre-built tools may still be carrying the prior version of D3DMetal. You can temporarily update these tools to use the latest version as follows.\ +\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\sb240\pardirnatural\partightenfactor0 +\ls3\ilvl0\cf0 {\listtext \uc0\u8226 } +\f0\b homebrew-wine +\f1\b0 and +\f0\b game-porting-toolkit +\f1\b0 casks - you can replace the copies of the evaluation environment libraries found at /Applications/Game\\ Porting\\ Toolkit.app/Contents/Resources/wine/lib/ with the libraries from this distribution:\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li1438\fi-3\sb120\pardirnatural\partightenfactor0 + +\f3 \cf0 cd /Applications/Game\\ Porting\\ Toolkit.app/Contents/Resources/wine/lib\ +mv external external.old; mv wine wine.old\ +ditto "/Volumes/Evaluation environment for Windows games 3.0/redist/lib/" . +\f1 \ +\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\sb240\pardirnatural\partightenfactor0 +\ls4\ilvl0\cf0 {\listtext \uc0\u8226 } +\f0\b CrossOver +\f1\b0 : replace CrossOver\'92s copies of the evaluation environment libraries found at /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/lib64/apple_gptk with the libraries from this distribution:\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li1438\fi-3\sb120\pardirnatural\partightenfactor0 + +\f3 \cf0 cd /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/lib64/apple_gptk\ +mv external external.old; mv wine wine.old\ +ditto "/Volumes/Evaluation environment for Windows games 3.0/redist/lib/" . +\f1 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 +\cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b\fs28 \cf0 Prepare your environment +\f1\b0\fs24 \ +\ +To enable experimental MetalFX integration, perform the following steps:\ +\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\sb240\pardirnatural\partightenfactor0 +\cf0 \'95 Rename +\f3 wine/x86_64-unix/nvngx-on-metalfx.so +\f1 to +\f3 wine/x86_64-unix/nvngx.so +\f1 if this hasn\'92t already been done\ +\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\pardirnatural\partightenfactor0 +\ls5\ilvl0\cf0 {\listtext \uc0\u8226 }Rename +\f3 wine/x86_64-windows/nvngx-on-metalfx.dll +\f1 to +\f3 wine/x86_64-windows/nvngx.dll +\f1 if this hasn\'92t already been done\ +{\listtext \uc0\u8226 }Copy both +\f3 nvngx.dll +\f1 and +\f3 nvapi64.dll +\f1 to the +\f3 windows\\system32 +\f1 directory your Wine prefix\'92s virtual C: drive (open +\f3 ~/my-game-prefix/drive_c/windows/system32 +\f1 )\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b\fs28 \cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx9060\pardirnatural\partightenfactor0 +\cf0 Environment Variables\ + +\f1\b0\fs24 \ +Environment variables can be used to control some aspects of translation and emulation in the evaluation environment.\ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx9060\li1331\fi-853\pardirnatural\partightenfactor0 + +\f2\b \cf0 D3DM_SUPPORT_DXR +\f1\b0 - Defaults to 0 (OFF) on M1 & M2 Macs, and to 1 (ON) for M3 & later Macs. Setting this environment variable to 1 (ON) enables DirectX Raytracing (aka DXR) features in D3DMetal\'92s DirectX 12 translation layer, so games querying for DXR support will find the support level and expected interfaces of DXR.\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx9060\pardirnatural\partightenfactor0 +\cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx9060\li1331\fi-854\pardirnatural\partightenfactor0 + +\f2\b \cf0 ROSETTA_ADVERTISE_AVX +\f1\b0 - Defaults to 0 (OFF). On macOS 15 Sequoia and later, setting this environment variable to 1 (ON) causes the CPU instruction translation layer to publish cpuid information to translated applications when running in the evaluation environment, so games querying instruction set extension capabilities before utilizing them can conditionally control their use of instruction extensions. This setting does not modify the availability of the instruction set in Rosetta; it only controls whether the processor advertises its support for these extensions.\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx9060\li1331\fi-853\pardirnatural\partightenfactor0 +\cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx9060\li1331\fi-854\pardirnatural\partightenfactor0 + +\f2\b \cf0 D3DM_ENABLE_METALFX +\f1\b0 - Defaults to 0 (OFF). On macOS 26 Tahoe, setting this environment variable to 1 (ON) causes DLSS functions to be converted to MetalFX where possible. Setting this environment variable to 0 (OFF) causes DLSS functions to be not be available.\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 +\cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b\fs28 \cf0 Logging +\f1\b0\fs24 \ +\ +Logging output will appear in the Terminal window in which you launch your game as well as the system log, which can be viewed with the Console app found in Applications +\f4 \uc0\u9656 +\f1 Utilities. Log messages from the evaluation environment for Windows games are prefixed with +\f0\b D3DM +\f1\b0 and are logged to the system log using the "D3DMetal" category. If you are experiencing an issue and want to send logging information through https://feedbackassistant.apple.com, please attach and send the full logs without filtering to +\f0\b D3DM. +\f1\b0 \ +\ + +\f0\b\fs28 Debugging your game with Metal debugger\ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\tx9060\li1331\fi-853\pardirnatural\partightenfactor0 + +\f2\fs24 \cf0 Note: You will need to disable System Integrity Protection (SIP) ({\field{\*\fldinst{HYPERLINK "https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection"}}{\fldrslt +\f1\b0 https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection}} +\f1\b0 ) +\f2\b to debug CrossOver's Wine processes. Reenable SIP after you finish debugging.\ +\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\sb240\pardirnatural\partightenfactor0 + +\f1\b0 \cf0 \'95 Compile your shaders with embedded debug information ({\field{\*\fldinst{HYPERLINK "https://developer.apple.com/metal/shader-converter/#shader"}}{\fldrslt https://developer.apple.com/metal/shader-converter/#shader}}) by passing +\f3 -Zi -Qembed_debug +\f1 to the DX Compiler.\ + \'95 In CrossOver, select a bottle to launch your game from.\ + \'95 Enable D3DMetal in the Advanced Settings for the bottle.\ + \'95 Launch your game by clicking Run Command, choosing your game executable, and inserting the following environment variables to enable Metal debugging and processing of debug information: +\f2\b MTL_CAPTURE_ENABLED=1 D3DM_DXIL_PROCESS_DEBUG_INFORMATION=1\ + +\f1\b0 \'95 In Xcode, click +\f3 Debug > Debug Executable\'85 +\f1 from the menubar and select CrossOver.app (this is just to get a workspace window open)\ + \'95 In the visible Scheme options, click the +\f3 Options +\f1 tab and change +\f3 GPU Frame Capture +\f1 from +\f3 Automatically +\f1 to +\f3 Metal +\f1 .\ + \'95 Close Scheme.\ + \'95 Click +\f3 Debug > Attach to Process +\f1 from the menubar and select your launched game process.\ + \'95 After the debugger attaches to the process, you can capture your Metal workload ({\field{\*\fldinst{HYPERLINK "https://developer.apple.com/documentation/xcode/capturing-a-metal-workload-in-xcode#Capture-your-Metal-workload-while-debugging"}}{\fldrslt https://developer.apple.com/documentation/xcode/capturing-a-metal-workload-in-xcode#Capture-your-Metal-workload-while-debugging}}).\ +\ +\pard\pardeftab720\partightenfactor0 +\cf0 If lldb suspends the process due to handling +\f3 SIGUSR1 +\f1 , you will need to run the following commands to ignore this signal and continue the process:\ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li961\fi1\pardirnatural\partightenfactor0 + +\f3 \cf0 process handle -pass false -stop false -notify false SIGUSR1\ +continue +\f1 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 +\cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b\fs28 \cf0 Troubleshooting +\f1\b0\fs24 \ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b \cf0 My game won't run and crashes with an invalid instruction or complains about lack of certain instruction extensions +\f1\b0 \ +\ +Invalid instruction crashes are sometimes caused when the Rosetta 2 instruction translation layer is unable to translate CPU instructions. You may be able to recompile a version of your game without certain instructions in order to evaluate its potential on Apple Silicon with the Game Porting Toolkit when you hit this error. You may also be able to use the +\f5 ROSETTA_ADVERTISE_AVX +\f1 environment variable to ensure your game recognizes available translation instruction extensions. When porting your code natively to Apple Silicon there are a variety or NEON and ARM instructions which offer high-performance replacements for AVX / AVX2, BMI, F16c and other less common instruction set extensions.\ +\ + +\f0\b My game won't run because its anti-cheat or DRM software is incompatible with Wine translation.\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f1\b0 \cf0 \ +You may be able to rebuild a custom version of your game in your Windows development environment with anti-cheat or DRM disabled for your own evaluation purposes. When porting your code natively to Apple Silicon and macOS, contact your anti-cheat or DRM provider\'97most have native Apple Silicon solutions for your native build, or you may find that existing macOS solutions like Hardened Runtime, Application Sandbox, and Application Attestation prevent forms of cheating or tampering that concern you.\ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b \cf0 My game won\'92t run because it thinks the version of Windows is too old. +\f1\b0 \ +\ +First, make sure you have selected an appropriate Windows version in winecfg. This affects the major and minor Windows versions that are reported to your game.\ +\ +If your game checks for a specific minimum or an exact build version, you can alter this value by changing the +\f3 CurrentBuild +\f1 and +\f3 CurrentBuildNumber +\f1 values of the +\f3 HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT +\f1 registry key. You must perform this step +\f6\i after +\f1\i0 selecting a Windows version in winecfg.\ +\ + +\f0\b My game won\'92t run because it requires Mono, .NET, or the MSVCRT runtime. +\f1\b0 \ +\ +The evaluation environment for Windows games does not pre-install these runtime support packages. If your game makes use of one of these packages, consider searching for and downloading appropriate installers (.exe or .msi) and installing them to your evaluation environment. \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f3 \cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b \cf0 My game won\'92t boot anymore even though I made no changes.\ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f1\b0 \cf0 If the game stopped booting without being updated, you can try clearing the shader cache.\ +Run the following commands:\ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li961\fi1\pardirnatural\partightenfactor0 + +\f3 \cf0 cd $(getconf DARWIN_USER_CACHE_DIR)/d3dm\ +cd \'abGAME_NAME\'bb\ +rm -r shaders.cache +\f1 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 +\cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b \cf0 Do you have a different problem or other feedback?\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f1\b0 \cf0 \ +Please let us know through https://feedbackassistant.apple.com.} diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/D3DMetal b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/D3DMetal new file mode 120000 index 000000000000..8c839f2ae768 --- /dev/null +++ b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/D3DMetal @@ -0,0 +1 @@ +Versions/Current/D3DMetal \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Resources b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Resources new file mode 120000 index 000000000000..953ee36f3bb7 --- /dev/null +++ b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/D3DMetal b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/D3DMetal new file mode 100755 index 000000000000..9f90f0e177e3 Binary files /dev/null and b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/D3DMetal differ diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/Info.plist b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/Info.plist new file mode 100644 index 000000000000..d684fa8bc7cb Binary files /dev/null and b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/Info.plist differ diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/LICENSE b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/LICENSE new file mode 100644 index 000000000000..6bc30a1bc55d --- /dev/null +++ b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/LICENSE @@ -0,0 +1,26 @@ +xxHash Library +Copyright (c) 2012-2020 Yann Collet +All rights reserved. + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/default.metallib b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/default.metallib new file mode 100644 index 000000000000..bb0bff6927e8 Binary files /dev/null and b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/default.metallib differ diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxccontainer.dylib b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxccontainer.dylib new file mode 100755 index 000000000000..b82889b980b8 Binary files /dev/null and b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxccontainer.dylib differ diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxcompiler.dylib b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxcompiler.dylib new file mode 100755 index 000000000000..19e7a7c8758e Binary files /dev/null and b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxcompiler.dylib differ diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxilconv.dylib b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxilconv.dylib new file mode 100755 index 000000000000..d973b0eff2b4 Binary files /dev/null and b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libdxilconv.dylib differ diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libmetalirconverter.dylib b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libmetalirconverter.dylib new file mode 100755 index 000000000000..f961f7bb5261 Binary files /dev/null and b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/libmetalirconverter.dylib differ diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/version.plist b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/version.plist new file mode 100644 index 000000000000..7ca2f926bc69 --- /dev/null +++ b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/Resources/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 1 + CFBundleShortVersionString + 3.0 + CFBundleVersion + 3.0 + ProjectName + D3DRendererMetal + SourceVersion + 32047000000000 + + diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/_CodeSignature/CodeResources b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/_CodeSignature/CodeResources new file mode 100644 index 000000000000..777fe24c28c9 --- /dev/null +++ b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/A/_CodeSignature/CodeResources @@ -0,0 +1,205 @@ + + + + + files + + Resources/Info.plist + + BrnundkMRkGz5j54J4X99y5MTz8= + + Resources/LICENSE + + 1s+LZYFe//ikbe8+xMdMVwM9Jfo= + + Resources/default.metallib + + 0V8G40bDSqvxlyfiMZFWgdT8H9A= + + Resources/libdxccontainer.dylib + + ZDigSHWrcnYDdyZnuA2KmepYCns= + + Resources/libdxcompiler.dylib + + EVSESYdsj3phohYGYTC91w5kRvU= + + Resources/libdxilconv.dylib + + nO6HdcV6L2YCY37Xt36PkgxRCi0= + + Resources/libmetalirconverter.dylib + + 8riCRTpHzJp5wWsqiKYROjVYkWc= + + Resources/version.plist + + eZNs2uSn7O2MedoZG+QkEo6dNrg= + + + files2 + + Resources/Info.plist + + hash2 + + 94w1Ao6J9eY8CshjaZFK1BQPiW9PM64eeE2YvMi544U= + + + Resources/LICENSE + + hash2 + + VT0ANXc93RWQBF+P3DpMbq0x42M2chrsqEIeiO0cn4A= + + + Resources/default.metallib + + hash2 + + gnNnIE34jzwM6OG0SlexB+VryT2hTrOfcgfp3KtUtDA= + + + Resources/libdxccontainer.dylib + + hash2 + + KYuTOZoTG3W2t3VryyqTVGtyUMudfl7MZYWH2Gvjoew= + + + Resources/libdxcompiler.dylib + + hash2 + + PQsV6xGw2mTnP6MgYtjLVgYfPhHeN6+hAVR6Djp2Yq0= + + + Resources/libdxilconv.dylib + + hash2 + + hrvX3hbADHNcN89PqCt7FqX4NkeVjp/wZmj4y2WlbmE= + + + Resources/libmetalirconverter.dylib + + hash2 + + Ps6W45pMFWaJKQhWKmF3VWGlzXCGgcWPKsRC3A2+I5c= + + + Resources/version.plist + + hash2 + + azKOW2fqvrD6DdIafRN5m3uQn8J0HJ9qmhMax7k6V6c= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/Current b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/Current new file mode 120000 index 000000000000..8c7e5a667f1b --- /dev/null +++ b/external/gptk-3.0/redist/lib/external/D3DMetal.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/external/libd3dshared.dylib b/external/gptk-3.0/redist/lib/external/libd3dshared.dylib new file mode 100755 index 000000000000..e82f17d2f41f Binary files /dev/null and b/external/gptk-3.0/redist/lib/external/libd3dshared.dylib differ diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-unix/atidxx64.so b/external/gptk-3.0/redist/lib/wine/x86_64-unix/atidxx64.so new file mode 120000 index 000000000000..c76417840bfd --- /dev/null +++ b/external/gptk-3.0/redist/lib/wine/x86_64-unix/atidxx64.so @@ -0,0 +1 @@ +../../external/libd3dshared.dylib \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d10.so b/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d10.so new file mode 120000 index 000000000000..c76417840bfd --- /dev/null +++ b/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d10.so @@ -0,0 +1 @@ +../../external/libd3dshared.dylib \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d11.so b/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d11.so new file mode 120000 index 000000000000..c76417840bfd --- /dev/null +++ b/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d11.so @@ -0,0 +1 @@ +../../external/libd3dshared.dylib \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d12.so b/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d12.so new file mode 120000 index 000000000000..c76417840bfd --- /dev/null +++ b/external/gptk-3.0/redist/lib/wine/x86_64-unix/d3d12.so @@ -0,0 +1 @@ +../../external/libd3dshared.dylib \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-unix/dxgi.so b/external/gptk-3.0/redist/lib/wine/x86_64-unix/dxgi.so new file mode 120000 index 000000000000..c76417840bfd --- /dev/null +++ b/external/gptk-3.0/redist/lib/wine/x86_64-unix/dxgi.so @@ -0,0 +1 @@ +../../external/libd3dshared.dylib \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-unix/nvapi64.so b/external/gptk-3.0/redist/lib/wine/x86_64-unix/nvapi64.so new file mode 120000 index 000000000000..c76417840bfd --- /dev/null +++ b/external/gptk-3.0/redist/lib/wine/x86_64-unix/nvapi64.so @@ -0,0 +1 @@ +../../external/libd3dshared.dylib \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-unix/nvngx-on-metalfx.so b/external/gptk-3.0/redist/lib/wine/x86_64-unix/nvngx-on-metalfx.so new file mode 120000 index 000000000000..c76417840bfd --- /dev/null +++ b/external/gptk-3.0/redist/lib/wine/x86_64-unix/nvngx-on-metalfx.so @@ -0,0 +1 @@ +../../external/libd3dshared.dylib \ No newline at end of file diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-windows/atidxx64.dll b/external/gptk-3.0/redist/lib/wine/x86_64-windows/atidxx64.dll new file mode 100644 index 000000000000..e6167db99cbc Binary files /dev/null and b/external/gptk-3.0/redist/lib/wine/x86_64-windows/atidxx64.dll differ diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d10.dll b/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d10.dll new file mode 100644 index 000000000000..6dfd25102679 Binary files /dev/null and b/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d10.dll differ diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d11.dll b/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d11.dll new file mode 100644 index 000000000000..591690dfd5d6 Binary files /dev/null and b/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d11.dll differ diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d12.dll b/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d12.dll new file mode 100644 index 000000000000..27fdc7add3d9 Binary files /dev/null and b/external/gptk-3.0/redist/lib/wine/x86_64-windows/d3d12.dll differ diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-windows/dxgi.dll b/external/gptk-3.0/redist/lib/wine/x86_64-windows/dxgi.dll new file mode 100644 index 000000000000..284de24158dc Binary files /dev/null and b/external/gptk-3.0/redist/lib/wine/x86_64-windows/dxgi.dll differ diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-windows/nvapi64.dll b/external/gptk-3.0/redist/lib/wine/x86_64-windows/nvapi64.dll new file mode 100644 index 000000000000..9eaadfc7bb5b Binary files /dev/null and b/external/gptk-3.0/redist/lib/wine/x86_64-windows/nvapi64.dll differ diff --git a/external/gptk-3.0/redist/lib/wine/x86_64-windows/nvngx-on-metalfx.dll b/external/gptk-3.0/redist/lib/wine/x86_64-windows/nvngx-on-metalfx.dll new file mode 100644 index 000000000000..9862261f5cce Binary files /dev/null and b/external/gptk-3.0/redist/lib/wine/x86_64-windows/nvngx-on-metalfx.dll differ