Compare commits
47
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5adbf3765a | ||
|
|
e910e6f13d | ||
|
|
2f2cca8ac6 | ||
|
|
a2f39399a1 | ||
|
|
c1149f88b6 | ||
|
|
54adba6a31 | ||
|
|
b48106f8a8 | ||
|
|
f345428367 | ||
|
|
e4287595c1 | ||
|
|
73efbf2e14 | ||
|
|
ad342dfca9 | ||
|
|
f13d6d4b0f | ||
|
|
dfb8241317 | ||
|
|
c67f10e43f | ||
|
|
932eea513e | ||
|
|
5e51a37518 | ||
|
|
372564299e | ||
|
|
c397fe0c51 | ||
|
|
95227e2732 | ||
|
|
6f8d6da77f | ||
|
|
6f15aec644 | ||
|
|
9bed177f10 | ||
|
|
7de4f16710 | ||
|
|
beac43f41f | ||
|
|
8538d5dcf1 | ||
|
|
0fb294ade4 | ||
|
|
0f6a682ea6 | ||
|
|
c4fc20a033 | ||
|
|
a24e2bfc76 | ||
|
|
6a83588fdd | ||
|
|
0092b3629e | ||
|
|
c0eedcd4ce | ||
|
|
d1b6d5f33d | ||
|
|
fe297fc6d8 | ||
|
|
384fcea585 | ||
|
|
2f2b44a1bd | ||
|
|
8386daddcb | ||
|
|
739a23e506 | ||
|
|
5a59155a05 | ||
|
|
1ad917e2f6 | ||
|
|
859844eae3 | ||
|
|
857b9848d2 | ||
|
|
5f98fcf00b | ||
|
|
5a492e8196 | ||
|
|
80cb52c944 | ||
|
|
4436c09c9d | ||
|
|
23cf7a2e0d |
No files matched your search
@@ -15,7 +15,7 @@ jobs:
|
|||||||
- { name: CMake, cmake: 1, android_abi: "arm64-v8a", android_platform: 23, arch: "aarch64" }
|
- { name: CMake, cmake: 1, android_abi: "arm64-v8a", android_platform: 23, arch: "aarch64" }
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: nttld/setup-ndk@v1
|
- uses: nttld/setup-ndk@v1
|
||||||
id: setup_ndk
|
id: setup_ndk
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ jobs:
|
|||||||
name: FreeBSD
|
name: FreeBSD
|
||||||
timeout-minutes: 30
|
timeout-minutes: 30
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Build
|
- name: Build
|
||||||
uses: cross-platform-actions/action@v0.19.1
|
uses: cross-platform-actions/action@v0.23.0
|
||||||
with:
|
with:
|
||||||
operating_system: freebsd
|
operating_system: freebsd
|
||||||
version: '13.2'
|
version: '13.2'
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ jobs:
|
|||||||
emscripten:
|
emscripten:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: mymindstorm/setup-emsdk@v12
|
- uses: mymindstorm/setup-emsdk@v14
|
||||||
with:
|
with:
|
||||||
version: 3.1.35
|
version: 3.1.35
|
||||||
- name: Install ninja
|
- name: Install ninja
|
||||||
|
|||||||
@@ -15,6 +15,6 @@ jobs:
|
|||||||
- { name: tvOS, target: Static Library-tvOS, sdk: appletvos }
|
- { name: tvOS, target: Static Library-tvOS, sdk: appletvos }
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Build
|
- name: Build
|
||||||
run: xcodebuild -project Xcode/SDL/SDL.xcodeproj -target '${{ matrix.platform.target }}' -configuration Release -sdk ${{ matrix.platform.sdk }} clean build
|
run: xcodebuild -project Xcode/SDL/SDL.xcodeproj -target '${{ matrix.platform.target }}' -configuration Release -sdk ${{ matrix.platform.sdk }} clean build
|
||||||
@@ -83,7 +83,7 @@ jobs:
|
|||||||
# Install oneAPI
|
# Install oneAPI
|
||||||
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
|
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Check that versioning is consistent
|
- name: Check that versioning is consistent
|
||||||
# We only need to run this once: arbitrarily use the Linux/CMake build
|
# We only need to run this once: arbitrarily use the Linux/CMake build
|
||||||
if: "runner.os == 'Linux' && ! matrix.platform.autotools"
|
if: "runner.os == 'Linux' && ! matrix.platform.autotools"
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ jobs:
|
|||||||
project: VisualC-WinRT/SDL-UWP.sln, projectflags: '/p:Platform=x64 /p:WindowsTargetPlatformVersion=10.0.17763.0' }
|
project: VisualC-WinRT/SDL-UWP.sln, projectflags: '/p:Platform=x64 /p:WindowsTargetPlatformVersion=10.0.17763.0' }
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Create CMake project using SDL as a subproject
|
- name: Create CMake project using SDL as a subproject
|
||||||
shell: python
|
shell: python
|
||||||
run: |
|
run: |
|
||||||
@@ -74,7 +74,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Add msbuild to PATH
|
- name: Add msbuild to PATH
|
||||||
if: ${{ matrix.platform.project != '' }}
|
if: ${{ matrix.platform.project != '' }}
|
||||||
uses: microsoft/setup-msbuild@v1.1.3
|
uses: microsoft/setup-msbuild@v2
|
||||||
- name: Build msbuild
|
- name: Build msbuild
|
||||||
if: ${{ matrix.platform.project != '' }}
|
if: ${{ matrix.platform.project != '' }}
|
||||||
run: msbuild ${{ matrix.platform.project }} /m /p:BuildInParallel=true /p:Configuration=Release ${{ matrix.platform.projectflags }}
|
run: msbuild ${{ matrix.platform.project }} /m /p:BuildInParallel=true /p:Configuration=Release ${{ matrix.platform.projectflags }}
|
||||||
@@ -8,7 +8,7 @@ jobs:
|
|||||||
container:
|
container:
|
||||||
image: devkitpro/devkitarm:latest
|
image: devkitpro/devkitarm:latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Install build requirements
|
- name: Install build requirements
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: ps2dev/ps2dev:latest
|
container: ps2dev/ps2dev:latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Setup dependencies
|
- name: Setup dependencies
|
||||||
run: |
|
run: |
|
||||||
apk update
|
apk update
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: pspdev/pspdev:latest
|
container: pspdev/pspdev:latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Setup dependencies
|
- name: Setup dependencies
|
||||||
run: |
|
run: |
|
||||||
apk update
|
apk update
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Setup dependencies
|
- name: Setup dependencies
|
||||||
run: apt-get update && apt-get install -y cmake ninja-build
|
run: apt-get update && apt-get install -y cmake ninja-build
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Configure (autotools)
|
- name: Configure (autotools)
|
||||||
if: ${{ contains(matrix.platform.name, 'autotools') }}
|
if: ${{ contains(matrix.platform.name, 'autotools') }}
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ jobs:
|
|||||||
- { name: GLES (pib), os: windows-latest, pib: true }
|
- { name: GLES (pib), os: windows-latest, pib: true }
|
||||||
- { name: GLES (PVR_PSP2 + gl4es4vita), os: windows-latest, pvr: true }
|
- { name: GLES (PVR_PSP2 + gl4es4vita), os: windows-latest, pvr: true }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Install build requirements
|
- name: Install build requirements
|
||||||
run: |
|
run: |
|
||||||
apk update
|
apk update
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ jobs:
|
|||||||
- { name: OS/2, makefile: Makefile.os2 }
|
- { name: OS/2, makefile: Makefile.os2 }
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: open-watcom/setup-watcom@v0
|
- uses: open-watcom/setup-watcom@v0
|
||||||
- name: Build SDL2
|
- name: Build SDL2
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
+3
-3
@@ -86,8 +86,8 @@ endif()
|
|||||||
|
|
||||||
# See docs/release_checklist.md
|
# See docs/release_checklist.md
|
||||||
set(SDL_MAJOR_VERSION 2)
|
set(SDL_MAJOR_VERSION 2)
|
||||||
set(SDL_MINOR_VERSION 29)
|
set(SDL_MINOR_VERSION 30)
|
||||||
set(SDL_MICRO_VERSION 3)
|
set(SDL_MICRO_VERSION 1)
|
||||||
set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")
|
set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")
|
||||||
|
|
||||||
# Set defaults preventing destination file conflicts
|
# Set defaults preventing destination file conflicts
|
||||||
@@ -241,7 +241,7 @@ endif()
|
|||||||
if(UNIX OR MINGW OR MSYS OR (USE_CLANG AND NOT WINDOWS) OR VITA OR PSP OR PS2 OR N3DS)
|
if(UNIX OR MINGW OR MSYS OR (USE_CLANG AND NOT WINDOWS) OR VITA OR PSP OR PS2 OR N3DS)
|
||||||
set(OPT_DEF_LIBC ON)
|
set(OPT_DEF_LIBC ON)
|
||||||
endif()
|
endif()
|
||||||
if(WINDOWS)
|
if(WINDOWS OR IOS OR TVOS)
|
||||||
set(SDL_SYSTEM_ICONV_DEFAULT OFF)
|
set(SDL_SYSTEM_ICONV_DEFAULT OFF)
|
||||||
else()
|
else()
|
||||||
set(SDL_SYSTEM_ICONV_DEFAULT ON)
|
set(SDL_SYSTEM_ICONV_DEFAULT ON)
|
||||||
|
|||||||
+2
-2
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
LIBNAME = SDL2
|
LIBNAME = SDL2
|
||||||
MAJOR_VERSION = 2
|
MAJOR_VERSION = 2
|
||||||
MINOR_VERSION = 29
|
MINOR_VERSION = 30
|
||||||
MICRO_VERSION = 3
|
MICRO_VERSION = 1
|
||||||
VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
|
VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
|
||||||
DESCRIPTION = Simple DirectMedia Layer 2
|
DESCRIPTION = Simple DirectMedia Layer 2
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
LIBNAME = SDL2
|
LIBNAME = SDL2
|
||||||
MAJOR_VERSION = 2
|
MAJOR_VERSION = 2
|
||||||
MINOR_VERSION = 29
|
MINOR_VERSION = 30
|
||||||
MICRO_VERSION = 3
|
MICRO_VERSION = 1
|
||||||
VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
|
VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
|
||||||
|
|
||||||
LIBHOME = .
|
LIBHOME = .
|
||||||
|
|||||||
@@ -19,10 +19,10 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2.29.3</string>
|
<string>2.30.1</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>SDLX</string>
|
<string>SDLX</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2.29.3</string>
|
<string>2.30.1</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
@@ -9768,8 +9768,8 @@
|
|||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEPLOYMENT_POSTPROCESSING = YES;
|
DEPLOYMENT_POSTPROCESSING = YES;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 2904.0.0;
|
DYLIB_COMPATIBILITY_VERSION = 3001.0.0;
|
||||||
DYLIB_CURRENT_VERSION = 2904.0.0;
|
DYLIB_CURRENT_VERSION = 3001.1.0;
|
||||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
GCC_ALTIVEC_EXTENSIONS = YES;
|
GCC_ALTIVEC_EXTENSIONS = YES;
|
||||||
@@ -9810,7 +9810,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||||
MARKETING_VERSION = 2.29.3;
|
MARKETING_VERSION = 2.30.1;
|
||||||
OTHER_LDFLAGS = "-liconv";
|
OTHER_LDFLAGS = "-liconv";
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
@@ -9853,8 +9853,8 @@
|
|||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 2904.0.0;
|
DYLIB_COMPATIBILITY_VERSION = 3001.0.0;
|
||||||
DYLIB_CURRENT_VERSION = 2904.0.0;
|
DYLIB_CURRENT_VERSION = 3001.1.0;
|
||||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
@@ -9896,7 +9896,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||||
MARKETING_VERSION = 2.29.3;
|
MARKETING_VERSION = 2.30.1;
|
||||||
OTHER_LDFLAGS = "-liconv";
|
OTHER_LDFLAGS = "-liconv";
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
@@ -10102,8 +10102,8 @@
|
|||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
DEFINES_MODULE = YES;
|
DEFINES_MODULE = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
DYLIB_COMPATIBILITY_VERSION = 2904.0.0;
|
DYLIB_COMPATIBILITY_VERSION = 3001.0.0;
|
||||||
DYLIB_CURRENT_VERSION = 2904.0.0;
|
DYLIB_CURRENT_VERSION = 3001.1.0;
|
||||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
@@ -10154,8 +10154,8 @@
|
|||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
DEFINES_MODULE = YES;
|
DEFINES_MODULE = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
DYLIB_COMPATIBILITY_VERSION = 2904.0.0;
|
DYLIB_COMPATIBILITY_VERSION = 3001.0.0;
|
||||||
DYLIB_CURRENT_VERSION = 2904.0.0;
|
DYLIB_CURRENT_VERSION = 3001.1.0;
|
||||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Title SDL 2.29.3
|
Title SDL 2.30.1
|
||||||
Version 1
|
Version 1
|
||||||
Description SDL Library for Mac OS X (http://www.libsdl.org)
|
Description SDL Library for Mac OS X (http://www.libsdl.org)
|
||||||
DefaultLocation /Library/Frameworks
|
DefaultLocation /Library/Frameworks
|
||||||
|
|||||||
Vendored
+56
-63
@@ -219,8 +219,8 @@ esac
|
|||||||
ofile=libtool
|
ofile=libtool
|
||||||
can_build_shared=yes
|
can_build_shared=yes
|
||||||
|
|
||||||
# All known linkers require a '.a' archive for static linking (except MSVC,
|
# All known linkers require a '.a' archive for static linking (except MSVC and
|
||||||
# which needs '.lib').
|
# ICC, which need '.lib').
|
||||||
libext=a
|
libext=a
|
||||||
|
|
||||||
with_gnu_ld=$lt_cv_prog_gnu_ld
|
with_gnu_ld=$lt_cv_prog_gnu_ld
|
||||||
@@ -1365,7 +1365,7 @@ mips64*-*linux*)
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
|
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
|
||||||
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
|
||||||
# Find out what ABI is being produced by ac_compile, and set linker
|
# Find out what ABI is being produced by ac_compile, and set linker
|
||||||
# options accordingly. Note that the listed cases only cover the
|
# options accordingly. Note that the listed cases only cover the
|
||||||
# situations where additional linker options are needed (such as when
|
# situations where additional linker options are needed (such as when
|
||||||
@@ -1380,7 +1380,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||||||
x86_64-*kfreebsd*-gnu)
|
x86_64-*kfreebsd*-gnu)
|
||||||
LD="${LD-ld} -m elf_i386_fbsd"
|
LD="${LD-ld} -m elf_i386_fbsd"
|
||||||
;;
|
;;
|
||||||
x86_64-*linux*)
|
x86_64-*linux*|x86_64-gnu*)
|
||||||
case `/usr/bin/file conftest.o` in
|
case `/usr/bin/file conftest.o` in
|
||||||
*x86-64*)
|
*x86-64*)
|
||||||
LD="${LD-ld} -m elf32_x86_64"
|
LD="${LD-ld} -m elf32_x86_64"
|
||||||
@@ -1409,7 +1409,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||||||
x86_64-*kfreebsd*-gnu)
|
x86_64-*kfreebsd*-gnu)
|
||||||
LD="${LD-ld} -m elf_x86_64_fbsd"
|
LD="${LD-ld} -m elf_x86_64_fbsd"
|
||||||
;;
|
;;
|
||||||
x86_64-*linux*)
|
x86_64-*linux*|x86_64-gnu*)
|
||||||
LD="${LD-ld} -m elf_x86_64"
|
LD="${LD-ld} -m elf_x86_64"
|
||||||
;;
|
;;
|
||||||
powerpcle-*linux*|powerpc64le-*linux*)
|
powerpcle-*linux*|powerpc64le-*linux*)
|
||||||
@@ -1540,15 +1540,8 @@ old_postinstall_cmds='chmod 644 $oldlib'
|
|||||||
old_postuninstall_cmds=
|
old_postuninstall_cmds=
|
||||||
|
|
||||||
if test -n "$RANLIB"; then
|
if test -n "$RANLIB"; then
|
||||||
case $host_os in
|
|
||||||
bitrig* | openbsd*)
|
|
||||||
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
|
old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
|
||||||
|
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
@@ -1687,7 +1680,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
|||||||
lt_cv_sys_max_cmd_len=-1;
|
lt_cv_sys_max_cmd_len=-1;
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | cegcc*)
|
cygwin* | mingw* | windows* | cegcc*)
|
||||||
# On Win9x/ME, this test blows up -- it succeeds, but takes
|
# On Win9x/ME, this test blows up -- it succeeds, but takes
|
||||||
# about 5 minutes as the teststring grows exponentially.
|
# about 5 minutes as the teststring grows exponentially.
|
||||||
# Worse, since 9x/ME are not pre-emptively multitasking,
|
# Worse, since 9x/ME are not pre-emptively multitasking,
|
||||||
@@ -1930,7 +1923,7 @@ else
|
|||||||
lt_cv_dlopen_self=yes
|
lt_cv_dlopen_self=yes
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mingw* | pw32* | cegcc*)
|
mingw* | windows* | pw32* | cegcc*)
|
||||||
lt_cv_dlopen=LoadLibrary
|
lt_cv_dlopen=LoadLibrary
|
||||||
lt_cv_dlopen_libs=
|
lt_cv_dlopen_libs=
|
||||||
;;
|
;;
|
||||||
@@ -2298,7 +2291,7 @@ if test yes = "$GCC"; then
|
|||||||
*) lt_awk_arg='/^libraries:/' ;;
|
*) lt_awk_arg='/^libraries:/' ;;
|
||||||
esac
|
esac
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
|
mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
|
||||||
*) lt_sed_strip_eq='s|=/|/|g' ;;
|
*) lt_sed_strip_eq='s|=/|/|g' ;;
|
||||||
esac
|
esac
|
||||||
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
|
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
|
||||||
@@ -2356,7 +2349,7 @@ BEGIN {RS = " "; FS = "/|\n";} {
|
|||||||
# AWK program above erroneously prepends '/' to C:/dos/paths
|
# AWK program above erroneously prepends '/' to C:/dos/paths
|
||||||
# for these hosts.
|
# for these hosts.
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
|
mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
|
||||||
$SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
|
$SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
|
||||||
esac
|
esac
|
||||||
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
|
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
|
||||||
@@ -2525,7 +2518,7 @@ bsdi[[45]]*)
|
|||||||
# libtool to hard-code these into programs
|
# libtool to hard-code these into programs
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
version_type=windows
|
version_type=windows
|
||||||
shrext_cmds=.dll
|
shrext_cmds=.dll
|
||||||
need_version=no
|
need_version=no
|
||||||
@@ -2558,7 +2551,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||||||
m4_if([$1], [],[
|
m4_if([$1], [],[
|
||||||
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
|
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
|
||||||
;;
|
;;
|
||||||
mingw* | cegcc*)
|
mingw* | windows* | cegcc*)
|
||||||
# MinGW DLLs use traditional 'lib' prefix
|
# MinGW DLLs use traditional 'lib' prefix
|
||||||
#soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
#soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||||
soname_spec='`echo $libname | $SED -e 's/^lib//'`$shared_ext' # SDL customization
|
soname_spec='`echo $libname | $SED -e 's/^lib//'`$shared_ext' # SDL customization
|
||||||
@@ -2571,14 +2564,14 @@ m4_if([$1], [],[
|
|||||||
dynamic_linker='Win32 ld.exe'
|
dynamic_linker='Win32 ld.exe'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*,cl*)
|
*,cl* | *,icl*)
|
||||||
# Native MSVC
|
# Native MSVC or ICC
|
||||||
libname_spec='$name'
|
libname_spec='$name'
|
||||||
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||||
library_names_spec='$libname.dll.lib'
|
library_names_spec='$libname.dll.lib'
|
||||||
|
|
||||||
case $build_os in
|
case $build_os in
|
||||||
mingw*)
|
mingw* | windows*)
|
||||||
sys_lib_search_path_spec=
|
sys_lib_search_path_spec=
|
||||||
lt_save_ifs=$IFS
|
lt_save_ifs=$IFS
|
||||||
IFS=';'
|
IFS=';'
|
||||||
@@ -2628,7 +2621,7 @@ m4_if([$1], [],[
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
# Assume MSVC wrapper
|
# Assume MSVC and ICC wrapper
|
||||||
library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
|
library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
|
||||||
dynamic_linker='Win32 ld.exe'
|
dynamic_linker='Win32 ld.exe'
|
||||||
;;
|
;;
|
||||||
@@ -3267,7 +3260,7 @@ if test yes = "$GCC"; then
|
|||||||
# Check if gcc -print-prog-name=ld gives a path.
|
# Check if gcc -print-prog-name=ld gives a path.
|
||||||
AC_MSG_CHECKING([for ld used by $CC])
|
AC_MSG_CHECKING([for ld used by $CC])
|
||||||
case $host in
|
case $host in
|
||||||
*-*-mingw*)
|
*-*-mingw* | *-*-windows*)
|
||||||
# gcc leaves a trailing carriage return, which upsets mingw
|
# gcc leaves a trailing carriage return, which upsets mingw
|
||||||
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
||||||
*)
|
*)
|
||||||
@@ -3376,7 +3369,7 @@ case $reload_flag in
|
|||||||
esac
|
esac
|
||||||
reload_cmds='$LD$reload_flag -o $output$reload_objs'
|
reload_cmds='$LD$reload_flag -o $output$reload_objs'
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
if test yes != "$GCC"; then
|
if test yes != "$GCC"; then
|
||||||
reload_cmds=false
|
reload_cmds=false
|
||||||
fi
|
fi
|
||||||
@@ -3476,7 +3469,7 @@ cygwin*)
|
|||||||
lt_cv_deplibs_check_method=pass_all # SDL customization
|
lt_cv_deplibs_check_method=pass_all # SDL customization
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mingw* | pw32*)
|
mingw* | windows* | pw32*)
|
||||||
# Base MSYS/MinGW do not provide the 'file' command needed by
|
# Base MSYS/MinGW do not provide the 'file' command needed by
|
||||||
# func_win32_libid shell function, so use a weaker test based on 'objdump',
|
# func_win32_libid shell function, so use a weaker test based on 'objdump',
|
||||||
# unless we find 'file', for example because we are cross-compiling.
|
# unless we find 'file', for example because we are cross-compiling.
|
||||||
@@ -3641,7 +3634,7 @@ file_magic_glob=
|
|||||||
want_nocaseglob=no
|
want_nocaseglob=no
|
||||||
if test "$build" = "$host"; then
|
if test "$build" = "$host"; then
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw* | pw32*)
|
mingw* | windows* | pw32*)
|
||||||
if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
|
if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
|
||||||
want_nocaseglob=yes
|
want_nocaseglob=yes
|
||||||
else
|
else
|
||||||
@@ -3693,7 +3686,7 @@ else
|
|||||||
# Tru64's nm complains that /dev/null is an invalid object file
|
# Tru64's nm complains that /dev/null is an invalid object file
|
||||||
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
|
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
|
||||||
case $build_os in
|
case $build_os in
|
||||||
mingw*) lt_bad_file=conftest.nm/nofile ;;
|
mingw* | windows*) lt_bad_file=conftest.nm/nofile ;;
|
||||||
*) lt_bad_file=/dev/null ;;
|
*) lt_bad_file=/dev/null ;;
|
||||||
esac
|
esac
|
||||||
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
|
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
|
||||||
@@ -3784,7 +3777,7 @@ lt_cv_sharedlib_from_linklib_cmd,
|
|||||||
[lt_cv_sharedlib_from_linklib_cmd='unknown'
|
[lt_cv_sharedlib_from_linklib_cmd='unknown'
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
# two different shell functions defined in ltmain.sh;
|
# two different shell functions defined in ltmain.sh;
|
||||||
# decide which one to use based on capabilities of $DLLTOOL
|
# decide which one to use based on capabilities of $DLLTOOL
|
||||||
case `$DLLTOOL --help 2>&1` in
|
case `$DLLTOOL --help 2>&1` in
|
||||||
@@ -3929,7 +3922,7 @@ case $host_os in
|
|||||||
aix*)
|
aix*)
|
||||||
symcode='[[BCDT]]'
|
symcode='[[BCDT]]'
|
||||||
;;
|
;;
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
symcode='[[ABCDGISTW]]'
|
symcode='[[ABCDGISTW]]'
|
||||||
;;
|
;;
|
||||||
hpux*)
|
hpux*)
|
||||||
@@ -4008,7 +4001,7 @@ $lt_c_name_lib_hook\
|
|||||||
# Handle CRLF in mingw tool chain
|
# Handle CRLF in mingw tool chain
|
||||||
opt_cr=
|
opt_cr=
|
||||||
case $build_os in
|
case $build_os in
|
||||||
mingw*)
|
mingw* | windows*)
|
||||||
opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
|
opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -4023,7 +4016,7 @@ for ac_symprfx in "" "_"; do
|
|||||||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||||
# Fake it for dumpbin and say T for any non-static function,
|
# Fake it for dumpbin and say T for any non-static function,
|
||||||
# D for any global variable and I for any imported variable.
|
# D for any global variable and I for any imported variable.
|
||||||
# Also find C++ and __fastcall symbols from MSVC++,
|
# Also find C++ and __fastcall symbols from MSVC++ or ICC,
|
||||||
# which start with @ or ?.
|
# which start with @ or ?.
|
||||||
lt_cv_sys_global_symbol_pipe="$AWK ['"\
|
lt_cv_sys_global_symbol_pipe="$AWK ['"\
|
||||||
" {last_section=section; section=\$ 3};"\
|
" {last_section=section; section=\$ 3};"\
|
||||||
@@ -4235,7 +4228,7 @@ m4_if([$1], [CXX], [
|
|||||||
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
|
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
|
||||||
# PIC is the default for these OSes.
|
# PIC is the default for these OSes.
|
||||||
;;
|
;;
|
||||||
mingw* | cygwin* | os2* | pw32* | cegcc*)
|
mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
||||||
@@ -4311,7 +4304,7 @@ m4_if([$1], [CXX], [
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
mingw* | cygwin* | os2* | pw32* | cegcc*)
|
mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
m4_if([$1], [GCJ], [],
|
m4_if([$1], [GCJ], [],
|
||||||
@@ -4559,7 +4552,7 @@ m4_if([$1], [CXX], [
|
|||||||
# PIC is the default for these OSes.
|
# PIC is the default for these OSes.
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mingw* | cygwin* | pw32* | os2* | cegcc*)
|
mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
||||||
@@ -4663,7 +4656,7 @@ m4_if([$1], [CXX], [
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mingw* | cygwin* | pw32* | os2* | cegcc*)
|
mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
m4_if([$1], [GCJ], [],
|
m4_if([$1], [GCJ], [],
|
||||||
@@ -4938,9 +4931,9 @@ m4_if([$1], [CXX], [
|
|||||||
pw32*)
|
pw32*)
|
||||||
_LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
|
_LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
|
||||||
;;
|
;;
|
||||||
cygwin* | mingw* | cegcc*)
|
cygwin* | mingw* | windows* | cegcc*)
|
||||||
case $cc_basename in
|
case $cc_basename in
|
||||||
cl*)
|
cl* | icl*)
|
||||||
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
|
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -4996,16 +4989,16 @@ dnl Note also adjust exclude_expsyms for C++ above.
|
|||||||
extract_expsyms_cmds=
|
extract_expsyms_cmds=
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
# FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
|
||||||
# When not using gcc, we currently assume that we are using
|
# When not using gcc, we currently assume that we are using
|
||||||
# Microsoft Visual C++.
|
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||||
if test yes != "$GCC"; then
|
if test yes != "$GCC"; then
|
||||||
with_gnu_ld=no
|
with_gnu_ld=no
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
interix*)
|
interix*)
|
||||||
# we just hope/assume this is gcc and not c89 (= MSVC++)
|
# we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
|
||||||
with_gnu_ld=yes
|
with_gnu_ld=yes
|
||||||
;;
|
;;
|
||||||
openbsd* | bitrig*)
|
openbsd* | bitrig*)
|
||||||
@@ -5111,7 +5104,7 @@ _LT_EOF
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
|
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
|
||||||
# as there is no search path for DLLs.
|
# as there is no search path for DLLs.
|
||||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
|
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
|
||||||
@@ -5568,14 +5561,14 @@ _LT_EOF
|
|||||||
_LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
|
_LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
# When not using gcc, we currently assume that we are using
|
# When not using gcc, we currently assume that we are using
|
||||||
# Microsoft Visual C++.
|
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||||
# no search path for DLLs.
|
# no search path for DLLs.
|
||||||
case $cc_basename in
|
case $cc_basename in
|
||||||
cl*)
|
cl* | icl*)
|
||||||
# Native MSVC
|
# Native MSVC or ICC
|
||||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||||
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
|
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
|
||||||
_LT_TAGVAR(always_export_symbols, $1)=yes
|
_LT_TAGVAR(always_export_symbols, $1)=yes
|
||||||
@@ -5585,14 +5578,14 @@ _LT_EOF
|
|||||||
# Tell ltmain to make .dll files, not .so files.
|
# Tell ltmain to make .dll files, not .so files.
|
||||||
shrext_cmds=.dll
|
shrext_cmds=.dll
|
||||||
# FIXME: Setting linknames here is a bad hack.
|
# FIXME: Setting linknames here is a bad hack.
|
||||||
_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
|
_LT_TAGVAR(archive_cmds, $1)='$CC -Fe $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
|
||||||
_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
|
_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
|
||||||
cp "$export_symbols" "$output_objdir/$soname.def";
|
cp "$export_symbols" "$output_objdir/$soname.def";
|
||||||
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
|
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
|
||||||
else
|
else
|
||||||
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
|
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
|
||||||
fi~
|
fi~
|
||||||
$CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
|
$CC -Fe $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
|
||||||
linknames='
|
linknames='
|
||||||
# The linker will not automatically build a static lib if we build a DLL.
|
# The linker will not automatically build a static lib if we build a DLL.
|
||||||
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
|
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
|
||||||
@@ -5616,7 +5609,7 @@ _LT_EOF
|
|||||||
fi'
|
fi'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Assume MSVC wrapper
|
# Assume MSVC and ICC wrapper
|
||||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||||
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
|
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
|
||||||
# Tell ltmain to make .lib files, not .a files.
|
# Tell ltmain to make .lib files, not .a files.
|
||||||
@@ -6435,7 +6428,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||||||
# Commands to make compiler produce verbose output that lists
|
# Commands to make compiler produce verbose output that lists
|
||||||
# what "hidden" libraries, object files and flags are used when
|
# what "hidden" libraries, object files and flags are used when
|
||||||
# linking a shared library.
|
# linking a shared library.
|
||||||
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
|
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"'
|
||||||
|
|
||||||
else
|
else
|
||||||
GXX=no
|
GXX=no
|
||||||
@@ -6644,10 +6637,10 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
case $GXX,$cc_basename in
|
case $GXX,$cc_basename in
|
||||||
,cl* | no,cl*)
|
,cl* | no,cl* | ,icl* | no,icl*)
|
||||||
# Native MSVC
|
# Native MSVC or ICC
|
||||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||||
# no search path for DLLs.
|
# no search path for DLLs.
|
||||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||||
@@ -6811,7 +6804,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||||||
# explicitly linking system object files so we need to strip them
|
# explicitly linking system object files so we need to strip them
|
||||||
# from the output so that they don't get included in the library
|
# from the output so that they don't get included in the library
|
||||||
# dependencies.
|
# dependencies.
|
||||||
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
|
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if test yes = "$GXX"; then
|
if test yes = "$GXX"; then
|
||||||
@@ -6876,7 +6869,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||||||
# explicitly linking system object files so we need to strip them
|
# explicitly linking system object files so we need to strip them
|
||||||
# from the output so that they don't get included in the library
|
# from the output so that they don't get included in the library
|
||||||
# dependencies.
|
# dependencies.
|
||||||
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
|
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if test yes = "$GXX"; then
|
if test yes = "$GXX"; then
|
||||||
@@ -7215,7 +7208,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||||||
# Commands to make compiler produce verbose output that lists
|
# Commands to make compiler produce verbose output that lists
|
||||||
# what "hidden" libraries, object files and flags are used when
|
# what "hidden" libraries, object files and flags are used when
|
||||||
# linking a shared library.
|
# linking a shared library.
|
||||||
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
|
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"'
|
||||||
|
|
||||||
else
|
else
|
||||||
# FIXME: insert proper C++ library support
|
# FIXME: insert proper C++ library support
|
||||||
@@ -7299,7 +7292,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||||||
# Commands to make compiler produce verbose output that lists
|
# Commands to make compiler produce verbose output that lists
|
||||||
# what "hidden" libraries, object files and flags are used when
|
# what "hidden" libraries, object files and flags are used when
|
||||||
# linking a shared library.
|
# linking a shared library.
|
||||||
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
|
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"'
|
||||||
else
|
else
|
||||||
# g++ 2.7 appears to require '-G' NOT '-shared' on this
|
# g++ 2.7 appears to require '-G' NOT '-shared' on this
|
||||||
# platform.
|
# platform.
|
||||||
@@ -7310,7 +7303,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||||||
# Commands to make compiler produce verbose output that lists
|
# Commands to make compiler produce verbose output that lists
|
||||||
# what "hidden" libraries, object files and flags are used when
|
# what "hidden" libraries, object files and flags are used when
|
||||||
# linking a shared library.
|
# linking a shared library.
|
||||||
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
|
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
|
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
|
||||||
@@ -8331,7 +8324,7 @@ AC_CACHE_VAL(lt_cv_to_host_file_cmd,
|
|||||||
[case $host in
|
[case $host in
|
||||||
*-*-mingw* )
|
*-*-mingw* )
|
||||||
case $build in
|
case $build in
|
||||||
*-*-mingw* ) # actually msys
|
*-*-mingw* | *-*-windows* ) # actually msys
|
||||||
lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
|
lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
|
||||||
;;
|
;;
|
||||||
*-*-cygwin* )
|
*-*-cygwin* )
|
||||||
@@ -8344,7 +8337,7 @@ AC_CACHE_VAL(lt_cv_to_host_file_cmd,
|
|||||||
;;
|
;;
|
||||||
*-*-cygwin* )
|
*-*-cygwin* )
|
||||||
case $build in
|
case $build in
|
||||||
*-*-mingw* ) # actually msys
|
*-*-mingw* | *-*-windows* ) # actually msys
|
||||||
lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
|
lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
|
||||||
;;
|
;;
|
||||||
*-*-cygwin* )
|
*-*-cygwin* )
|
||||||
@@ -8370,9 +8363,9 @@ AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
|
|||||||
[#assume ordinary cross tools, or native build.
|
[#assume ordinary cross tools, or native build.
|
||||||
lt_cv_to_tool_file_cmd=func_convert_file_noop
|
lt_cv_to_tool_file_cmd=func_convert_file_noop
|
||||||
case $host in
|
case $host in
|
||||||
*-*-mingw* )
|
*-*-mingw* | *-*-windows* )
|
||||||
case $build in
|
case $build in
|
||||||
*-*-mingw* ) # actually msys
|
*-*-mingw* | *-*-windows* ) # actually msys
|
||||||
lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
|
lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
Vendored
+1
-1
@@ -128,7 +128,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
|||||||
[enable_win32_dll=yes
|
[enable_win32_dll=yes
|
||||||
|
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
|
||||||
AC_CHECK_TOOL(AS, as, false)
|
AC_CHECK_TOOL(AS, as, false)
|
||||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ import java.util.Locale;
|
|||||||
public class SDLActivity extends Activity implements View.OnSystemUiVisibilityChangeListener {
|
public class SDLActivity extends Activity implements View.OnSystemUiVisibilityChangeListener {
|
||||||
private static final String TAG = "SDL";
|
private static final String TAG = "SDL";
|
||||||
private static final int SDL_MAJOR_VERSION = 2;
|
private static final int SDL_MAJOR_VERSION = 2;
|
||||||
private static final int SDL_MINOR_VERSION = 29;
|
private static final int SDL_MINOR_VERSION = 30;
|
||||||
private static final int SDL_MICRO_VERSION = 3;
|
private static final int SDL_MICRO_VERSION = 1;
|
||||||
/*
|
/*
|
||||||
// Display InputType.SOURCE/CLASS of events and devices
|
// Display InputType.SOURCE/CLASS of events and devices
|
||||||
//
|
//
|
||||||
|
|||||||
+51
-37
@@ -2418,7 +2418,7 @@ libtool_validate_options ()
|
|||||||
case $host in
|
case $host in
|
||||||
# Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
|
# Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
|
||||||
# see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
|
# see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
|
||||||
*cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
|
*cygwin* | *mingw* | *windows* | *pw32* | *cegcc* | *solaris2* | *os2*)
|
||||||
# don't eliminate duplications in $postdeps and $predeps
|
# don't eliminate duplications in $postdeps and $predeps
|
||||||
opt_duplicate_compiler_generated_deps=:
|
opt_duplicate_compiler_generated_deps=:
|
||||||
;;
|
;;
|
||||||
@@ -2750,7 +2750,7 @@ EOF
|
|||||||
|
|
||||||
# func_convert_core_file_wine_to_w32 ARG
|
# func_convert_core_file_wine_to_w32 ARG
|
||||||
# Helper function used by file name conversion functions when $build is *nix,
|
# Helper function used by file name conversion functions when $build is *nix,
|
||||||
# and $host is mingw, cygwin, or some other w32 environment. Relies on a
|
# and $host is mingw, windows, cygwin, or some other w32 environment. Relies on a
|
||||||
# correctly configured wine environment available, with the winepath program
|
# correctly configured wine environment available, with the winepath program
|
||||||
# in $build's $PATH.
|
# in $build's $PATH.
|
||||||
#
|
#
|
||||||
@@ -2782,9 +2782,10 @@ func_convert_core_file_wine_to_w32 ()
|
|||||||
|
|
||||||
# func_convert_core_path_wine_to_w32 ARG
|
# func_convert_core_path_wine_to_w32 ARG
|
||||||
# Helper function used by path conversion functions when $build is *nix, and
|
# Helper function used by path conversion functions when $build is *nix, and
|
||||||
# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
|
# $host is mingw, windows, cygwin, or some other w32 environment. Relies on a
|
||||||
# configured wine environment available, with the winepath program in $build's
|
# correctly configured wine environment available, with the winepath program
|
||||||
# $PATH. Assumes ARG has no leading or trailing path separator characters.
|
# in $build's $PATH. Assumes ARG has no leading or trailing path separator
|
||||||
|
# characters.
|
||||||
#
|
#
|
||||||
# ARG is path to be converted from $build format to win32.
|
# ARG is path to be converted from $build format to win32.
|
||||||
# Result is available in $func_convert_core_path_wine_to_w32_result.
|
# Result is available in $func_convert_core_path_wine_to_w32_result.
|
||||||
@@ -3439,7 +3440,7 @@ func_mode_compile ()
|
|||||||
|
|
||||||
# On Cygwin there's no "real" PIC flag so we must build both object types
|
# On Cygwin there's no "real" PIC flag so we must build both object types
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | pw32* | os2* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | os2* | cegcc*)
|
||||||
pic_mode=default
|
pic_mode=default
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -4316,7 +4317,7 @@ func_mode_install ()
|
|||||||
'exit $?'
|
'exit $?'
|
||||||
tstripme=$stripme
|
tstripme=$stripme
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
case $realname in
|
case $realname in
|
||||||
*.dll.a)
|
*.dll.a)
|
||||||
tstripme=
|
tstripme=
|
||||||
@@ -4429,7 +4430,7 @@ func_mode_install ()
|
|||||||
|
|
||||||
# Do a test to see if this is really a libtool program.
|
# Do a test to see if this is really a libtool program.
|
||||||
case $host in
|
case $host in
|
||||||
*cygwin* | *mingw*)
|
*cygwin* | *mingw* | *windows*)
|
||||||
if func_ltwrapper_executable_p "$file"; then
|
if func_ltwrapper_executable_p "$file"; then
|
||||||
func_ltwrapper_scriptname "$file"
|
func_ltwrapper_scriptname "$file"
|
||||||
wrapper=$func_ltwrapper_scriptname_result
|
wrapper=$func_ltwrapper_scriptname_result
|
||||||
@@ -4657,7 +4658,7 @@ extern \"C\" {
|
|||||||
$RM $export_symbols
|
$RM $export_symbols
|
||||||
eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
|
eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
|
||||||
case $host in
|
case $host in
|
||||||
*cygwin* | *mingw* | *cegcc* )
|
*cygwin* | *mingw* | *windows* | *cegcc* )
|
||||||
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
|
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
|
||||||
eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
|
eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
|
||||||
;;
|
;;
|
||||||
@@ -4669,7 +4670,7 @@ extern \"C\" {
|
|||||||
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
|
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
|
||||||
eval '$MV "$nlist"T "$nlist"'
|
eval '$MV "$nlist"T "$nlist"'
|
||||||
case $host in
|
case $host in
|
||||||
*cygwin* | *mingw* | *cegcc* )
|
*cygwin* | *mingw* | *windows* | *cegcc* )
|
||||||
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
|
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
|
||||||
eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
|
eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
|
||||||
;;
|
;;
|
||||||
@@ -4683,7 +4684,7 @@ extern \"C\" {
|
|||||||
func_basename "$dlprefile"
|
func_basename "$dlprefile"
|
||||||
name=$func_basename_result
|
name=$func_basename_result
|
||||||
case $host in
|
case $host in
|
||||||
*cygwin* | *mingw* | *cegcc* )
|
*cygwin* | *mingw* | *windows* | *cegcc* )
|
||||||
# if an import library, we need to obtain dlname
|
# if an import library, we need to obtain dlname
|
||||||
if func_win32_import_lib_p "$dlprefile"; then
|
if func_win32_import_lib_p "$dlprefile"; then
|
||||||
func_tr_sh "$dlprefile"
|
func_tr_sh "$dlprefile"
|
||||||
@@ -4858,7 +4859,7 @@ static const void *lt_preloaded_setup() {
|
|||||||
# Transform the symbol file into the correct name.
|
# Transform the symbol file into the correct name.
|
||||||
symfileobj=$output_objdir/${my_outputname}S.$objext
|
symfileobj=$output_objdir/${my_outputname}S.$objext
|
||||||
case $host in
|
case $host in
|
||||||
*cygwin* | *mingw* | *cegcc* )
|
*cygwin* | *mingw* | *windows* | *cegcc* )
|
||||||
if test -f "$output_objdir/$my_outputname.def"; then
|
if test -f "$output_objdir/$my_outputname.def"; then
|
||||||
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
|
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
|
||||||
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
|
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
|
||||||
@@ -5201,7 +5202,7 @@ func_extract_archives ()
|
|||||||
#
|
#
|
||||||
# Emit a libtool wrapper script on stdout.
|
# Emit a libtool wrapper script on stdout.
|
||||||
# Don't directly open a file because we may want to
|
# Don't directly open a file because we may want to
|
||||||
# incorporate the script contents within a cygwin/mingw
|
# incorporate the script contents within a cygwin/mingw/windows
|
||||||
# wrapper executable. Must ONLY be called from within
|
# wrapper executable. Must ONLY be called from within
|
||||||
# func_mode_link because it depends on a number of variables
|
# func_mode_link because it depends on a number of variables
|
||||||
# set therein.
|
# set therein.
|
||||||
@@ -5209,7 +5210,7 @@ func_extract_archives ()
|
|||||||
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
|
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
|
||||||
# variable will take. If 'yes', then the emitted script
|
# variable will take. If 'yes', then the emitted script
|
||||||
# will assume that the directory where it is stored is
|
# will assume that the directory where it is stored is
|
||||||
# the $objdir directory. This is a cygwin/mingw-specific
|
# the $objdir directory. This is a cygwin/mingw/windows-specific
|
||||||
# behavior.
|
# behavior.
|
||||||
func_emit_wrapper ()
|
func_emit_wrapper ()
|
||||||
{
|
{
|
||||||
@@ -5333,7 +5334,7 @@ func_exec_program_core ()
|
|||||||
"
|
"
|
||||||
case $host in
|
case $host in
|
||||||
# Backslashes separate directories on plain windows
|
# Backslashes separate directories on plain windows
|
||||||
*-*-mingw | *-*-os2* | *-cegcc*)
|
*-*-mingw* | *-*-windows* | *-*-os2* | *-cegcc*)
|
||||||
$ECHO "\
|
$ECHO "\
|
||||||
if test -n \"\$lt_option_debug\"; then
|
if test -n \"\$lt_option_debug\"; then
|
||||||
\$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
|
\$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
|
||||||
@@ -5401,7 +5402,7 @@ func_exec_program ()
|
|||||||
file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
|
file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
|
||||||
done
|
done
|
||||||
|
|
||||||
# Usually 'no', except on cygwin/mingw when embedded into
|
# Usually 'no', except on cygwin/mingw/windows when embedded into
|
||||||
# the cwrapper.
|
# the cwrapper.
|
||||||
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
|
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
|
||||||
if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
|
if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
|
||||||
@@ -5558,7 +5559,7 @@ EOF
|
|||||||
/* declarations of non-ANSI functions */
|
/* declarations of non-ANSI functions */
|
||||||
#if defined __MINGW32__
|
#if defined __MINGW32__
|
||||||
# ifdef __STRICT_ANSI__
|
# ifdef __STRICT_ANSI__
|
||||||
int _putenv (const char *);
|
_CRTIMP int __cdecl _putenv (const char *);
|
||||||
# endif
|
# endif
|
||||||
#elif defined __CYGWIN__
|
#elif defined __CYGWIN__
|
||||||
# ifdef __STRICT_ANSI__
|
# ifdef __STRICT_ANSI__
|
||||||
@@ -5756,7 +5757,7 @@ main (int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
EOF
|
EOF
|
||||||
case $host in
|
case $host in
|
||||||
*mingw* | *cygwin* )
|
*mingw* | *windows* | *cygwin* )
|
||||||
# make stdout use "unix" line endings
|
# make stdout use "unix" line endings
|
||||||
echo " setmode(1,_O_BINARY);"
|
echo " setmode(1,_O_BINARY);"
|
||||||
;;
|
;;
|
||||||
@@ -5859,7 +5860,7 @@ EOF
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw*)
|
mingw* | windows*)
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
{
|
{
|
||||||
char* p;
|
char* p;
|
||||||
@@ -5901,7 +5902,7 @@ EOF
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw*)
|
mingw* | windows*)
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
/* execv doesn't actually work on mingw as expected on unix */
|
/* execv doesn't actually work on mingw as expected on unix */
|
||||||
newargz = prepare_spawn (newargz);
|
newargz = prepare_spawn (newargz);
|
||||||
@@ -6320,7 +6321,7 @@ lt_update_lib_path (const char *name, const char *value)
|
|||||||
|
|
||||||
EOF
|
EOF
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw*)
|
mingw* | windows*)
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
|
|
||||||
/* Prepares an argument vector before calling spawn().
|
/* Prepares an argument vector before calling spawn().
|
||||||
@@ -6495,7 +6496,7 @@ func_mode_link ()
|
|||||||
$debug_cmd
|
$debug_cmd
|
||||||
|
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
|
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-cegcc*)
|
||||||
# It is impossible to link a dll without this setting, and
|
# It is impossible to link a dll without this setting, and
|
||||||
# we shouldn't force the makefile maintainer to figure out
|
# we shouldn't force the makefile maintainer to figure out
|
||||||
# what system we are compiling for in order to pass an extra
|
# what system we are compiling for in order to pass an extra
|
||||||
@@ -7003,7 +7004,7 @@ func_mode_link ()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
|
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-cegcc*)
|
||||||
testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
|
testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
|
||||||
case :$dllsearchpath: in
|
case :$dllsearchpath: in
|
||||||
*":$dir:"*) ;;
|
*":$dir:"*) ;;
|
||||||
@@ -7023,7 +7024,7 @@ func_mode_link ()
|
|||||||
-l*)
|
-l*)
|
||||||
if test X-lc = "X$arg" || test X-lm = "X$arg"; then
|
if test X-lc = "X$arg" || test X-lm = "X$arg"; then
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
|
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
|
||||||
# These systems don't actually have a C or math library (as such)
|
# These systems don't actually have a C or math library (as such)
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
@@ -7118,7 +7119,7 @@ func_mode_link ()
|
|||||||
|
|
||||||
-no-install)
|
-no-install)
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
|
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
|
||||||
# The PATH hackery in wrapper scripts is required on Windows
|
# The PATH hackery in wrapper scripts is required on Windows
|
||||||
# and Darwin in order for the loader to find any dlls it needs.
|
# and Darwin in order for the loader to find any dlls it needs.
|
||||||
func_warning "'-no-install' is ignored for $host"
|
func_warning "'-no-install' is ignored for $host"
|
||||||
@@ -7303,13 +7304,26 @@ func_mode_link ()
|
|||||||
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
|
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
|
||||||
# -specs=* GCC specs files
|
# -specs=* GCC specs files
|
||||||
# -stdlib=* select c++ std lib with clang
|
# -stdlib=* select c++ std lib with clang
|
||||||
|
# -fdiagnostics-color* simply affects output
|
||||||
|
# -frecord-gcc-switches used to verify flags were respected
|
||||||
# -fsanitize=* Clang/GCC memory and address sanitizer
|
# -fsanitize=* Clang/GCC memory and address sanitizer
|
||||||
|
# -fno-sanitize* Clang/GCC memory and address sanitizer
|
||||||
|
# -shared-libsan Link with shared sanitizer runtimes (Clang)
|
||||||
|
# -static-libsan Link with static sanitizer runtimes (Clang)
|
||||||
# -fuse-ld=* Linker select flags for GCC
|
# -fuse-ld=* Linker select flags for GCC
|
||||||
|
# -rtlib=* select c runtime lib with clang
|
||||||
|
# --unwindlib=* select unwinder library with clang
|
||||||
|
# -f{file|debug|macro|profile}-prefix-map=* needed for lto linking
|
||||||
# -Wa,* Pass flags directly to the assembler
|
# -Wa,* Pass flags directly to the assembler
|
||||||
|
# -Werror, -Werror=* Report (specified) warnings as errors
|
||||||
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
|
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
|
||||||
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
|
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
|
||||||
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
|
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*| \
|
||||||
-specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
|
-stdlib=*|-rtlib=*|--unwindlib=*| \
|
||||||
|
-specs=*|-fsanitize=*|-fno-sanitize*|-shared-libsan|-static-libsan| \
|
||||||
|
-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*| \
|
||||||
|
-fdiagnostics-color*|-frecord-gcc-switches| \
|
||||||
|
-fuse-ld=*|-Wa,*|-Werror|-Werror=*)
|
||||||
func_quote_for_eval "$arg"
|
func_quote_for_eval "$arg"
|
||||||
arg=$func_quote_for_eval_result
|
arg=$func_quote_for_eval_result
|
||||||
func_append compile_command " $arg"
|
func_append compile_command " $arg"
|
||||||
@@ -8022,7 +8036,7 @@ func_mode_link ()
|
|||||||
fi
|
fi
|
||||||
case $host in
|
case $host in
|
||||||
# special handling for platforms with PE-DLLs.
|
# special handling for platforms with PE-DLLs.
|
||||||
*cygwin* | *mingw* | *cegcc* )
|
*cygwin* | *mingw* | *windows* | *cegcc* )
|
||||||
# Linker will automatically link against shared library if both
|
# Linker will automatically link against shared library if both
|
||||||
# static and shared are present. Therefore, ensure we extract
|
# static and shared are present. Therefore, ensure we extract
|
||||||
# symbols from the import library if a shared library is present
|
# symbols from the import library if a shared library is present
|
||||||
@@ -8166,7 +8180,7 @@ func_mode_link ()
|
|||||||
if test -n "$library_names" &&
|
if test -n "$library_names" &&
|
||||||
{ test no = "$use_static_libs" || test -z "$old_library"; }; then
|
{ test no = "$use_static_libs" || test -z "$old_library"; }; then
|
||||||
case $host in
|
case $host in
|
||||||
*cygwin* | *mingw* | *cegcc* | *os2*)
|
*cygwin* | *mingw* | *windows* | *cegcc* | *os2*)
|
||||||
# No point in relinking DLLs because paths are not encoded
|
# No point in relinking DLLs because paths are not encoded
|
||||||
func_append notinst_deplibs " $lib"
|
func_append notinst_deplibs " $lib"
|
||||||
need_relink=no
|
need_relink=no
|
||||||
@@ -8236,7 +8250,7 @@ func_mode_link ()
|
|||||||
elif test -n "$soname_spec"; then
|
elif test -n "$soname_spec"; then
|
||||||
# bleh windows
|
# bleh windows
|
||||||
case $host in
|
case $host in
|
||||||
*cygwin* | mingw* | *cegcc*) # | *os2* # SDL customization: removed OS/2 versioning support.
|
*cygwin* | mingw* | *windows* | *cegcc*) # | *os2* # SDL customization: removed OS/2 versioning support.
|
||||||
func_arith $current - $age
|
func_arith $current - $age
|
||||||
major=$func_arith_result
|
major=$func_arith_result
|
||||||
versuffix=-$major
|
versuffix=-$major
|
||||||
@@ -8845,7 +8859,7 @@ func_mode_link ()
|
|||||||
age=$number_minor
|
age=$number_minor
|
||||||
revision=$number_revision
|
revision=$number_revision
|
||||||
;;
|
;;
|
||||||
freebsd-aout|qnx|sunos)
|
freebsd-aout|qnx|sco|sunos)
|
||||||
current=$number_major
|
current=$number_major
|
||||||
revision=$number_minor
|
revision=$number_minor
|
||||||
age=0
|
age=0
|
||||||
@@ -9146,7 +9160,7 @@ func_mode_link ()
|
|||||||
if test yes = "$build_libtool_libs"; then
|
if test yes = "$build_libtool_libs"; then
|
||||||
if test -n "$rpath"; then
|
if test -n "$rpath"; then
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
|
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
|
||||||
# these systems don't actually have a c library (as such)!
|
# these systems don't actually have a c library (as such)!
|
||||||
;;
|
;;
|
||||||
*-*-rhapsody* | *-*-darwin1.[012])
|
*-*-rhapsody* | *-*-darwin1.[012])
|
||||||
@@ -9660,7 +9674,7 @@ EOF
|
|||||||
|
|
||||||
orig_export_symbols=
|
orig_export_symbols=
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | cegcc*)
|
cygwin* | mingw* | windows* | cegcc*)
|
||||||
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
|
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
|
||||||
# exporting using user supplied symfile
|
# exporting using user supplied symfile
|
||||||
func_dll_def_p "$export_symbols" || {
|
func_dll_def_p "$export_symbols" || {
|
||||||
@@ -10330,7 +10344,7 @@ EOF
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
|
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-os2* | *-cegcc*)
|
||||||
testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
|
testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
|
||||||
case :$dllsearchpath: in
|
case :$dllsearchpath: in
|
||||||
*":$libdir:"*) ;;
|
*":$libdir:"*) ;;
|
||||||
@@ -10408,7 +10422,7 @@ EOF
|
|||||||
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
|
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
|
||||||
wrappers_required=false
|
wrappers_required=false
|
||||||
;;
|
;;
|
||||||
*cygwin* | *mingw* )
|
*cygwin* | *mingw* | *windows* )
|
||||||
test yes = "$build_libtool_libs" || wrappers_required=false
|
test yes = "$build_libtool_libs" || wrappers_required=false
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -10561,7 +10575,7 @@ EOF
|
|||||||
*) exeext= ;;
|
*) exeext= ;;
|
||||||
esac
|
esac
|
||||||
case $host in
|
case $host in
|
||||||
*cygwin* | *mingw* )
|
*cygwin* | *mingw* | windows* )
|
||||||
func_dirname_and_basename "$output" "" "."
|
func_dirname_and_basename "$output" "" "."
|
||||||
output_name=$func_basename_result
|
output_name=$func_basename_result
|
||||||
output_path=$func_dirname_result
|
output_path=$func_dirname_result
|
||||||
@@ -10893,7 +10907,7 @@ EOF
|
|||||||
# tests/bindir.at for full details.
|
# tests/bindir.at for full details.
|
||||||
tdlname=$dlname
|
tdlname=$dlname
|
||||||
case $host,$output,$installed,$module,$dlname in
|
case $host,$output,$installed,$module,$dlname in
|
||||||
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
|
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *windows*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
|
||||||
# If a -bindir argument was supplied, place the dll there.
|
# If a -bindir argument was supplied, place the dll there.
|
||||||
if test -n "$bindir"; then
|
if test -n "$bindir"; then
|
||||||
func_relative_path "$install_libdir" "$bindir"
|
func_relative_path "$install_libdir" "$bindir"
|
||||||
|
|||||||
@@ -3509,8 +3509,8 @@ orig_CFLAGS="$CFLAGS"
|
|||||||
|
|
||||||
# See docs/release_checklist.md
|
# See docs/release_checklist.md
|
||||||
SDL_MAJOR_VERSION=2
|
SDL_MAJOR_VERSION=2
|
||||||
SDL_MINOR_VERSION=29
|
SDL_MINOR_VERSION=30
|
||||||
SDL_MICRO_VERSION=3
|
SDL_MICRO_VERSION=1
|
||||||
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
|
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
|
||||||
|
|
||||||
SDL_BINARY_AGE=`expr $SDL_MINOR_VERSION \* 100 + $SDL_MICRO_VERSION`
|
SDL_BINARY_AGE=`expr $SDL_MINOR_VERSION \* 100 + $SDL_MICRO_VERSION`
|
||||||
@@ -5035,7 +5035,7 @@ if test yes = "$GCC"; then
|
|||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
|
||||||
printf %s "checking for ld used by $CC... " >&6; }
|
printf %s "checking for ld used by $CC... " >&6; }
|
||||||
case $host in
|
case $host in
|
||||||
*-*-mingw*)
|
*-*-mingw* | *-*-windows*)
|
||||||
# gcc leaves a trailing carriage return, which upsets mingw
|
# gcc leaves a trailing carriage return, which upsets mingw
|
||||||
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
||||||
*)
|
*)
|
||||||
@@ -5162,7 +5162,7 @@ else
|
|||||||
# Tru64's nm complains that /dev/null is an invalid object file
|
# Tru64's nm complains that /dev/null is an invalid object file
|
||||||
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
|
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
|
||||||
case $build_os in
|
case $build_os in
|
||||||
mingw*) lt_bad_file=conftest.nm/nofile ;;
|
mingw* | windows*) lt_bad_file=conftest.nm/nofile ;;
|
||||||
*) lt_bad_file=/dev/null ;;
|
*) lt_bad_file=/dev/null ;;
|
||||||
esac
|
esac
|
||||||
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
|
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
|
||||||
@@ -5391,7 +5391,7 @@ else $as_nop
|
|||||||
lt_cv_sys_max_cmd_len=-1;
|
lt_cv_sys_max_cmd_len=-1;
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | cegcc*)
|
cygwin* | mingw* | windows* | cegcc*)
|
||||||
# On Win9x/ME, this test blows up -- it succeeds, but takes
|
# On Win9x/ME, this test blows up -- it succeeds, but takes
|
||||||
# about 5 minutes as the teststring grows exponentially.
|
# about 5 minutes as the teststring grows exponentially.
|
||||||
# Worse, since 9x/ME are not pre-emptively multitasking,
|
# Worse, since 9x/ME are not pre-emptively multitasking,
|
||||||
@@ -5555,7 +5555,7 @@ else $as_nop
|
|||||||
case $host in
|
case $host in
|
||||||
*-*-mingw* )
|
*-*-mingw* )
|
||||||
case $build in
|
case $build in
|
||||||
*-*-mingw* ) # actually msys
|
*-*-mingw* | *-*-windows* ) # actually msys
|
||||||
lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
|
lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
|
||||||
;;
|
;;
|
||||||
*-*-cygwin* )
|
*-*-cygwin* )
|
||||||
@@ -5568,7 +5568,7 @@ else $as_nop
|
|||||||
;;
|
;;
|
||||||
*-*-cygwin* )
|
*-*-cygwin* )
|
||||||
case $build in
|
case $build in
|
||||||
*-*-mingw* ) # actually msys
|
*-*-mingw* | *-*-windows* ) # actually msys
|
||||||
lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
|
lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
|
||||||
;;
|
;;
|
||||||
*-*-cygwin* )
|
*-*-cygwin* )
|
||||||
@@ -5603,9 +5603,9 @@ else $as_nop
|
|||||||
#assume ordinary cross tools, or native build.
|
#assume ordinary cross tools, or native build.
|
||||||
lt_cv_to_tool_file_cmd=func_convert_file_noop
|
lt_cv_to_tool_file_cmd=func_convert_file_noop
|
||||||
case $host in
|
case $host in
|
||||||
*-*-mingw* )
|
*-*-mingw* | *-*-windows* )
|
||||||
case $build in
|
case $build in
|
||||||
*-*-mingw* ) # actually msys
|
*-*-mingw* | *-*-windows* ) # actually msys
|
||||||
lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
|
lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -5639,7 +5639,7 @@ case $reload_flag in
|
|||||||
esac
|
esac
|
||||||
reload_cmds='$LD$reload_flag -o $output$reload_objs'
|
reload_cmds='$LD$reload_flag -o $output$reload_objs'
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
if test yes != "$GCC"; then
|
if test yes != "$GCC"; then
|
||||||
reload_cmds=false
|
reload_cmds=false
|
||||||
fi
|
fi
|
||||||
@@ -5812,7 +5812,7 @@ cygwin*)
|
|||||||
lt_cv_deplibs_check_method=pass_all # SDL customization
|
lt_cv_deplibs_check_method=pass_all # SDL customization
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mingw* | pw32*)
|
mingw* | windows* | pw32*)
|
||||||
# Base MSYS/MinGW do not provide the 'file' command needed by
|
# Base MSYS/MinGW do not provide the 'file' command needed by
|
||||||
# func_win32_libid shell function, so use a weaker test based on 'objdump',
|
# func_win32_libid shell function, so use a weaker test based on 'objdump',
|
||||||
# unless we find 'file', for example because we are cross-compiling.
|
# unless we find 'file', for example because we are cross-compiling.
|
||||||
@@ -5980,7 +5980,7 @@ file_magic_glob=
|
|||||||
want_nocaseglob=no
|
want_nocaseglob=no
|
||||||
if test "$build" = "$host"; then
|
if test "$build" = "$host"; then
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw* | pw32*)
|
mingw* | windows* | pw32*)
|
||||||
if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
|
if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
|
||||||
want_nocaseglob=yes
|
want_nocaseglob=yes
|
||||||
else
|
else
|
||||||
@@ -6134,7 +6134,7 @@ else $as_nop
|
|||||||
lt_cv_sharedlib_from_linklib_cmd='unknown'
|
lt_cv_sharedlib_from_linklib_cmd='unknown'
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
# two different shell functions defined in ltmain.sh;
|
# two different shell functions defined in ltmain.sh;
|
||||||
# decide which one to use based on capabilities of $DLLTOOL
|
# decide which one to use based on capabilities of $DLLTOOL
|
||||||
case `$DLLTOOL --help 2>&1` in
|
case `$DLLTOOL --help 2>&1` in
|
||||||
@@ -6572,15 +6572,8 @@ old_postinstall_cmds='chmod 644 $oldlib'
|
|||||||
old_postuninstall_cmds=
|
old_postuninstall_cmds=
|
||||||
|
|
||||||
if test -n "$RANLIB"; then
|
if test -n "$RANLIB"; then
|
||||||
case $host_os in
|
|
||||||
bitrig* | openbsd*)
|
|
||||||
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
|
old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
|
||||||
|
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
@@ -6707,7 +6700,7 @@ case $host_os in
|
|||||||
aix*)
|
aix*)
|
||||||
symcode='[BCDT]'
|
symcode='[BCDT]'
|
||||||
;;
|
;;
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
symcode='[ABCDGISTW]'
|
symcode='[ABCDGISTW]'
|
||||||
;;
|
;;
|
||||||
hpux*)
|
hpux*)
|
||||||
@@ -6786,7 +6779,7 @@ $lt_c_name_lib_hook\
|
|||||||
# Handle CRLF in mingw tool chain
|
# Handle CRLF in mingw tool chain
|
||||||
opt_cr=
|
opt_cr=
|
||||||
case $build_os in
|
case $build_os in
|
||||||
mingw*)
|
mingw* | windows*)
|
||||||
opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
|
opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -6801,7 +6794,7 @@ for ac_symprfx in "" "_"; do
|
|||||||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||||
# Fake it for dumpbin and say T for any non-static function,
|
# Fake it for dumpbin and say T for any non-static function,
|
||||||
# D for any global variable and I for any imported variable.
|
# D for any global variable and I for any imported variable.
|
||||||
# Also find C++ and __fastcall symbols from MSVC++,
|
# Also find C++ and __fastcall symbols from MSVC++ or ICC,
|
||||||
# which start with @ or ?.
|
# which start with @ or ?.
|
||||||
lt_cv_sys_global_symbol_pipe="$AWK '"\
|
lt_cv_sys_global_symbol_pipe="$AWK '"\
|
||||||
" {last_section=section; section=\$ 3};"\
|
" {last_section=section; section=\$ 3};"\
|
||||||
@@ -7235,7 +7228,7 @@ mips64*-*linux*)
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
|
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
|
||||||
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
|
||||||
# Find out what ABI is being produced by ac_compile, and set linker
|
# Find out what ABI is being produced by ac_compile, and set linker
|
||||||
# options accordingly. Note that the listed cases only cover the
|
# options accordingly. Note that the listed cases only cover the
|
||||||
# situations where additional linker options are needed (such as when
|
# situations where additional linker options are needed (such as when
|
||||||
@@ -7254,7 +7247,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||||||
x86_64-*kfreebsd*-gnu)
|
x86_64-*kfreebsd*-gnu)
|
||||||
LD="${LD-ld} -m elf_i386_fbsd"
|
LD="${LD-ld} -m elf_i386_fbsd"
|
||||||
;;
|
;;
|
||||||
x86_64-*linux*)
|
x86_64-*linux*|x86_64-gnu*)
|
||||||
case `/usr/bin/file conftest.o` in
|
case `/usr/bin/file conftest.o` in
|
||||||
*x86-64*)
|
*x86-64*)
|
||||||
LD="${LD-ld} -m elf32_x86_64"
|
LD="${LD-ld} -m elf32_x86_64"
|
||||||
@@ -7283,7 +7276,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||||||
x86_64-*kfreebsd*-gnu)
|
x86_64-*kfreebsd*-gnu)
|
||||||
LD="${LD-ld} -m elf_x86_64_fbsd"
|
LD="${LD-ld} -m elf_x86_64_fbsd"
|
||||||
;;
|
;;
|
||||||
x86_64-*linux*)
|
x86_64-*linux*|x86_64-gnu*)
|
||||||
LD="${LD-ld} -m elf_x86_64"
|
LD="${LD-ld} -m elf_x86_64"
|
||||||
;;
|
;;
|
||||||
powerpcle-*linux*|powerpc64le-*linux*)
|
powerpcle-*linux*|powerpc64le-*linux*)
|
||||||
@@ -8279,7 +8272,7 @@ fi
|
|||||||
enable_win32_dll=yes
|
enable_win32_dll=yes
|
||||||
|
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
|
||||||
if test -n "$ac_tool_prefix"; then
|
if test -n "$ac_tool_prefix"; then
|
||||||
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
|
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
|
||||||
set dummy ${ac_tool_prefix}as; ac_word=$2
|
set dummy ${ac_tool_prefix}as; ac_word=$2
|
||||||
@@ -8895,8 +8888,8 @@ esac
|
|||||||
ofile=libtool
|
ofile=libtool
|
||||||
can_build_shared=yes
|
can_build_shared=yes
|
||||||
|
|
||||||
# All known linkers require a '.a' archive for static linking (except MSVC,
|
# All known linkers require a '.a' archive for static linking (except MSVC and
|
||||||
# which needs '.lib').
|
# ICC, which need '.lib').
|
||||||
libext=a
|
libext=a
|
||||||
|
|
||||||
with_gnu_ld=$lt_cv_prog_gnu_ld
|
with_gnu_ld=$lt_cv_prog_gnu_ld
|
||||||
@@ -9220,7 +9213,7 @@ lt_prog_compiler_static=
|
|||||||
# PIC is the default for these OSes.
|
# PIC is the default for these OSes.
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mingw* | cygwin* | pw32* | os2* | cegcc*)
|
mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
||||||
@@ -9323,7 +9316,7 @@ lt_prog_compiler_static=
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mingw* | cygwin* | pw32* | os2* | cegcc*)
|
mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
lt_prog_compiler_pic='-DDLL_EXPORT'
|
lt_prog_compiler_pic='-DDLL_EXPORT'
|
||||||
@@ -9830,16 +9823,16 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
|
|||||||
extract_expsyms_cmds=
|
extract_expsyms_cmds=
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
# FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
|
||||||
# When not using gcc, we currently assume that we are using
|
# When not using gcc, we currently assume that we are using
|
||||||
# Microsoft Visual C++.
|
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||||
if test yes != "$GCC"; then
|
if test yes != "$GCC"; then
|
||||||
with_gnu_ld=no
|
with_gnu_ld=no
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
interix*)
|
interix*)
|
||||||
# we just hope/assume this is gcc and not c89 (= MSVC++)
|
# we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
|
||||||
with_gnu_ld=yes
|
with_gnu_ld=yes
|
||||||
;;
|
;;
|
||||||
openbsd* | bitrig*)
|
openbsd* | bitrig*)
|
||||||
@@ -9945,7 +9938,7 @@ _LT_EOF
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
# _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
|
# _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
|
||||||
# as there is no search path for DLLs.
|
# as there is no search path for DLLs.
|
||||||
hardcode_libdir_flag_spec='-L$libdir'
|
hardcode_libdir_flag_spec='-L$libdir'
|
||||||
@@ -10490,14 +10483,14 @@ fi
|
|||||||
export_dynamic_flag_spec=-rdynamic
|
export_dynamic_flag_spec=-rdynamic
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
# When not using gcc, we currently assume that we are using
|
# When not using gcc, we currently assume that we are using
|
||||||
# Microsoft Visual C++.
|
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||||
# no search path for DLLs.
|
# no search path for DLLs.
|
||||||
case $cc_basename in
|
case $cc_basename in
|
||||||
cl*)
|
cl* | icl*)
|
||||||
# Native MSVC
|
# Native MSVC or ICC
|
||||||
hardcode_libdir_flag_spec=' '
|
hardcode_libdir_flag_spec=' '
|
||||||
allow_undefined_flag=unsupported
|
allow_undefined_flag=unsupported
|
||||||
always_export_symbols=yes
|
always_export_symbols=yes
|
||||||
@@ -10507,14 +10500,14 @@ fi
|
|||||||
# Tell ltmain to make .dll files, not .so files.
|
# Tell ltmain to make .dll files, not .so files.
|
||||||
shrext_cmds=.dll
|
shrext_cmds=.dll
|
||||||
# FIXME: Setting linknames here is a bad hack.
|
# FIXME: Setting linknames here is a bad hack.
|
||||||
archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
|
archive_cmds='$CC -Fe $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
|
||||||
archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
|
archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
|
||||||
cp "$export_symbols" "$output_objdir/$soname.def";
|
cp "$export_symbols" "$output_objdir/$soname.def";
|
||||||
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
|
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
|
||||||
else
|
else
|
||||||
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
|
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
|
||||||
fi~
|
fi~
|
||||||
$CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
|
$CC -Fe $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
|
||||||
linknames='
|
linknames='
|
||||||
# The linker will not automatically build a static lib if we build a DLL.
|
# The linker will not automatically build a static lib if we build a DLL.
|
||||||
# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
|
# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
|
||||||
@@ -10538,7 +10531,7 @@ fi
|
|||||||
fi'
|
fi'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Assume MSVC wrapper
|
# Assume MSVC and ICC wrapper
|
||||||
hardcode_libdir_flag_spec=' '
|
hardcode_libdir_flag_spec=' '
|
||||||
allow_undefined_flag=unsupported
|
allow_undefined_flag=unsupported
|
||||||
# Tell ltmain to make .lib files, not .a files.
|
# Tell ltmain to make .lib files, not .a files.
|
||||||
@@ -11304,7 +11297,7 @@ if test yes = "$GCC"; then
|
|||||||
*) lt_awk_arg='/^libraries:/' ;;
|
*) lt_awk_arg='/^libraries:/' ;;
|
||||||
esac
|
esac
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
|
mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
|
||||||
*) lt_sed_strip_eq='s|=/|/|g' ;;
|
*) lt_sed_strip_eq='s|=/|/|g' ;;
|
||||||
esac
|
esac
|
||||||
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
|
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
|
||||||
@@ -11362,7 +11355,7 @@ BEGIN {RS = " "; FS = "/|\n";} {
|
|||||||
# AWK program above erroneously prepends '/' to C:/dos/paths
|
# AWK program above erroneously prepends '/' to C:/dos/paths
|
||||||
# for these hosts.
|
# for these hosts.
|
||||||
case $host_os in
|
case $host_os in
|
||||||
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
|
mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
|
||||||
$SED 's|/\([A-Za-z]:\)|\1|g'` ;;
|
$SED 's|/\([A-Za-z]:\)|\1|g'` ;;
|
||||||
esac
|
esac
|
||||||
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
|
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
|
||||||
@@ -11530,7 +11523,7 @@ bsdi[45]*)
|
|||||||
# libtool to hard-code these into programs
|
# libtool to hard-code these into programs
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
version_type=windows
|
version_type=windows
|
||||||
shrext_cmds=.dll
|
shrext_cmds=.dll
|
||||||
need_version=no
|
need_version=no
|
||||||
@@ -11563,7 +11556,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||||||
|
|
||||||
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
|
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
|
||||||
;;
|
;;
|
||||||
mingw* | cegcc*)
|
mingw* | windows* | cegcc*)
|
||||||
# MinGW DLLs use traditional 'lib' prefix
|
# MinGW DLLs use traditional 'lib' prefix
|
||||||
#soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
#soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||||
soname_spec='`echo $libname | $SED -e 's/^lib//'`$shared_ext' # SDL customization
|
soname_spec='`echo $libname | $SED -e 's/^lib//'`$shared_ext' # SDL customization
|
||||||
@@ -11576,14 +11569,14 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||||||
dynamic_linker='Win32 ld.exe'
|
dynamic_linker='Win32 ld.exe'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*,cl*)
|
*,cl* | *,icl*)
|
||||||
# Native MSVC
|
# Native MSVC or ICC
|
||||||
libname_spec='$name'
|
libname_spec='$name'
|
||||||
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
||||||
library_names_spec='$libname.dll.lib'
|
library_names_spec='$libname.dll.lib'
|
||||||
|
|
||||||
case $build_os in
|
case $build_os in
|
||||||
mingw*)
|
mingw* | windows*)
|
||||||
sys_lib_search_path_spec=
|
sys_lib_search_path_spec=
|
||||||
lt_save_ifs=$IFS
|
lt_save_ifs=$IFS
|
||||||
IFS=';'
|
IFS=';'
|
||||||
@@ -11633,7 +11626,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
# Assume MSVC wrapper
|
# Assume MSVC and ICC wrapper
|
||||||
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
|
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
|
||||||
dynamic_linker='Win32 ld.exe'
|
dynamic_linker='Win32 ld.exe'
|
||||||
;;
|
;;
|
||||||
@@ -12303,7 +12296,7 @@ else
|
|||||||
lt_cv_dlopen_self=yes
|
lt_cv_dlopen_self=yes
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mingw* | pw32* | cegcc*)
|
mingw* | windows* | pw32* | cegcc*)
|
||||||
lt_cv_dlopen=LoadLibrary
|
lt_cv_dlopen=LoadLibrary
|
||||||
lt_cv_dlopen_libs=
|
lt_cv_dlopen_libs=
|
||||||
;;
|
;;
|
||||||
@@ -14579,7 +14572,7 @@ if test yes = "$GCC"; then
|
|||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
|
||||||
printf %s "checking for ld used by $CC... " >&6; }
|
printf %s "checking for ld used by $CC... " >&6; }
|
||||||
case $host in
|
case $host in
|
||||||
*-*-mingw*)
|
*-*-mingw* | *-*-windows*)
|
||||||
# gcc leaves a trailing carriage return, which upsets mingw
|
# gcc leaves a trailing carriage return, which upsets mingw
|
||||||
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
||||||
*)
|
*)
|
||||||
@@ -14713,7 +14706,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
|
|||||||
# Commands to make compiler produce verbose output that lists
|
# Commands to make compiler produce verbose output that lists
|
||||||
# what "hidden" libraries, object files and flags are used when
|
# what "hidden" libraries, object files and flags are used when
|
||||||
# linking a shared library.
|
# linking a shared library.
|
||||||
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
|
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"'
|
||||||
|
|
||||||
else
|
else
|
||||||
GXX=no
|
GXX=no
|
||||||
@@ -15011,10 +15004,10 @@ fi
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
case $GXX,$cc_basename in
|
case $GXX,$cc_basename in
|
||||||
,cl* | no,cl*)
|
,cl* | no,cl* | ,icl* | no,icl*)
|
||||||
# Native MSVC
|
# Native MSVC or ICC
|
||||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||||
# no search path for DLLs.
|
# no search path for DLLs.
|
||||||
hardcode_libdir_flag_spec_CXX=' '
|
hardcode_libdir_flag_spec_CXX=' '
|
||||||
@@ -15210,7 +15203,7 @@ fi
|
|||||||
# explicitly linking system object files so we need to strip them
|
# explicitly linking system object files so we need to strip them
|
||||||
# from the output so that they don't get included in the library
|
# from the output so that they don't get included in the library
|
||||||
# dependencies.
|
# dependencies.
|
||||||
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
|
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "[-]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if test yes = "$GXX"; then
|
if test yes = "$GXX"; then
|
||||||
@@ -15275,7 +15268,7 @@ fi
|
|||||||
# explicitly linking system object files so we need to strip them
|
# explicitly linking system object files so we need to strip them
|
||||||
# from the output so that they don't get included in the library
|
# from the output so that they don't get included in the library
|
||||||
# dependencies.
|
# dependencies.
|
||||||
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
|
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "[-]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if test yes = "$GXX"; then
|
if test yes = "$GXX"; then
|
||||||
@@ -15614,7 +15607,7 @@ fi
|
|||||||
# Commands to make compiler produce verbose output that lists
|
# Commands to make compiler produce verbose output that lists
|
||||||
# what "hidden" libraries, object files and flags are used when
|
# what "hidden" libraries, object files and flags are used when
|
||||||
# linking a shared library.
|
# linking a shared library.
|
||||||
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
|
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"'
|
||||||
|
|
||||||
else
|
else
|
||||||
# FIXME: insert proper C++ library support
|
# FIXME: insert proper C++ library support
|
||||||
@@ -15698,7 +15691,7 @@ fi
|
|||||||
# Commands to make compiler produce verbose output that lists
|
# Commands to make compiler produce verbose output that lists
|
||||||
# what "hidden" libraries, object files and flags are used when
|
# what "hidden" libraries, object files and flags are used when
|
||||||
# linking a shared library.
|
# linking a shared library.
|
||||||
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
|
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"'
|
||||||
else
|
else
|
||||||
# g++ 2.7 appears to require '-G' NOT '-shared' on this
|
# g++ 2.7 appears to require '-G' NOT '-shared' on this
|
||||||
# platform.
|
# platform.
|
||||||
@@ -15709,7 +15702,7 @@ fi
|
|||||||
# Commands to make compiler produce verbose output that lists
|
# Commands to make compiler produce verbose output that lists
|
||||||
# what "hidden" libraries, object files and flags are used when
|
# what "hidden" libraries, object files and flags are used when
|
||||||
# linking a shared library.
|
# linking a shared library.
|
||||||
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
|
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[-]L"'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
|
hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
|
||||||
@@ -16023,7 +16016,7 @@ lt_prog_compiler_static_CXX=
|
|||||||
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
|
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
|
||||||
# PIC is the default for these OSes.
|
# PIC is the default for these OSes.
|
||||||
;;
|
;;
|
||||||
mingw* | cygwin* | os2* | pw32* | cegcc*)
|
mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
# Although the cygwin gcc ignores -fPIC, still need this for old-style
|
||||||
@@ -16098,7 +16091,7 @@ lt_prog_compiler_static_CXX=
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
mingw* | cygwin* | os2* | pw32* | cegcc*)
|
mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
|
||||||
# This hack is so that the source file can tell whether it is being
|
# This hack is so that the source file can tell whether it is being
|
||||||
# built for inclusion in a dll (and should export symbols for example).
|
# built for inclusion in a dll (and should export symbols for example).
|
||||||
lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
|
lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
|
||||||
@@ -16592,9 +16585,9 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
|
|||||||
pw32*)
|
pw32*)
|
||||||
export_symbols_cmds_CXX=$ltdll_cmds
|
export_symbols_cmds_CXX=$ltdll_cmds
|
||||||
;;
|
;;
|
||||||
cygwin* | mingw* | cegcc*)
|
cygwin* | mingw* | windows* | cegcc*)
|
||||||
case $cc_basename in
|
case $cc_basename in
|
||||||
cl*)
|
cl* | icl*)
|
||||||
exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
|
exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -16914,7 +16907,7 @@ bsdi[45]*)
|
|||||||
# libtool to hard-code these into programs
|
# libtool to hard-code these into programs
|
||||||
;;
|
;;
|
||||||
|
|
||||||
cygwin* | mingw* | pw32* | cegcc*)
|
cygwin* | mingw* | windows* | pw32* | cegcc*)
|
||||||
version_type=windows
|
version_type=windows
|
||||||
shrext_cmds=.dll
|
shrext_cmds=.dll
|
||||||
need_version=no
|
need_version=no
|
||||||
@@ -16946,7 +16939,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||||||
soname_spec='`echo $libname | sed -e 's/^lib//'`$shared_ext' # SDL customization
|
soname_spec='`echo $libname | sed -e 's/^lib//'`$shared_ext' # SDL customization
|
||||||
|
|
||||||
;;
|
;;
|
||||||
mingw* | cegcc*)
|
mingw* | windows* | cegcc*)
|
||||||
# MinGW DLLs use traditional 'lib' prefix
|
# MinGW DLLs use traditional 'lib' prefix
|
||||||
#soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
#soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||||
soname_spec='`echo $libname | $SED -e 's/^lib//'`$shared_ext' # SDL customization
|
soname_spec='`echo $libname | $SED -e 's/^lib//'`$shared_ext' # SDL customization
|
||||||
@@ -16959,14 +16952,14 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||||||
dynamic_linker='Win32 ld.exe'
|
dynamic_linker='Win32 ld.exe'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*,cl*)
|
*,cl* | *,icl*)
|
||||||
# Native MSVC
|
# Native MSVC or ICC
|
||||||
libname_spec='$name'
|
libname_spec='$name'
|
||||||
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
||||||
library_names_spec='$libname.dll.lib'
|
library_names_spec='$libname.dll.lib'
|
||||||
|
|
||||||
case $build_os in
|
case $build_os in
|
||||||
mingw*)
|
mingw* | windows*)
|
||||||
sys_lib_search_path_spec=
|
sys_lib_search_path_spec=
|
||||||
lt_save_ifs=$IFS
|
lt_save_ifs=$IFS
|
||||||
IFS=';'
|
IFS=';'
|
||||||
@@ -17016,7 +17009,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
# Assume MSVC wrapper
|
# Assume MSVC and ICC wrapper
|
||||||
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
|
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
|
||||||
dynamic_linker='Win32 ld.exe'
|
dynamic_linker='Win32 ld.exe'
|
||||||
;;
|
;;
|
||||||
|
|||||||
+2
-2
@@ -12,8 +12,8 @@ orig_CFLAGS="$CFLAGS"
|
|||||||
dnl Set various version strings - taken gratefully from the GTk sources
|
dnl Set various version strings - taken gratefully from the GTk sources
|
||||||
# See docs/release_checklist.md
|
# See docs/release_checklist.md
|
||||||
SDL_MAJOR_VERSION=2
|
SDL_MAJOR_VERSION=2
|
||||||
SDL_MINOR_VERSION=29
|
SDL_MINOR_VERSION=30
|
||||||
SDL_MICRO_VERSION=3
|
SDL_MICRO_VERSION=1
|
||||||
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
|
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
|
||||||
|
|
||||||
SDL_BINARY_AGE=`expr $SDL_MINOR_VERSION \* 100 + $SDL_MICRO_VERSION`
|
SDL_BINARY_AGE=`expr $SDL_MINOR_VERSION \* 100 + $SDL_MICRO_VERSION`
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ typedef struct SDL_version
|
|||||||
/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
|
/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
|
||||||
*/
|
*/
|
||||||
#define SDL_MAJOR_VERSION 2
|
#define SDL_MAJOR_VERSION 2
|
||||||
#define SDL_MINOR_VERSION 29
|
#define SDL_MINOR_VERSION 30
|
||||||
#define SDL_PATCHLEVEL 3
|
#define SDL_PATCHLEVEL 1
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Macro to determine SDL version program was compiled against.
|
* Macro to determine SDL version program was compiled against.
|
||||||
|
|||||||
@@ -125,6 +125,86 @@
|
|||||||
#define SDL_HAVE_YUV !SDL_LEAN_AND_MEAN
|
#define SDL_HAVE_YUV !SDL_LEAN_AND_MEAN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef SDL_RENDER_DISABLED
|
||||||
|
/* define the not defined ones as 0 */
|
||||||
|
#ifndef SDL_VIDEO_RENDER_D3D
|
||||||
|
#define SDL_VIDEO_RENDER_D3D 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_D3D11
|
||||||
|
#define SDL_VIDEO_RENDER_D3D11 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_D3D12
|
||||||
|
#define SDL_VIDEO_RENDER_D3D12 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_METAL
|
||||||
|
#define SDL_VIDEO_RENDER_METAL 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_OGL
|
||||||
|
#define SDL_VIDEO_RENDER_OGL 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_OGL_ES
|
||||||
|
#define SDL_VIDEO_RENDER_OGL_ES 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_OGL_ES2
|
||||||
|
#define SDL_VIDEO_RENDER_OGL_ES2 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_DIRECTFB
|
||||||
|
#define SDL_VIDEO_RENDER_DIRECTFB 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_PS2
|
||||||
|
#define SDL_VIDEO_RENDER_PS2 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_PSP
|
||||||
|
#define SDL_VIDEO_RENDER_PSP 0
|
||||||
|
#endif
|
||||||
|
#ifndef SDL_VIDEO_RENDER_VITA_GXM
|
||||||
|
#define SDL_VIDEO_RENDER_VITA_GXM 0
|
||||||
|
#endif
|
||||||
|
#else /* define all as 0 */
|
||||||
|
#undef SDL_VIDEO_RENDER_SW
|
||||||
|
#define SDL_VIDEO_RENDER_SW 0
|
||||||
|
#undef SDL_VIDEO_RENDER_D3D
|
||||||
|
#define SDL_VIDEO_RENDER_D3D 0
|
||||||
|
#undef SDL_VIDEO_RENDER_D3D11
|
||||||
|
#define SDL_VIDEO_RENDER_D3D11 0
|
||||||
|
#undef SDL_VIDEO_RENDER_D3D12
|
||||||
|
#define SDL_VIDEO_RENDER_D3D12 0
|
||||||
|
#undef SDL_VIDEO_RENDER_METAL
|
||||||
|
#define SDL_VIDEO_RENDER_METAL 0
|
||||||
|
#undef SDL_VIDEO_RENDER_OGL
|
||||||
|
#define SDL_VIDEO_RENDER_OGL 0
|
||||||
|
#undef SDL_VIDEO_RENDER_OGL_ES
|
||||||
|
#define SDL_VIDEO_RENDER_OGL_ES 0
|
||||||
|
#undef SDL_VIDEO_RENDER_OGL_ES2
|
||||||
|
#define SDL_VIDEO_RENDER_OGL_ES2 0
|
||||||
|
#undef SDL_VIDEO_RENDER_DIRECTFB
|
||||||
|
#define SDL_VIDEO_RENDER_DIRECTFB 0
|
||||||
|
#undef SDL_VIDEO_RENDER_PS2
|
||||||
|
#define SDL_VIDEO_RENDER_PS2 0
|
||||||
|
#undef SDL_VIDEO_RENDER_PSP
|
||||||
|
#define SDL_VIDEO_RENDER_PSP 0
|
||||||
|
#undef SDL_VIDEO_RENDER_VITA_GXM
|
||||||
|
#define SDL_VIDEO_RENDER_VITA_GXM 0
|
||||||
|
#endif /* SDL_RENDER_DISABLED */
|
||||||
|
|
||||||
|
#define SDL_HAS_RENDER_DRIVER \
|
||||||
|
(SDL_VIDEO_RENDER_SW | \
|
||||||
|
SDL_VIDEO_RENDER_D3D | \
|
||||||
|
SDL_VIDEO_RENDER_D3D11 | \
|
||||||
|
SDL_VIDEO_RENDER_D3D12 | \
|
||||||
|
SDL_VIDEO_RENDER_METAL | \
|
||||||
|
SDL_VIDEO_RENDER_OGL | \
|
||||||
|
SDL_VIDEO_RENDER_OGL_ES | \
|
||||||
|
SDL_VIDEO_RENDER_OGL_ES2 | \
|
||||||
|
SDL_VIDEO_RENDER_DIRECTFB | \
|
||||||
|
SDL_VIDEO_RENDER_PS2 | \
|
||||||
|
SDL_VIDEO_RENDER_PSP | \
|
||||||
|
SDL_VIDEO_RENDER_VITA_GXM)
|
||||||
|
|
||||||
|
#if !defined(SDL_RENDER_DISABLED) && !SDL_HAS_RENDER_DRIVER
|
||||||
|
#error SDL_RENDER enabled without any backend drivers.
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "SDL_assert.h"
|
#include "SDL_assert.h"
|
||||||
#include "SDL_log.h"
|
#include "SDL_log.h"
|
||||||
|
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ static void SDLCALL SDL_Convert_U8_to_F32_Scalar(SDL_AudioCVT *cvt, SDL_AudioFor
|
|||||||
|
|
||||||
static void SDLCALL SDL_Convert_S16_to_F32_Scalar(SDL_AudioCVT *cvt, SDL_AudioFormat format)
|
static void SDLCALL SDL_Convert_S16_to_F32_Scalar(SDL_AudioCVT *cvt, SDL_AudioFormat format)
|
||||||
{
|
{
|
||||||
const int num_samples = cvt->len_cvt;
|
const int num_samples = cvt->len_cvt / sizeof(Sint16);
|
||||||
const Sint16 *src = (const Sint16 *)cvt->buf;
|
const Sint16 *src = (const Sint16 *)cvt->buf;
|
||||||
float *dst = (float *)cvt->buf;
|
float *dst = (float *)cvt->buf;
|
||||||
int i;
|
int i;
|
||||||
@@ -350,7 +350,7 @@ static void SDLCALL SDL_Convert_S8_to_F32_SSE2(SDL_AudioCVT *cvt, SDL_AudioForma
|
|||||||
i -= 16;
|
i -= 16;
|
||||||
|
|
||||||
{
|
{
|
||||||
const __m128i bytes = _mm_xor_si128(_mm_loadu_si128((const __m128i *)&src[i-16]), flipper);
|
const __m128i bytes = _mm_xor_si128(_mm_loadu_si128((const __m128i *)&src[i]), flipper);
|
||||||
|
|
||||||
const __m128i shorts1 = _mm_unpacklo_epi8(bytes, zero);
|
const __m128i shorts1 = _mm_unpacklo_epi8(bytes, zero);
|
||||||
const __m128i shorts2 = _mm_unpackhi_epi8(bytes, zero);
|
const __m128i shorts2 = _mm_unpackhi_epi8(bytes, zero);
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#undef WINVER
|
#undef WINVER
|
||||||
#undef _WIN32_WINNT
|
#undef _WIN32_WINNT
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D12)
|
#if SDL_VIDEO_RENDER_D3D12
|
||||||
#define _WIN32_WINNT 0xA00 /* For D3D12, 0xA00 is required */
|
#define _WIN32_WINNT 0xA00 /* For D3D12, 0xA00 is required */
|
||||||
#elif defined(HAVE_SHELLSCALINGAPI_H)
|
#elif defined(HAVE_SHELLSCALINGAPI_H)
|
||||||
#define _WIN32_WINNT 0x603 /* For DPI support */
|
#define _WIN32_WINNT 0x603 /* For DPI support */
|
||||||
@@ -92,16 +92,6 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <basetyps.h> /* for REFIID with broken mingw.org headers */
|
#include <basetyps.h> /* for REFIID with broken mingw.org headers */
|
||||||
|
|
||||||
/* Older Visual C++ headers don't have the Win64-compatible typedefs... */
|
|
||||||
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
|
||||||
#ifndef DWORD_PTR
|
|
||||||
#define DWORD_PTR DWORD
|
|
||||||
#endif
|
|
||||||
#ifndef LONG_PTR
|
|
||||||
#define LONG_PTR LONG
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "SDL_rect.h"
|
#include "SDL_rect.h"
|
||||||
|
|
||||||
/* Routines to convert from UTF8 to native Windows text */
|
/* Routines to convert from UTF8 to native Windows text */
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ typedef struct
|
|||||||
#endif /* HAVE_XINPUT_H */
|
#endif /* HAVE_XINPUT_H */
|
||||||
|
|
||||||
/* This struct is not defined in XInput headers. */
|
/* This struct is not defined in XInput headers. */
|
||||||
typedef struct _XINPUT_CAPABILITIES_EX
|
typedef struct
|
||||||
{
|
{
|
||||||
XINPUT_CAPABILITIES Capabilities;
|
XINPUT_CAPABILITIES Capabilities;
|
||||||
WORD VendorId;
|
WORD VendorId;
|
||||||
@@ -220,7 +220,7 @@ typedef struct _XINPUT_CAPABILITIES_EX
|
|||||||
WORD ProductVersion;
|
WORD ProductVersion;
|
||||||
WORD unk1;
|
WORD unk1;
|
||||||
DWORD unk2;
|
DWORD unk2;
|
||||||
} XINPUT_CAPABILITIES_EX, *PXINPUT_CAPABILITIES_EX;
|
} SDL_XINPUT_CAPABILITIES_EX;
|
||||||
|
|
||||||
/* Forward decl's for XInput API's we load dynamically and use if available */
|
/* Forward decl's for XInput API's we load dynamically and use if available */
|
||||||
typedef DWORD(WINAPI *XInputGetState_t)(
|
typedef DWORD(WINAPI *XInputGetState_t)(
|
||||||
@@ -244,7 +244,7 @@ typedef DWORD(WINAPI *XInputGetCapabilitiesEx_t)(
|
|||||||
DWORD dwReserved, /* [in] Must be 1 */
|
DWORD dwReserved, /* [in] Must be 1 */
|
||||||
DWORD dwUserIndex, /* [in] Index of the gamer associated with the device */
|
DWORD dwUserIndex, /* [in] Index of the gamer associated with the device */
|
||||||
DWORD dwFlags, /* [in] Input flags that identify the device type */
|
DWORD dwFlags, /* [in] Input flags that identify the device type */
|
||||||
XINPUT_CAPABILITIES_EX *pCapabilitiesEx /* [out] Receives the capabilities */
|
SDL_XINPUT_CAPABILITIES_EX *pCapabilitiesEx /* [out] Receives the capabilities */
|
||||||
);
|
);
|
||||||
|
|
||||||
typedef DWORD(WINAPI *XInputGetBatteryInformation_t)(
|
typedef DWORD(WINAPI *XInputGetBatteryInformation_t)(
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ extern "C" {
|
|||||||
#include "SDL_winrtapp_common.h"
|
#include "SDL_winrtapp_common.h"
|
||||||
#include "SDL_winrtapp_direct3d.h"
|
#include "SDL_winrtapp_direct3d.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D11) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D11
|
||||||
/* Calling IDXGIDevice3::Trim on the active Direct3D 11.x device is necessary
|
/* Calling IDXGIDevice3::Trim on the active Direct3D 11.x device is necessary
|
||||||
* when Windows 8.1 apps are about to get suspended.
|
* when Windows 8.1 apps are about to get suspended.
|
||||||
*/
|
*/
|
||||||
@@ -622,7 +622,7 @@ void SDL_WinRTApp::OnSuspending(Platform::Object ^ sender, SuspendingEventArgs ^
|
|||||||
// Let the Direct3D 11 renderer prepare for the app to be backgrounded.
|
// Let the Direct3D 11 renderer prepare for the app to be backgrounded.
|
||||||
// This is necessary for Windows 8.1, possibly elsewhere in the future.
|
// This is necessary for Windows 8.1, possibly elsewhere in the future.
|
||||||
// More details at: http://msdn.microsoft.com/en-us/library/windows/apps/Hh994929.aspx
|
// More details at: http://msdn.microsoft.com/en-us/library/windows/apps/Hh994929.aspx
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D11) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D11
|
||||||
if (WINRT_GlobalSDLWindow) {
|
if (WINRT_GlobalSDLWindow) {
|
||||||
SDL_Renderer *renderer = SDL_GetRenderer(WINRT_GlobalSDLWindow);
|
SDL_Renderer *renderer = SDL_GetRenderer(WINRT_GlobalSDLWindow);
|
||||||
if (renderer && (SDL_strcmp(renderer->info.name, "direct3d11") == 0)) {
|
if (renderer && (SDL_strcmp(renderer->info.name, "direct3d11") == 0)) {
|
||||||
|
|||||||
@@ -3259,10 +3259,11 @@ const char *SDL_GameControllerGetAppleSFSymbolsNameForButton(SDL_GameController
|
|||||||
}
|
}
|
||||||
SDL_UnlockJoysticks();
|
SDL_UnlockJoysticks();
|
||||||
|
|
||||||
return retval;
|
if (retval && *retval) {
|
||||||
#else
|
return retval;
|
||||||
return NULL;
|
}
|
||||||
#endif
|
#endif
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *SDL_GameControllerGetAppleSFSymbolsNameForAxis(SDL_GameController *gamecontroller, SDL_GameControllerAxis axis)
|
const char *SDL_GameControllerGetAppleSFSymbolsNameForAxis(SDL_GameController *gamecontroller, SDL_GameControllerAxis axis)
|
||||||
@@ -3279,10 +3280,11 @@ const char *SDL_GameControllerGetAppleSFSymbolsNameForAxis(SDL_GameController *g
|
|||||||
}
|
}
|
||||||
SDL_UnlockJoysticks();
|
SDL_UnlockJoysticks();
|
||||||
|
|
||||||
return retval;
|
if (retval && *retval) {
|
||||||
#else
|
return retval;
|
||||||
return NULL;
|
}
|
||||||
#endif
|
#endif
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -317,6 +317,7 @@ static const char *s_ControllerMappings[] = {
|
|||||||
"03000000a30600002106000000000000,Saitek PS1000,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,",
|
"03000000a30600002106000000000000,Saitek PS1000,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,",
|
||||||
"03000000a306000020f6000000000000,Saitek PS2700,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,",
|
"03000000a306000020f6000000000000,Saitek PS2700,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,",
|
||||||
"03000000300f00001101000000000000,Saitek Rumble Pad,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,",
|
"03000000300f00001101000000000000,Saitek Rumble Pad,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,",
|
||||||
|
"03000000790000000600000000000000,Sanwa Supply JY-P76USV,crc:20f0,+leftx:+a0,+rightx:+a2,+righty:a4,-leftx:-a0,-lefty:-a1,-rightx:-a2,-righty:-a4,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,lefty:+a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b2,y:b3,",
|
||||||
"0300000000050000289b000000000000,Saturn_Adapter_2.0,a:b1,b:b2,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,",
|
"0300000000050000289b000000000000,Saturn_Adapter_2.0,a:b1,b:b2,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,",
|
||||||
"030000009b2800000500000000000000,Saturn_Adapter_2.0,a:b1,b:b2,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,",
|
"030000009b2800000500000000000000,Saturn_Adapter_2.0,a:b1,b:b2,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,",
|
||||||
"030000008f0e00000800000000000000,SpeedLink Strike FX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,",
|
"030000008f0e00000800000000000000,SpeedLink Strike FX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,",
|
||||||
|
|||||||
@@ -381,6 +381,7 @@ static Uint32 initial_wheel_devices[] = {
|
|||||||
MAKE_VIDPID(0x0eb7, 0x038e), /* Fanatec ClubSport Wheel Base V1 */
|
MAKE_VIDPID(0x0eb7, 0x038e), /* Fanatec ClubSport Wheel Base V1 */
|
||||||
MAKE_VIDPID(0x0eb7, 0x0e03), /* Fanatec CSL Elite Wheel Base */
|
MAKE_VIDPID(0x0eb7, 0x0e03), /* Fanatec CSL Elite Wheel Base */
|
||||||
MAKE_VIDPID(0x11ff, 0x0511), /* DragonRise Inc. Wired Wheel (initial mode) (also known as PXN V900 (PS3), Superdrive SV-750, or a Genesis Seaborg 400) */
|
MAKE_VIDPID(0x11ff, 0x0511), /* DragonRise Inc. Wired Wheel (initial mode) (also known as PXN V900 (PS3), Superdrive SV-750, or a Genesis Seaborg 400) */
|
||||||
|
MAKE_VIDPID(0x1209, 0xffb0), /* Generic FFBoard OpenFFBoard universal forcefeedback wheel */
|
||||||
MAKE_VIDPID(0x2433, 0xf300), /* Asetek SimSports Invicta Wheelbase */
|
MAKE_VIDPID(0x2433, 0xf300), /* Asetek SimSports Invicta Wheelbase */
|
||||||
MAKE_VIDPID(0x2433, 0xf301), /* Asetek SimSports Forte Wheelbase */
|
MAKE_VIDPID(0x2433, 0xf301), /* Asetek SimSports Forte Wheelbase */
|
||||||
MAKE_VIDPID(0x2433, 0xf303), /* Asetek SimSports La Prima Wheelbase */
|
MAKE_VIDPID(0x2433, 0xf303), /* Asetek SimSports La Prima Wheelbase */
|
||||||
|
|||||||
@@ -221,6 +221,7 @@ SDL_bool SDL_UpdateSteamVirtualGamepadInfo(void)
|
|||||||
if (slot >= 0) {
|
if (slot >= 0) {
|
||||||
AddVirtualGamepadInfo(slot, &info);
|
AddVirtualGamepadInfo(slot, &info);
|
||||||
}
|
}
|
||||||
|
SDL_free(info.name);
|
||||||
SDL_free(data);
|
SDL_free(data);
|
||||||
|
|
||||||
SDL_steam_virtual_gamepad_info_file_mtime = mtime;
|
SDL_steam_virtual_gamepad_info_file_mtime = mtime;
|
||||||
|
|||||||
@@ -247,6 +247,7 @@ static void CheckControllerSiriRemote(GCController *controller, int *is_siri_rem
|
|||||||
*is_siri_remote = 0;
|
*is_siri_remote = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ENABLE_PHYSICAL_INPUT_PROFILE
|
||||||
static BOOL ElementAlreadyHandled(SDL_JoystickDeviceItem *device, NSString *element, NSDictionary<NSString *, GCControllerElement *> *elements)
|
static BOOL ElementAlreadyHandled(SDL_JoystickDeviceItem *device, NSString *element, NSDictionary<NSString *, GCControllerElement *> *elements)
|
||||||
{
|
{
|
||||||
if ([element isEqualToString:@"Left Thumbstick Left"] ||
|
if ([element isEqualToString:@"Left Thumbstick Left"] ||
|
||||||
@@ -345,6 +346,7 @@ static BOOL ElementAlreadyHandled(SDL_JoystickDeviceItem *device, NSString *elem
|
|||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
#endif /* ENABLE_PHYSICAL_INPUT_PROFILE */
|
||||||
|
|
||||||
static BOOL IOS_AddMFIJoystickDevice(SDL_JoystickDeviceItem *device, GCController *controller)
|
static BOOL IOS_AddMFIJoystickDevice(SDL_JoystickDeviceItem *device, GCController *controller)
|
||||||
{
|
{
|
||||||
@@ -378,6 +380,7 @@ static BOOL IOS_AddMFIJoystickDevice(SDL_JoystickDeviceItem *device, GCControlle
|
|||||||
NSLog(@"Product name: %@\n", controller.vendorName);
|
NSLog(@"Product name: %@\n", controller.vendorName);
|
||||||
NSLog(@"Product category: %@\n", controller.productCategory);
|
NSLog(@"Product category: %@\n", controller.productCategory);
|
||||||
NSLog(@"Elements available:\n");
|
NSLog(@"Elements available:\n");
|
||||||
|
#ifdef ENABLE_PHYSICAL_INPUT_PROFILE
|
||||||
if (@available(macOS 10.16, iOS 14.0, tvOS 14.0, *)) {
|
if (@available(macOS 10.16, iOS 14.0, tvOS 14.0, *)) {
|
||||||
NSDictionary<NSString *, GCControllerElement *> *elements = controller.physicalInputProfile.elements;
|
NSDictionary<NSString *, GCControllerElement *> *elements = controller.physicalInputProfile.elements;
|
||||||
for (id key in controller.physicalInputProfile.buttons) {
|
for (id key in controller.physicalInputProfile.buttons) {
|
||||||
@@ -390,6 +393,7 @@ static BOOL IOS_AddMFIJoystickDevice(SDL_JoystickDeviceItem *device, GCControlle
|
|||||||
NSLog(@"\tHat: %@\n", key);
|
NSLog(@"\tHat: %@\n", key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
device->is_xbox = IsControllerXbox(controller);
|
device->is_xbox = IsControllerXbox(controller);
|
||||||
@@ -506,7 +510,7 @@ static BOOL IOS_AddMFIJoystickDevice(SDL_JoystickDeviceItem *device, GCControlle
|
|||||||
NSDictionary<NSString *, GCControllerElement *> *elements = controller.physicalInputProfile.elements;
|
NSDictionary<NSString *, GCControllerElement *> *elements = controller.physicalInputProfile.elements;
|
||||||
|
|
||||||
/* Provide both axes and analog buttons as SDL axes */
|
/* Provide both axes and analog buttons as SDL axes */
|
||||||
device->axes = [[[elements allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]
|
NSArray *axes = [[[elements allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]
|
||||||
filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id object, NSDictionary *bindings) {
|
filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id object, NSDictionary *bindings) {
|
||||||
GCControllerElement *element;
|
GCControllerElement *element;
|
||||||
|
|
||||||
@@ -523,8 +527,7 @@ static BOOL IOS_AddMFIJoystickDevice(SDL_JoystickDeviceItem *device, GCControlle
|
|||||||
}
|
}
|
||||||
return NO;
|
return NO;
|
||||||
}]];
|
}]];
|
||||||
device->naxes = (int)device->axes.count;
|
NSArray *buttons = [[[elements allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]
|
||||||
device->buttons = [[[elements allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]
|
|
||||||
filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id object, NSDictionary *bindings) {
|
filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id object, NSDictionary *bindings) {
|
||||||
GCControllerElement *element;
|
GCControllerElement *element;
|
||||||
|
|
||||||
@@ -538,7 +541,12 @@ static BOOL IOS_AddMFIJoystickDevice(SDL_JoystickDeviceItem *device, GCControlle
|
|||||||
}
|
}
|
||||||
return NO;
|
return NO;
|
||||||
}]];
|
}]];
|
||||||
device->nbuttons = (int)device->buttons.count;
|
/* Explicitly retain the arrays because SDL_JoystickDeviceItem is a
|
||||||
|
* struct, and ARC doesn't work with structs. */
|
||||||
|
device->naxes = (int)axes.count;
|
||||||
|
device->axes = (__bridge NSArray *)CFBridgingRetain(axes);
|
||||||
|
device->nbuttons = (int)buttons.count;
|
||||||
|
device->buttons = (__bridge NSArray *)CFBridgingRetain(buttons);
|
||||||
subtype = 4;
|
subtype = 4;
|
||||||
|
|
||||||
#ifdef DEBUG_CONTROLLER_PROFILE
|
#ifdef DEBUG_CONTROLLER_PROFILE
|
||||||
@@ -775,13 +783,20 @@ static SDL_JoystickDeviceItem *IOS_RemoveJoystickDevice(SDL_JoystickDeviceItem *
|
|||||||
|
|
||||||
#ifdef SDL_JOYSTICK_MFI
|
#ifdef SDL_JOYSTICK_MFI
|
||||||
@autoreleasepool {
|
@autoreleasepool {
|
||||||
|
/* These were explicitly retained in the struct, so they should be explicitly released before freeing the struct. */
|
||||||
if (device->controller) {
|
if (device->controller) {
|
||||||
/* The controller was explicitly retained in the struct, so it
|
|
||||||
* should be explicitly released before freeing the struct. */
|
|
||||||
GCController *controller = CFBridgingRelease((__bridge CFTypeRef)(device->controller));
|
GCController *controller = CFBridgingRelease((__bridge CFTypeRef)(device->controller));
|
||||||
controller.controllerPausedHandler = nil;
|
controller.controllerPausedHandler = nil;
|
||||||
device->controller = nil;
|
device->controller = nil;
|
||||||
}
|
}
|
||||||
|
if (device->axes) {
|
||||||
|
CFRelease((__bridge CFTypeRef)device->axes);
|
||||||
|
device->axes = nil;
|
||||||
|
}
|
||||||
|
if (device->buttons) {
|
||||||
|
CFRelease((__bridge CFTypeRef)device->buttons);
|
||||||
|
device->buttons = nil;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif /* SDL_JOYSTICK_MFI */
|
#endif /* SDL_JOYSTICK_MFI */
|
||||||
|
|
||||||
@@ -1109,7 +1124,7 @@ static void IOS_MFIJoystickUpdate(SDL_Joystick *joystick)
|
|||||||
Uint8 hatstate = SDL_HAT_CENTERED;
|
Uint8 hatstate = SDL_HAT_CENTERED;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
#ifdef DEBUG_CONTROLLER_STATE
|
#if defined(DEBUG_CONTROLLER_STATE) && defined(ENABLE_PHYSICAL_INPUT_PROFILE)
|
||||||
if (@available(macOS 10.16, iOS 14.0, tvOS 14.0, *)) {
|
if (@available(macOS 10.16, iOS 14.0, tvOS 14.0, *)) {
|
||||||
if (controller.physicalInputProfile) {
|
if (controller.physicalInputProfile) {
|
||||||
for (id key in controller.physicalInputProfile.buttons) {
|
for (id key in controller.physicalInputProfile.buttons) {
|
||||||
@@ -1136,6 +1151,7 @@ static void IOS_MFIJoystickUpdate(SDL_Joystick *joystick)
|
|||||||
}
|
}
|
||||||
#endif /* DEBUG_CONTROLLER_STATE */
|
#endif /* DEBUG_CONTROLLER_STATE */
|
||||||
|
|
||||||
|
#ifdef ENABLE_PHYSICAL_INPUT_PROFILE
|
||||||
if (@available(macOS 10.16, iOS 14.0, tvOS 14.0, *)) {
|
if (@available(macOS 10.16, iOS 14.0, tvOS 14.0, *)) {
|
||||||
NSDictionary<NSString *, GCControllerElement *> *elements = controller.physicalInputProfile.elements;
|
NSDictionary<NSString *, GCControllerElement *> *elements = controller.physicalInputProfile.elements;
|
||||||
NSDictionary<NSString *, GCControllerButtonInput *> *buttons = controller.physicalInputProfile.buttons;
|
NSDictionary<NSString *, GCControllerButtonInput *> *buttons = controller.physicalInputProfile.buttons;
|
||||||
@@ -1162,7 +1178,9 @@ static void IOS_MFIJoystickUpdate(SDL_Joystick *joystick)
|
|||||||
}
|
}
|
||||||
SDL_PrivateJoystickButton(joystick, button++, value);
|
SDL_PrivateJoystickButton(joystick, button++, value);
|
||||||
}
|
}
|
||||||
} else if (controller.extendedGamepad) {
|
} else
|
||||||
|
#endif
|
||||||
|
if (controller.extendedGamepad) {
|
||||||
SDL_bool isstack;
|
SDL_bool isstack;
|
||||||
GCExtendedGamepad *gamepad = controller.extendedGamepad;
|
GCExtendedGamepad *gamepad = controller.extendedGamepad;
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,8 @@
|
|||||||
#include "SDL_stdinc.h"
|
#include "SDL_stdinc.h"
|
||||||
#include "../SDL_sysjoystick.h"
|
#include "../SDL_sysjoystick.h"
|
||||||
|
|
||||||
#include <CoreFoundation/CoreFoundation.h>
|
#import <CoreFoundation/CoreFoundation.h>
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
@class GCController;
|
@class GCController;
|
||||||
|
|
||||||
@@ -59,8 +60,8 @@ typedef struct joystick_hwdata
|
|||||||
SDL_bool is_backbone_one;
|
SDL_bool is_backbone_one;
|
||||||
int is_siri_remote;
|
int is_siri_remote;
|
||||||
|
|
||||||
NSArray *axes;
|
NSArray __unsafe_unretained *axes;
|
||||||
NSArray *buttons;
|
NSArray __unsafe_unretained *buttons;
|
||||||
|
|
||||||
SDL_bool has_dualshock_touchpad;
|
SDL_bool has_dualshock_touchpad;
|
||||||
SDL_bool has_xbox_paddles;
|
SDL_bool has_xbox_paddles;
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ static const char *GetXInputName(const Uint8 userid, BYTE SubType)
|
|||||||
|
|
||||||
static SDL_bool GetXInputDeviceInfo(Uint8 userid, Uint16 *pVID, Uint16 *pPID, Uint16 *pVersion)
|
static SDL_bool GetXInputDeviceInfo(Uint8 userid, Uint16 *pVID, Uint16 *pPID, Uint16 *pVersion)
|
||||||
{
|
{
|
||||||
XINPUT_CAPABILITIES_EX capabilities;
|
SDL_XINPUT_CAPABILITIES_EX capabilities;
|
||||||
|
|
||||||
if (!XINPUTGETCAPABILITIESEX || XINPUTGETCAPABILITIESEX(1, userid, 0, &capabilities) != ERROR_SUCCESS) {
|
if (!XINPUTGETCAPABILITIESEX || XINPUTGETCAPABILITIESEX(1, userid, 0, &capabilities) != ERROR_SUCCESS) {
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
@@ -143,7 +143,7 @@ static SDL_bool GetXInputDeviceInfo(Uint8 userid, Uint16 *pVID, Uint16 *pPID, Ui
|
|||||||
|
|
||||||
int SDL_XINPUT_GetSteamVirtualGamepadSlot(Uint8 userid)
|
int SDL_XINPUT_GetSteamVirtualGamepadSlot(Uint8 userid)
|
||||||
{
|
{
|
||||||
XINPUT_CAPABILITIES_EX capabilities;
|
SDL_XINPUT_CAPABILITIES_EX capabilities;
|
||||||
|
|
||||||
if (XINPUTGETCAPABILITIESEX &&
|
if (XINPUTGETCAPABILITIESEX &&
|
||||||
XINPUTGETCAPABILITIESEX(1, userid, 0, &capabilities) == ERROR_SUCCESS &&
|
XINPUTGETCAPABILITIESEX(1, userid, 0, &capabilities) == ERROR_SUCCESS &&
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 2,29,3,0
|
FILEVERSION 2,30,1,0
|
||||||
PRODUCTVERSION 2,29,3,0
|
PRODUCTVERSION 2,30,1,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
FILEFLAGS 0x0L
|
FILEFLAGS 0x0L
|
||||||
FILEOS 0x40004L
|
FILEOS 0x40004L
|
||||||
@@ -23,12 +23,12 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "\0"
|
VALUE "CompanyName", "\0"
|
||||||
VALUE "FileDescription", "SDL\0"
|
VALUE "FileDescription", "SDL\0"
|
||||||
VALUE "FileVersion", "2, 29, 3, 0\0"
|
VALUE "FileVersion", "2, 30, 1, 0\0"
|
||||||
VALUE "InternalName", "SDL\0"
|
VALUE "InternalName", "SDL\0"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2024 Sam Lantinga\0"
|
VALUE "LegalCopyright", "Copyright (C) 2024 Sam Lantinga\0"
|
||||||
VALUE "OriginalFilename", "SDL2.dll\0"
|
VALUE "OriginalFilename", "SDL2.dll\0"
|
||||||
VALUE "ProductName", "Simple DirectMedia Layer\0"
|
VALUE "ProductName", "Simple DirectMedia Layer\0"
|
||||||
VALUE "ProductVersion", "2, 29, 3, 0\0"
|
VALUE "ProductVersion", "2, 30, 1, 0\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../SDL_internal.h"
|
#include "../SDL_internal.h"
|
||||||
|
|
||||||
#if (defined(SDL_VIDEO_RENDER_D3D) || defined(SDL_VIDEO_RENDER_D3D11) || defined(SDL_VIDEO_RENDER_D3D12)) && !defined(SDL_RENDER_DISABLED)
|
#if (SDL_VIDEO_RENDER_D3D || SDL_VIDEO_RENDER_D3D11 || SDL_VIDEO_RENDER_D3D12)
|
||||||
#include "SDL_stdinc.h"
|
#include "SDL_stdinc.h"
|
||||||
|
|
||||||
#include "SDL_d3dmath.h"
|
#include "SDL_d3dmath.h"
|
||||||
@@ -130,6 +130,6 @@ Float4X4 MatrixRotationZ(float r)
|
|||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* (SDL_VIDEO_RENDER_D3D || SDL_VIDEO_RENDER_D3D11 || SDL_VIDEO_RENDER_D3D12) && !SDL_RENDER_DISABLED */
|
#endif /* (SDL_VIDEO_RENDER_D3D || SDL_VIDEO_RENDER_D3D11 || SDL_VIDEO_RENDER_D3D12) */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../SDL_internal.h"
|
#include "../SDL_internal.h"
|
||||||
|
|
||||||
#if (defined(SDL_VIDEO_RENDER_D3D) || defined(SDL_VIDEO_RENDER_D3D11) || defined(SDL_VIDEO_RENDER_D3D12)) && !defined(SDL_RENDER_DISABLED)
|
#if (SDL_VIDEO_RENDER_D3D || SDL_VIDEO_RENDER_D3D11 || SDL_VIDEO_RENDER_D3D12)
|
||||||
|
|
||||||
/* Set up for C function definitions, even when using C++ */
|
/* Set up for C function definitions, even when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@@ -78,6 +78,6 @@ Float4X4 MatrixRotationZ(float r);
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* (SDL_VIDEO_RENDER_D3D || SDL_VIDEO_RENDER_D3D11 || SDL_VIDEO_RENDER_D3D12) && !SDL_RENDER_DISABLED */
|
#endif /* (SDL_VIDEO_RENDER_D3D || SDL_VIDEO_RENDER_D3D11 || SDL_VIDEO_RENDER_D3D12) */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
+28
-14
@@ -91,37 +91,37 @@ this should probably be removed at some point in the future. --ryan. */
|
|||||||
|
|
||||||
#ifndef SDL_RENDER_DISABLED
|
#ifndef SDL_RENDER_DISABLED
|
||||||
static const SDL_RenderDriver *render_drivers[] = {
|
static const SDL_RenderDriver *render_drivers[] = {
|
||||||
#ifdef SDL_VIDEO_RENDER_D3D
|
#if SDL_VIDEO_RENDER_D3D
|
||||||
&D3D_RenderDriver,
|
&D3D_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_D3D11
|
#if SDL_VIDEO_RENDER_D3D11
|
||||||
&D3D11_RenderDriver,
|
&D3D11_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_D3D12
|
#if SDL_VIDEO_RENDER_D3D12
|
||||||
&D3D12_RenderDriver,
|
&D3D12_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_METAL
|
#if SDL_VIDEO_RENDER_METAL
|
||||||
&METAL_RenderDriver,
|
&METAL_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_OGL
|
#if SDL_VIDEO_RENDER_OGL
|
||||||
&GL_RenderDriver,
|
&GL_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_OGL_ES2
|
#if SDL_VIDEO_RENDER_OGL_ES2
|
||||||
&GLES2_RenderDriver,
|
&GLES2_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_OGL_ES
|
#if SDL_VIDEO_RENDER_OGL_ES
|
||||||
&GLES_RenderDriver,
|
&GLES_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_DIRECTFB
|
#if SDL_VIDEO_RENDER_DIRECTFB
|
||||||
&DirectFB_RenderDriver,
|
&DirectFB_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_PS2
|
#if SDL_VIDEO_RENDER_PS2
|
||||||
&PS2_RenderDriver,
|
&PS2_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_PSP
|
#if SDL_VIDEO_RENDER_PSP
|
||||||
&PSP_RenderDriver,
|
&PSP_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#ifdef SDL_VIDEO_RENDER_VITA_GXM
|
#if SDL_VIDEO_RENDER_VITA_GXM
|
||||||
&VITA_GXM_RenderDriver,
|
&VITA_GXM_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#if SDL_VIDEO_RENDER_SW
|
#if SDL_VIDEO_RENDER_SW
|
||||||
@@ -799,6 +799,20 @@ static int SDLCALL SDL_RendererEventWatch(void *userdata, SDL_Event *event)
|
|||||||
event->button.y = (int)(event->button.y / (scale.y * renderer->dpi_scale.y));
|
event->button.y = (int)(event->button.y / (scale.y * renderer->dpi_scale.y));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (event->type == SDL_MOUSEWHEEL) {
|
||||||
|
SDL_Window *window = SDL_GetWindowFromID(event->wheel.windowID);
|
||||||
|
if (window == renderer->window) {
|
||||||
|
int logical_w, logical_h;
|
||||||
|
SDL_DRect viewport;
|
||||||
|
SDL_FPoint scale;
|
||||||
|
GetWindowViewportValues(renderer, &logical_w, &logical_h, &viewport, &scale);
|
||||||
|
if (logical_w) {
|
||||||
|
event->wheel.mouseX -= (int)(viewport.x * renderer->dpi_scale.x);
|
||||||
|
event->wheel.mouseY -= (int)(viewport.y * renderer->dpi_scale.y);
|
||||||
|
event->wheel.mouseX = (int)(event->wheel.mouseX / (scale.x * renderer->dpi_scale.x));
|
||||||
|
event->wheel.mouseY = (int)(event->wheel.mouseY / (scale.y * renderer->dpi_scale.y));
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (event->type == SDL_FINGERDOWN ||
|
} else if (event->type == SDL_FINGERDOWN ||
|
||||||
event->type == SDL_FINGERUP ||
|
event->type == SDL_FINGERUP ||
|
||||||
event->type == SDL_FINGERMOTION) {
|
event->type == SDL_FINGERMOTION) {
|
||||||
@@ -1108,7 +1122,7 @@ error:
|
|||||||
|
|
||||||
SDL_Renderer *SDL_CreateSoftwareRenderer(SDL_Surface *surface)
|
SDL_Renderer *SDL_CreateSoftwareRenderer(SDL_Surface *surface)
|
||||||
{
|
{
|
||||||
#if !defined(SDL_RENDER_DISABLED) && SDL_VIDEO_RENDER_SW
|
#if SDL_VIDEO_RENDER_SW
|
||||||
SDL_Renderer *renderer;
|
SDL_Renderer *renderer;
|
||||||
|
|
||||||
renderer = SW_CreateRendererForSurface(surface);
|
renderer = SW_CreateRendererForSurface(surface);
|
||||||
@@ -1451,7 +1465,7 @@ SDL_Texture *SDL_CreateTextureFromSurface(SDL_Renderer *renderer, SDL_Surface *s
|
|||||||
SDL_UpdateTexture(texture, NULL, surface->pixels, surface->pitch);
|
SDL_UpdateTexture(texture, NULL, surface->pixels, surface->pitch);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_RENDER_DIRECTFB
|
#if SDL_VIDEO_RENDER_DIRECTFB
|
||||||
/* DirectFB allows palette format for textures.
|
/* DirectFB allows palette format for textures.
|
||||||
* Copy SDL_Surface palette to the texture */
|
* Copy SDL_Surface palette to the texture */
|
||||||
if (SDL_ISPIXELFORMAT_INDEXED(format)) {
|
if (SDL_ISPIXELFORMAT_INDEXED(format)) {
|
||||||
@@ -2284,7 +2298,7 @@ static int UpdateLogicalSize(SDL_Renderer *renderer, SDL_bool flush_viewport_cmd
|
|||||||
|
|
||||||
hint = SDL_GetHint(SDL_HINT_RENDER_LOGICAL_SIZE_MODE);
|
hint = SDL_GetHint(SDL_HINT_RENDER_LOGICAL_SIZE_MODE);
|
||||||
if (hint && (*hint == '1' || SDL_strcasecmp(hint, "overscan") == 0)) {
|
if (hint && (*hint == '1' || SDL_strcasecmp(hint, "overscan") == 0)) {
|
||||||
#ifdef SDL_VIDEO_RENDER_D3D
|
#if SDL_VIDEO_RENDER_D3D
|
||||||
SDL_bool overscan_supported = SDL_TRUE;
|
SDL_bool overscan_supported = SDL_TRUE;
|
||||||
/* Unfortunately, Direct3D 9 doesn't support negative viewport numbers
|
/* Unfortunately, Direct3D 9 doesn't support negative viewport numbers
|
||||||
which the overscan implementation relies on.
|
which the overscan implementation relies on.
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
#include "SDL_render.h"
|
#include "SDL_render.h"
|
||||||
#include "SDL_system.h"
|
#include "SDL_system.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D
|
||||||
|
|
||||||
#include "../../core/windows/SDL_windows.h"
|
#include "../../core/windows/SDL_windows.h"
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
#include "../SDL_d3dmath.h"
|
#include "../SDL_d3dmath.h"
|
||||||
#include "../../video/windows/SDL_windowsvideo.h"
|
#include "../../video/windows/SDL_windowsvideo.h"
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_RENDER_D3D
|
#if SDL_VIDEO_RENDER_D3D
|
||||||
#define D3D_DEBUG_INFO
|
#define D3D_DEBUG_INFO
|
||||||
#include <d3d9.h>
|
#include <d3d9.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -1170,6 +1170,7 @@ static int D3D_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, v
|
|||||||
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
||||||
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
||||||
data->drawstate.viewport_dirty = SDL_TRUE;
|
data->drawstate.viewport_dirty = SDL_TRUE;
|
||||||
|
data->drawstate.cliprect_dirty = SDL_TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1731,7 +1732,7 @@ SDL_RenderDriver D3D_RenderDriver = {
|
|||||||
0,
|
0,
|
||||||
0 }
|
0 }
|
||||||
};
|
};
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D */
|
||||||
|
|
||||||
#if defined(__WIN32__) || defined(__WINGDK__)
|
#if defined(__WIN32__) || defined(__WINGDK__)
|
||||||
/* This function needs to always exist on Windows, for the Dynamic API. */
|
/* This function needs to always exist on Windows, for the Dynamic API. */
|
||||||
@@ -1739,7 +1740,7 @@ IDirect3DDevice9 *SDL_RenderGetD3D9Device(SDL_Renderer *renderer)
|
|||||||
{
|
{
|
||||||
IDirect3DDevice9 *device = NULL;
|
IDirect3DDevice9 *device = NULL;
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D
|
||||||
D3D_RenderData *data = (D3D_RenderData *)renderer->driverdata;
|
D3D_RenderData *data = (D3D_RenderData *)renderer->driverdata;
|
||||||
|
|
||||||
/* Make sure that this is a D3D renderer */
|
/* Make sure that this is a D3D renderer */
|
||||||
@@ -1752,7 +1753,7 @@ IDirect3DDevice9 *SDL_RenderGetD3D9Device(SDL_Renderer *renderer)
|
|||||||
if (device) {
|
if (device) {
|
||||||
IDirect3DDevice9_AddRef(device);
|
IDirect3DDevice9_AddRef(device);
|
||||||
}
|
}
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D */
|
||||||
|
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
#include "SDL_render.h"
|
#include "SDL_render.h"
|
||||||
#include "SDL_system.h"
|
#include "SDL_system.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D
|
||||||
|
|
||||||
#include "../../core/windows/SDL_windows.h"
|
#include "../../core/windows/SDL_windows.h"
|
||||||
|
|
||||||
@@ -268,6 +268,6 @@ HRESULT D3D9_CreatePixelShader(IDirect3DDevice9 *d3dDevice, D3D9_Shader shader,
|
|||||||
return IDirect3DDevice9_CreatePixelShader(d3dDevice, D3D9_shaders[shader], pixelShader);
|
return IDirect3DDevice9_CreatePixelShader(d3dDevice, D3D9_shaders[shader], pixelShader);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
#include "SDL_render.h"
|
#include "SDL_render.h"
|
||||||
#include "SDL_system.h"
|
#include "SDL_system.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D11) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D11
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
#include "../../core/windows/SDL_windows.h"
|
#include "../../core/windows/SDL_windows.h"
|
||||||
@@ -2047,6 +2047,7 @@ static int D3D11_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||||||
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
||||||
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
||||||
rendererData->viewportDirty = SDL_TRUE;
|
rendererData->viewportDirty = SDL_TRUE;
|
||||||
|
rendererData->cliprectDirty = SDL_TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2415,7 +2416,7 @@ SDL_RenderDriver D3D11_RenderDriver = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D11 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D11 */
|
||||||
|
|
||||||
#if defined(__WIN32__) || defined(__WINGDK__)
|
#if defined(__WIN32__) || defined(__WINGDK__)
|
||||||
/* This function needs to always exist on Windows, for the Dynamic API. */
|
/* This function needs to always exist on Windows, for the Dynamic API. */
|
||||||
@@ -2423,7 +2424,7 @@ ID3D11Device *SDL_RenderGetD3D11Device(SDL_Renderer *renderer)
|
|||||||
{
|
{
|
||||||
ID3D11Device *device = NULL;
|
ID3D11Device *device = NULL;
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D11) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D11
|
||||||
D3D11_RenderData *data = (D3D11_RenderData *)renderer->driverdata;
|
D3D11_RenderData *data = (D3D11_RenderData *)renderer->driverdata;
|
||||||
|
|
||||||
/* Make sure that this is a D3D renderer */
|
/* Make sure that this is a D3D renderer */
|
||||||
@@ -2436,7 +2437,7 @@ ID3D11Device *SDL_RenderGetD3D11Device(SDL_Renderer *renderer)
|
|||||||
if (device) {
|
if (device) {
|
||||||
ID3D11Device_AddRef(device);
|
ID3D11Device_AddRef(device);
|
||||||
}
|
}
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D11 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D11 */
|
||||||
|
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D11) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D11
|
||||||
|
|
||||||
#include "SDL_syswm.h"
|
#include "SDL_syswm.h"
|
||||||
#include "../../video/winrt/SDL_winrtvideo_cpp.h"
|
#include "../../video/winrt/SDL_winrtvideo_cpp.h"
|
||||||
@@ -109,6 +109,6 @@ D3D11_GetCurrentRotation()
|
|||||||
return DXGI_MODE_ROTATION_IDENTITY;
|
return DXGI_MODE_ROTATION_IDENTITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D11 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D11 */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D11) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D11
|
||||||
|
|
||||||
#include "SDL_render.h"
|
#include "SDL_render.h"
|
||||||
|
|
||||||
@@ -35,6 +35,6 @@ DXGI_MODE_ROTATION D3D11_GetCurrentRotation();
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D11 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D11 */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D11) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D11
|
||||||
|
|
||||||
#include "SDL_stdinc.h"
|
#include "SDL_stdinc.h"
|
||||||
|
|
||||||
@@ -1949,6 +1949,6 @@ int D3D11_CreatePixelShader(ID3D11Device1 *d3dDevice, D3D11_Shader shader, ID3D1
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D11 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D11 */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
#include "SDL_render.h"
|
#include "SDL_render.h"
|
||||||
#include "SDL_system.h"
|
#include "SDL_system.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D12) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D12
|
||||||
|
|
||||||
#define SDL_D3D12_NUM_BUFFERS 2
|
#define SDL_D3D12_NUM_BUFFERS 2
|
||||||
#define SDL_D3D12_NUM_VERTEX_BUFFERS 256
|
#define SDL_D3D12_NUM_VERTEX_BUFFERS 256
|
||||||
@@ -2608,6 +2608,7 @@ static int D3D12_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||||||
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
||||||
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
||||||
rendererData->viewportDirty = SDL_TRUE;
|
rendererData->viewportDirty = SDL_TRUE;
|
||||||
|
rendererData->cliprectDirty = SDL_TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -3055,7 +3056,7 @@ SDL_RenderDriver D3D12_RenderDriver = {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D12 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D12 */
|
||||||
|
|
||||||
#if defined(__WIN32__) || defined(__GDK__)
|
#if defined(__WIN32__) || defined(__GDK__)
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@@ -3067,7 +3068,7 @@ extern "C"
|
|||||||
{
|
{
|
||||||
ID3D12Device *device = NULL;
|
ID3D12Device *device = NULL;
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D12) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_D3D12
|
||||||
D3D12_RenderData *data = (D3D12_RenderData *)renderer->driverdata;
|
D3D12_RenderData *data = (D3D12_RenderData *)renderer->driverdata;
|
||||||
|
|
||||||
/* Make sure that this is a D3D renderer */
|
/* Make sure that this is a D3D renderer */
|
||||||
@@ -3080,7 +3081,7 @@ extern "C"
|
|||||||
if (device) {
|
if (device) {
|
||||||
D3D_CALL(device, AddRef);
|
D3D_CALL(device, AddRef);
|
||||||
}
|
}
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D12 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_D3D12 */
|
||||||
|
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
#if SDL_VIDEO_RENDER_D3D12 && !SDL_RENDER_DISABLED && (defined(__XBOXONE__) || defined(__XBOXSERIES__))
|
#if SDL_VIDEO_RENDER_D3D12 && (defined(__XBOXONE__) || defined(__XBOXSERIES__))
|
||||||
#include "SDL_render_d3d12_xbox.h"
|
#include "SDL_render_d3d12_xbox.h"
|
||||||
#include "../../core/windows/SDL_windows.h"
|
#include "../../core/windows/SDL_windows.h"
|
||||||
#include <XGameRuntime.h>
|
#include <XGameRuntime.h>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_D3D12) && !defined(SDL_RENDER_DISABLED) && !defined(__XBOXONE__) && !defined(__XBOXSERIES__)
|
#if SDL_VIDEO_RENDER_D3D12 && !defined(__XBOXONE__) && !defined(__XBOXSERIES__)
|
||||||
|
|
||||||
#include "SDL_stdinc.h"
|
#include "SDL_stdinc.h"
|
||||||
|
|
||||||
@@ -6934,6 +6934,6 @@ void D3D12_GetRootSignatureData(D3D12_RootSignature rootSig, D3D12_SHADER_BYTECO
|
|||||||
outBytecode->BytecodeLength = D3D12_rootsigs[rootSig].rs_shader_size;
|
outBytecode->BytecodeLength = D3D12_rootsigs[rootSig].rs_shader_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D12 && !SDL_RENDER_DISABLED && !defined(__XBOXONE__) && !defined(__XBOXSERIES__) */
|
#endif /* SDL_VIDEO_RENDER_D3D12 && !defined(__XBOXONE__) && !defined(__XBOXSERIES__) */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_D3D12 && !SDL_RENDER_DISABLED && defined(__XBOXONE__)
|
#if SDL_VIDEO_RENDER_D3D12 && defined(__XBOXONE__)
|
||||||
|
|
||||||
#include <SDL_stdinc.h>
|
#include <SDL_stdinc.h>
|
||||||
|
|
||||||
@@ -139,6 +139,6 @@ D3D12_GetRootSignatureData(D3D12_RootSignature rootSig, D3D12_SHADER_BYTECODE *o
|
|||||||
outBytecode->BytecodeLength = D3D12_rootsigs[rootSig].rs_shader_size;
|
outBytecode->BytecodeLength = D3D12_rootsigs[rootSig].rs_shader_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D12 && !SDL_RENDER_DISABLED && defined(__XBOXONE__) */
|
#endif /* SDL_VIDEO_RENDER_D3D12 && defined(__XBOXONE__) */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_D3D12 && !SDL_RENDER_DISABLED && defined(__XBOXSERIES__)
|
#if SDL_VIDEO_RENDER_D3D12 && defined(__XBOXSERIES__)
|
||||||
|
|
||||||
#include <SDL_stdinc.h>
|
#include <SDL_stdinc.h>
|
||||||
|
|
||||||
@@ -139,6 +139,6 @@ D3D12_GetRootSignatureData(D3D12_RootSignature rootSig, D3D12_SHADER_BYTECODE *o
|
|||||||
outBytecode->BytecodeLength = D3D12_rootsigs[rootSig].rs_shader_size;
|
outBytecode->BytecodeLength = D3D12_rootsigs[rootSig].rs_shader_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_D3D12 && !SDL_RENDER_DISABLED && defined(__XBOXSERIES__) */
|
#endif /* SDL_VIDEO_RENDER_D3D12 && defined(__XBOXSERIES__) */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_METAL) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_METAL
|
||||||
|
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
#include "SDL_syswm.h"
|
#include "SDL_syswm.h"
|
||||||
@@ -1896,6 +1896,6 @@ SDL_RenderDriver METAL_RenderDriver = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_METAL && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_METAL */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_OGL) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_OGL
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
#include "../../video/SDL_sysvideo.h" /* For SDL_GL_SwapWindowWithResult */
|
#include "../../video/SDL_sysvideo.h" /* For SDL_GL_SwapWindowWithResult */
|
||||||
#include "SDL_opengl.h"
|
#include "SDL_opengl.h"
|
||||||
@@ -1224,6 +1224,7 @@ static int GL_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, vo
|
|||||||
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
||||||
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
||||||
data->drawstate.viewport_dirty = SDL_TRUE;
|
data->drawstate.viewport_dirty = SDL_TRUE;
|
||||||
|
data->drawstate.cliprect_dirty = SDL_TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1969,6 +1970,6 @@ SDL_RenderDriver GL_RenderDriver = {
|
|||||||
0 }
|
0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_OGL && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_OGL */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_OGL) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_OGL
|
||||||
|
|
||||||
#include "SDL_stdinc.h"
|
#include "SDL_stdinc.h"
|
||||||
#include "SDL_opengl.h"
|
#include "SDL_opengl.h"
|
||||||
@@ -577,6 +577,6 @@ void GL_DestroyShaderContext(GL_ShaderContext *ctx)
|
|||||||
SDL_free(ctx);
|
SDL_free(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_OGL && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_OGL */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_OGL_ES) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_OGL_ES
|
||||||
|
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
#include "../../video/SDL_sysvideo.h" /* For SDL_GL_SwapWindowWithResult */
|
#include "../../video/SDL_sysvideo.h" /* For SDL_GL_SwapWindowWithResult */
|
||||||
@@ -1215,6 +1215,6 @@ SDL_RenderDriver GLES_RenderDriver = {
|
|||||||
0 }
|
0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_OGL_ES && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_OGL_ES */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_OGL_ES2) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_OGL_ES2
|
||||||
|
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
#include "../../video/SDL_sysvideo.h" /* For SDL_GL_SwapWindowWithResult */
|
#include "../../video/SDL_sysvideo.h" /* For SDL_GL_SwapWindowWithResult */
|
||||||
@@ -1216,6 +1216,7 @@ static int GLES2_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||||||
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
||||||
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
||||||
data->drawstate.viewport_dirty = SDL_TRUE;
|
data->drawstate.viewport_dirty = SDL_TRUE;
|
||||||
|
data->drawstate.cliprect_dirty = SDL_TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2244,6 +2245,6 @@ SDL_RenderDriver GLES2_RenderDriver = {
|
|||||||
0 }
|
0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_OGL_ES2 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_OGL_ES2 */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_OGL_ES2) && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_OGL_ES2
|
||||||
|
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
#include "SDL_video.h"
|
#include "SDL_video.h"
|
||||||
@@ -444,6 +444,6 @@ const char *GLES2_GetShader(GLES2_ShaderType type)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_OGL_ES2 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_OGL_ES2 */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
#ifndef SDL_shaders_gles2_h_
|
#ifndef SDL_shaders_gles2_h_
|
||||||
#define SDL_shaders_gles2_h_
|
#define SDL_shaders_gles2_h_
|
||||||
|
|
||||||
#if defined(SDL_VIDEO_RENDER_OGL_ES2)
|
#if SDL_VIDEO_RENDER_OGL_ES2
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_RENDER_PS2
|
#if SDL_VIDEO_RENDER_PS2
|
||||||
|
|
||||||
#include "../SDL_sysrender.h"
|
#include "../SDL_sysrender.h"
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
@@ -47,6 +47,7 @@ typedef struct
|
|||||||
{
|
{
|
||||||
GSGLOBAL *gsGlobal;
|
GSGLOBAL *gsGlobal;
|
||||||
uint64_t drawColor;
|
uint64_t drawColor;
|
||||||
|
SDL_Rect *viewport;
|
||||||
int32_t vsync_callback_id;
|
int32_t vsync_callback_id;
|
||||||
uint8_t vsync; /* 0 (Disabled), 1 (Enabled), 2 (Dynamic) */
|
uint8_t vsync; /* 0 (Disabled), 1 (Enabled), 2 (Dynamic) */
|
||||||
} PS2_RenderData;
|
} PS2_RenderData;
|
||||||
@@ -190,6 +191,19 @@ static int PS2_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int PS2_QueueSetViewport(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
static int PS2_QueueSetViewport(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
||||||
|
{
|
||||||
|
PS2_RenderData *data = (PS2_RenderData *)renderer->driverdata;
|
||||||
|
const SDL_Rect *viewport = &cmd->data.viewport.rect;
|
||||||
|
data->viewport = (SDL_Rect *)viewport;
|
||||||
|
|
||||||
|
data->gsGlobal->OffsetX = (int)((2048.0f + (float)viewport->x) * 16.0f);
|
||||||
|
data->gsGlobal->OffsetY = (int)((2048.0f + (float)viewport->y) * 16.0f);
|
||||||
|
gsKit_set_scissor(data->gsGlobal, GS_SETREG_SCISSOR(viewport->x, viewport->x + viewport->w, viewport->y, viewport->y + viewport->h));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int PS2_QueueSetDrawColor(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
||||||
{
|
{
|
||||||
return 0; /* nothing to do in this backend. */
|
return 0; /* nothing to do in this backend. */
|
||||||
}
|
}
|
||||||
@@ -208,10 +222,10 @@ static int PS2_QueueDrawPoints(SDL_Renderer *renderer, SDL_RenderCommand *cmd, c
|
|||||||
|
|
||||||
cmd->data.draw.count = count;
|
cmd->data.draw.count = count;
|
||||||
|
|
||||||
colorR = cmd->data.draw.r >> 1;
|
colorR = cmd->data.draw.r;
|
||||||
colorG = cmd->data.draw.g >> 1;
|
colorG = cmd->data.draw.g;
|
||||||
colorB = cmd->data.draw.b >> 1;
|
colorB = cmd->data.draw.b;
|
||||||
colorA = cmd->data.draw.a >> 1;
|
colorA = cmd->data.draw.a;
|
||||||
rgbaq = color_to_RGBAQ(colorR, colorG, colorB, colorA, 0.0f);
|
rgbaq = color_to_RGBAQ(colorR, colorG, colorB, colorA, 0.0f);
|
||||||
|
|
||||||
for (i = 0; i < count; i++, vertices++, points++) {
|
for (i = 0; i < count; i++, vertices++, points++) {
|
||||||
@@ -261,7 +275,7 @@ static int PS2_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SDL
|
|||||||
uv_ = (float *)((char *)uv + j * uv_stride);
|
uv_ = (float *)((char *)uv + j * uv_stride);
|
||||||
|
|
||||||
vertices->xyz2 = vertex_to_XYZ2(data->gsGlobal, xy_[0] * scale_x, xy_[1] * scale_y, 0);
|
vertices->xyz2 = vertex_to_XYZ2(data->gsGlobal, xy_[0] * scale_x, xy_[1] * scale_y, 0);
|
||||||
vertices->rgbaq = color_to_RGBAQ(col_.r >> 1, col_.g >> 1, col_.b >> 1, col_.a >> 1, 0);
|
vertices->rgbaq = color_to_RGBAQ(col_.r, col_.g, col_.b, col_.a, 0);
|
||||||
vertices->uv = vertex_to_UV(ps2_tex, uv_[0] * ps2_tex->Width, uv_[1] * ps2_tex->Height);
|
vertices->uv = vertex_to_UV(ps2_tex, uv_[0] * ps2_tex->Width, uv_[1] * ps2_tex->Height);
|
||||||
|
|
||||||
vertices++;
|
vertices++;
|
||||||
@@ -292,7 +306,7 @@ static int PS2_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SDL
|
|||||||
col_ = *(SDL_Color *)((char *)color + j * color_stride);
|
col_ = *(SDL_Color *)((char *)color + j * color_stride);
|
||||||
|
|
||||||
vertices->xyz2 = vertex_to_XYZ2(data->gsGlobal, xy_[0] * scale_x, xy_[1] * scale_y, 0);
|
vertices->xyz2 = vertex_to_XYZ2(data->gsGlobal, xy_[0] * scale_x, xy_[1] * scale_y, 0);
|
||||||
vertices->rgbaq = color_to_RGBAQ(col_.r >> 1, col_.g >> 1, col_.b >> 1, col_.a >> 1, 0.0f);
|
vertices->rgbaq = color_to_RGBAQ(col_.r, col_.g, col_.b, col_.a, 0.0f);
|
||||||
|
|
||||||
vertices++;
|
vertices++;
|
||||||
}
|
}
|
||||||
@@ -303,26 +317,24 @@ static int PS2_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SDL
|
|||||||
|
|
||||||
static int PS2_RenderSetViewPort(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
static int PS2_RenderSetViewPort(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
||||||
{
|
{
|
||||||
PS2_RenderData *data = (PS2_RenderData *)renderer->driverdata;
|
return 0; /* nothing to do in this backend. */
|
||||||
const SDL_Rect *viewport = &cmd->data.viewport.rect;
|
|
||||||
|
|
||||||
gsKit_set_display_offset(data->gsGlobal, viewport->x, viewport->y);
|
|
||||||
gsKit_set_scissor(data->gsGlobal, GS_SETREG_SCISSOR(viewport->x, viewport->y, viewport->w, viewport->h));
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int PS2_RenderSetClipRect(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
static int PS2_RenderSetClipRect(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
||||||
{
|
{
|
||||||
PS2_RenderData *data = (PS2_RenderData *)renderer->driverdata;
|
PS2_RenderData *data = (PS2_RenderData *)renderer->driverdata;
|
||||||
|
SDL_Rect *viewport = data->viewport;
|
||||||
|
|
||||||
const SDL_Rect *rect = &cmd->data.cliprect.rect;
|
const SDL_Rect *rect = &cmd->data.cliprect.rect;
|
||||||
|
|
||||||
if (cmd->data.cliprect.enabled) {
|
if (cmd->data.cliprect.enabled) {
|
||||||
gsKit_set_scissor(data->gsGlobal, GS_SETREG_SCISSOR(rect->x, rect->y, rect->w, rect->h));
|
/* We need to do it relative to saved viewport */
|
||||||
} else {
|
viewport->x += rect->x;
|
||||||
gsKit_set_scissor(data->gsGlobal, GS_SCISSOR_RESET);
|
viewport->y += rect->y;
|
||||||
|
viewport->w = SDL_min(viewport->w, rect->w);
|
||||||
|
viewport->h = SDL_min(viewport->h, rect->h);
|
||||||
}
|
}
|
||||||
|
gsKit_set_scissor(data->gsGlobal, GS_SETREG_SCISSOR(viewport->x, viewport->x + viewport->w, viewport->y, viewport->y + viewport->h));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -333,26 +345,43 @@ static int PS2_RenderSetDrawColor(SDL_Renderer *renderer, SDL_RenderCommand *cmd
|
|||||||
|
|
||||||
PS2_RenderData *data = (PS2_RenderData *)renderer->driverdata;
|
PS2_RenderData *data = (PS2_RenderData *)renderer->driverdata;
|
||||||
|
|
||||||
colorR = (cmd->data.color.r) >> 1;
|
colorR = (cmd->data.color.r);
|
||||||
colorG = (cmd->data.color.g) >> 1;
|
colorG = (cmd->data.color.g);
|
||||||
colorB = (cmd->data.color.b) >> 1;
|
colorB = (cmd->data.color.b);
|
||||||
colorA = (cmd->data.color.a) >> 1;
|
colorA = (cmd->data.color.a);
|
||||||
data->drawColor = GS_SETREG_RGBAQ(colorR, colorG, colorB, colorA, 0x00);
|
data->drawColor = GS_SETREG_RGBAQ(colorR, colorG, colorB, colorA, 0x00);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int PS2_RenderClear(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
static int PS2_RenderClear(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
||||||
{
|
{
|
||||||
int colorR, colorG, colorB, colorA;
|
int colorR, colorG, colorB, colorA, offsetX, offsetY;
|
||||||
|
SDL_Rect *viewport;
|
||||||
|
|
||||||
PS2_RenderData *data = (PS2_RenderData *)renderer->driverdata;
|
PS2_RenderData *data = (PS2_RenderData *)renderer->driverdata;
|
||||||
|
|
||||||
colorR = (cmd->data.color.r) >> 1;
|
colorR = (cmd->data.color.r);
|
||||||
colorG = (cmd->data.color.g) >> 1;
|
colorG = (cmd->data.color.g);
|
||||||
colorB = (cmd->data.color.b) >> 1;
|
colorB = (cmd->data.color.b);
|
||||||
colorA = (cmd->data.color.a) >> 1;
|
colorA = (cmd->data.color.a);
|
||||||
|
|
||||||
|
/* Clear the screen, so let's put default viewport */
|
||||||
|
gsKit_set_scissor(data->gsGlobal, GS_SCISSOR_RESET);
|
||||||
|
/* Put back original offset */
|
||||||
|
offsetX = data->gsGlobal->OffsetX;
|
||||||
|
offsetY = data->gsGlobal->OffsetY;
|
||||||
|
data->gsGlobal->OffsetX = (int)(2048.0f * 16.0f);
|
||||||
|
data->gsGlobal->OffsetY = (int)(2048.0f * 16.0f);
|
||||||
gsKit_clear(data->gsGlobal, GS_SETREG_RGBAQ(colorR, colorG, colorB, colorA, 0x00));
|
gsKit_clear(data->gsGlobal, GS_SETREG_RGBAQ(colorR, colorG, colorB, colorA, 0x00));
|
||||||
|
|
||||||
|
/* Put back original offset */
|
||||||
|
data->gsGlobal->OffsetX = offsetX;
|
||||||
|
data->gsGlobal->OffsetY = offsetY;
|
||||||
|
|
||||||
|
// /* Put back view port */
|
||||||
|
viewport = data->viewport;
|
||||||
|
gsKit_set_scissor(data->gsGlobal, GS_SETREG_SCISSOR(viewport->x, viewport->x + viewport->w, viewport->y, viewport->y + viewport->h));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -448,6 +477,7 @@ static int PS2_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, v
|
|||||||
case SDL_RENDERCMD_SETVIEWPORT:
|
case SDL_RENDERCMD_SETVIEWPORT:
|
||||||
{
|
{
|
||||||
PS2_RenderSetViewPort(renderer, cmd);
|
PS2_RenderSetViewPort(renderer, cmd);
|
||||||
|
/* FIXME: We need to update the clip rect too, see https://github.com/libsdl-org/SDL/issues/9094 */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SDL_RENDERCMD_SETCLIPRECT:
|
case SDL_RENDERCMD_SETCLIPRECT:
|
||||||
@@ -645,7 +675,7 @@ static SDL_Renderer *PS2_CreateRenderer(SDL_Window *window, Uint32 flags)
|
|||||||
renderer->SetTextureScaleMode = PS2_SetTextureScaleMode;
|
renderer->SetTextureScaleMode = PS2_SetTextureScaleMode;
|
||||||
renderer->SetRenderTarget = PS2_SetRenderTarget;
|
renderer->SetRenderTarget = PS2_SetRenderTarget;
|
||||||
renderer->QueueSetViewport = PS2_QueueSetViewport;
|
renderer->QueueSetViewport = PS2_QueueSetViewport;
|
||||||
renderer->QueueSetDrawColor = PS2_QueueSetViewport;
|
renderer->QueueSetDrawColor = PS2_QueueSetDrawColor;
|
||||||
renderer->QueueDrawPoints = PS2_QueueDrawPoints;
|
renderer->QueueDrawPoints = PS2_QueueDrawPoints;
|
||||||
renderer->QueueDrawLines = PS2_QueueDrawPoints;
|
renderer->QueueDrawLines = PS2_QueueDrawPoints;
|
||||||
renderer->QueueGeometry = PS2_QueueGeometry;
|
renderer->QueueGeometry = PS2_QueueGeometry;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_RENDER_PSP
|
#if SDL_VIDEO_RENDER_PSP
|
||||||
|
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
#include "../SDL_sysrender.h"
|
#include "../SDL_sysrender.h"
|
||||||
@@ -1053,6 +1053,7 @@ static int PSP_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, v
|
|||||||
sceGuOffset(2048 - (viewport->w >> 1), 2048 - (viewport->h >> 1));
|
sceGuOffset(2048 - (viewport->w >> 1), 2048 - (viewport->h >> 1));
|
||||||
sceGuViewport(2048, 2048, viewport->w, viewport->h);
|
sceGuViewport(2048, 2048, viewport->w, viewport->h);
|
||||||
sceGuScissor(viewport->x, viewport->y, viewport->w, viewport->h);
|
sceGuScissor(viewport->x, viewport->y, viewport->w, viewport->h);
|
||||||
|
/* FIXME: We need to update the clip rect too, see https://github.com/libsdl-org/SDL/issues/9094 */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_SW && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_SW
|
||||||
|
|
||||||
#include "SDL_draw.h"
|
#include "SDL_draw.h"
|
||||||
#include "SDL_blendfillrect.h"
|
#include "SDL_blendfillrect.h"
|
||||||
@@ -343,6 +343,6 @@ int SDL_BlendFillRects(SDL_Surface *dst, const SDL_Rect *rects, int count,
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_SW && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_SW
|
||||||
|
|
||||||
#include "SDL_draw.h"
|
#include "SDL_draw.h"
|
||||||
#include "SDL_blendline.h"
|
#include "SDL_blendline.h"
|
||||||
@@ -859,6 +859,6 @@ int SDL_BlendLines(SDL_Surface *dst, const SDL_Point *points, int count,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_SW && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_SW
|
||||||
|
|
||||||
#include "SDL_draw.h"
|
#include "SDL_draw.h"
|
||||||
#include "SDL_blendpoint.h"
|
#include "SDL_blendpoint.h"
|
||||||
@@ -348,6 +348,6 @@ int SDL_BlendPoints(SDL_Surface *dst, const SDL_Point *points, int count,
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_SW && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_SW
|
||||||
|
|
||||||
#include "SDL_draw.h"
|
#include "SDL_draw.h"
|
||||||
#include "SDL_drawline.h"
|
#include "SDL_drawline.h"
|
||||||
@@ -197,6 +197,6 @@ int SDL_DrawLines(SDL_Surface *dst, const SDL_Point *points, int count,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_SW && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_SW
|
||||||
|
|
||||||
#include "SDL_draw.h"
|
#include "SDL_draw.h"
|
||||||
#include "SDL_drawpoint.h"
|
#include "SDL_drawpoint.h"
|
||||||
@@ -106,6 +106,6 @@ int SDL_DrawPoints(SDL_Surface *dst, const SDL_Point *points, int count,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_SW && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_SW
|
||||||
|
|
||||||
#include "../SDL_sysrender.h"
|
#include "../SDL_sysrender.h"
|
||||||
#include "SDL_render_sw_c.h"
|
#include "SDL_render_sw_c.h"
|
||||||
@@ -1093,6 +1093,6 @@ SDL_RenderDriver SW_RenderDriver = {
|
|||||||
0}
|
0}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -30,7 +30,7 @@ Andreas Schiffler -- aschiffler at ferzkopp dot net
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_SW && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_SW
|
||||||
|
|
||||||
#if defined(__WIN32__) || defined(__GDK__)
|
#if defined(__WIN32__) || defined(__GDK__)
|
||||||
#include "../../core/windows/SDL_windows.h"
|
#include "../../core/windows/SDL_windows.h"
|
||||||
@@ -617,4 +617,4 @@ SDL_Surface *SDLgfx_rotateSurface(SDL_Surface *src, double angle, int smooth, in
|
|||||||
return rz_dst;
|
return rz_dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_SW && !defined(SDL_RENDER_DISABLED)
|
#if SDL_VIDEO_RENDER_SW
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
@@ -935,6 +935,6 @@ static void SDL_BlitTriangle_Slow(SDL_BlitInfo *info,
|
|||||||
TRIANGLE_END_LOOP
|
TRIANGLE_END_LOOP
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_RENDER_VITA_GXM
|
#if SDL_VIDEO_RENDER_VITA_GXM
|
||||||
|
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
#include "../SDL_sysrender.h"
|
#include "../SDL_sysrender.h"
|
||||||
@@ -956,6 +956,7 @@ static int VITA_GXM_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *c
|
|||||||
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
if (SDL_memcmp(viewport, &cmd->data.viewport.rect, sizeof(cmd->data.viewport.rect)) != 0) {
|
||||||
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
SDL_copyp(viewport, &cmd->data.viewport.rect);
|
||||||
data->drawstate.viewport_dirty = SDL_TRUE;
|
data->drawstate.viewport_dirty = SDL_TRUE;
|
||||||
|
data->drawstate.cliprect_dirty = SDL_TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_RENDER_VITA_GXM
|
#if SDL_VIDEO_RENDER_VITA_GXM
|
||||||
|
|
||||||
#include "SDL_render_vita_gxm_memory.h"
|
#include "SDL_render_vita_gxm_memory.h"
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_RENDER_VITA_GXM
|
#if SDL_VIDEO_RENDER_VITA_GXM
|
||||||
|
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
#include "../SDL_sysrender.h"
|
#include "../SDL_sysrender.h"
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#define SDL_sysvideo_h_
|
#define SDL_sysvideo_h_
|
||||||
|
|
||||||
#include "SDL_messagebox.h"
|
#include "SDL_messagebox.h"
|
||||||
|
#include "SDL_mouse.h"
|
||||||
#include "SDL_shape.h"
|
#include "SDL_shape.h"
|
||||||
#include "SDL_thread.h"
|
#include "SDL_thread.h"
|
||||||
#include "SDL_metal.h"
|
#include "SDL_metal.h"
|
||||||
@@ -529,6 +530,10 @@ extern int SDL_GetPointDisplayIndex(const SDL_Point *point);
|
|||||||
|
|
||||||
extern int SDL_GL_SwapWindowWithResult(SDL_Window *window);
|
extern int SDL_GL_SwapWindowWithResult(SDL_Window *window);
|
||||||
|
|
||||||
|
#if defined(SDL_VIDEO_DRIVER_X11) || defined(SDL_VIDEO_DRIVER_WAYLAND) || defined(SDL_VIDEO_DRIVER_EMSCRIPTEN)
|
||||||
|
const char *SDL_GetCSSCursorName(SDL_SystemCursor id, const char **fallback_name);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* SDL_sysvideo_h_ */
|
#endif /* SDL_sysvideo_h_ */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -4780,4 +4780,93 @@ void SDL_Metal_GetDrawableSize(SDL_Window *window, int *w, int *h)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(SDL_VIDEO_DRIVER_X11) || defined(SDL_VIDEO_DRIVER_WAYLAND) || defined(SDL_VIDEO_DRIVER_EMSCRIPTEN)
|
||||||
|
const char *SDL_GetCSSCursorName(SDL_SystemCursor id, const char **fallback_name)
|
||||||
|
{
|
||||||
|
/* Reference: https://www.w3.org/TR/css-ui-4/#cursor */
|
||||||
|
/* Also in: https://www.freedesktop.org/wiki/Specifications/cursor-spec/ */
|
||||||
|
switch (id) {
|
||||||
|
case SDL_SYSTEM_CURSOR_ARROW:
|
||||||
|
return "default";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_IBEAM:
|
||||||
|
return "text";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WAIT:
|
||||||
|
return "wait";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_CROSSHAIR:
|
||||||
|
return "crosshair";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WAITARROW:
|
||||||
|
return "progress";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZENWSE:
|
||||||
|
if (fallback_name) {
|
||||||
|
/* only a single arrow */
|
||||||
|
*fallback_name = "nw-resize";
|
||||||
|
}
|
||||||
|
return "nwse-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZENESW:
|
||||||
|
if (fallback_name) {
|
||||||
|
/* only a single arrow */
|
||||||
|
*fallback_name = "ne-resize";
|
||||||
|
}
|
||||||
|
return "nesw-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZEWE:
|
||||||
|
if (fallback_name) {
|
||||||
|
*fallback_name = "col-resize";
|
||||||
|
}
|
||||||
|
return "ew-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZENS:
|
||||||
|
if (fallback_name) {
|
||||||
|
*fallback_name = "row-resize";
|
||||||
|
}
|
||||||
|
return "ns-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZEALL:
|
||||||
|
return "all-scroll";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_NO:
|
||||||
|
return "not-allowed";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_HAND:
|
||||||
|
return "pointer";
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT:
|
||||||
|
return "nw-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WINDOW_TOP:
|
||||||
|
return "n-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT:
|
||||||
|
return "ne-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT:
|
||||||
|
return "e-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT:
|
||||||
|
return "se-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM:
|
||||||
|
return "s-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT:
|
||||||
|
return "sw-resize";
|
||||||
|
|
||||||
|
case SDL_SYSTEM_CURSOR_WINDOW_LEFT:
|
||||||
|
return "w-resize";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
default:
|
||||||
|
SDL_assert(0);
|
||||||
|
return "default";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -150,10 +150,7 @@ void Android_PumpEvents_Blocking(_THIS)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Make sure SW Keyboard is restored when an app becomes foreground */
|
/* Make sure SW Keyboard is restored when an app becomes foreground */
|
||||||
if (SDL_IsTextInputActive() &&
|
Android_RestoreScreenKeyboardOnResume(_this, Android_Window);
|
||||||
SDL_GetHintBoolean(SDL_HINT_ENABLE_SCREEN_KEYBOARD, SDL_TRUE)) {
|
|
||||||
Android_ShowScreenKeyboard(_this, Android_Window); /* Only showTextInput */
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (videodata->isPausing || SDL_SemTryWait(Android_PauseSem) == 0) {
|
if (videodata->isPausing || SDL_SemTryWait(Android_PauseSem) == 0) {
|
||||||
@@ -235,10 +232,7 @@ void Android_PumpEvents_NonBlocking(_THIS)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Make sure SW Keyboard is restored when an app becomes foreground */
|
/* Make sure SW Keyboard is restored when an app becomes foreground */
|
||||||
if (SDL_IsTextInputActive() &&
|
Android_RestoreScreenKeyboardOnResume(_this, Android_Window);
|
||||||
SDL_GetHintBoolean(SDL_HINT_ENABLE_SCREEN_KEYBOARD, SDL_TRUE)) {
|
|
||||||
Android_ShowScreenKeyboard(_this, Android_Window); /* Only showTextInput */
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (videodata->isPausing || SDL_SemTryWait(Android_PauseSem) == 0) {
|
if (videodata->isPausing || SDL_SemTryWait(Android_PauseSem) == 0) {
|
||||||
|
|||||||
@@ -313,6 +313,8 @@ static SDL_Scancode Android_Keycodes[] = {
|
|||||||
SDL_SCANCODE_PASTE, /* AKEYCODE_PASTE */
|
SDL_SCANCODE_PASTE, /* AKEYCODE_PASTE */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static SDL_bool SDL_screen_keyboard_shown;
|
||||||
|
|
||||||
static SDL_Scancode TranslateKeycode(int keycode)
|
static SDL_Scancode TranslateKeycode(int keycode)
|
||||||
{
|
{
|
||||||
SDL_Scancode scancode = SDL_SCANCODE_UNKNOWN;
|
SDL_Scancode scancode = SDL_SCANCODE_UNKNOWN;
|
||||||
@@ -345,11 +347,20 @@ void Android_ShowScreenKeyboard(_THIS, SDL_Window *window)
|
|||||||
{
|
{
|
||||||
SDL_VideoData *videodata = _this->driverdata;
|
SDL_VideoData *videodata = _this->driverdata;
|
||||||
Android_JNI_ShowScreenKeyboard(&videodata->textRect);
|
Android_JNI_ShowScreenKeyboard(&videodata->textRect);
|
||||||
|
SDL_screen_keyboard_shown = SDL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Android_HideScreenKeyboard(_THIS, SDL_Window *window)
|
void Android_HideScreenKeyboard(_THIS, SDL_Window *window)
|
||||||
{
|
{
|
||||||
Android_JNI_HideScreenKeyboard();
|
Android_JNI_HideScreenKeyboard();
|
||||||
|
SDL_screen_keyboard_shown = SDL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Android_RestoreScreenKeyboardOnResume(_THIS, SDL_Window *window)
|
||||||
|
{
|
||||||
|
if (SDL_screen_keyboard_shown) {
|
||||||
|
Android_ShowScreenKeyboard(_this, window);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_bool Android_IsScreenKeyboardShown(_THIS, SDL_Window *window)
|
SDL_bool Android_IsScreenKeyboardShown(_THIS, SDL_Window *window)
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ extern int Android_OnKeyUp(int keycode);
|
|||||||
extern SDL_bool Android_HasScreenKeyboardSupport(_THIS);
|
extern SDL_bool Android_HasScreenKeyboardSupport(_THIS);
|
||||||
extern void Android_ShowScreenKeyboard(_THIS, SDL_Window *window);
|
extern void Android_ShowScreenKeyboard(_THIS, SDL_Window *window);
|
||||||
extern void Android_HideScreenKeyboard(_THIS, SDL_Window *window);
|
extern void Android_HideScreenKeyboard(_THIS, SDL_Window *window);
|
||||||
|
extern void Android_RestoreScreenKeyboardOnResume(_THIS, SDL_Window *window);
|
||||||
extern SDL_bool Android_IsScreenKeyboardShown(_THIS, SDL_Window *window);
|
extern SDL_bool Android_IsScreenKeyboardShown(_THIS, SDL_Window *window);
|
||||||
extern void Android_SetTextInputRect(_THIS, const SDL_Rect *rect);
|
extern void Android_SetTextInputRect(_THIS, const SDL_Rect *rect);
|
||||||
|
|
||||||
|
|||||||
@@ -141,49 +141,7 @@ static SDL_Cursor *Emscripten_CreateCursor(SDL_Surface *surface, int hot_x, int
|
|||||||
|
|
||||||
static SDL_Cursor *Emscripten_CreateSystemCursor(SDL_SystemCursor id)
|
static SDL_Cursor *Emscripten_CreateSystemCursor(SDL_SystemCursor id)
|
||||||
{
|
{
|
||||||
const char *cursor_name = NULL;
|
const char *cursor_name = SDL_GetCSSCursorName(id, NULL);
|
||||||
|
|
||||||
switch (id) {
|
|
||||||
case SDL_SYSTEM_CURSOR_ARROW:
|
|
||||||
cursor_name = "default";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_IBEAM:
|
|
||||||
cursor_name = "text";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_WAIT:
|
|
||||||
cursor_name = "wait";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_CROSSHAIR:
|
|
||||||
cursor_name = "crosshair";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_WAITARROW:
|
|
||||||
cursor_name = "progress";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENWSE:
|
|
||||||
cursor_name = "nwse-resize";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENESW:
|
|
||||||
cursor_name = "nesw-resize";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZEWE:
|
|
||||||
cursor_name = "ew-resize";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENS:
|
|
||||||
cursor_name = "ns-resize";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZEALL:
|
|
||||||
cursor_name = "move";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_NO:
|
|
||||||
cursor_name = "not-allowed";
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_HAND:
|
|
||||||
cursor_name = "pointer";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
SDL_assert(0);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Emscripten_CreateCursorFromString(cursor_name, SDL_FALSE);
|
return Emscripten_CreateCursorFromString(cursor_name, SDL_FALSE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -342,6 +342,7 @@ static void Emscripten_SetWindowFullscreen(_THIS, SDL_Window *window, SDL_VideoD
|
|||||||
SDL_bool is_desktop_fullscreen = (window->flags & SDL_WINDOW_FULLSCREEN_DESKTOP) == SDL_WINDOW_FULLSCREEN_DESKTOP;
|
SDL_bool is_desktop_fullscreen = (window->flags & SDL_WINDOW_FULLSCREEN_DESKTOP) == SDL_WINDOW_FULLSCREEN_DESKTOP;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
|
SDL_zero(strategy);
|
||||||
strategy.scaleMode = is_desktop_fullscreen ? EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH : EMSCRIPTEN_FULLSCREEN_SCALE_ASPECT;
|
strategy.scaleMode = is_desktop_fullscreen ? EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH : EMSCRIPTEN_FULLSCREEN_SCALE_ASPECT;
|
||||||
|
|
||||||
if (!is_desktop_fullscreen) {
|
if (!is_desktop_fullscreen) {
|
||||||
|
|||||||
@@ -27,6 +27,14 @@ extern "C" {
|
|||||||
typedef void CAMetalLayer;
|
typedef void CAMetalLayer;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define SDL_UNSAFE_UNRETAINED
|
||||||
|
#if defined(__OBJC__) && defined(__has_feature)
|
||||||
|
#if __has_feature(objc_arc)
|
||||||
|
#undef SDL_UNSAFE_UNRETAINED
|
||||||
|
#define SDL_UNSAFE_UNRETAINED __unsafe_unretained
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
|
#define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
|
||||||
#define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
|
#define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
|
||||||
typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
|
typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
|
||||||
@@ -34,7 +42,7 @@ typedef struct VkMetalSurfaceCreateInfoEXT {
|
|||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
VkMetalSurfaceCreateFlagsEXT flags;
|
VkMetalSurfaceCreateFlagsEXT flags;
|
||||||
const CAMetalLayer* pLayer;
|
const CAMetalLayer SDL_UNSAFE_UNRETAINED *pLayer;
|
||||||
} VkMetalSurfaceCreateInfoEXT;
|
} VkMetalSurfaceCreateInfoEXT;
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
@@ -113,27 +121,27 @@ typedef struct VkExportMetalObjectsInfoEXT {
|
|||||||
typedef struct VkExportMetalDeviceInfoEXT {
|
typedef struct VkExportMetalDeviceInfoEXT {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
MTLDevice_id mtlDevice;
|
MTLDevice_id SDL_UNSAFE_UNRETAINED mtlDevice;
|
||||||
} VkExportMetalDeviceInfoEXT;
|
} VkExportMetalDeviceInfoEXT;
|
||||||
|
|
||||||
typedef struct VkExportMetalCommandQueueInfoEXT {
|
typedef struct VkExportMetalCommandQueueInfoEXT {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
VkQueue queue;
|
VkQueue queue;
|
||||||
MTLCommandQueue_id mtlCommandQueue;
|
MTLCommandQueue_id SDL_UNSAFE_UNRETAINED mtlCommandQueue;
|
||||||
} VkExportMetalCommandQueueInfoEXT;
|
} VkExportMetalCommandQueueInfoEXT;
|
||||||
|
|
||||||
typedef struct VkExportMetalBufferInfoEXT {
|
typedef struct VkExportMetalBufferInfoEXT {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
VkDeviceMemory memory;
|
VkDeviceMemory memory;
|
||||||
MTLBuffer_id mtlBuffer;
|
MTLBuffer_id SDL_UNSAFE_UNRETAINED mtlBuffer;
|
||||||
} VkExportMetalBufferInfoEXT;
|
} VkExportMetalBufferInfoEXT;
|
||||||
|
|
||||||
typedef struct VkImportMetalBufferInfoEXT {
|
typedef struct VkImportMetalBufferInfoEXT {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
MTLBuffer_id mtlBuffer;
|
MTLBuffer_id SDL_UNSAFE_UNRETAINED mtlBuffer;
|
||||||
} VkImportMetalBufferInfoEXT;
|
} VkImportMetalBufferInfoEXT;
|
||||||
|
|
||||||
typedef struct VkExportMetalTextureInfoEXT {
|
typedef struct VkExportMetalTextureInfoEXT {
|
||||||
@@ -143,14 +151,14 @@ typedef struct VkExportMetalTextureInfoEXT {
|
|||||||
VkImageView imageView;
|
VkImageView imageView;
|
||||||
VkBufferView bufferView;
|
VkBufferView bufferView;
|
||||||
VkImageAspectFlagBits plane;
|
VkImageAspectFlagBits plane;
|
||||||
MTLTexture_id mtlTexture;
|
MTLTexture_id SDL_UNSAFE_UNRETAINED mtlTexture;
|
||||||
} VkExportMetalTextureInfoEXT;
|
} VkExportMetalTextureInfoEXT;
|
||||||
|
|
||||||
typedef struct VkImportMetalTextureInfoEXT {
|
typedef struct VkImportMetalTextureInfoEXT {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
VkImageAspectFlagBits plane;
|
VkImageAspectFlagBits plane;
|
||||||
MTLTexture_id mtlTexture;
|
MTLTexture_id SDL_UNSAFE_UNRETAINED mtlTexture;
|
||||||
} VkImportMetalTextureInfoEXT;
|
} VkImportMetalTextureInfoEXT;
|
||||||
|
|
||||||
typedef struct VkExportMetalIOSurfaceInfoEXT {
|
typedef struct VkExportMetalIOSurfaceInfoEXT {
|
||||||
@@ -171,13 +179,13 @@ typedef struct VkExportMetalSharedEventInfoEXT {
|
|||||||
const void* pNext;
|
const void* pNext;
|
||||||
VkSemaphore semaphore;
|
VkSemaphore semaphore;
|
||||||
VkEvent event;
|
VkEvent event;
|
||||||
MTLSharedEvent_id mtlSharedEvent;
|
MTLSharedEvent_id SDL_UNSAFE_UNRETAINED mtlSharedEvent;
|
||||||
} VkExportMetalSharedEventInfoEXT;
|
} VkExportMetalSharedEventInfoEXT;
|
||||||
|
|
||||||
typedef struct VkImportMetalSharedEventInfoEXT {
|
typedef struct VkImportMetalSharedEventInfoEXT {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
MTLSharedEvent_id mtlSharedEvent;
|
MTLSharedEvent_id SDL_UNSAFE_UNRETAINED mtlSharedEvent;
|
||||||
} VkImportMetalSharedEventInfoEXT;
|
} VkImportMetalSharedEventInfoEXT;
|
||||||
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
|
typedef void (VKAPI_PTR *PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
|
||||||
|
|||||||
@@ -26,13 +26,13 @@
|
|||||||
#include "SDL_vitamessagebox.h"
|
#include "SDL_vitamessagebox.h"
|
||||||
#include <psp2/message_dialog.h>
|
#include <psp2/message_dialog.h>
|
||||||
|
|
||||||
#ifdef SDL_VIDEO_RENDER_VITA_GXM
|
#if SDL_VIDEO_RENDER_VITA_GXM
|
||||||
#include "../../render/vitagxm/SDL_render_vita_gxm_tools.h"
|
#include "../../render/vitagxm/SDL_render_vita_gxm_tools.h"
|
||||||
#endif /* SDL_VIDEO_RENDER_VITA_GXM */
|
#endif /* SDL_VIDEO_RENDER_VITA_GXM */
|
||||||
|
|
||||||
int VITA_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
int VITA_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
|
||||||
{
|
{
|
||||||
#ifdef SDL_VIDEO_RENDER_VITA_GXM
|
#if SDL_VIDEO_RENDER_VITA_GXM
|
||||||
SceMsgDialogParam param;
|
SceMsgDialogParam param;
|
||||||
SceMsgDialogUserMessageParam msgParam;
|
SceMsgDialogUserMessageParam msgParam;
|
||||||
SceMsgDialogButtonsParam buttonParam;
|
SceMsgDialogButtonsParam buttonParam;
|
||||||
|
|||||||
@@ -994,6 +994,13 @@ static void keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (input->xkb.keymap != NULL) {
|
||||||
|
/* if there's already a keymap loaded, throw it away rather than leaking it before
|
||||||
|
* parsing the new one
|
||||||
|
*/
|
||||||
|
WAYLAND_xkb_keymap_unref(input->xkb.keymap);
|
||||||
|
input->xkb.keymap = NULL;
|
||||||
|
}
|
||||||
input->xkb.keymap = WAYLAND_xkb_keymap_new_from_string(input->display->xkb_context,
|
input->xkb.keymap = WAYLAND_xkb_keymap_new_from_string(input->display->xkb_context,
|
||||||
map_str,
|
map_str,
|
||||||
XKB_KEYMAP_FORMAT_TEXT_V1,
|
XKB_KEYMAP_FORMAT_TEXT_V1,
|
||||||
@@ -1016,6 +1023,13 @@ static void keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
|||||||
input->xkb.idx_caps = 1 << GET_MOD_INDEX(CAPS);
|
input->xkb.idx_caps = 1 << GET_MOD_INDEX(CAPS);
|
||||||
#undef GET_MOD_INDEX
|
#undef GET_MOD_INDEX
|
||||||
|
|
||||||
|
if (input->xkb.state != NULL) {
|
||||||
|
/* if there's already a state, throw it away rather than leaking it before
|
||||||
|
* trying to create a new one with the new keymap.
|
||||||
|
*/
|
||||||
|
WAYLAND_xkb_state_unref(input->xkb.state);
|
||||||
|
input->xkb.state = NULL;
|
||||||
|
}
|
||||||
input->xkb.state = WAYLAND_xkb_state_new(input->xkb.keymap);
|
input->xkb.state = WAYLAND_xkb_state_new(input->xkb.keymap);
|
||||||
if (!input->xkb.state) {
|
if (!input->xkb.state) {
|
||||||
SDL_SetError("failed to create XKB state\n");
|
SDL_SetError("failed to create XKB state\n");
|
||||||
@@ -1061,10 +1075,18 @@ static void keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Set up XKB compose table */
|
/* Set up XKB compose table */
|
||||||
|
if (input->xkb.compose_table != NULL) {
|
||||||
|
WAYLAND_xkb_compose_table_unref(input->xkb.compose_table);
|
||||||
|
input->xkb.compose_table = NULL;
|
||||||
|
}
|
||||||
input->xkb.compose_table = WAYLAND_xkb_compose_table_new_from_locale(input->display->xkb_context,
|
input->xkb.compose_table = WAYLAND_xkb_compose_table_new_from_locale(input->display->xkb_context,
|
||||||
locale, XKB_COMPOSE_COMPILE_NO_FLAGS);
|
locale, XKB_COMPOSE_COMPILE_NO_FLAGS);
|
||||||
if (input->xkb.compose_table) {
|
if (input->xkb.compose_table) {
|
||||||
/* Set up XKB compose state */
|
/* Set up XKB compose state */
|
||||||
|
if (input->xkb.compose_state != NULL) {
|
||||||
|
WAYLAND_xkb_compose_state_unref(input->xkb.compose_state);
|
||||||
|
input->xkb.compose_state = NULL;
|
||||||
|
}
|
||||||
input->xkb.compose_state = WAYLAND_xkb_compose_state_new(input->xkb.compose_table,
|
input->xkb.compose_state = WAYLAND_xkb_compose_state_new(input->xkb.compose_table,
|
||||||
XKB_COMPOSE_STATE_NO_FLAGS);
|
XKB_COMPOSE_STATE_NO_FLAGS);
|
||||||
if (!input->xkb.compose_state) {
|
if (!input->xkb.compose_state) {
|
||||||
@@ -1299,6 +1321,12 @@ static void keyboard_handle_modifiers(void *data, struct wl_keyboard *keyboard,
|
|||||||
Wayland_Keymap keymap;
|
Wayland_Keymap keymap;
|
||||||
const uint32_t modstate = (mods_depressed | mods_latched | mods_locked);
|
const uint32_t modstate = (mods_depressed | mods_latched | mods_locked);
|
||||||
|
|
||||||
|
if (input->xkb.state == NULL) {
|
||||||
|
/* if we get a modifier notification before the keymap, there's nothing we can do with the information
|
||||||
|
*/
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
WAYLAND_xkb_state_update_mask(input->xkb.state, mods_depressed, mods_latched,
|
WAYLAND_xkb_state_update_mask(input->xkb.state, mods_depressed, mods_latched,
|
||||||
mods_locked, 0, 0, group);
|
mods_locked, 0, 0, group);
|
||||||
|
|
||||||
|
|||||||
@@ -156,10 +156,35 @@ static SDL_bool wayland_dbus_read_cursor_theme(char **theme)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
static const char *GetLegacyCursorName(SDL_SystemCursor system_cursor)
|
||||||
|
{
|
||||||
|
switch (system_cursor) {
|
||||||
|
case SDL_SYSTEM_CURSOR_ARROW: return "left_ptr";
|
||||||
|
case SDL_SYSTEM_CURSOR_IBEAM: return "xterm";
|
||||||
|
case SDL_SYSTEM_CURSOR_WAIT: return "watch";
|
||||||
|
case SDL_SYSTEM_CURSOR_CROSSHAIR: return "tcross";
|
||||||
|
case SDL_SYSTEM_CURSOR_WAITARROW: return "watch";
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZENWSE: return "top_left_corner";
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZENESW: return "top_right_corner";
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZEWE: return "sb_h_double_arrow";
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZENS: return "sb_v_double_arrow";
|
||||||
|
case SDL_SYSTEM_CURSOR_SIZEALL: return "fleur";
|
||||||
|
case SDL_SYSTEM_CURSOR_NO: return "pirate";
|
||||||
|
case SDL_SYSTEM_CURSOR_HAND: return "hand2";
|
||||||
|
case SDL_NUM_SYSTEM_CURSORS: break; /* so the compiler might notice if an enum value is missing here. */
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_assert(0);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static SDL_bool wayland_get_system_cursor(SDL_VideoData *vdata, Wayland_CursorData *cdata, float *scale)
|
static SDL_bool wayland_get_system_cursor(SDL_VideoData *vdata, Wayland_CursorData *cdata, float *scale)
|
||||||
{
|
{
|
||||||
struct wl_cursor_theme *theme = NULL;
|
struct wl_cursor_theme *theme = NULL;
|
||||||
struct wl_cursor *cursor;
|
struct wl_cursor *cursor;
|
||||||
|
const char *cssname = NULL;
|
||||||
|
const char *fallback_name = NULL;
|
||||||
|
|
||||||
char *xcursor_size;
|
char *xcursor_size;
|
||||||
int size = 0;
|
int size = 0;
|
||||||
@@ -231,54 +256,28 @@ static SDL_bool wayland_get_system_cursor(SDL_VideoData *vdata, Wayland_CursorDa
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Next, find the cursor from the theme... */
|
/* Next, find the cursor from the theme... */
|
||||||
switch (cdata->system_cursor) {
|
cssname = SDL_GetCSSCursorName(cdata->system_cursor, &fallback_name);
|
||||||
case SDL_SYSTEM_CURSOR_ARROW:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "left_ptr");
|
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, cssname);
|
||||||
break;
|
if (!cursor && fallback_name) {
|
||||||
case SDL_SYSTEM_CURSOR_IBEAM:
|
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, fallback_name);
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "xterm");
|
}
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_WAIT:
|
/* try the legacy name if the fancy new CSS name doesn't work... */
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "watch");
|
if (!cursor) {
|
||||||
break;
|
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, GetLegacyCursorName(cdata->system_cursor));
|
||||||
case SDL_SYSTEM_CURSOR_CROSSHAIR:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "tcross");
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_WAITARROW:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "watch");
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENWSE:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "top_left_corner");
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENESW:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "top_right_corner");
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZEWE:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "sb_h_double_arrow");
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENS:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "sb_v_double_arrow");
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZEALL:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "fleur");
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_NO:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "pirate");
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_HAND:
|
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "hand2");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
SDL_assert(0);
|
|
||||||
return SDL_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fallback to the default cursor if the chosen one wasn't found */
|
/* Fallback to the default cursor if the chosen one wasn't found */
|
||||||
|
if (!cursor) {
|
||||||
|
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "default");
|
||||||
|
}
|
||||||
|
/* Try the old X11 name as a last resort */
|
||||||
if (!cursor) {
|
if (!cursor) {
|
||||||
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "left_ptr");
|
cursor = WAYLAND_wl_cursor_theme_get_cursor(theme, "left_ptr");
|
||||||
if (!cursor) {
|
}
|
||||||
return SDL_FALSE;
|
if (!cursor) {
|
||||||
}
|
return SDL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ... Set the cursor data, finally. */
|
/* ... Set the cursor data, finally. */
|
||||||
|
|||||||
@@ -478,17 +478,8 @@ static void display_handle_geometry(void *data,
|
|||||||
|
|
||||||
{
|
{
|
||||||
SDL_WaylandOutputData *driverdata = data;
|
SDL_WaylandOutputData *driverdata = data;
|
||||||
SDL_VideoDisplay *display;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (driverdata->wl_output_done_count) {
|
if (driverdata->wl_output_done_count) {
|
||||||
/* Clear the wl_output ref so Reset doesn't free it */
|
|
||||||
display = SDL_GetDisplay(driverdata->index);
|
|
||||||
for (i = 0; i < display->num_display_modes; i += 1) {
|
|
||||||
display->display_modes[i].driverdata = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Okay, now it's safe to reset */
|
|
||||||
SDL_ResetDisplayModes(driverdata->index);
|
SDL_ResetDisplayModes(driverdata->index);
|
||||||
|
|
||||||
/* The display has officially started over. */
|
/* The display has officially started over. */
|
||||||
@@ -600,7 +591,6 @@ static void display_handle_done(void *data,
|
|||||||
native_mode.h = driverdata->native_height;
|
native_mode.h = driverdata->native_height;
|
||||||
}
|
}
|
||||||
native_mode.refresh_rate = (int)SDL_round(driverdata->refresh / 1000.0); /* mHz to Hz */
|
native_mode.refresh_rate = (int)SDL_round(driverdata->refresh / 1000.0); /* mHz to Hz */
|
||||||
native_mode.driverdata = driverdata->output;
|
|
||||||
|
|
||||||
/* The scaled desktop mode */
|
/* The scaled desktop mode */
|
||||||
SDL_zero(desktop_mode);
|
SDL_zero(desktop_mode);
|
||||||
@@ -622,7 +612,6 @@ static void display_handle_done(void *data,
|
|||||||
desktop_mode.h = driverdata->width;
|
desktop_mode.h = driverdata->width;
|
||||||
}
|
}
|
||||||
desktop_mode.refresh_rate = (int)SDL_round(driverdata->refresh / 1000.0); /* mHz to Hz */
|
desktop_mode.refresh_rate = (int)SDL_round(driverdata->refresh / 1000.0); /* mHz to Hz */
|
||||||
desktop_mode.driverdata = driverdata->output;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The native display mode is only exposed separately from the desktop size if the
|
* The native display mode is only exposed separately from the desktop size if the
|
||||||
@@ -1014,7 +1003,7 @@ static int Wayland_GetDisplayDPI(_THIS, SDL_VideoDisplay *sdl_display, float *dd
|
|||||||
static void Wayland_VideoCleanup(_THIS)
|
static void Wayland_VideoCleanup(_THIS)
|
||||||
{
|
{
|
||||||
SDL_VideoData *data = _this->driverdata;
|
SDL_VideoData *data = _this->driverdata;
|
||||||
int i, j;
|
int i;
|
||||||
|
|
||||||
Wayland_QuitWin(data);
|
Wayland_QuitWin(data);
|
||||||
Wayland_FiniMouse(data);
|
Wayland_FiniMouse(data);
|
||||||
@@ -1030,10 +1019,6 @@ static void Wayland_VideoCleanup(_THIS)
|
|||||||
SDL_free(display->driverdata);
|
SDL_free(display->driverdata);
|
||||||
display->driverdata = NULL;
|
display->driverdata = NULL;
|
||||||
|
|
||||||
for (j = display->num_display_modes; j--;) {
|
|
||||||
display->display_modes[j].driverdata = NULL;
|
|
||||||
}
|
|
||||||
display->desktop_mode.driverdata = NULL;
|
|
||||||
SDL_DelVideoDisplay(i);
|
SDL_DelVideoDisplay(i);
|
||||||
}
|
}
|
||||||
data->output_list = NULL;
|
data->output_list = NULL;
|
||||||
|
|||||||
@@ -1994,6 +1994,13 @@ int Wayland_CreateWindow(_THIS, SDL_Window *window)
|
|||||||
c = _this->driverdata;
|
c = _this->driverdata;
|
||||||
window->driverdata = data;
|
window->driverdata = data;
|
||||||
|
|
||||||
|
if (!(window->flags & SDL_WINDOW_VULKAN)) {
|
||||||
|
if (!(window->flags & SDL_WINDOW_OPENGL)) {
|
||||||
|
SDL_GL_LoadLibrary(NULL);
|
||||||
|
window->flags |= SDL_WINDOW_OPENGL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (window->x == SDL_WINDOWPOS_UNDEFINED) {
|
if (window->x == SDL_WINDOWPOS_UNDEFINED) {
|
||||||
window->x = 0;
|
window->x = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1803,7 +1803,10 @@ void SDL_SetWindowsMessageHook(SDL_WindowsMessageHook callback, void *userdata)
|
|||||||
int WIN_WaitEventTimeout(_THIS, int timeout)
|
int WIN_WaitEventTimeout(_THIS, int timeout)
|
||||||
{
|
{
|
||||||
if (g_WindowsEnableMessageLoop) {
|
if (g_WindowsEnableMessageLoop) {
|
||||||
if (MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD)timeout, QS_ALLINPUT)) {
|
DWORD dwMilliseconds, ret;
|
||||||
|
dwMilliseconds = timeout < 0 ? INFINITE : (DWORD)timeout;
|
||||||
|
ret = MsgWaitForMultipleObjects(0, NULL, FALSE, dwMilliseconds, QS_ALLINPUT);
|
||||||
|
if (ret == WAIT_OBJECT_0) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -1321,9 +1321,9 @@ STDMETHODIMP IPPASink_QueryInterface(TSFSink *sink, REFIID riid, PVOID *ppv)
|
|||||||
|
|
||||||
STDMETHODIMP IPPASink_OnActivated(TSFSink *sink, DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID catid, REFGUID guidProfile, HKL hkl, DWORD dwFlags)
|
STDMETHODIMP IPPASink_OnActivated(TSFSink *sink, DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID catid, REFGUID guidProfile, HKL hkl, DWORD dwFlags)
|
||||||
{
|
{
|
||||||
static const GUID TF_PROFILE_DAYI = { 0x037B2C25, 0x480C, 0x4D7F, { 0xB0, 0x27, 0xD6, 0xCA, 0x6B, 0x69, 0x78, 0x8A } };
|
static const GUID SDL_TF_PROFILE_DAYI = { 0x037B2C25, 0x480C, 0x4D7F, { 0xB0, 0x27, 0xD6, 0xCA, 0x6B, 0x69, 0x78, 0x8A } };
|
||||||
SDL_VideoData *videodata = (SDL_VideoData *)sink->data;
|
SDL_VideoData *videodata = (SDL_VideoData *)sink->data;
|
||||||
videodata->ime_candlistindexbase = WIN_IsEqualGUID(&TF_PROFILE_DAYI, guidProfile) ? 0 : 1;
|
videodata->ime_candlistindexbase = WIN_IsEqualGUID(&SDL_TF_PROFILE_DAYI, guidProfile) ? 0 : 1;
|
||||||
if (WIN_IsEqualIID(catid, &GUID_TFCAT_TIP_KEYBOARD) && (dwFlags & TF_IPSINK_FLAG_ACTIVE)) {
|
if (WIN_IsEqualIID(catid, &GUID_TFCAT_TIP_KEYBOARD) && (dwFlags & TF_IPSINK_FLAG_ACTIVE)) {
|
||||||
IME_InputLangChanged((SDL_VideoData *)sink->data);
|
IME_InputLangChanged((SDL_VideoData *)sink->data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -282,6 +282,8 @@ static void WIN_WarpMouse(SDL_Window *window, int x, int y)
|
|||||||
SDL_WindowData *data = (SDL_WindowData *)window->driverdata;
|
SDL_WindowData *data = (SDL_WindowData *)window->driverdata;
|
||||||
HWND hwnd = data->hwnd;
|
HWND hwnd = data->hwnd;
|
||||||
POINT pt;
|
POINT pt;
|
||||||
|
int warp_x = x;
|
||||||
|
int warp_y = y;
|
||||||
|
|
||||||
/* Don't warp the mouse while we're doing a modal interaction */
|
/* Don't warp the mouse while we're doing a modal interaction */
|
||||||
if (data->in_title_click || data->focus_click_pending) {
|
if (data->in_title_click || data->focus_click_pending) {
|
||||||
@@ -295,7 +297,7 @@ static void WIN_WarpMouse(SDL_Window *window, int x, int y)
|
|||||||
WIN_SetCursorPos(pt.x, pt.y);
|
WIN_SetCursorPos(pt.x, pt.y);
|
||||||
|
|
||||||
/* Send the exact mouse motion associated with this warp */
|
/* Send the exact mouse motion associated with this warp */
|
||||||
SDL_SendMouseMotion(window, SDL_GetMouse()->mouseID, 0, x, y);
|
SDL_SendMouseMotion(window, SDL_GetMouse()->mouseID, 0, warp_x, warp_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int WIN_WarpMouseGlobal(int x, int y)
|
static int WIN_WarpMouseGlobal(int x, int y)
|
||||||
|
|||||||
@@ -549,11 +549,11 @@ static int WIN_GL_ChoosePixelFormatARB(_THIS, int *iAttribs, float *fAttribs)
|
|||||||
_this->gl_data->wglChoosePixelFormatARB(hdc, iAttribs, fAttribs,
|
_this->gl_data->wglChoosePixelFormatARB(hdc, iAttribs, fAttribs,
|
||||||
1, &pixel_format,
|
1, &pixel_format,
|
||||||
&matching);
|
&matching);
|
||||||
}
|
|
||||||
|
|
||||||
/* Check whether we actually got an SRGB capable buffer */
|
/* Check whether we actually got an SRGB capable buffer */
|
||||||
_this->gl_data->wglGetPixelFormatAttribivARB(hdc, pixel_format, 0, 1, &qAttrib, &srgb);
|
_this->gl_data->wglGetPixelFormatAttribivARB(hdc, pixel_format, 0, 1, &qAttrib, &srgb);
|
||||||
_this->gl_config.framebuffer_srgb_capable = srgb;
|
_this->gl_config.framebuffer_srgb_capable = srgb;
|
||||||
|
}
|
||||||
|
|
||||||
_this->gl_data->wglMakeCurrent(hdc, NULL);
|
_this->gl_data->wglMakeCurrent(hdc, NULL);
|
||||||
_this->gl_data->wglDeleteContext(hglrc);
|
_this->gl_data->wglDeleteContext(hglrc);
|
||||||
|
|||||||
@@ -220,64 +220,53 @@ static SDL_Cursor *X11_CreateCursor(SDL_Surface *surface, int hot_x, int hot_y)
|
|||||||
return cursor;
|
return cursor;
|
||||||
}
|
}
|
||||||
|
|
||||||
static SDL_Cursor *X11_CreateSystemCursor(SDL_SystemCursor id)
|
static unsigned int GetLegacySystemCursorShape(SDL_SystemCursor id)
|
||||||
{
|
{
|
||||||
SDL_Cursor *cursor;
|
|
||||||
unsigned int shape;
|
|
||||||
|
|
||||||
switch (id) {
|
switch (id) {
|
||||||
default:
|
/* X Font Cursors reference: */
|
||||||
SDL_assert(0);
|
/* http://tronche.com/gui/x/xlib/appendix/b/ */
|
||||||
return NULL;
|
case SDL_SYSTEM_CURSOR_ARROW: return XC_left_ptr;
|
||||||
/* X Font Cursors reference: */
|
case SDL_SYSTEM_CURSOR_IBEAM: return XC_xterm;
|
||||||
/* http://tronche.com/gui/x/xlib/appendix/b/ */
|
case SDL_SYSTEM_CURSOR_WAIT: return XC_watch;
|
||||||
case SDL_SYSTEM_CURSOR_ARROW:
|
case SDL_SYSTEM_CURSOR_CROSSHAIR: return XC_tcross;
|
||||||
shape = XC_left_ptr;
|
case SDL_SYSTEM_CURSOR_WAITARROW: return XC_watch;
|
||||||
break;
|
case SDL_SYSTEM_CURSOR_SIZENWSE: return XC_top_left_corner;
|
||||||
case SDL_SYSTEM_CURSOR_IBEAM:
|
case SDL_SYSTEM_CURSOR_SIZENESW: return XC_top_right_corner;
|
||||||
shape = XC_xterm;
|
case SDL_SYSTEM_CURSOR_SIZEWE: return XC_sb_h_double_arrow;
|
||||||
break;
|
case SDL_SYSTEM_CURSOR_SIZENS: return XC_sb_v_double_arrow;
|
||||||
case SDL_SYSTEM_CURSOR_WAIT:
|
case SDL_SYSTEM_CURSOR_SIZEALL: return XC_fleur;
|
||||||
shape = XC_watch;
|
case SDL_SYSTEM_CURSOR_NO: return XC_pirate;
|
||||||
break;
|
case SDL_SYSTEM_CURSOR_HAND: return XC_hand2;
|
||||||
case SDL_SYSTEM_CURSOR_CROSSHAIR:
|
case SDL_NUM_SYSTEM_CURSORS: break; /* so the compiler might notice if an enum value is missing here. */
|
||||||
shape = XC_tcross;
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_WAITARROW:
|
|
||||||
shape = XC_watch;
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENWSE:
|
|
||||||
shape = XC_top_left_corner;
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENESW:
|
|
||||||
shape = XC_top_right_corner;
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZEWE:
|
|
||||||
shape = XC_sb_h_double_arrow;
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZENS:
|
|
||||||
shape = XC_sb_v_double_arrow;
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_SIZEALL:
|
|
||||||
shape = XC_fleur;
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_NO:
|
|
||||||
shape = XC_pirate;
|
|
||||||
break;
|
|
||||||
case SDL_SYSTEM_CURSOR_HAND:
|
|
||||||
shape = XC_hand2;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cursor = SDL_calloc(1, sizeof(*cursor));
|
SDL_assert(0);
|
||||||
if (cursor) {
|
return 0;
|
||||||
Cursor x11_cursor;
|
}
|
||||||
|
|
||||||
x11_cursor = X11_XCreateFontCursor(GetDisplay(), shape);
|
static SDL_Cursor *X11_CreateSystemCursor(SDL_SystemCursor id)
|
||||||
|
{
|
||||||
|
SDL_Cursor *cursor = NULL;
|
||||||
|
Display *dpy = GetDisplay();
|
||||||
|
Cursor x11_cursor = None;
|
||||||
|
|
||||||
cursor->driverdata = (void *)(uintptr_t)x11_cursor;
|
#ifdef SDL_VIDEO_DRIVER_X11_XCURSOR
|
||||||
} else {
|
if (SDL_X11_HAVE_XCURSOR) {
|
||||||
SDL_OutOfMemory();
|
x11_cursor = X11_XcursorLibraryLoadCursor(dpy, SDL_GetCSSCursorName(id, NULL));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (x11_cursor == None) {
|
||||||
|
x11_cursor = X11_XCreateFontCursor(dpy, GetLegacySystemCursorShape(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (x11_cursor != None) {
|
||||||
|
cursor = SDL_calloc(1, sizeof(*cursor));
|
||||||
|
if (!cursor) {
|
||||||
|
SDL_OutOfMemory();
|
||||||
|
} else {
|
||||||
|
cursor->driverdata = (void *)(uintptr_t)x11_cursor;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return cursor;
|
return cursor;
|
||||||
|
|||||||
@@ -253,6 +253,7 @@ SDL_X11_MODULE(XCURSOR)
|
|||||||
SDL_X11_SYM(XcursorImage*,XcursorImageCreate,(int a,int b),(a,b),return)
|
SDL_X11_SYM(XcursorImage*,XcursorImageCreate,(int a,int b),(a,b),return)
|
||||||
SDL_X11_SYM(void,XcursorImageDestroy,(XcursorImage *a),(a),)
|
SDL_X11_SYM(void,XcursorImageDestroy,(XcursorImage *a),(a),)
|
||||||
SDL_X11_SYM(Cursor,XcursorImageLoadCursor,(Display *a,const XcursorImage *b),(a,b),return)
|
SDL_X11_SYM(Cursor,XcursorImageLoadCursor,(Display *a,const XcursorImage *b),(a,b),return)
|
||||||
|
SDL_X11_SYM(Cursor,XcursorLibraryLoadCursor,(Display *a, const char *b),(a,b),return)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Xdbe support */
|
/* Xdbe support */
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ helper_dtod(const char *func_name, d_to_d_func func,
|
|||||||
Uint32 i;
|
Uint32 i;
|
||||||
for (i = 0; i < cases_size; i++) {
|
for (i = 0; i < cases_size; i++) {
|
||||||
const double result = func(cases[i].input);
|
const double result = func(cases[i].input);
|
||||||
SDLTest_AssertCheck((result - cases[i].expected) < FLT_EPSILON,
|
SDLTest_AssertCheck(SDL_fabs(result - cases[i].expected) < FLT_EPSILON,
|
||||||
"%s(%f), expected %f, got %f",
|
"%s(%f), expected %f, got %f",
|
||||||
func_name,
|
func_name,
|
||||||
cases[i].input,
|
cases[i].input,
|
||||||
@@ -117,11 +117,10 @@ helper_dtod_inexact(const char *func_name, d_to_d_func func,
|
|||||||
max_err = -max_err;
|
max_err = -max_err;
|
||||||
}
|
}
|
||||||
SDLTest_AssertCheck(diff <= max_err,
|
SDLTest_AssertCheck(diff <= max_err,
|
||||||
"%s(%f), expected [%f,%f], got %f",
|
"%s(%f), expected %f +/- %g, got %f",
|
||||||
func_name,
|
func_name,
|
||||||
cases[i].input,
|
cases[i].input,
|
||||||
cases[i].expected - EPSILON,
|
cases[i].expected, max_err,
|
||||||
cases[i].expected + EPSILON,
|
|
||||||
result);
|
result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,11 +181,10 @@ helper_ddtod_inexact(const char *func_name, dd_to_d_func func,
|
|||||||
}
|
}
|
||||||
|
|
||||||
SDLTest_AssertCheck(diff <= max_err,
|
SDLTest_AssertCheck(diff <= max_err,
|
||||||
"%s(%f,%f), expected [%f,%f], got %f",
|
"%s(%f,%f), expected %f +/- %g, got %f",
|
||||||
func_name,
|
func_name,
|
||||||
cases[i].x_input, cases[i].y_input,
|
cases[i].x_input, cases[i].y_input,
|
||||||
cases[i].expected - EPSILON,
|
cases[i].expected, max_err,
|
||||||
cases[i].expected + EPSILON,
|
|
||||||
result);
|
result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1114,7 +1112,7 @@ exp_regularCases(void *args)
|
|||||||
{ 112.89, 10653788283588960962604279261058893737879589093376.0 },
|
{ 112.89, 10653788283588960962604279261058893737879589093376.0 },
|
||||||
{ 539.483, 1970107755334319939701129934673541628417235942656909222826926175622435588279443011110464355295725187195188154768877850257012251677751742837992843520967922303961718983154427294786640886286983037548604937796221048661733679844353544028160.0 },
|
{ 539.483, 1970107755334319939701129934673541628417235942656909222826926175622435588279443011110464355295725187195188154768877850257012251677751742837992843520967922303961718983154427294786640886286983037548604937796221048661733679844353544028160.0 },
|
||||||
};
|
};
|
||||||
return helper_dtod("Exp", SDL_exp, regular_cases, SDL_arraysize(regular_cases));
|
return helper_dtod_inexact("Exp", SDL_exp, regular_cases, SDL_arraysize(regular_cases));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SDL_log tests functions */
|
/* SDL_log tests functions */
|
||||||
@@ -1161,7 +1159,7 @@ log_baseCases(void *args)
|
|||||||
1.0, 0.0, result);
|
1.0, 0.0, result);
|
||||||
|
|
||||||
result = SDL_log(EULER);
|
result = SDL_log(EULER);
|
||||||
SDLTest_AssertCheck((result - 1.) < FLT_EPSILON,
|
SDLTest_AssertCheck(SDL_fabs(result - 1.) < FLT_EPSILON,
|
||||||
"Log(%f), expected %f, got %f",
|
"Log(%f), expected %f, got %f",
|
||||||
EULER, 1.0, result);
|
EULER, 1.0, result);
|
||||||
|
|
||||||
|
|||||||
@@ -346,7 +346,9 @@ int surface_testCompleteSurfaceConversion(void *arg)
|
|||||||
SDL_PIXELFORMAT_RGBA8888,
|
SDL_PIXELFORMAT_RGBA8888,
|
||||||
SDL_PIXELFORMAT_ABGR8888,
|
SDL_PIXELFORMAT_ABGR8888,
|
||||||
SDL_PIXELFORMAT_BGRA8888,
|
SDL_PIXELFORMAT_BGRA8888,
|
||||||
|
#if 0 /* We aren't testing HDR10 colorspace conversion */
|
||||||
SDL_PIXELFORMAT_ARGB2101010,
|
SDL_PIXELFORMAT_ARGB2101010,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
SDL_Surface *face = NULL, *cvt1, *cvt2, *final;
|
SDL_Surface *face = NULL, *cvt1, *cvt2, *final;
|
||||||
SDL_PixelFormat *fmt1, *fmt2;
|
SDL_PixelFormat *fmt1, *fmt2;
|
||||||
|
|||||||
Reference in new issue
Block a user