Compare commits
127
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92fe3b19c8 | ||
|
|
30e2b03a65 | ||
|
|
f8943854fd | ||
|
|
325465935d | ||
|
|
1cdd37b32c | ||
|
|
499bff9c3a | ||
|
|
bd06e43b87 | ||
|
|
72e5620202 | ||
|
|
fbb9646806 | ||
|
|
4b91f0793c | ||
|
|
6243a80b3f | ||
|
|
e0b0a98c8e | ||
|
|
785eac863b | ||
|
|
ab8659922d | ||
|
|
d48f9c4af4 | ||
|
|
5cc0644aa0 | ||
|
|
91accc391d | ||
|
|
3ee20388c5 | ||
|
|
2449510673 | ||
|
|
2c07ed320e | ||
|
|
607f37dafd | ||
|
|
acc2e040ce | ||
|
|
faa9bbdc8e | ||
|
|
cf6c760cd3 | ||
|
|
e49349ac0c | ||
|
|
1e5db996ff | ||
|
|
793a0681a9 | ||
|
|
825ffaa168 | ||
|
|
9ad6a36b7b | ||
|
|
c3b53c72c7 | ||
|
|
0800d81fb4 | ||
|
|
c27219695a | ||
|
|
9dcfc308ef | ||
|
|
77b3a6afaf | ||
|
|
dd42795131 | ||
|
|
fb1497566c | ||
|
|
cc6c0fe230 | ||
|
|
f9a46a319b | ||
|
|
48a0592a45 | ||
|
|
1c74a8b5ae | ||
|
|
3d18043005 | ||
|
|
6e1e00701e | ||
|
|
5570d846ea | ||
|
|
f5dcb8f7ad | ||
|
|
f6f1b09b69 | ||
|
|
bf540985aa | ||
|
|
c39f86c28a | ||
|
|
b5da8ad00d | ||
|
|
f62b86263a | ||
|
|
3449c734d5 | ||
|
|
3f29d985fe | ||
|
|
2f4a7bbced | ||
|
|
a0522e4c21 | ||
|
|
f461d91cd2 | ||
|
|
ef54e0c4f4 | ||
|
|
863f39fb9f | ||
|
|
d33b28c9fe | ||
|
|
c15a87a614 | ||
|
|
45de0635ac | ||
|
|
bca314c339 | ||
|
|
f05490d0e2 | ||
|
|
442e201705 | ||
|
|
9c346b2321 | ||
|
|
a6b684d05a | ||
|
|
8fb82da226 | ||
|
|
0949f89028 | ||
|
|
350a49e1cc | ||
|
|
bc19e38728 | ||
|
|
228a2954d7 | ||
|
|
3d6d4ca2cd | ||
|
|
4c3e5cf1d1 | ||
|
|
27b1b6d4eb | ||
|
|
24269007d8 | ||
|
|
d849036927 | ||
|
|
5be47255ba | ||
|
|
8f860b3698 | ||
|
|
35992597ae | ||
|
|
3f0d7a2937 | ||
|
|
dae1232489 | ||
|
|
8e388843b8 | ||
|
|
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
|
||||||
@@ -64,6 +64,7 @@ jobs:
|
|||||||
if: runner.os == 'macOS'
|
if: runner.os == 'macOS'
|
||||||
run: |
|
run: |
|
||||||
brew install \
|
brew install \
|
||||||
|
autoconf \
|
||||||
ninja \
|
ninja \
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
||||||
@@ -83,7 +84,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: |
|
||||||
|
|||||||
+8
-24
@@ -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 4)
|
||||||
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 DARWIN OR MACOSX 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)
|
||||||
@@ -926,22 +926,6 @@ if(SDL_ASSEMBLY)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(SDL_LASX)
|
|
||||||
cmake_push_check_state()
|
|
||||||
set(CMAKE_REQUIRED_FLAGS "-mlasx")
|
|
||||||
check_c_source_compiles("
|
|
||||||
#ifndef __loongarch_asx
|
|
||||||
#error Assembler CPP flag not enabled
|
|
||||||
#endif
|
|
||||||
int main(int argc, char **argv) { return 0; }" CPU_SUPPORTS_LASX)
|
|
||||||
check_include_file("lasxintrin.h" HAVE_LASXINTRIN_H)
|
|
||||||
cmake_pop_check_state()
|
|
||||||
if(CPU_SUPPORTS_LASX AND HAVE_LASXINTRIN_H)
|
|
||||||
list(APPEND EXTRA_CFLAGS "-mlasx")
|
|
||||||
set(HAVE_LASX TRUE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(SDL_ARMSIMD)
|
if(SDL_ARMSIMD)
|
||||||
set(ORIG_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
set(ORIG_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
||||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -x assembler-with-cpp")
|
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -x assembler-with-cpp")
|
||||||
@@ -1107,6 +1091,8 @@ if(SDL_LIBC)
|
|||||||
check_symbol_exists(getauxval "sys/auxv.h" HAVE_GETAUXVAL)
|
check_symbol_exists(getauxval "sys/auxv.h" HAVE_GETAUXVAL)
|
||||||
check_symbol_exists(elf_aux_info "sys/auxv.h" HAVE_ELF_AUX_INFO)
|
check_symbol_exists(elf_aux_info "sys/auxv.h" HAVE_ELF_AUX_INFO)
|
||||||
check_symbol_exists(poll "poll.h" HAVE_POLL)
|
check_symbol_exists(poll "poll.h" HAVE_POLL)
|
||||||
|
check_symbol_exists(memfd_create "sys/mman.h" HAVE_MEMFD_CREATE)
|
||||||
|
check_symbol_exists(posix_fallocate "fcntl.h" HAVE_POSIX_FALLOCATE)
|
||||||
|
|
||||||
check_library_exists(m pow "" HAVE_LIBM)
|
check_library_exists(m pow "" HAVE_LIBM)
|
||||||
if(HAVE_LIBM)
|
if(HAVE_LIBM)
|
||||||
@@ -1824,13 +1810,11 @@ elseif(WINDOWS)
|
|||||||
check_include_file(d3d9.h HAVE_D3D_H)
|
check_include_file(d3d9.h HAVE_D3D_H)
|
||||||
check_include_file(d3d11_1.h HAVE_D3D11_H)
|
check_include_file(d3d11_1.h HAVE_D3D11_H)
|
||||||
check_c_source_compiles("
|
check_c_source_compiles("
|
||||||
#include <winsdkver.h>
|
|
||||||
#include <sdkddkver.h>
|
|
||||||
#include <d3d12.h>
|
#include <d3d12.h>
|
||||||
|
#include <d3d12sdklayers.h>
|
||||||
ID3D12Device1 *device;
|
ID3D12Device1 *device;
|
||||||
#if WDK_NTDDI_VERSION > 0x0A000008
|
int main(int argc, char **argv) {return 0; }
|
||||||
int main(int argc, char **argv) { return 0; }
|
" HAVE_D3D12_H)
|
||||||
#endif" HAVE_D3D12_H)
|
|
||||||
check_include_file(ddraw.h HAVE_DDRAW_H)
|
check_include_file(ddraw.h HAVE_DDRAW_H)
|
||||||
check_include_file(dsound.h HAVE_DSOUND_H)
|
check_include_file(dsound.h HAVE_DSOUND_H)
|
||||||
check_include_file(dinput.h HAVE_DINPUT_H)
|
check_include_file(dinput.h HAVE_DINPUT_H)
|
||||||
|
|||||||
+1
-1
@@ -52,7 +52,7 @@ WAYLAND_SCANNER_CODE_MODE = @WAYLAND_SCANNER_CODE_MODE@
|
|||||||
|
|
||||||
INSTALL_SDL2_CONFIG = @INSTALL_SDL2_CONFIG@
|
INSTALL_SDL2_CONFIG = @INSTALL_SDL2_CONFIG@
|
||||||
|
|
||||||
SRC_DIST = *.md *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.ac docs include Makefile.* mingw sdl2-config.cmake.in sdl2-config-version.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in SDL2Config.cmake.in src test VisualC VisualC-WinRT Xcode Xcode-iOS wayland-protocols
|
SRC_DIST = *.md *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.ac docs include Makefile.* mingw sdl2-config.cmake.in sdl2-config-version.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in SDL2Config.cmake.in src test VisualC VisualC-GDK VisualC-WinRT Xcode Xcode-iOS wayland-protocols
|
||||||
GEN_DIST = SDL2.spec
|
GEN_DIST = SDL2.spec
|
||||||
|
|
||||||
ifneq ($V,1)
|
ifneq ($V,1)
|
||||||
|
|||||||
+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 = 4
|
||||||
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 = 4
|
||||||
VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
|
VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
|
||||||
|
|
||||||
LIBHOME = .
|
LIBHOME = .
|
||||||
|
|||||||
@@ -499,7 +499,6 @@
|
|||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vk_platform.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vk_platform.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vk_sdk_platform.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vk_sdk_platform.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.hpp" />
|
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_android.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_android.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_beta.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_beta.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_core.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_core.h" />
|
||||||
|
|||||||
@@ -780,9 +780,6 @@
|
|||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.h">
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.h">
|
||||||
<Filter>video\khronos\vulkan</Filter>
|
<Filter>video\khronos\vulkan</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.hpp">
|
|
||||||
<Filter>video\khronos\vulkan</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_android.h">
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_android.h">
|
||||||
<Filter>video\khronos\vulkan</Filter>
|
<Filter>video\khronos\vulkan</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|||||||
@@ -139,7 +139,7 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<AdditionalDependencies>xgameruntime.lib;../Microsoft.Xbox.Services.141.GDK.C.Thunks.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>xgameruntime.lib;../Microsoft.Xbox.Services.GDK.C.Thunks.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'">
|
||||||
@@ -211,7 +211,7 @@
|
|||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<AdditionalDependencies>xgameruntime.lib;../Microsoft.Xbox.Services.141.GDK.C.Thunks.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>xgameruntime.lib;../Microsoft.Xbox.Services.GDK.C.Thunks.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">
|
||||||
@@ -409,7 +409,7 @@
|
|||||||
<CopyFileToFolders Include="..\..\logos\Logo480x480.png" />
|
<CopyFileToFolders Include="..\..\logos\Logo480x480.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CopyFileToFolders Include="$(Console_GRDKExtLibRoot)Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release\Microsoft.Xbox.Services.141.GDK.C.Thunks.dll">
|
<CopyFileToFolders Include="$(Console_GRDKExtLibRoot)Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release\Microsoft.Xbox.Services.GDK.C.Thunks.dll">
|
||||||
<FileType>Document</FileType>
|
<FileType>Document</FileType>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.Scarlett.x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Gaming.Xbox.XboxOne.x64'">true</ExcludedFromBuild>
|
||||||
|
|||||||
@@ -394,7 +394,6 @@
|
|||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vk_platform.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vk_platform.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vk_sdk_platform.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vk_sdk_platform.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.hpp" />
|
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_android.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_android.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_beta.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_beta.h" />
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_core.h" />
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_core.h" />
|
||||||
|
|||||||
@@ -780,9 +780,6 @@
|
|||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.h">
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.h">
|
||||||
<Filter>video\khronos\vulkan</Filter>
|
<Filter>video\khronos\vulkan</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan.hpp">
|
|
||||||
<Filter>video\khronos\vulkan</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_android.h">
|
<ClInclude Include="..\..\src\video\khronos\vulkan\vulkan_android.h">
|
||||||
<Filter>video\khronos\vulkan</Filter>
|
<Filter>video\khronos\vulkan</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|||||||
@@ -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.4</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.4</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
@@ -206,7 +206,6 @@
|
|||||||
A75FCD4823E25AB700529352 /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
A75FCD4823E25AB700529352 /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
A75FCD4A23E25AB700529352 /* SDL_cocoakeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A68023E2513E00DCD162 /* SDL_cocoakeyboard.h */; };
|
A75FCD4A23E25AB700529352 /* SDL_cocoakeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A68023E2513E00DCD162 /* SDL_cocoakeyboard.h */; };
|
||||||
A75FCD4B23E25AB700529352 /* SDL_uikitvulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A63323E2513D00DCD162 /* SDL_uikitvulkan.h */; };
|
A75FCD4B23E25AB700529352 /* SDL_uikitvulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A63323E2513D00DCD162 /* SDL_uikitvulkan.h */; };
|
||||||
A75FCD4E23E25AB700529352 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A75FCD4F23E25AB700529352 /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
A75FCD4F23E25AB700529352 /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
A75FCD5023E25AB700529352 /* gl2ext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72323E2513E00DCD162 /* gl2ext.h */; };
|
A75FCD5023E25AB700529352 /* gl2ext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72323E2513E00DCD162 /* gl2ext.h */; };
|
||||||
A75FCD5123E25AB700529352 /* SDL_clipboardevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93923E2514000DCD162 /* SDL_clipboardevents_c.h */; };
|
A75FCD5123E25AB700529352 /* SDL_clipboardevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93923E2514000DCD162 /* SDL_clipboardevents_c.h */; };
|
||||||
@@ -282,7 +281,6 @@
|
|||||||
A75FCDA123E25AB700529352 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
A75FCDA123E25AB700529352 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
||||||
A75FCDA223E25AB700529352 /* SDL_uikitwindow.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A62723E2513D00DCD162 /* SDL_uikitwindow.h */; };
|
A75FCDA223E25AB700529352 /* SDL_uikitwindow.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A62723E2513D00DCD162 /* SDL_uikitwindow.h */; };
|
||||||
A75FCDA323E25AB700529352 /* vulkan_vi.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */; };
|
A75FCDA323E25AB700529352 /* vulkan_vi.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */; };
|
||||||
A75FCDA423E25AB700529352 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A75FCDA523E25AB700529352 /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
A75FCDA523E25AB700529352 /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
A75FCDA623E25AB700529352 /* default_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93323E2514000DCD162 /* default_cursor.h */; };
|
A75FCDA623E25AB700529352 /* default_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93323E2514000DCD162 /* default_cursor.h */; };
|
||||||
A75FCDA723E25AB700529352 /* SDL_render_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */; };
|
A75FCDA723E25AB700529352 /* SDL_render_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */; };
|
||||||
@@ -580,7 +578,6 @@
|
|||||||
A75FCF0123E25AC700529352 /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
A75FCF0123E25AC700529352 /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
A75FCF0323E25AC700529352 /* SDL_cocoakeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A68023E2513E00DCD162 /* SDL_cocoakeyboard.h */; };
|
A75FCF0323E25AC700529352 /* SDL_cocoakeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A68023E2513E00DCD162 /* SDL_cocoakeyboard.h */; };
|
||||||
A75FCF0423E25AC700529352 /* SDL_uikitvulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A63323E2513D00DCD162 /* SDL_uikitvulkan.h */; };
|
A75FCF0423E25AC700529352 /* SDL_uikitvulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A63323E2513D00DCD162 /* SDL_uikitvulkan.h */; };
|
||||||
A75FCF0723E25AC700529352 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A75FCF0823E25AC700529352 /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
A75FCF0823E25AC700529352 /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
A75FCF0923E25AC700529352 /* gl2ext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72323E2513E00DCD162 /* gl2ext.h */; };
|
A75FCF0923E25AC700529352 /* gl2ext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72323E2513E00DCD162 /* gl2ext.h */; };
|
||||||
A75FCF0A23E25AC700529352 /* SDL_clipboardevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93923E2514000DCD162 /* SDL_clipboardevents_c.h */; };
|
A75FCF0A23E25AC700529352 /* SDL_clipboardevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93923E2514000DCD162 /* SDL_clipboardevents_c.h */; };
|
||||||
@@ -656,7 +653,6 @@
|
|||||||
A75FCF5A23E25AC700529352 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
A75FCF5A23E25AC700529352 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
||||||
A75FCF5B23E25AC700529352 /* SDL_uikitwindow.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A62723E2513D00DCD162 /* SDL_uikitwindow.h */; };
|
A75FCF5B23E25AC700529352 /* SDL_uikitwindow.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A62723E2513D00DCD162 /* SDL_uikitwindow.h */; };
|
||||||
A75FCF5C23E25AC700529352 /* vulkan_vi.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */; };
|
A75FCF5C23E25AC700529352 /* vulkan_vi.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */; };
|
||||||
A75FCF5D23E25AC700529352 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A75FCF5E23E25AC700529352 /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
A75FCF5E23E25AC700529352 /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
A75FCF5F23E25AC700529352 /* default_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93323E2514000DCD162 /* default_cursor.h */; };
|
A75FCF5F23E25AC700529352 /* default_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93323E2514000DCD162 /* default_cursor.h */; };
|
||||||
A75FCF6023E25AC700529352 /* SDL_render_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */; };
|
A75FCF6023E25AC700529352 /* SDL_render_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */; };
|
||||||
@@ -974,7 +970,6 @@
|
|||||||
A769B0CD23E259AE00872273 /* SDL_systhread_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A78423E2513E00DCD162 /* SDL_systhread_c.h */; };
|
A769B0CD23E259AE00872273 /* SDL_systhread_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A78423E2513E00DCD162 /* SDL_systhread_c.h */; };
|
||||||
A769B0D023E259AE00872273 /* SDL_cocoakeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A68023E2513E00DCD162 /* SDL_cocoakeyboard.h */; };
|
A769B0D023E259AE00872273 /* SDL_cocoakeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A68023E2513E00DCD162 /* SDL_cocoakeyboard.h */; };
|
||||||
A769B0D123E259AE00872273 /* SDL_uikitvulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A63323E2513D00DCD162 /* SDL_uikitvulkan.h */; };
|
A769B0D123E259AE00872273 /* SDL_uikitvulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A63323E2513D00DCD162 /* SDL_uikitvulkan.h */; };
|
||||||
A769B0D423E259AE00872273 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A769B0D623E259AE00872273 /* gl2ext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72323E2513E00DCD162 /* gl2ext.h */; };
|
A769B0D623E259AE00872273 /* gl2ext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72323E2513E00DCD162 /* gl2ext.h */; };
|
||||||
A769B0D723E259AE00872273 /* SDL_clipboardevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93923E2514000DCD162 /* SDL_clipboardevents_c.h */; };
|
A769B0D723E259AE00872273 /* SDL_clipboardevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93923E2514000DCD162 /* SDL_clipboardevents_c.h */; };
|
||||||
A769B0D923E259AE00872273 /* SDL_syshaptic_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A5CF23E2513D00DCD162 /* SDL_syshaptic_c.h */; };
|
A769B0D923E259AE00872273 /* SDL_syshaptic_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A5CF23E2513D00DCD162 /* SDL_syshaptic_c.h */; };
|
||||||
@@ -1036,7 +1031,6 @@
|
|||||||
A769B12923E259AE00872273 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
A769B12923E259AE00872273 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
||||||
A769B12A23E259AE00872273 /* SDL_uikitwindow.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A62723E2513D00DCD162 /* SDL_uikitwindow.h */; };
|
A769B12A23E259AE00872273 /* SDL_uikitwindow.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A62723E2513D00DCD162 /* SDL_uikitwindow.h */; };
|
||||||
A769B12B23E259AE00872273 /* vulkan_vi.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */; };
|
A769B12B23E259AE00872273 /* vulkan_vi.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */; };
|
||||||
A769B12C23E259AE00872273 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A769B12E23E259AE00872273 /* default_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93323E2514000DCD162 /* default_cursor.h */; };
|
A769B12E23E259AE00872273 /* default_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A93323E2514000DCD162 /* default_cursor.h */; };
|
||||||
A769B12F23E259AE00872273 /* SDL_render_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */; };
|
A769B12F23E259AE00872273 /* SDL_render_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */; };
|
||||||
A769B13223E259AE00872273 /* SDL_nullvideo.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A60A23E2513D00DCD162 /* SDL_nullvideo.h */; };
|
A769B13223E259AE00872273 /* SDL_nullvideo.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A60A23E2513D00DCD162 /* SDL_nullvideo.h */; };
|
||||||
@@ -2110,12 +2104,6 @@
|
|||||||
A7D8B26923E2514200DCD162 /* vk_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73123E2513E00DCD162 /* vk_platform.h */; };
|
A7D8B26923E2514200DCD162 /* vk_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73123E2513E00DCD162 /* vk_platform.h */; };
|
||||||
A7D8B26A23E2514200DCD162 /* vk_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73123E2513E00DCD162 /* vk_platform.h */; };
|
A7D8B26A23E2514200DCD162 /* vk_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73123E2513E00DCD162 /* vk_platform.h */; };
|
||||||
A7D8B26B23E2514200DCD162 /* vk_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73123E2513E00DCD162 /* vk_platform.h */; };
|
A7D8B26B23E2514200DCD162 /* vk_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73123E2513E00DCD162 /* vk_platform.h */; };
|
||||||
A7D8B26C23E2514200DCD162 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A7D8B26D23E2514200DCD162 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A7D8B26E23E2514200DCD162 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A7D8B26F23E2514200DCD162 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A7D8B27023E2514200DCD162 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A7D8B27123E2514200DCD162 /* vulkan.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73223E2513E00DCD162 /* vulkan.hpp */; };
|
|
||||||
A7D8B27223E2514200DCD162 /* vulkan_fuchsia.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */; };
|
A7D8B27223E2514200DCD162 /* vulkan_fuchsia.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */; };
|
||||||
A7D8B27323E2514200DCD162 /* vulkan_fuchsia.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */; };
|
A7D8B27323E2514200DCD162 /* vulkan_fuchsia.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */; };
|
||||||
A7D8B27423E2514200DCD162 /* vulkan_fuchsia.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */; };
|
A7D8B27423E2514200DCD162 /* vulkan_fuchsia.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */; };
|
||||||
@@ -2152,12 +2140,6 @@
|
|||||||
A7D8B29323E2514200DCD162 /* vulkan_xcb.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73823E2513E00DCD162 /* vulkan_xcb.h */; };
|
A7D8B29323E2514200DCD162 /* vulkan_xcb.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73823E2513E00DCD162 /* vulkan_xcb.h */; };
|
||||||
A7D8B29423E2514200DCD162 /* vulkan_xcb.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73823E2513E00DCD162 /* vulkan_xcb.h */; };
|
A7D8B29423E2514200DCD162 /* vulkan_xcb.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73823E2513E00DCD162 /* vulkan_xcb.h */; };
|
||||||
A7D8B29523E2514200DCD162 /* vulkan_xcb.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73823E2513E00DCD162 /* vulkan_xcb.h */; };
|
A7D8B29523E2514200DCD162 /* vulkan_xcb.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73823E2513E00DCD162 /* vulkan_xcb.h */; };
|
||||||
A7D8B29623E2514200DCD162 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A7D8B29723E2514200DCD162 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A7D8B29823E2514200DCD162 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A7D8B29923E2514200DCD162 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A7D8B29A23E2514200DCD162 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A7D8B29B23E2514200DCD162 /* vulkan_mir.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73923E2513E00DCD162 /* vulkan_mir.h */; };
|
|
||||||
A7D8B29C23E2514200DCD162 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
A7D8B29C23E2514200DCD162 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
||||||
A7D8B29D23E2514200DCD162 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
A7D8B29D23E2514200DCD162 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
||||||
A7D8B29E23E2514200DCD162 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
A7D8B29E23E2514200DCD162 /* vulkan_xlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */; };
|
||||||
@@ -3968,14 +3950,12 @@
|
|||||||
A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_vi.h; sourceTree = "<group>"; };
|
A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_vi.h; sourceTree = "<group>"; };
|
||||||
A7D8A73023E2513E00DCD162 /* vulkan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan.h; sourceTree = "<group>"; };
|
A7D8A73023E2513E00DCD162 /* vulkan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan.h; sourceTree = "<group>"; };
|
||||||
A7D8A73123E2513E00DCD162 /* vk_platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vk_platform.h; sourceTree = "<group>"; };
|
A7D8A73123E2513E00DCD162 /* vk_platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vk_platform.h; sourceTree = "<group>"; };
|
||||||
A7D8A73223E2513E00DCD162 /* vulkan.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = vulkan.hpp; sourceTree = "<group>"; };
|
|
||||||
A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_fuchsia.h; sourceTree = "<group>"; };
|
A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_fuchsia.h; sourceTree = "<group>"; };
|
||||||
A7D8A73423E2513E00DCD162 /* vulkan_wayland.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_wayland.h; sourceTree = "<group>"; };
|
A7D8A73423E2513E00DCD162 /* vulkan_wayland.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_wayland.h; sourceTree = "<group>"; };
|
||||||
A7D8A73523E2513E00DCD162 /* vulkan_win32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_win32.h; sourceTree = "<group>"; };
|
A7D8A73523E2513E00DCD162 /* vulkan_win32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_win32.h; sourceTree = "<group>"; };
|
||||||
A7D8A73623E2513E00DCD162 /* vulkan_macos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_macos.h; sourceTree = "<group>"; };
|
A7D8A73623E2513E00DCD162 /* vulkan_macos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_macos.h; sourceTree = "<group>"; };
|
||||||
A7D8A73723E2513E00DCD162 /* vulkan_xlib_xrandr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_xlib_xrandr.h; sourceTree = "<group>"; };
|
A7D8A73723E2513E00DCD162 /* vulkan_xlib_xrandr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_xlib_xrandr.h; sourceTree = "<group>"; };
|
||||||
A7D8A73823E2513E00DCD162 /* vulkan_xcb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_xcb.h; sourceTree = "<group>"; };
|
A7D8A73823E2513E00DCD162 /* vulkan_xcb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_xcb.h; sourceTree = "<group>"; };
|
||||||
A7D8A73923E2513E00DCD162 /* vulkan_mir.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_mir.h; sourceTree = "<group>"; };
|
|
||||||
A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_xlib.h; sourceTree = "<group>"; };
|
A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_xlib.h; sourceTree = "<group>"; };
|
||||||
A7D8A73B23E2513E00DCD162 /* vulkan_ios.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_ios.h; sourceTree = "<group>"; };
|
A7D8A73B23E2513E00DCD162 /* vulkan_ios.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_ios.h; sourceTree = "<group>"; };
|
||||||
A7D8A73C23E2513E00DCD162 /* vulkan_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_core.h; sourceTree = "<group>"; };
|
A7D8A73C23E2513E00DCD162 /* vulkan_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkan_core.h; sourceTree = "<group>"; };
|
||||||
@@ -5003,7 +4983,6 @@
|
|||||||
A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */,
|
A7D8A73323E2513E00DCD162 /* vulkan_fuchsia.h */,
|
||||||
A7D8A73B23E2513E00DCD162 /* vulkan_ios.h */,
|
A7D8A73B23E2513E00DCD162 /* vulkan_ios.h */,
|
||||||
A7D8A73623E2513E00DCD162 /* vulkan_macos.h */,
|
A7D8A73623E2513E00DCD162 /* vulkan_macos.h */,
|
||||||
A7D8A73923E2513E00DCD162 /* vulkan_mir.h */,
|
|
||||||
A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */,
|
A7D8A72F23E2513E00DCD162 /* vulkan_vi.h */,
|
||||||
A7D8A73423E2513E00DCD162 /* vulkan_wayland.h */,
|
A7D8A73423E2513E00DCD162 /* vulkan_wayland.h */,
|
||||||
A7D8A73523E2513E00DCD162 /* vulkan_win32.h */,
|
A7D8A73523E2513E00DCD162 /* vulkan_win32.h */,
|
||||||
@@ -5011,7 +4990,6 @@
|
|||||||
A7D8A73723E2513E00DCD162 /* vulkan_xlib_xrandr.h */,
|
A7D8A73723E2513E00DCD162 /* vulkan_xlib_xrandr.h */,
|
||||||
A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */,
|
A7D8A73A23E2513E00DCD162 /* vulkan_xlib.h */,
|
||||||
A7D8A73023E2513E00DCD162 /* vulkan.h */,
|
A7D8A73023E2513E00DCD162 /* vulkan.h */,
|
||||||
A7D8A73223E2513E00DCD162 /* vulkan.hpp */,
|
|
||||||
);
|
);
|
||||||
path = vulkan;
|
path = vulkan;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -5596,7 +5574,6 @@
|
|||||||
5616CA63252BB35F005D5928 /* SDL_sysurl.h in Headers */,
|
5616CA63252BB35F005D5928 /* SDL_sysurl.h in Headers */,
|
||||||
A75FCD4A23E25AB700529352 /* SDL_cocoakeyboard.h in Headers */,
|
A75FCD4A23E25AB700529352 /* SDL_cocoakeyboard.h in Headers */,
|
||||||
A75FCD4B23E25AB700529352 /* SDL_uikitvulkan.h in Headers */,
|
A75FCD4B23E25AB700529352 /* SDL_uikitvulkan.h in Headers */,
|
||||||
A75FCD4E23E25AB700529352 /* vulkan.hpp in Headers */,
|
|
||||||
A75FCD4F23E25AB700529352 /* SDL_loadso.h in Headers */,
|
A75FCD4F23E25AB700529352 /* SDL_loadso.h in Headers */,
|
||||||
A75FCD5023E25AB700529352 /* gl2ext.h in Headers */,
|
A75FCD5023E25AB700529352 /* gl2ext.h in Headers */,
|
||||||
A75FCD5123E25AB700529352 /* SDL_clipboardevents_c.h in Headers */,
|
A75FCD5123E25AB700529352 /* SDL_clipboardevents_c.h in Headers */,
|
||||||
@@ -5680,7 +5657,6 @@
|
|||||||
A75FCDA123E25AB700529352 /* vulkan_xlib.h in Headers */,
|
A75FCDA123E25AB700529352 /* vulkan_xlib.h in Headers */,
|
||||||
A75FCDA223E25AB700529352 /* SDL_uikitwindow.h in Headers */,
|
A75FCDA223E25AB700529352 /* SDL_uikitwindow.h in Headers */,
|
||||||
A75FCDA323E25AB700529352 /* vulkan_vi.h in Headers */,
|
A75FCDA323E25AB700529352 /* vulkan_vi.h in Headers */,
|
||||||
A75FCDA423E25AB700529352 /* vulkan_mir.h in Headers */,
|
|
||||||
A75FCDA523E25AB700529352 /* SDL_quit.h in Headers */,
|
A75FCDA523E25AB700529352 /* SDL_quit.h in Headers */,
|
||||||
A75FCDA623E25AB700529352 /* default_cursor.h in Headers */,
|
A75FCDA623E25AB700529352 /* default_cursor.h in Headers */,
|
||||||
A75FCDA723E25AB700529352 /* SDL_render_sw_c.h in Headers */,
|
A75FCDA723E25AB700529352 /* SDL_render_sw_c.h in Headers */,
|
||||||
@@ -5833,7 +5809,6 @@
|
|||||||
5616CA66252BB361005D5928 /* SDL_sysurl.h in Headers */,
|
5616CA66252BB361005D5928 /* SDL_sysurl.h in Headers */,
|
||||||
A75FCF0323E25AC700529352 /* SDL_cocoakeyboard.h in Headers */,
|
A75FCF0323E25AC700529352 /* SDL_cocoakeyboard.h in Headers */,
|
||||||
A75FCF0423E25AC700529352 /* SDL_uikitvulkan.h in Headers */,
|
A75FCF0423E25AC700529352 /* SDL_uikitvulkan.h in Headers */,
|
||||||
A75FCF0723E25AC700529352 /* vulkan.hpp in Headers */,
|
|
||||||
A75FCF0823E25AC700529352 /* SDL_loadso.h in Headers */,
|
A75FCF0823E25AC700529352 /* SDL_loadso.h in Headers */,
|
||||||
A75FCF0923E25AC700529352 /* gl2ext.h in Headers */,
|
A75FCF0923E25AC700529352 /* gl2ext.h in Headers */,
|
||||||
A75FCF0A23E25AC700529352 /* SDL_clipboardevents_c.h in Headers */,
|
A75FCF0A23E25AC700529352 /* SDL_clipboardevents_c.h in Headers */,
|
||||||
@@ -5917,7 +5892,6 @@
|
|||||||
A75FCF5A23E25AC700529352 /* vulkan_xlib.h in Headers */,
|
A75FCF5A23E25AC700529352 /* vulkan_xlib.h in Headers */,
|
||||||
A75FCF5B23E25AC700529352 /* SDL_uikitwindow.h in Headers */,
|
A75FCF5B23E25AC700529352 /* SDL_uikitwindow.h in Headers */,
|
||||||
A75FCF5C23E25AC700529352 /* vulkan_vi.h in Headers */,
|
A75FCF5C23E25AC700529352 /* vulkan_vi.h in Headers */,
|
||||||
A75FCF5D23E25AC700529352 /* vulkan_mir.h in Headers */,
|
|
||||||
A75FCF5E23E25AC700529352 /* SDL_quit.h in Headers */,
|
A75FCF5E23E25AC700529352 /* SDL_quit.h in Headers */,
|
||||||
A75FCF5F23E25AC700529352 /* default_cursor.h in Headers */,
|
A75FCF5F23E25AC700529352 /* default_cursor.h in Headers */,
|
||||||
A75FCF6023E25AC700529352 /* SDL_render_sw_c.h in Headers */,
|
A75FCF6023E25AC700529352 /* SDL_render_sw_c.h in Headers */,
|
||||||
@@ -6043,7 +6017,6 @@
|
|||||||
A769B0D023E259AE00872273 /* SDL_cocoakeyboard.h in Headers */,
|
A769B0D023E259AE00872273 /* SDL_cocoakeyboard.h in Headers */,
|
||||||
5616CA5D252BB35E005D5928 /* SDL_sysurl.h in Headers */,
|
5616CA5D252BB35E005D5928 /* SDL_sysurl.h in Headers */,
|
||||||
A769B0D123E259AE00872273 /* SDL_uikitvulkan.h in Headers */,
|
A769B0D123E259AE00872273 /* SDL_uikitvulkan.h in Headers */,
|
||||||
A769B0D423E259AE00872273 /* vulkan.hpp in Headers */,
|
|
||||||
A769B0D623E259AE00872273 /* gl2ext.h in Headers */,
|
A769B0D623E259AE00872273 /* gl2ext.h in Headers */,
|
||||||
A769B0D723E259AE00872273 /* SDL_clipboardevents_c.h in Headers */,
|
A769B0D723E259AE00872273 /* SDL_clipboardevents_c.h in Headers */,
|
||||||
A769B0D923E259AE00872273 /* SDL_syshaptic_c.h in Headers */,
|
A769B0D923E259AE00872273 /* SDL_syshaptic_c.h in Headers */,
|
||||||
@@ -6114,7 +6087,6 @@
|
|||||||
F386F6F52884663E001840AA /* SDL_utils_c.h in Headers */,
|
F386F6F52884663E001840AA /* SDL_utils_c.h in Headers */,
|
||||||
A769B12A23E259AE00872273 /* SDL_uikitwindow.h in Headers */,
|
A769B12A23E259AE00872273 /* SDL_uikitwindow.h in Headers */,
|
||||||
A769B12B23E259AE00872273 /* vulkan_vi.h in Headers */,
|
A769B12B23E259AE00872273 /* vulkan_vi.h in Headers */,
|
||||||
A769B12C23E259AE00872273 /* vulkan_mir.h in Headers */,
|
|
||||||
A769B12E23E259AE00872273 /* default_cursor.h in Headers */,
|
A769B12E23E259AE00872273 /* default_cursor.h in Headers */,
|
||||||
A769B12F23E259AE00872273 /* SDL_render_sw_c.h in Headers */,
|
A769B12F23E259AE00872273 /* SDL_render_sw_c.h in Headers */,
|
||||||
A769B13223E259AE00872273 /* SDL_nullvideo.h in Headers */,
|
A769B13223E259AE00872273 /* SDL_nullvideo.h in Headers */,
|
||||||
@@ -6387,13 +6359,11 @@
|
|||||||
A7D8B26723E2514200DCD162 /* vk_platform.h in Headers */,
|
A7D8B26723E2514200DCD162 /* vk_platform.h in Headers */,
|
||||||
A7D8B2AF23E2514200DCD162 /* vk_sdk_platform.h in Headers */,
|
A7D8B2AF23E2514200DCD162 /* vk_sdk_platform.h in Headers */,
|
||||||
A7D8B26123E2514200DCD162 /* vulkan.h in Headers */,
|
A7D8B26123E2514200DCD162 /* vulkan.h in Headers */,
|
||||||
A7D8B26D23E2514200DCD162 /* vulkan.hpp in Headers */,
|
|
||||||
A7D8B2B523E2514200DCD162 /* vulkan_android.h in Headers */,
|
A7D8B2B523E2514200DCD162 /* vulkan_android.h in Headers */,
|
||||||
A7D8B2A923E2514200DCD162 /* vulkan_core.h in Headers */,
|
A7D8B2A923E2514200DCD162 /* vulkan_core.h in Headers */,
|
||||||
A7D8B27323E2514200DCD162 /* vulkan_fuchsia.h in Headers */,
|
A7D8B27323E2514200DCD162 /* vulkan_fuchsia.h in Headers */,
|
||||||
A7D8B2A323E2514200DCD162 /* vulkan_ios.h in Headers */,
|
A7D8B2A323E2514200DCD162 /* vulkan_ios.h in Headers */,
|
||||||
A7D8B28523E2514200DCD162 /* vulkan_macos.h in Headers */,
|
A7D8B28523E2514200DCD162 /* vulkan_macos.h in Headers */,
|
||||||
A7D8B29723E2514200DCD162 /* vulkan_mir.h in Headers */,
|
|
||||||
A7D8B25B23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
A7D8B25B23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
||||||
A7D8B27923E2514200DCD162 /* vulkan_wayland.h in Headers */,
|
A7D8B27923E2514200DCD162 /* vulkan_wayland.h in Headers */,
|
||||||
A7D8B27F23E2514200DCD162 /* vulkan_win32.h in Headers */,
|
A7D8B27F23E2514200DCD162 /* vulkan_win32.h in Headers */,
|
||||||
@@ -6629,13 +6599,11 @@
|
|||||||
A7D8B26823E2514200DCD162 /* vk_platform.h in Headers */,
|
A7D8B26823E2514200DCD162 /* vk_platform.h in Headers */,
|
||||||
A7D8B2B023E2514200DCD162 /* vk_sdk_platform.h in Headers */,
|
A7D8B2B023E2514200DCD162 /* vk_sdk_platform.h in Headers */,
|
||||||
A7D8B26223E2514200DCD162 /* vulkan.h in Headers */,
|
A7D8B26223E2514200DCD162 /* vulkan.h in Headers */,
|
||||||
A7D8B26E23E2514200DCD162 /* vulkan.hpp in Headers */,
|
|
||||||
A7D8B2B623E2514200DCD162 /* vulkan_android.h in Headers */,
|
A7D8B2B623E2514200DCD162 /* vulkan_android.h in Headers */,
|
||||||
A7D8B2AA23E2514200DCD162 /* vulkan_core.h in Headers */,
|
A7D8B2AA23E2514200DCD162 /* vulkan_core.h in Headers */,
|
||||||
A7D8B27423E2514200DCD162 /* vulkan_fuchsia.h in Headers */,
|
A7D8B27423E2514200DCD162 /* vulkan_fuchsia.h in Headers */,
|
||||||
A7D8B2A423E2514200DCD162 /* vulkan_ios.h in Headers */,
|
A7D8B2A423E2514200DCD162 /* vulkan_ios.h in Headers */,
|
||||||
A7D8B28623E2514200DCD162 /* vulkan_macos.h in Headers */,
|
A7D8B28623E2514200DCD162 /* vulkan_macos.h in Headers */,
|
||||||
A7D8B29823E2514200DCD162 /* vulkan_mir.h in Headers */,
|
|
||||||
A7D8B25C23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
A7D8B25C23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
||||||
A7D8B27A23E2514200DCD162 /* vulkan_wayland.h in Headers */,
|
A7D8B27A23E2514200DCD162 /* vulkan_wayland.h in Headers */,
|
||||||
A7D8B28023E2514200DCD162 /* vulkan_win32.h in Headers */,
|
A7D8B28023E2514200DCD162 /* vulkan_win32.h in Headers */,
|
||||||
@@ -6704,7 +6672,6 @@
|
|||||||
A7D8AE9223E2514100DCD162 /* SDL_cocoakeyboard.h in Headers */,
|
A7D8AE9223E2514100DCD162 /* SDL_cocoakeyboard.h in Headers */,
|
||||||
5616CA5A252BB35D005D5928 /* SDL_sysurl.h in Headers */,
|
5616CA5A252BB35D005D5928 /* SDL_sysurl.h in Headers */,
|
||||||
A7D8ACE523E2514100DCD162 /* SDL_uikitvulkan.h in Headers */,
|
A7D8ACE523E2514100DCD162 /* SDL_uikitvulkan.h in Headers */,
|
||||||
A7D8B27023E2514200DCD162 /* vulkan.hpp in Headers */,
|
|
||||||
A7D8B22823E2514200DCD162 /* gl2ext.h in Headers */,
|
A7D8B22823E2514200DCD162 /* gl2ext.h in Headers */,
|
||||||
A7D8BB7323E2514500DCD162 /* SDL_clipboardevents_c.h in Headers */,
|
A7D8BB7323E2514500DCD162 /* SDL_clipboardevents_c.h in Headers */,
|
||||||
A7D8AAE423E2514100DCD162 /* SDL_syshaptic_c.h in Headers */,
|
A7D8AAE423E2514100DCD162 /* SDL_syshaptic_c.h in Headers */,
|
||||||
@@ -6775,7 +6742,6 @@
|
|||||||
F386F6F42884663E001840AA /* SDL_utils_c.h in Headers */,
|
F386F6F42884663E001840AA /* SDL_utils_c.h in Headers */,
|
||||||
A7D8AC9D23E2514100DCD162 /* SDL_uikitwindow.h in Headers */,
|
A7D8AC9D23E2514100DCD162 /* SDL_uikitwindow.h in Headers */,
|
||||||
A7D8B25E23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
A7D8B25E23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
||||||
A7D8B29A23E2514200DCD162 /* vulkan_mir.h in Headers */,
|
|
||||||
A7D8BB4F23E2514500DCD162 /* default_cursor.h in Headers */,
|
A7D8BB4F23E2514500DCD162 /* default_cursor.h in Headers */,
|
||||||
A7D8B9FF23E2514400DCD162 /* SDL_render_sw_c.h in Headers */,
|
A7D8B9FF23E2514400DCD162 /* SDL_render_sw_c.h in Headers */,
|
||||||
A7D8ABFB23E2514100DCD162 /* SDL_nullvideo.h in Headers */,
|
A7D8ABFB23E2514100DCD162 /* SDL_nullvideo.h in Headers */,
|
||||||
@@ -7048,13 +7014,11 @@
|
|||||||
A7D8B26623E2514200DCD162 /* vk_platform.h in Headers */,
|
A7D8B26623E2514200DCD162 /* vk_platform.h in Headers */,
|
||||||
A7D8B2AE23E2514200DCD162 /* vk_sdk_platform.h in Headers */,
|
A7D8B2AE23E2514200DCD162 /* vk_sdk_platform.h in Headers */,
|
||||||
A7D8B26023E2514200DCD162 /* vulkan.h in Headers */,
|
A7D8B26023E2514200DCD162 /* vulkan.h in Headers */,
|
||||||
A7D8B26C23E2514200DCD162 /* vulkan.hpp in Headers */,
|
|
||||||
A7D8B2B423E2514200DCD162 /* vulkan_android.h in Headers */,
|
A7D8B2B423E2514200DCD162 /* vulkan_android.h in Headers */,
|
||||||
A7D8B2A823E2514200DCD162 /* vulkan_core.h in Headers */,
|
A7D8B2A823E2514200DCD162 /* vulkan_core.h in Headers */,
|
||||||
A7D8B27223E2514200DCD162 /* vulkan_fuchsia.h in Headers */,
|
A7D8B27223E2514200DCD162 /* vulkan_fuchsia.h in Headers */,
|
||||||
A7D8B2A223E2514200DCD162 /* vulkan_ios.h in Headers */,
|
A7D8B2A223E2514200DCD162 /* vulkan_ios.h in Headers */,
|
||||||
A7D8B28423E2514200DCD162 /* vulkan_macos.h in Headers */,
|
A7D8B28423E2514200DCD162 /* vulkan_macos.h in Headers */,
|
||||||
A7D8B29623E2514200DCD162 /* vulkan_mir.h in Headers */,
|
|
||||||
A7D8B25A23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
A7D8B25A23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
||||||
A7D8B27823E2514200DCD162 /* vulkan_wayland.h in Headers */,
|
A7D8B27823E2514200DCD162 /* vulkan_wayland.h in Headers */,
|
||||||
A7D8B27E23E2514200DCD162 /* vulkan_win32.h in Headers */,
|
A7D8B27E23E2514200DCD162 /* vulkan_win32.h in Headers */,
|
||||||
@@ -7118,7 +7082,6 @@
|
|||||||
A7D8BA7623E2514400DCD162 /* SDL_shaders_gl.h in Headers */,
|
A7D8BA7623E2514400DCD162 /* SDL_shaders_gl.h in Headers */,
|
||||||
A7D8B42B23E2514300DCD162 /* SDL_systhread_c.h in Headers */,
|
A7D8B42B23E2514300DCD162 /* SDL_systhread_c.h in Headers */,
|
||||||
A7D8AE9123E2514100DCD162 /* SDL_cocoakeyboard.h in Headers */,
|
A7D8AE9123E2514100DCD162 /* SDL_cocoakeyboard.h in Headers */,
|
||||||
A7D8B26F23E2514200DCD162 /* vulkan.hpp in Headers */,
|
|
||||||
A7D8B22723E2514200DCD162 /* gl2ext.h in Headers */,
|
A7D8B22723E2514200DCD162 /* gl2ext.h in Headers */,
|
||||||
A7D8BB7223E2514500DCD162 /* SDL_clipboardevents_c.h in Headers */,
|
A7D8BB7223E2514500DCD162 /* SDL_clipboardevents_c.h in Headers */,
|
||||||
A7D8AAE323E2514100DCD162 /* SDL_syshaptic_c.h in Headers */,
|
A7D8AAE323E2514100DCD162 /* SDL_syshaptic_c.h in Headers */,
|
||||||
@@ -7189,7 +7152,6 @@
|
|||||||
A7D8B29F23E2514200DCD162 /* vulkan_xlib.h in Headers */,
|
A7D8B29F23E2514200DCD162 /* vulkan_xlib.h in Headers */,
|
||||||
A7D8B25D23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
A7D8B25D23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
||||||
F316AB882B5A02C3002EF551 /* yuv_rgb_common.h in Headers */,
|
F316AB882B5A02C3002EF551 /* yuv_rgb_common.h in Headers */,
|
||||||
A7D8B29923E2514200DCD162 /* vulkan_mir.h in Headers */,
|
|
||||||
A1BB8B6F27F6CF330057CFA8 /* SDL_list.h in Headers */,
|
A1BB8B6F27F6CF330057CFA8 /* SDL_list.h in Headers */,
|
||||||
A7D8BB4E23E2514500DCD162 /* default_cursor.h in Headers */,
|
A7D8BB4E23E2514500DCD162 /* default_cursor.h in Headers */,
|
||||||
A7D8B9FE23E2514400DCD162 /* SDL_render_sw_c.h in Headers */,
|
A7D8B9FE23E2514400DCD162 /* SDL_render_sw_c.h in Headers */,
|
||||||
@@ -7325,7 +7287,6 @@
|
|||||||
DB313FDB17554B71006C0E22 /* SDL_keycode.h in Headers */,
|
DB313FDB17554B71006C0E22 /* SDL_keycode.h in Headers */,
|
||||||
A7D8AE9323E2514100DCD162 /* SDL_cocoakeyboard.h in Headers */,
|
A7D8AE9323E2514100DCD162 /* SDL_cocoakeyboard.h in Headers */,
|
||||||
A7D8ACE623E2514100DCD162 /* SDL_uikitvulkan.h in Headers */,
|
A7D8ACE623E2514100DCD162 /* SDL_uikitvulkan.h in Headers */,
|
||||||
A7D8B27123E2514200DCD162 /* vulkan.hpp in Headers */,
|
|
||||||
DB313FDC17554B71006C0E22 /* SDL_loadso.h in Headers */,
|
DB313FDC17554B71006C0E22 /* SDL_loadso.h in Headers */,
|
||||||
A7D8B22923E2514200DCD162 /* gl2ext.h in Headers */,
|
A7D8B22923E2514200DCD162 /* gl2ext.h in Headers */,
|
||||||
A7D8BB7423E2514500DCD162 /* SDL_clipboardevents_c.h in Headers */,
|
A7D8BB7423E2514500DCD162 /* SDL_clipboardevents_c.h in Headers */,
|
||||||
@@ -7409,7 +7370,6 @@
|
|||||||
A7D8B2A123E2514200DCD162 /* vulkan_xlib.h in Headers */,
|
A7D8B2A123E2514200DCD162 /* vulkan_xlib.h in Headers */,
|
||||||
A7D8AC9E23E2514100DCD162 /* SDL_uikitwindow.h in Headers */,
|
A7D8AC9E23E2514100DCD162 /* SDL_uikitwindow.h in Headers */,
|
||||||
A7D8B25F23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
A7D8B25F23E2514200DCD162 /* vulkan_vi.h in Headers */,
|
||||||
A7D8B29B23E2514200DCD162 /* vulkan_mir.h in Headers */,
|
|
||||||
DB313FE817554B71006C0E22 /* SDL_quit.h in Headers */,
|
DB313FE817554B71006C0E22 /* SDL_quit.h in Headers */,
|
||||||
A7D8BB5023E2514500DCD162 /* default_cursor.h in Headers */,
|
A7D8BB5023E2514500DCD162 /* default_cursor.h in Headers */,
|
||||||
A7D8BA0023E2514400DCD162 /* SDL_render_sw_c.h in Headers */,
|
A7D8BA0023E2514400DCD162 /* SDL_render_sw_c.h in Headers */,
|
||||||
@@ -9768,8 +9728,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.4.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 +9770,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.4;
|
||||||
OTHER_LDFLAGS = "-liconv";
|
OTHER_LDFLAGS = "-liconv";
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
@@ -9853,8 +9813,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.4.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 +9856,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.4;
|
||||||
OTHER_LDFLAGS = "-liconv";
|
OTHER_LDFLAGS = "-liconv";
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
@@ -10102,8 +10062,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.4.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 +10114,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.4.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.4
|
||||||
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)
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
<application android:label="@string/app_name"
|
<application android:label="@string/app_name"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
android:theme="@style/AppTheme"
|
||||||
android:hardwareAccelerated="true" >
|
android:hardwareAccelerated="true" >
|
||||||
|
|
||||||
<!-- Example of setting SDL hints from AndroidManifest.xml:
|
<!-- Example of setting SDL hints from AndroidManifest.xml:
|
||||||
|
|||||||
@@ -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 = 4;
|
||||||
/*
|
/*
|
||||||
// Display InputType.SOURCE/CLASS of events and devices
|
// Display InputType.SOURCE/CLASS of events and devices
|
||||||
//
|
//
|
||||||
@@ -995,8 +995,8 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
|||||||
/* No valid hint, nothing is explicitly allowed */
|
/* No valid hint, nothing is explicitly allowed */
|
||||||
if (!is_portrait_allowed && !is_landscape_allowed) {
|
if (!is_portrait_allowed && !is_landscape_allowed) {
|
||||||
if (resizable) {
|
if (resizable) {
|
||||||
/* All orientations are allowed */
|
/* All orientations are allowed, respecting user orientation lock setting */
|
||||||
req = ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR;
|
req = ActivityInfo.SCREEN_ORIENTATION_FULL_USER;
|
||||||
} else {
|
} else {
|
||||||
/* Fixed window and nothing specified. Get orientation from w/h of created window */
|
/* Fixed window and nothing specified. Get orientation from w/h of created window */
|
||||||
req = (w > h ? ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE : ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
|
req = (w > h ? ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE : ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
|
||||||
@@ -1005,8 +1005,8 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
|
|||||||
/* At least one orientation is allowed */
|
/* At least one orientation is allowed */
|
||||||
if (resizable) {
|
if (resizable) {
|
||||||
if (is_portrait_allowed && is_landscape_allowed) {
|
if (is_portrait_allowed && is_landscape_allowed) {
|
||||||
/* hint allows both landscape and portrait, promote to full sensor */
|
/* hint allows both landscape and portrait, promote to full user */
|
||||||
req = ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR;
|
req = ActivityInfo.SCREEN_ORIENTATION_FULL_USER;
|
||||||
} else {
|
} else {
|
||||||
/* Use the only one allowed "orientation" */
|
/* Use the only one allowed "orientation" */
|
||||||
req = (is_landscape_allowed ? orientation_landscape : orientation_portrait);
|
req = (is_landscape_allowed ? orientation_landscape : orientation_portrait);
|
||||||
|
|||||||
@@ -546,13 +546,15 @@ class SDLHapticHandler {
|
|||||||
if (haptic == null) {
|
if (haptic == null) {
|
||||||
InputDevice device = InputDevice.getDevice(deviceIds[i]);
|
InputDevice device = InputDevice.getDevice(deviceIds[i]);
|
||||||
Vibrator vib = device.getVibrator();
|
Vibrator vib = device.getVibrator();
|
||||||
if (vib.hasVibrator()) {
|
if (vib != null) {
|
||||||
haptic = new SDLHaptic();
|
if (vib.hasVibrator()) {
|
||||||
haptic.device_id = deviceIds[i];
|
haptic = new SDLHaptic();
|
||||||
haptic.name = device.getName();
|
haptic.device_id = deviceIds[i];
|
||||||
haptic.vib = vib;
|
haptic.name = device.getName();
|
||||||
mHaptics.add(haptic);
|
haptic.vib = vib;
|
||||||
SDLControllerManager.nativeAddHaptic(haptic.device_id, haptic.name);
|
mHaptics.add(haptic);
|
||||||
|
SDLControllerManager.nativeAddHaptic(haptic.device_id, haptic.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
|
<style name="AppTheme" parent="android:Theme.NoTitleBar.Fullscreen">
|
||||||
<!-- Customize your theme here. -->
|
<!-- Customize your theme here. -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
+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"
|
||||||
|
|||||||
@@ -873,7 +873,6 @@ enable_sse2
|
|||||||
enable_sse3
|
enable_sse3
|
||||||
enable_altivec
|
enable_altivec
|
||||||
enable_lsx
|
enable_lsx
|
||||||
enable_lasx
|
|
||||||
enable_oss
|
enable_oss
|
||||||
enable_alsa
|
enable_alsa
|
||||||
with_alsa_prefix
|
with_alsa_prefix
|
||||||
@@ -1675,7 +1674,6 @@ Optional Features:
|
|||||||
--enable-sse3 use SSE3 assembly routines [default=maybe]
|
--enable-sse3 use SSE3 assembly routines [default=maybe]
|
||||||
--enable-altivec use Altivec assembly routines [default=yes]
|
--enable-altivec use Altivec assembly routines [default=yes]
|
||||||
--enable-lsx use LSX assembly routines [default=yes]
|
--enable-lsx use LSX assembly routines [default=yes]
|
||||||
--enable-lasx use LASX assembly routines [default=yes]
|
|
||||||
--enable-oss support the OSS audio API [default=maybe]
|
--enable-oss support the OSS audio API [default=maybe]
|
||||||
--enable-alsa support the ALSA audio API [default=yes]
|
--enable-alsa support the ALSA audio API [default=yes]
|
||||||
--disable-alsatest Do not try to compile and run a test Alsa program
|
--disable-alsatest Do not try to compile and run a test Alsa program
|
||||||
@@ -3509,8 +3507,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=4
|
||||||
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 +5033,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 +5160,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 +5389,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 +5553,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 +5566,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 +5601,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 +5637,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 +5810,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 +5978,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 +6132,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 +6570,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 +6698,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 +6777,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 +6792,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 +7226,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 +7245,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 +7274,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 +8270,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 +8886,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 +9211,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 +9314,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 +9821,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 +9936,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 +10481,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 +10498,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 +10529,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 +11295,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 +11353,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 +11521,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 +11554,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 +11567,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 +11624,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 +12294,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 +14570,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 +14704,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 +15002,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 +15201,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 +15266,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 +15605,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 +15689,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 +15700,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 +16014,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 +16089,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 +16583,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 +16905,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 +16937,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 +16950,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 +17007,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'
|
||||||
;;
|
;;
|
||||||
@@ -18825,7 +18816,7 @@ fi
|
|||||||
|
|
||||||
enable_system_iconv_default=yes
|
enable_system_iconv_default=yes
|
||||||
case "$host" in
|
case "$host" in
|
||||||
*-*-cygwin*|*-*-mingw*)
|
*-*-cygwin*|*-*-mingw*|*-*-darwin*|*-ios-*)
|
||||||
enable_system_iconv_default=no
|
enable_system_iconv_default=no
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -19756,6 +19747,18 @@ if test "x$ac_cv_func_poll" = xyes
|
|||||||
then :
|
then :
|
||||||
printf "%s\n" "#define HAVE_POLL 1" >>confdefs.h
|
printf "%s\n" "#define HAVE_POLL 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
ac_fn_c_check_func "$LINENO" "memfd_create" "ac_cv_func_memfd_create"
|
||||||
|
if test "x$ac_cv_func_memfd_create" = xyes
|
||||||
|
then :
|
||||||
|
printf "%s\n" "#define HAVE_MEMFD_CREATE 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
ac_fn_c_check_func "$LINENO" "posix_fallocate" "ac_cv_func_posix_fallocate"
|
||||||
|
if test "x$ac_cv_func_posix_fallocate" = xyes
|
||||||
|
then :
|
||||||
|
printf "%s\n" "#define HAVE_POSIX_FALLOCATE 1" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
ac_fn_c_check_func "$LINENO" "_Exit" "ac_cv_func__Exit"
|
ac_fn_c_check_func "$LINENO" "_Exit" "ac_cv_func__Exit"
|
||||||
if test "x$ac_cv_func__Exit" = xyes
|
if test "x$ac_cv_func__Exit" = xyes
|
||||||
@@ -21107,80 +21110,6 @@ printf "%s\n" "#define HAVE_LSXINTRIN_H 1" >>confdefs.h
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check whether --enable-lasx was given.
|
|
||||||
if test ${enable_lasx+y}
|
|
||||||
then :
|
|
||||||
enableval=$enable_lasx;
|
|
||||||
else $as_nop
|
|
||||||
enable_LASX=yes
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$enable_LASX = xyes; then
|
|
||||||
save_CFLAGS="$CFLAGS"
|
|
||||||
have_gcc_lasx=no
|
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GCC -mlasx option" >&5
|
|
||||||
printf %s "checking for GCC -mlasx option... " >&6; }
|
|
||||||
lasx_CFLAGS="-mlasx"
|
|
||||||
CFLAGS="$save_CFLAGS $lasx_CFLAGS"
|
|
||||||
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
|
|
||||||
#ifndef __loongarch_asx
|
|
||||||
#error Assembler CPP flag not enabled
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
|
||||||
main (void)
|
|
||||||
{
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"
|
|
||||||
then :
|
|
||||||
have_gcc_lasx=yes
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
|
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_gcc_lasx" >&5
|
|
||||||
printf "%s\n" "$have_gcc_lasx" >&6; }
|
|
||||||
CFLAGS="$save_CFLAGS"
|
|
||||||
|
|
||||||
if test x$have_gcc_lasx = xyes; then
|
|
||||||
EXTRA_CFLAGS="$EXTRA_CFLAGS $lasx_CFLAGS"
|
|
||||||
SUMMARY_math="${SUMMARY_math} lasx"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lasxintrin.h" >&5
|
|
||||||
printf %s "checking for lasxintrin.h... " >&6; }
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
#include <lasxintrin.h>
|
|
||||||
int
|
|
||||||
main (void)
|
|
||||||
{
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"
|
|
||||||
then :
|
|
||||||
have_lasxintrin_h_hdr=yes
|
|
||||||
else $as_nop
|
|
||||||
have_lasxintrin_h_hdr=no
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
|
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_lasxintrin_h_hdr" >&5
|
|
||||||
printf "%s\n" "$have_lasxintrin_h_hdr" >&6; }
|
|
||||||
if test x$have_lasxintrin_h_hdr = xyes; then
|
|
||||||
|
|
||||||
printf "%s\n" "#define HAVE_LASXINTRIN_H 1" >>confdefs.h
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
CheckOSS()
|
CheckOSS()
|
||||||
{
|
{
|
||||||
# Check whether --enable-oss was given.
|
# Check whether --enable-oss was given.
|
||||||
@@ -27584,18 +27513,14 @@ then :
|
|||||||
have_d3d11=yes
|
have_d3d11=yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for d3d12 Windows SDK version" >&5
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compatible d3d12 headers" >&5
|
||||||
printf %s "checking for d3d12 Windows SDK version... " >&6; }
|
printf %s "checking for compatible d3d12 headers... " >&6; }
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
|
||||||
#include <winsdkver.h>
|
|
||||||
#include <sdkddkver.h>
|
|
||||||
#include <d3d12.h>
|
#include <d3d12.h>
|
||||||
|
#include <d3d12sdklayers.h>
|
||||||
ID3D12Device1 *device;
|
ID3D12Device1 *device;
|
||||||
#if WDK_NTDDI_VERSION <= 0x0A000008
|
|
||||||
asdf
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main (void)
|
main (void)
|
||||||
@@ -27614,6 +27539,7 @@ fi
|
|||||||
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
|
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_d3d12" >&5
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_d3d12" >&5
|
||||||
printf "%s\n" "$have_d3d12" >&6; }
|
printf "%s\n" "$have_d3d12" >&6; }
|
||||||
|
|
||||||
ac_fn_c_check_header_compile "$LINENO" "ddraw.h" "ac_cv_header_ddraw_h" "$ac_includes_default"
|
ac_fn_c_check_header_compile "$LINENO" "ddraw.h" "ac_cv_header_ddraw_h" "$ac_includes_default"
|
||||||
if test "x$ac_cv_header_ddraw_h" = xyes
|
if test "x$ac_cv_header_ddraw_h" = xyes
|
||||||
then :
|
then :
|
||||||
|
|||||||
+7
-42
@@ -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=4
|
||||||
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`
|
||||||
@@ -322,7 +322,7 @@ AC_ARG_ENABLE(libc,
|
|||||||
dnl See whether we are allowed to use system iconv
|
dnl See whether we are allowed to use system iconv
|
||||||
enable_system_iconv_default=yes
|
enable_system_iconv_default=yes
|
||||||
case "$host" in
|
case "$host" in
|
||||||
*-*-cygwin*|*-*-mingw*)
|
*-*-cygwin*|*-*-mingw*|*-*-darwin*|*-ios-*)
|
||||||
enable_system_iconv_default=no
|
enable_system_iconv_default=no
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -359,7 +359,7 @@ dnl Checks for library functions.
|
|||||||
AC_DEFINE(HAVE_MPROTECT, 1, [ ])
|
AC_DEFINE(HAVE_MPROTECT, 1, [ ])
|
||||||
],[]),
|
],[]),
|
||||||
)
|
)
|
||||||
AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv bsearch qsort abs bcopy memset memcmp memcpy memmove wcslen wcslcpy wcslcat _wcsdup wcsdup wcsstr wcscmp wcsncmp wcscasecmp _wcsicmp wcsncasecmp _wcsnicmp strlen strlcpy strlcat _strrev _strupr _strlwr index rindex strchr strrchr strstr strtok_r itoa _ltoa _uitoa _ultoa strtod strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp strcasestr vsscanf vsnprintf fopen64 fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname getauxval elf_aux_info poll _Exit)
|
AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv bsearch qsort abs bcopy memset memcmp memcpy memmove wcslen wcslcpy wcslcat _wcsdup wcsdup wcsstr wcscmp wcsncmp wcscasecmp _wcsicmp wcsncasecmp _wcsnicmp strlen strlcpy strlcat _strrev _strupr _strlwr index rindex strchr strrchr strstr strtok_r itoa _ltoa _uitoa _ultoa strtod strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp strcasestr vsscanf vsnprintf fopen64 fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname getauxval elf_aux_info poll memfd_create posix_fallocate _Exit)
|
||||||
|
|
||||||
AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
|
AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
|
||||||
AC_CHECK_FUNCS(acos acosf asin asinf atan atanf atan2 atan2f ceil ceilf copysign copysignf cos cosf exp expf fabs fabsf floor floorf trunc truncf fmod fmodf log logf log10 log10f lround lroundf pow powf round roundf scalbn scalbnf sin sinf sqrt sqrtf tan tanf)
|
AC_CHECK_FUNCS(acos acosf asin asinf atan atanf atan2 atan2f ceil ceilf copysign copysignf cos cosf exp expf fabs fabsf floor floorf trunc truncf fmod fmodf log logf log10 log10f lround lroundf pow powf round roundf scalbn scalbnf sin sinf sqrt sqrtf tan tanf)
|
||||||
@@ -938,38 +938,6 @@ fi
|
|||||||
AC_DEFINE(HAVE_LSXINTRIN_H, 1, [ ])
|
AC_DEFINE(HAVE_LSXINTRIN_H, 1, [ ])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_ENABLE(lasx,
|
|
||||||
[AS_HELP_STRING([--enable-lasx], [use LASX assembly routines [default=yes]])],
|
|
||||||
, enable_LASX=yes)
|
|
||||||
if test x$enable_LASX = xyes; then
|
|
||||||
save_CFLAGS="$CFLAGS"
|
|
||||||
have_gcc_lasx=no
|
|
||||||
AC_MSG_CHECKING(for GCC -mlasx option)
|
|
||||||
lasx_CFLAGS="-mlasx"
|
|
||||||
CFLAGS="$save_CFLAGS $lasx_CFLAGS"
|
|
||||||
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
||||||
#ifndef __loongarch_asx
|
|
||||||
#error Assembler CPP flag not enabled
|
|
||||||
#endif
|
|
||||||
]], [])], [have_gcc_lasx=yes], [])
|
|
||||||
AC_MSG_RESULT($have_gcc_lasx)
|
|
||||||
CFLAGS="$save_CFLAGS"
|
|
||||||
|
|
||||||
if test x$have_gcc_lasx = xyes; then
|
|
||||||
EXTRA_CFLAGS="$EXTRA_CFLAGS $lasx_CFLAGS"
|
|
||||||
SUMMARY_math="${SUMMARY_math} lasx"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(for lasxintrin.h)
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <lasxintrin.h>]])],
|
|
||||||
[have_lasxintrin_h_hdr=yes],[have_lasxintrin_h_hdr=no])
|
|
||||||
AC_MSG_RESULT($have_lasxintrin_h_hdr)
|
|
||||||
if test x$have_lasxintrin_h_hdr = xyes; then
|
|
||||||
AC_DEFINE(HAVE_LASXINTRIN_H, 1, [ ])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl See if the OSS audio interface is supported
|
dnl See if the OSS audio interface is supported
|
||||||
CheckOSS()
|
CheckOSS()
|
||||||
{
|
{
|
||||||
@@ -3375,17 +3343,14 @@ CheckDIRECTX()
|
|||||||
if test x$enable_directx = xyes; then
|
if test x$enable_directx = xyes; then
|
||||||
AC_CHECK_HEADER(d3d9.h, have_d3d=yes)
|
AC_CHECK_HEADER(d3d9.h, have_d3d=yes)
|
||||||
AC_CHECK_HEADER(d3d11_1.h, have_d3d11=yes)
|
AC_CHECK_HEADER(d3d11_1.h, have_d3d11=yes)
|
||||||
AC_MSG_CHECKING(for d3d12 Windows SDK version)
|
AC_MSG_CHECKING(for compatible d3d12 headers)
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#include <winsdkver.h>
|
|
||||||
#include <sdkddkver.h>
|
|
||||||
#include <d3d12.h>
|
#include <d3d12.h>
|
||||||
|
#include <d3d12sdklayers.h>
|
||||||
ID3D12Device1 *device;
|
ID3D12Device1 *device;
|
||||||
#if WDK_NTDDI_VERSION <= 0x0A000008
|
|
||||||
asdf
|
|
||||||
#endif
|
|
||||||
]])], [have_d3d12=yes],[have_d3d12=no])
|
]])], [have_d3d12=yes],[have_d3d12=no])
|
||||||
AC_MSG_RESULT($have_d3d12)
|
AC_MSG_RESULT($have_d3d12)
|
||||||
|
|
||||||
AC_CHECK_HEADER(ddraw.h, have_ddraw=yes)
|
AC_CHECK_HEADER(ddraw.h, have_ddraw=yes)
|
||||||
AC_CHECK_HEADER(dsound.h, have_dsound=yes)
|
AC_CHECK_HEADER(dsound.h, have_dsound=yes)
|
||||||
AC_CHECK_HEADER(dinput.h, have_dinput=yes)
|
AC_CHECK_HEADER(dinput.h, have_dinput=yes)
|
||||||
|
|||||||
@@ -190,6 +190,8 @@
|
|||||||
#cmakedefine HAVE_FOPEN64 1
|
#cmakedefine HAVE_FOPEN64 1
|
||||||
#cmakedefine HAVE_FSEEKO 1
|
#cmakedefine HAVE_FSEEKO 1
|
||||||
#cmakedefine HAVE_FSEEKO64 1
|
#cmakedefine HAVE_FSEEKO64 1
|
||||||
|
#cmakedefine HAVE_MEMFD_CREATE 1
|
||||||
|
#cmakedefine HAVE_POSIX_FALLOCATE 1
|
||||||
#cmakedefine HAVE_SIGACTION 1
|
#cmakedefine HAVE_SIGACTION 1
|
||||||
#cmakedefine HAVE_SA_SIGACTION 1
|
#cmakedefine HAVE_SA_SIGACTION 1
|
||||||
#cmakedefine HAVE_SETJMP 1
|
#cmakedefine HAVE_SETJMP 1
|
||||||
|
|||||||
@@ -211,6 +211,8 @@
|
|||||||
#undef HAVE_GETAUXVAL
|
#undef HAVE_GETAUXVAL
|
||||||
#undef HAVE_ELF_AUX_INFO
|
#undef HAVE_ELF_AUX_INFO
|
||||||
#undef HAVE_POLL
|
#undef HAVE_POLL
|
||||||
|
#undef HAVE_MEMFD_CREATE
|
||||||
|
#undef HAVE_POSIX_FALLOCATE
|
||||||
#undef HAVE__EXIT
|
#undef HAVE__EXIT
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -114,9 +114,6 @@
|
|||||||
#define HAVE_MEMCPY 1
|
#define HAVE_MEMCPY 1
|
||||||
#define HAVE_MEMMOVE 1
|
#define HAVE_MEMMOVE 1
|
||||||
#define HAVE_MEMCMP 1
|
#define HAVE_MEMCMP 1
|
||||||
#define HAVE_WCSLEN 1
|
|
||||||
#define HAVE_WCSLCPY 1
|
|
||||||
#define HAVE_WCSLCAT 1
|
|
||||||
#define HAVE_WCSCMP 1
|
#define HAVE_WCSCMP 1
|
||||||
#define HAVE__WCSICMP 1
|
#define HAVE__WCSICMP 1
|
||||||
#define HAVE__WCSNICMP 1
|
#define HAVE__WCSNICMP 1
|
||||||
|
|||||||
@@ -99,9 +99,11 @@ typedef unsigned int uintptr_t;
|
|||||||
#define HAVE_D3D11_H 1
|
#define HAVE_D3D11_H 1
|
||||||
#define HAVE_ROAPI_H 1
|
#define HAVE_ROAPI_H 1
|
||||||
#endif
|
#endif
|
||||||
#if defined(WDK_NTDDI_VERSION) && WDK_NTDDI_VERSION > 0x0A000008 /* 10.0.19041.0 */
|
#if defined(__has_include)
|
||||||
|
#if __has_include(<d3d12.h>) && __has_include(<d3d12sdklayers.h>)
|
||||||
#define HAVE_D3D12_H 1
|
#define HAVE_D3D12_H 1
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#if defined(_WIN32_MAXVER) && _WIN32_MAXVER >= 0x0603 /* Windows 8.1 SDK */
|
#if defined(_WIN32_MAXVER) && _WIN32_MAXVER >= 0x0603 /* Windows 8.1 SDK */
|
||||||
#define HAVE_SHELLSCALINGAPI_H 1
|
#define HAVE_SHELLSCALINGAPI_H 1
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -73,7 +73,13 @@
|
|||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
/* lets us know what version of Mac OS X we're compiling on */
|
/* lets us know what version of Mac OS X we're compiling on */
|
||||||
#include <AvailabilityMacros.h>
|
#include <AvailabilityMacros.h>
|
||||||
|
#ifndef __has_extension /* Older compilers don't support this */
|
||||||
|
#define __has_extension(x) 0
|
||||||
#include <TargetConditionals.h>
|
#include <TargetConditionals.h>
|
||||||
|
#undef __has_extension
|
||||||
|
#else
|
||||||
|
#include <TargetConditionals.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Fix building with older SDKs that don't define these
|
/* Fix building with older SDKs that don't define these
|
||||||
See this for more information:
|
See this for more information:
|
||||||
@@ -199,8 +205,10 @@
|
|||||||
#undef __GDK__
|
#undef __GDK__
|
||||||
#define __GDK__ 1
|
#define __GDK__ 1
|
||||||
#endif
|
#endif
|
||||||
#if defined(__PSP__)
|
#if defined(__PSP__) || defined(__psp__)
|
||||||
|
#ifdef __PSP__
|
||||||
#undef __PSP__
|
#undef __PSP__
|
||||||
|
#endif
|
||||||
#define __PSP__ 1
|
#define __PSP__ 1
|
||||||
#endif
|
#endif
|
||||||
#if defined(PS2)
|
#if defined(PS2)
|
||||||
|
|||||||
+13
-13
@@ -107,7 +107,7 @@
|
|||||||
# elif defined(__MRC__)
|
# elif defined(__MRC__)
|
||||||
void *alloca(unsigned);
|
void *alloca(unsigned);
|
||||||
# else
|
# else
|
||||||
char *alloca();
|
void *alloca(size_t);
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -253,10 +253,10 @@ typedef uint64_t Uint64;
|
|||||||
* <stdint.h> should define these but this is not true all platforms.
|
* <stdint.h> should define these but this is not true all platforms.
|
||||||
* (for example win32) */
|
* (for example win32) */
|
||||||
#ifndef SDL_PRIs64
|
#ifndef SDL_PRIs64
|
||||||
#ifdef PRIs64
|
#if defined(__WIN32__) || defined(__GDK__)
|
||||||
#define SDL_PRIs64 PRIs64
|
|
||||||
#elif defined(__WIN32__) || defined(__GDK__)
|
|
||||||
#define SDL_PRIs64 "I64d"
|
#define SDL_PRIs64 "I64d"
|
||||||
|
#elif defined(PRIs64)
|
||||||
|
#define SDL_PRIs64 PRIs64
|
||||||
#elif defined(__LP64__) && !defined(__APPLE__)
|
#elif defined(__LP64__) && !defined(__APPLE__)
|
||||||
#define SDL_PRIs64 "ld"
|
#define SDL_PRIs64 "ld"
|
||||||
#else
|
#else
|
||||||
@@ -264,10 +264,10 @@ typedef uint64_t Uint64;
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifndef SDL_PRIu64
|
#ifndef SDL_PRIu64
|
||||||
#ifdef PRIu64
|
#if defined(__WIN32__) || defined(__GDK__)
|
||||||
#define SDL_PRIu64 PRIu64
|
|
||||||
#elif defined(__WIN32__) || defined(__GDK__)
|
|
||||||
#define SDL_PRIu64 "I64u"
|
#define SDL_PRIu64 "I64u"
|
||||||
|
#elif defined(PRIu64)
|
||||||
|
#define SDL_PRIu64 PRIu64
|
||||||
#elif defined(__LP64__) && !defined(__APPLE__)
|
#elif defined(__LP64__) && !defined(__APPLE__)
|
||||||
#define SDL_PRIu64 "lu"
|
#define SDL_PRIu64 "lu"
|
||||||
#else
|
#else
|
||||||
@@ -275,10 +275,10 @@ typedef uint64_t Uint64;
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifndef SDL_PRIx64
|
#ifndef SDL_PRIx64
|
||||||
#ifdef PRIx64
|
#if defined(__WIN32__) || defined(__GDK__)
|
||||||
#define SDL_PRIx64 PRIx64
|
|
||||||
#elif defined(__WIN32__) || defined(__GDK__)
|
|
||||||
#define SDL_PRIx64 "I64x"
|
#define SDL_PRIx64 "I64x"
|
||||||
|
#elif defined(PRIx64)
|
||||||
|
#define SDL_PRIx64 PRIx64
|
||||||
#elif defined(__LP64__) && !defined(__APPLE__)
|
#elif defined(__LP64__) && !defined(__APPLE__)
|
||||||
#define SDL_PRIx64 "lx"
|
#define SDL_PRIx64 "lx"
|
||||||
#else
|
#else
|
||||||
@@ -286,10 +286,10 @@ typedef uint64_t Uint64;
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifndef SDL_PRIX64
|
#ifndef SDL_PRIX64
|
||||||
#ifdef PRIX64
|
#if defined(__WIN32__) || defined(__GDK__)
|
||||||
#define SDL_PRIX64 PRIX64
|
|
||||||
#elif defined(__WIN32__) || defined(__GDK__)
|
|
||||||
#define SDL_PRIX64 "I64X"
|
#define SDL_PRIX64 "I64X"
|
||||||
|
#elif defined(PRIX64)
|
||||||
|
#define SDL_PRIX64 PRIX64
|
||||||
#elif defined(__LP64__) && !defined(__APPLE__)
|
#elif defined(__LP64__) && !defined(__APPLE__)
|
||||||
#define SDL_PRIX64 "lX"
|
#define SDL_PRIX64 "lX"
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -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 4
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Macro to determine SDL version program was compiled against.
|
* Macro to determine SDL version program was compiled against.
|
||||||
|
|||||||
@@ -161,6 +161,10 @@ const char *SDL_GetHint(const char *name)
|
|||||||
const char *env;
|
const char *env;
|
||||||
SDL_Hint *hint;
|
SDL_Hint *hint;
|
||||||
|
|
||||||
|
if (!name) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
env = SDL_getenv(name);
|
env = SDL_getenv(name);
|
||||||
for (hint = SDL_hints; hint; hint = hint->next) {
|
for (hint = SDL_hints; hint; hint = hint->next) {
|
||||||
if (SDL_strcmp(name, hint->name) == 0) {
|
if (SDL_strcmp(name, hint->name) == 0) {
|
||||||
|
|||||||
@@ -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,6 +36,7 @@ extern "C" {
|
|||||||
static XTaskQueueHandle GDK_GlobalTaskQueue;
|
static XTaskQueueHandle GDK_GlobalTaskQueue;
|
||||||
|
|
||||||
PAPPSTATE_REGISTRATION hPLM = {};
|
PAPPSTATE_REGISTRATION hPLM = {};
|
||||||
|
PAPPCONSTRAIN_REGISTRATION hCPLM = {};
|
||||||
HANDLE plmSuspendComplete = nullptr;
|
HANDLE plmSuspendComplete = nullptr;
|
||||||
|
|
||||||
extern "C" DECLSPEC int
|
extern "C" DECLSPEC int
|
||||||
@@ -177,6 +178,23 @@ SDL_GDKRunApp(SDL_main_func mainFunction, void *reserved)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Register constrain/unconstrain handling */
|
||||||
|
auto raccn = [](BOOLEAN constrained, PVOID context) {
|
||||||
|
SDL_LogDebug(SDL_LOG_CATEGORY_APPLICATION, "[GDK] in RegisterAppConstrainedChangeNotification handler");
|
||||||
|
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
||||||
|
if (_this) {
|
||||||
|
if (constrained) {
|
||||||
|
SDL_SetKeyboardFocus(NULL);
|
||||||
|
} else {
|
||||||
|
SDL_SetKeyboardFocus(_this->windows);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (RegisterAppConstrainedChangeNotification(raccn, NULL, &hCPLM)) {
|
||||||
|
SDL_SetError("[GDK] Unable to call RegisterAppConstrainedChangeNotification");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Run the application main() code */
|
/* Run the application main() code */
|
||||||
result = mainFunction(argc, argv);
|
result = mainFunction(argc, argv);
|
||||||
|
|
||||||
@@ -184,6 +202,9 @@ SDL_GDKRunApp(SDL_main_func mainFunction, void *reserved)
|
|||||||
UnregisterAppStateChangeNotification(hPLM);
|
UnregisterAppStateChangeNotification(hPLM);
|
||||||
CloseHandle(plmSuspendComplete);
|
CloseHandle(plmSuspendComplete);
|
||||||
|
|
||||||
|
/* Unregister constrain/unconstrain handling */
|
||||||
|
UnregisterAppConstrainedChangeNotification(hCPLM);
|
||||||
|
|
||||||
/* !!! FIXME: This follows the docs exactly, but for some reason still leaks handles on exit? */
|
/* !!! FIXME: This follows the docs exactly, but for some reason still leaks handles on exit? */
|
||||||
/* Terminate the task queue and dispatch any pending tasks */
|
/* Terminate the task queue and dispatch any pending tasks */
|
||||||
XTaskQueueTerminate(taskQueue, false, nullptr, nullptr);
|
XTaskQueueTerminate(taskQueue, false, nullptr, nullptr);
|
||||||
|
|||||||
+44
-45
@@ -31,6 +31,7 @@
|
|||||||
#ifdef SDL_USE_LIBUDEV
|
#ifdef SDL_USE_LIBUDEV
|
||||||
|
|
||||||
#include <linux/input.h>
|
#include <linux/input.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#include "SDL_assert.h"
|
#include "SDL_assert.h"
|
||||||
#include "SDL_evdev_capabilities.h"
|
#include "SDL_evdev_capabilities.h"
|
||||||
@@ -227,61 +228,59 @@ void SDL_UDEV_Scan(void)
|
|||||||
|
|
||||||
SDL_bool SDL_UDEV_GetProductInfo(const char *device_path, Uint16 *vendor, Uint16 *product, Uint16 *version, int *class)
|
SDL_bool SDL_UDEV_GetProductInfo(const char *device_path, Uint16 *vendor, Uint16 *product, Uint16 *version, int *class)
|
||||||
{
|
{
|
||||||
struct udev_enumerate *enumerate = NULL;
|
struct stat statbuf;
|
||||||
struct udev_list_entry *devs = NULL;
|
char type;
|
||||||
struct udev_list_entry *item = NULL;
|
struct udev_device *dev;
|
||||||
SDL_bool found = SDL_FALSE;
|
const char* val;
|
||||||
|
int class_temp;
|
||||||
|
|
||||||
if (!_this) {
|
if (!_this) {
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
enumerate = _this->syms.udev_enumerate_new(_this->udev);
|
if (stat(device_path, &statbuf) == -1) {
|
||||||
if (!enumerate) {
|
|
||||||
SDL_SetError("udev_enumerate_new() failed");
|
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
_this->syms.udev_enumerate_scan_devices(enumerate);
|
if (S_ISBLK(statbuf.st_mode)) {
|
||||||
devs = _this->syms.udev_enumerate_get_list_entry(enumerate);
|
type = 'b';
|
||||||
for (item = devs; item && !found; item = _this->syms.udev_list_entry_get_next(item)) {
|
}
|
||||||
const char *path = _this->syms.udev_list_entry_get_name(item);
|
else if (S_ISCHR(statbuf.st_mode)) {
|
||||||
struct udev_device *dev = _this->syms.udev_device_new_from_syspath(_this->udev, path);
|
type = 'c';
|
||||||
if (dev) {
|
}
|
||||||
const char *val = NULL;
|
else {
|
||||||
const char *existing_path;
|
return SDL_FALSE;
|
||||||
|
|
||||||
existing_path = _this->syms.udev_device_get_devnode(dev);
|
|
||||||
if (existing_path && SDL_strcmp(device_path, existing_path) == 0) {
|
|
||||||
int class_temp;
|
|
||||||
found = SDL_TRUE;
|
|
||||||
|
|
||||||
val = _this->syms.udev_device_get_property_value(dev, "ID_VENDOR_ID");
|
|
||||||
if (val) {
|
|
||||||
*vendor = (Uint16)SDL_strtol(val, NULL, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
val = _this->syms.udev_device_get_property_value(dev, "ID_MODEL_ID");
|
|
||||||
if (val) {
|
|
||||||
*product = (Uint16)SDL_strtol(val, NULL, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
val = _this->syms.udev_device_get_property_value(dev, "ID_REVISION");
|
|
||||||
if (val) {
|
|
||||||
*version = (Uint16)SDL_strtol(val, NULL, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
class_temp = device_class(dev);
|
|
||||||
if (class_temp) {
|
|
||||||
*class = class_temp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_this->syms.udev_device_unref(dev);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
_this->syms.udev_enumerate_unref(enumerate);
|
|
||||||
|
|
||||||
return found;
|
dev = _this->syms.udev_device_new_from_devnum(_this->udev, type, statbuf.st_rdev);
|
||||||
|
|
||||||
|
if (!dev) {
|
||||||
|
return SDL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
val = _this->syms.udev_device_get_property_value(dev, "ID_VENDOR_ID");
|
||||||
|
if (val) {
|
||||||
|
*vendor = (Uint16)SDL_strtol(val, NULL, 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
val = _this->syms.udev_device_get_property_value(dev, "ID_MODEL_ID");
|
||||||
|
if (val) {
|
||||||
|
*product = (Uint16)SDL_strtol(val, NULL, 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
val = _this->syms.udev_device_get_property_value(dev, "ID_REVISION");
|
||||||
|
if (val) {
|
||||||
|
*version = (Uint16)SDL_strtol(val, NULL, 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
class_temp = device_class(dev);
|
||||||
|
if (class_temp) {
|
||||||
|
*class = class_temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
_this->syms.udev_device_unref(dev);
|
||||||
|
|
||||||
|
return SDL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SDL_UDEV_UnloadLibrary(void)
|
void SDL_UDEV_UnloadLibrary(void)
|
||||||
|
|||||||
@@ -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)) {
|
||||||
|
|||||||
+5
-12
@@ -34,13 +34,6 @@
|
|||||||
#include "../video/SDL_sysvideo.h"
|
#include "../video/SDL_sysvideo.h"
|
||||||
#include "SDL_syswm.h"
|
#include "SDL_syswm.h"
|
||||||
|
|
||||||
#undef SDL_PRIs64
|
|
||||||
#if (defined(__WIN32__) || defined(__GDK__)) && !defined(__CYGWIN__)
|
|
||||||
#define SDL_PRIs64 "I64d"
|
|
||||||
#else
|
|
||||||
#define SDL_PRIs64 "lld"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* An arbitrary limit so we don't have unbounded growth */
|
/* An arbitrary limit so we don't have unbounded growth */
|
||||||
#define SDL_MAX_QUEUED_EVENTS 65535
|
#define SDL_MAX_QUEUED_EVENTS 65535
|
||||||
|
|
||||||
@@ -454,8 +447,8 @@ static void SDL_LogEvent(const SDL_Event *event)
|
|||||||
|
|
||||||
#define PRINT_FINGER_EVENT(event) \
|
#define PRINT_FINGER_EVENT(event) \
|
||||||
(void)SDL_snprintf(details, sizeof(details), " (timestamp=%u touchid=%" SDL_PRIs64 " fingerid=%" SDL_PRIs64 " x=%f y=%f dx=%f dy=%f pressure=%f)", \
|
(void)SDL_snprintf(details, sizeof(details), " (timestamp=%u touchid=%" SDL_PRIs64 " fingerid=%" SDL_PRIs64 " x=%f y=%f dx=%f dy=%f pressure=%f)", \
|
||||||
(uint)event->tfinger.timestamp, (long long)event->tfinger.touchId, \
|
(uint)event->tfinger.timestamp, event->tfinger.touchId, \
|
||||||
(long long)event->tfinger.fingerId, event->tfinger.x, event->tfinger.y, \
|
event->tfinger.fingerId, event->tfinger.x, event->tfinger.y, \
|
||||||
event->tfinger.dx, event->tfinger.dy, event->tfinger.pressure)
|
event->tfinger.dx, event->tfinger.dy, event->tfinger.pressure)
|
||||||
SDL_EVENT_CASE(SDL_FINGERDOWN)
|
SDL_EVENT_CASE(SDL_FINGERDOWN)
|
||||||
PRINT_FINGER_EVENT(event);
|
PRINT_FINGER_EVENT(event);
|
||||||
@@ -470,8 +463,8 @@ static void SDL_LogEvent(const SDL_Event *event)
|
|||||||
|
|
||||||
#define PRINT_DOLLAR_EVENT(event) \
|
#define PRINT_DOLLAR_EVENT(event) \
|
||||||
(void)SDL_snprintf(details, sizeof(details), " (timestamp=%u touchid=%" SDL_PRIs64 " gestureid=%" SDL_PRIs64 " numfingers=%u error=%f x=%f y=%f)", \
|
(void)SDL_snprintf(details, sizeof(details), " (timestamp=%u touchid=%" SDL_PRIs64 " gestureid=%" SDL_PRIs64 " numfingers=%u error=%f x=%f y=%f)", \
|
||||||
(uint)event->dgesture.timestamp, (long long)event->dgesture.touchId, \
|
(uint)event->dgesture.timestamp, event->dgesture.touchId, \
|
||||||
(long long)event->dgesture.gestureId, (uint)event->dgesture.numFingers, \
|
event->dgesture.gestureId, (uint)event->dgesture.numFingers, \
|
||||||
event->dgesture.error, event->dgesture.x, event->dgesture.y)
|
event->dgesture.error, event->dgesture.x, event->dgesture.y)
|
||||||
SDL_EVENT_CASE(SDL_DOLLARGESTURE)
|
SDL_EVENT_CASE(SDL_DOLLARGESTURE)
|
||||||
PRINT_DOLLAR_EVENT(event);
|
PRINT_DOLLAR_EVENT(event);
|
||||||
@@ -483,7 +476,7 @@ static void SDL_LogEvent(const SDL_Event *event)
|
|||||||
|
|
||||||
SDL_EVENT_CASE(SDL_MULTIGESTURE)
|
SDL_EVENT_CASE(SDL_MULTIGESTURE)
|
||||||
(void)SDL_snprintf(details, sizeof(details), " (timestamp=%u touchid=%" SDL_PRIs64 " dtheta=%f ddist=%f x=%f y=%f numfingers=%u)",
|
(void)SDL_snprintf(details, sizeof(details), " (timestamp=%u touchid=%" SDL_PRIs64 " dtheta=%f ddist=%f x=%f y=%f numfingers=%u)",
|
||||||
(uint)event->mgesture.timestamp, (long long)event->mgesture.touchId,
|
(uint)event->mgesture.timestamp, event->mgesture.touchId,
|
||||||
event->mgesture.dTheta, event->mgesture.dDist,
|
event->mgesture.dTheta, event->mgesture.dDist,
|
||||||
event->mgesture.x, event->mgesture.y, (uint)event->mgesture.numFingers);
|
event->mgesture.x, event->mgesture.y, (uint)event->mgesture.numFingers);
|
||||||
break;
|
break;
|
||||||
|
|||||||
+10
-10
@@ -38,7 +38,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_LIMITS_H
|
#ifdef HAVE_LIMITS_H
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -525,16 +524,17 @@ static int SDLCALL mem_close(SDL_RWops *context)
|
|||||||
/* Functions to create SDL_RWops structures from various data sources */
|
/* Functions to create SDL_RWops structures from various data sources */
|
||||||
|
|
||||||
#if defined(HAVE_STDIO_H) && !(defined(__WIN32__) || defined(__GDK__))
|
#if defined(HAVE_STDIO_H) && !(defined(__WIN32__) || defined(__GDK__))
|
||||||
static SDL_bool SDL_IsRegularFile(FILE *f)
|
static SDL_bool IsRegularFileOrPipe(FILE *f)
|
||||||
{
|
{
|
||||||
#ifdef __WINRT__
|
#ifdef __WINRT__
|
||||||
struct __stat64 st;
|
struct __stat64 st;
|
||||||
if (_fstat64(_fileno(f), &st) < 0 || (st.st_mode & _S_IFMT) != _S_IFREG) {
|
if (_fstat64(_fileno(f), &st) < 0 ||
|
||||||
|
!((st.st_mode & _S_IFMT) == _S_IFREG || (st.st_mode & _S_IFMT) == _S_IFIFO)) {
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
struct stat st;
|
struct stat st;
|
||||||
if (fstat(fileno(f), &st) < 0 || !S_ISREG(st.st_mode)) {
|
if (fstat(fileno(f), &st) < 0 || !(S_ISREG(st.st_mode) || S_ISFIFO(st.st_mode))) {
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -555,9 +555,9 @@ SDL_RWops *SDL_RWFromFile(const char *file, const char *mode)
|
|||||||
if (*file == '/') {
|
if (*file == '/') {
|
||||||
FILE *fp = fopen(file, mode);
|
FILE *fp = fopen(file, mode);
|
||||||
if (fp) {
|
if (fp) {
|
||||||
if (!SDL_IsRegularFile(fp)) {
|
if (!IsRegularFileOrPipe(fp)) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
SDL_SetError("%s is not a regular file", file);
|
SDL_SetError("%s is not a regular file or pipe", file);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return SDL_RWFromFP(fp, 1);
|
return SDL_RWFromFP(fp, 1);
|
||||||
@@ -575,9 +575,9 @@ SDL_RWops *SDL_RWFromFile(const char *file, const char *mode)
|
|||||||
fp = fopen(path, mode);
|
fp = fopen(path, mode);
|
||||||
SDL_stack_free(path);
|
SDL_stack_free(path);
|
||||||
if (fp) {
|
if (fp) {
|
||||||
if (!SDL_IsRegularFile(fp)) {
|
if (!IsRegularFileOrPipe(fp)) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
SDL_SetError("%s is not a regular file", path);
|
SDL_SetError("%s is not a regular file or pipe", path);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return SDL_RWFromFP(fp, 1);
|
return SDL_RWFromFP(fp, 1);
|
||||||
@@ -633,10 +633,10 @@ SDL_RWops *SDL_RWFromFile(const char *file, const char *mode)
|
|||||||
#endif
|
#endif
|
||||||
if (!fp) {
|
if (!fp) {
|
||||||
SDL_SetError("Couldn't open %s", file);
|
SDL_SetError("Couldn't open %s", file);
|
||||||
} else if (!SDL_IsRegularFile(fp)) {
|
} else if (!IsRegularFileOrPipe(fp)) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
fp = NULL;
|
fp = NULL;
|
||||||
SDL_SetError("%s is not a regular file", file);
|
SDL_SetError("%s is not a regular file or pipe", file);
|
||||||
} else {
|
} else {
|
||||||
rwops = SDL_RWFromFP(fp, SDL_TRUE);
|
rwops = SDL_RWFromFP(fp, SDL_TRUE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
*/
|
*/
|
||||||
#include "../../SDL_internal.h"
|
#include "../../SDL_internal.h"
|
||||||
|
|
||||||
#ifdef SDL_FILESYSTEM_XBOX
|
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
/* System dependent filesystem routines */
|
/* System dependent filesystem routines */
|
||||||
@@ -135,6 +134,5 @@ SDL_GetPrefPath(const char *org, const char *app)
|
|||||||
return folderPath;
|
return folderPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_FILESYSTEM_XBOX */
|
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
@@ -877,6 +877,41 @@ static int SDL_libusb_get_string_descriptor(libusb_device_handle *dev,
|
|||||||
#undef make_path
|
#undef make_path
|
||||||
#undef read_thread
|
#undef read_thread
|
||||||
|
|
||||||
|
/* If the platform has any backend other than libusb, try to avoid using
|
||||||
|
* libusb as the main backend for devices, since it detaches drivers and
|
||||||
|
* therefore makes devices inaccessible to the rest of the OS.
|
||||||
|
*
|
||||||
|
* We do this by whitelisting devices we know to be accessible _exclusively_
|
||||||
|
* via libusb; these are typically devices that look like HIDs but have a
|
||||||
|
* quirk that requires direct access to the hardware.
|
||||||
|
*/
|
||||||
|
static const struct {
|
||||||
|
Uint16 vendor;
|
||||||
|
Uint16 product;
|
||||||
|
} SDL_libusb_whitelist[] = {
|
||||||
|
{ 0x057e, 0x0337 } /* Nintendo WUP-028, Wii U/Switch GameCube Adapter */
|
||||||
|
};
|
||||||
|
|
||||||
|
static SDL_bool
|
||||||
|
IsInWhitelist(Uint16 vendor, Uint16 product)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < SDL_arraysize(SDL_libusb_whitelist); i += 1) {
|
||||||
|
if (vendor == SDL_libusb_whitelist[i].vendor &&
|
||||||
|
product == SDL_libusb_whitelist[i].product) {
|
||||||
|
return SDL_TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return SDL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_PLATFORM_BACKEND) || HAVE_DRIVER_BACKEND
|
||||||
|
static const SDL_bool use_libusb_whitelist_default = SDL_TRUE;
|
||||||
|
#else
|
||||||
|
static const SDL_bool use_libusb_whitelist_default = SDL_FALSE;
|
||||||
|
#endif /* HAVE_PLATFORM_BACKEND || HAVE_DRIVER_BACKEND */
|
||||||
|
static SDL_bool use_libusb_whitelist = use_libusb_whitelist_default;
|
||||||
|
|
||||||
#endif /* HAVE_LIBUSB */
|
#endif /* HAVE_LIBUSB */
|
||||||
|
|
||||||
#endif /* !SDL_HIDAPI_DISABLED */
|
#endif /* !SDL_HIDAPI_DISABLED */
|
||||||
@@ -1062,6 +1097,8 @@ int SDL_hid_init(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_LIBUSB
|
#ifdef HAVE_LIBUSB
|
||||||
|
use_libusb_whitelist = SDL_GetHintBoolean("SDL_HIDAPI_LIBUSB_WHITELIST",
|
||||||
|
use_libusb_whitelist_default);
|
||||||
if (SDL_getenv("SDL_HIDAPI_DISABLE_LIBUSB") != NULL) {
|
if (SDL_getenv("SDL_HIDAPI_DISABLE_LIBUSB") != NULL) {
|
||||||
SDL_LogDebug(SDL_LOG_CATEGORY_INPUT,
|
SDL_LogDebug(SDL_LOG_CATEGORY_INPUT,
|
||||||
"libusb disabled by SDL_HIDAPI_DISABLE_LIBUSB");
|
"libusb disabled by SDL_HIDAPI_DISABLE_LIBUSB");
|
||||||
@@ -1238,6 +1275,16 @@ struct SDL_hid_device_info *SDL_hid_enumerate(unsigned short vendor_id, unsigned
|
|||||||
SDL_Log("libusb devices found:");
|
SDL_Log("libusb devices found:");
|
||||||
#endif
|
#endif
|
||||||
for (usb_dev = usb_devs; usb_dev; usb_dev = usb_dev->next) {
|
for (usb_dev = usb_devs; usb_dev; usb_dev = usb_dev->next) {
|
||||||
|
if (use_libusb_whitelist) {
|
||||||
|
if (!IsInWhitelist(usb_dev->vendor_id, usb_dev->product_id)) {
|
||||||
|
#ifdef DEBUG_HIDAPI
|
||||||
|
SDL_Log("Device was not in libusb whitelist: %ls %ls 0x%.4hx 0x%.4hx",
|
||||||
|
usb_dev->manufacturer_string, usb_dev->product_string,
|
||||||
|
usb_dev->vendor_id, usb_dev->product_id);
|
||||||
|
#endif /* DEBUG_HIDAPI */
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
new_dev = (struct SDL_hid_device_info *)SDL_malloc(sizeof(struct SDL_hid_device_info));
|
new_dev = (struct SDL_hid_device_info *)SDL_malloc(sizeof(struct SDL_hid_device_info));
|
||||||
if (new_dev == NULL) {
|
if (new_dev == NULL) {
|
||||||
LIBUSB_hid_free_enumeration(usb_devs);
|
LIBUSB_hid_free_enumeration(usb_devs);
|
||||||
|
|||||||
@@ -555,7 +555,7 @@ static ControllerMapping_t *SDL_CreateMappingForHIDAPIController(SDL_JoystickGUI
|
|||||||
SDL_strlcat(mapping_string, "a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:a5,start:b6,x:b2,y:b3,misc1:b15,", sizeof(mapping_string));
|
SDL_strlcat(mapping_string, "a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:a5,start:b6,x:b2,y:b3,misc1:b15,", sizeof(mapping_string));
|
||||||
break;
|
break;
|
||||||
case k_eSwitchDeviceInfoControllerType_SEGA_Genesis:
|
case k_eSwitchDeviceInfoControllerType_SEGA_Genesis:
|
||||||
SDL_strlcat(mapping_string, "a:b0,b:b1,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,rightshoulder:b10,righttrigger:a5,start:b6,misc1:b15,", sizeof(mapping_string));
|
SDL_strlcat(mapping_string, "a:b0,b:b1,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,rightshoulder:b10,righttrigger:a5,start:b6,x:b2,y:b3,misc1:b15,", sizeof(mapping_string));
|
||||||
break;
|
break;
|
||||||
case k_eWiiExtensionControllerType_None:
|
case k_eWiiExtensionControllerType_None:
|
||||||
SDL_strlcat(mapping_string, "a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,start:b6,x:b2,y:b3,", sizeof(mapping_string));
|
SDL_strlcat(mapping_string, "a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,start:b6,x:b2,y:b3,", sizeof(mapping_string));
|
||||||
@@ -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: */
|
||||||
@@ -125,6 +125,7 @@ static const char *s_ControllerMappings[] = {
|
|||||||
"03000000260900008888000000000000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a4,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,",
|
"03000000260900008888000000000000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a4,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,",
|
||||||
"03000000a306000022f6000000000000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,",
|
"03000000a306000022f6000000000000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,",
|
||||||
"03000000451300000830000000000000,Defender Game Racer X7,a:b0,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:b2,y:b3,",
|
"03000000451300000830000000000000,Defender Game Racer X7,a:b0,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:b2,y:b3,",
|
||||||
|
"03000000790000000600000000000000,Defender Joystick Cobra R4,crc:c77a,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,",
|
||||||
"03000000791d00000103000000000000,Dual Box WII,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,",
|
"03000000791d00000103000000000000,Dual Box WII,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,",
|
||||||
"03000000bd12000002e0000000000000,Dual USB Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,",
|
"03000000bd12000002e0000000000000,Dual USB Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,",
|
||||||
"030000006f0e00003001000000000000,EA SPORTS PS3 Controller,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:a3,start:b9,x:b0,y:b3,",
|
"030000006f0e00003001000000000000,EA SPORTS PS3 Controller,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:a3,start:b9,x:b0,y:b3,",
|
||||||
@@ -303,6 +304,7 @@ static const char *s_ControllerMappings[] = {
|
|||||||
"030000006f0e00002f01000000000000,Rock Candy PS3 Controller,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:a3,start:b9,x:b0,y:b3,",
|
"030000006f0e00002f01000000000000,Rock Candy PS3 Controller,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:a3,start:b9,x:b0,y:b3,",
|
||||||
"03000000341a00000208000000000000,SL-6555-SBK,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:-a4,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a3,righty:a2,start:b7,x:b2,y:b3,",
|
"03000000341a00000208000000000000,SL-6555-SBK,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:-a4,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a3,righty:a2,start:b7,x:b2,y:b3,",
|
||||||
"03000000341a00000908000000000000,SL-6566,a:b0,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:b2,y:b3,",
|
"03000000341a00000908000000000000,SL-6566,a:b0,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:b2,y:b3,",
|
||||||
|
"03000000790000000600000000000000,SPEEDLINK STRIKE Gamepad,crc:5811,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:a4,start:b9,x:b3,y:b0,",
|
||||||
"03000000790000001c18000000000000,STK-7024X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,",
|
"03000000790000001c18000000000000,STK-7024X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,",
|
||||||
"03000000ff1100003133000000000000,SVEN X-PAD,a:b2,b:b3,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a4,start:b5,x:b0,y:b1,",
|
"03000000ff1100003133000000000000,SVEN X-PAD,a:b2,b:b3,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a4,start:b5,x:b0,y:b1,",
|
||||||
"03000000457500002211000000000000,SZMY-POWER PC Gamepad,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:a3,start:b9,x:b0,y:b3,",
|
"03000000457500002211000000000000,SZMY-POWER PC Gamepad,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:a3,start:b9,x:b0,y:b3,",
|
||||||
@@ -317,6 +319,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,a:b0,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,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,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,",
|
||||||
@@ -769,6 +772,8 @@ static const char *s_ControllerMappings[] = {
|
|||||||
"03000000300f00001211000011010000,QanBa Arcade JoyStick,a:b2,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b9,x:b1,y:b3,",
|
"03000000300f00001211000011010000,QanBa Arcade JoyStick,a:b2,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b9,x:b1,y:b3,",
|
||||||
"03000000222c00000225000011010000,Qanba Dragon Arcade Joystick (PS3),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:a3,start:b9,x:b0,y:b3,",
|
"03000000222c00000225000011010000,Qanba Dragon Arcade Joystick (PS3),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:a3,start:b9,x:b0,y:b3,",
|
||||||
"03000000222c00000025000011010000,Qanba Dragon Arcade Joystick (PS4),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:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
"03000000222c00000025000011010000,Qanba Dragon Arcade Joystick (PS4),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:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
||||||
|
"03000000222c00001020000011010000,Qanba Drone 2 Arcade Joystick (PS5),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:a5,start:b9,x:b0,y:b3,",
|
||||||
|
"03000000222c00001220000011010000,Qanba Drone 2 Arcade Joystick (PS4),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:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
||||||
"03000000222c00000020000011010000,Qanba Drone Arcade Joystick (PS4),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:a3,rightshoulder:b5,righttrigger:a4,start:b9,x:b0,y:b3,",
|
"03000000222c00000020000011010000,Qanba Drone Arcade Joystick (PS4),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:a3,rightshoulder:b5,righttrigger:a4,start:b9,x:b0,y:b3,",
|
||||||
"03000000222c00000223000011010000,Qanba Obsidian Arcade Joystick (PS3),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:a3,start:b9,x:b0,y:b3,",
|
"03000000222c00000223000011010000,Qanba Obsidian Arcade Joystick (PS3),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:a3,start:b9,x:b0,y:b3,",
|
||||||
"03000000222c00000023000011010000,Qanba Obsidian Arcade Joystick (PS4),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:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
"03000000222c00000023000011010000,Qanba Obsidian Arcade Joystick (PS4),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:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
||||||
@@ -858,7 +863,6 @@ static const char *s_ControllerMappings[] = {
|
|||||||
"03000000120c0000100e000011010000,ZEROPLUS P4 Gamepad,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:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
"03000000120c0000100e000011010000,ZEROPLUS P4 Gamepad,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:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
||||||
"03000000120c0000101e000011010000,ZEROPLUS P4 Wired Gamepad,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:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
"03000000120c0000101e000011010000,ZEROPLUS P4 Wired Gamepad,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:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
|
||||||
"03000000666600006706000000010000,boom PSX to PC Converter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0,",
|
"03000000666600006706000000010000,boom PSX to PC Converter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0,",
|
||||||
"030000000d0f00000d00000000010000,hori,a:b0,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b3,leftx:b4,lefty:b5,rightshoulder:b7,start:b9,x:b1,y:b2,",
|
|
||||||
"03000000830500006020000010010000,iBuffalo SNES Controller,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,",
|
"03000000830500006020000010010000,iBuffalo SNES Controller,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,",
|
||||||
"03000000830500006020000010010000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,hint:!SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,",
|
"03000000830500006020000010010000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,hint:!SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,",
|
||||||
"050000006964726f69643a636f6e0000,idroid:con,a:b1,b:b2,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:b0,y:b3,",
|
"050000006964726f69643a636f6e0000,idroid:con,a:b1,b:b2,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:b0,y:b3,",
|
||||||
|
|||||||
+42
-17
@@ -293,6 +293,7 @@ static Uint32 initial_flightstick_devices[] = {
|
|||||||
MAKE_VIDPID(0x046d, 0xc215), /* Logitech Extreme 3D */
|
MAKE_VIDPID(0x046d, 0xc215), /* Logitech Extreme 3D */
|
||||||
MAKE_VIDPID(0x231d, 0x0126), /* Gunfighter Mk.III ‘Space Combat Edition’ (right) */
|
MAKE_VIDPID(0x231d, 0x0126), /* Gunfighter Mk.III ‘Space Combat Edition’ (right) */
|
||||||
MAKE_VIDPID(0x231d, 0x0127), /* Gunfighter Mk.III ‘Space Combat Edition’ (left) */
|
MAKE_VIDPID(0x231d, 0x0127), /* Gunfighter Mk.III ‘Space Combat Edition’ (left) */
|
||||||
|
MAKE_VIDPID(0x362c, 0x0001), /* Yawman Arrow */
|
||||||
};
|
};
|
||||||
static SDL_vidpid_list flightstick_devices = {
|
static SDL_vidpid_list flightstick_devices = {
|
||||||
SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES, 0, 0, NULL,
|
SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES, 0, 0, NULL,
|
||||||
@@ -369,7 +370,10 @@ static Uint32 initial_wheel_devices[] = {
|
|||||||
MAKE_VIDPID(0x044f, 0xb65e), /* Thrustmaster T500RS */
|
MAKE_VIDPID(0x044f, 0xb65e), /* Thrustmaster T500RS */
|
||||||
MAKE_VIDPID(0x044f, 0xb664), /* Thrustmaster TX (initial mode) */
|
MAKE_VIDPID(0x044f, 0xb664), /* Thrustmaster TX (initial mode) */
|
||||||
MAKE_VIDPID(0x044f, 0xb669), /* Thrustmaster TX (active mode) */
|
MAKE_VIDPID(0x044f, 0xb669), /* Thrustmaster TX (active mode) */
|
||||||
|
MAKE_VIDPID(0x044f, 0xb691), /* Thrustmaster TS-XW (initial mode) */
|
||||||
|
MAKE_VIDPID(0x044f, 0xb692), /* Thrustmaster TS-XW (active mode) */
|
||||||
MAKE_VIDPID(0x0483, 0x0522), /* Simagic Wheelbase (including M10, Alpha Mini, Alpha, Alpha U) */
|
MAKE_VIDPID(0x0483, 0x0522), /* Simagic Wheelbase (including M10, Alpha Mini, Alpha, Alpha U) */
|
||||||
|
MAKE_VIDPID(0x0483, 0xa355), /* VRS DirectForce Pro Wheel Base */
|
||||||
MAKE_VIDPID(0x0eb7, 0x0001), /* Fanatec ClubSport Wheel Base V2 */
|
MAKE_VIDPID(0x0eb7, 0x0001), /* Fanatec ClubSport Wheel Base V2 */
|
||||||
MAKE_VIDPID(0x0eb7, 0x0004), /* Fanatec ClubSport Wheel Base V2.5 */
|
MAKE_VIDPID(0x0eb7, 0x0004), /* Fanatec ClubSport Wheel Base V2.5 */
|
||||||
MAKE_VIDPID(0x0eb7, 0x0005), /* Fanatec CSL Elite Wheel Base+ (PS4) */
|
MAKE_VIDPID(0x0eb7, 0x0005), /* Fanatec CSL Elite Wheel Base+ (PS4) */
|
||||||
@@ -381,10 +385,21 @@ 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(0x16d0, 0x0d5a), /* Simucube 1 Wheelbase */
|
||||||
|
MAKE_VIDPID(0x16d0, 0x0d5f), /* Simucube 2 Ultimate Wheelbase */
|
||||||
|
MAKE_VIDPID(0x16d0, 0x0d60), /* Simucube 2 Pro Wheelbase */
|
||||||
|
MAKE_VIDPID(0x16d0, 0x0d61), /* Simucube 2 Sport Wheelbase */
|
||||||
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 */
|
||||||
MAKE_VIDPID(0x2433, 0xf306), /* Asetek SimSports Tony Kannan Wheelbase */
|
MAKE_VIDPID(0x2433, 0xf306), /* Asetek SimSports Tony Kannan Wheelbase */
|
||||||
|
MAKE_VIDPID(0x3416, 0x0301), /* Cammus C5 Wheelbase */
|
||||||
|
MAKE_VIDPID(0x346e, 0x0000), /* Moza R16/R21 Wheelbase */
|
||||||
|
MAKE_VIDPID(0x346e, 0x0002), /* Moza R9 Wheelbase */
|
||||||
|
MAKE_VIDPID(0x346e, 0x0004), /* Moza R5 Wheelbase */
|
||||||
|
MAKE_VIDPID(0x346e, 0x0005), /* Moza R3 Wheelbase */
|
||||||
|
MAKE_VIDPID(0x346e, 0x0006), /* Moza R12 Wheelbase */
|
||||||
};
|
};
|
||||||
static SDL_vidpid_list wheel_devices = {
|
static SDL_vidpid_list wheel_devices = {
|
||||||
SDL_HINT_JOYSTICK_WHEEL_DEVICES, 0, 0, NULL,
|
SDL_HINT_JOYSTICK_WHEEL_DEVICES, 0, 0, NULL,
|
||||||
@@ -1312,13 +1327,15 @@ const char *SDL_JoystickName(SDL_Joystick *joystick)
|
|||||||
const SDL_SteamVirtualGamepadInfo *info;
|
const SDL_SteamVirtualGamepadInfo *info;
|
||||||
|
|
||||||
SDL_LockJoysticks();
|
SDL_LockJoysticks();
|
||||||
info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
|
{
|
||||||
if (info) {
|
|
||||||
retval = info->name;
|
|
||||||
} else {
|
|
||||||
CHECK_JOYSTICK_MAGIC(joystick, NULL);
|
CHECK_JOYSTICK_MAGIC(joystick, NULL);
|
||||||
|
|
||||||
retval = joystick->name;
|
info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
|
||||||
|
if (info) {
|
||||||
|
retval = info->name;
|
||||||
|
} else {
|
||||||
|
retval = joystick->name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SDL_UnlockJoysticks();
|
SDL_UnlockJoysticks();
|
||||||
|
|
||||||
@@ -3101,13 +3118,17 @@ Uint16 SDL_JoystickGetVendor(SDL_Joystick *joystick)
|
|||||||
const SDL_SteamVirtualGamepadInfo *info;
|
const SDL_SteamVirtualGamepadInfo *info;
|
||||||
|
|
||||||
SDL_LockJoysticks();
|
SDL_LockJoysticks();
|
||||||
info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
|
{
|
||||||
if (info) {
|
CHECK_JOYSTICK_MAGIC(joystick, 0);
|
||||||
vendor = info->vendor_id;
|
|
||||||
} else {
|
|
||||||
SDL_JoystickGUID guid = SDL_JoystickGetGUID(joystick);
|
|
||||||
|
|
||||||
SDL_GetJoystickGUIDInfo(guid, &vendor, NULL, NULL, NULL);
|
info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
|
||||||
|
if (info) {
|
||||||
|
vendor = info->vendor_id;
|
||||||
|
} else {
|
||||||
|
SDL_JoystickGUID guid = SDL_JoystickGetGUID(joystick);
|
||||||
|
|
||||||
|
SDL_GetJoystickGUIDInfo(guid, &vendor, NULL, NULL, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SDL_UnlockJoysticks();
|
SDL_UnlockJoysticks();
|
||||||
|
|
||||||
@@ -3120,13 +3141,17 @@ Uint16 SDL_JoystickGetProduct(SDL_Joystick *joystick)
|
|||||||
const SDL_SteamVirtualGamepadInfo *info;
|
const SDL_SteamVirtualGamepadInfo *info;
|
||||||
|
|
||||||
SDL_LockJoysticks();
|
SDL_LockJoysticks();
|
||||||
info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
|
{
|
||||||
if (info) {
|
CHECK_JOYSTICK_MAGIC(joystick, 0);
|
||||||
product = info->product_id;
|
|
||||||
} else {
|
|
||||||
SDL_JoystickGUID guid = SDL_JoystickGetGUID(joystick);
|
|
||||||
|
|
||||||
SDL_GetJoystickGUIDInfo(guid, NULL, &product, NULL, NULL);
|
info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
|
||||||
|
if (info) {
|
||||||
|
product = info->product_id;
|
||||||
|
} else {
|
||||||
|
SDL_JoystickGUID guid = SDL_JoystickGetGUID(joystick);
|
||||||
|
|
||||||
|
SDL_GetJoystickGUIDInfo(guid, NULL, &product, NULL, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SDL_UnlockJoysticks();
|
SDL_UnlockJoysticks();
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ static const ControllerDescription_t arrControllers[] = {
|
|||||||
{ MAKE_CONTROLLER_ID( 0x0079, 0x1844 ), k_eControllerType_PS3Controller, NULL }, // From SDL
|
{ MAKE_CONTROLLER_ID( 0x0079, 0x1844 ), k_eControllerType_PS3Controller, NULL }, // From SDL
|
||||||
{ MAKE_CONTROLLER_ID( 0x044f, 0xb315 ), k_eControllerType_PS3Controller, NULL }, // Firestorm Dual Analog 3
|
{ MAKE_CONTROLLER_ID( 0x044f, 0xb315 ), k_eControllerType_PS3Controller, NULL }, // Firestorm Dual Analog 3
|
||||||
{ MAKE_CONTROLLER_ID( 0x044f, 0xd007 ), k_eControllerType_PS3Controller, NULL }, // Thrustmaster wireless 3-1
|
{ MAKE_CONTROLLER_ID( 0x044f, 0xd007 ), k_eControllerType_PS3Controller, NULL }, // Thrustmaster wireless 3-1
|
||||||
|
{ MAKE_CONTROLLER_ID( 0x046d, 0xcad1 ), k_eControllerType_PS3Controller, NULL }, // Logitech Chillstream
|
||||||
//{ MAKE_CONTROLLER_ID( 0x046d, 0xc24f ), k_eControllerType_PS3Controller, NULL }, // Logitech G29 (PS3)
|
//{ MAKE_CONTROLLER_ID( 0x046d, 0xc24f ), k_eControllerType_PS3Controller, NULL }, // Logitech G29 (PS3)
|
||||||
{ MAKE_CONTROLLER_ID( 0x054c, 0x0268 ), k_eControllerType_PS3Controller, NULL }, // Sony PS3 Controller
|
{ MAKE_CONTROLLER_ID( 0x054c, 0x0268 ), k_eControllerType_PS3Controller, NULL }, // Sony PS3 Controller
|
||||||
{ MAKE_CONTROLLER_ID( 0x056e, 0x200f ), k_eControllerType_PS3Controller, NULL }, // From SDL
|
{ MAKE_CONTROLLER_ID( 0x056e, 0x200f ), k_eControllerType_PS3Controller, NULL }, // From SDL
|
||||||
@@ -157,6 +158,7 @@ static const ControllerDescription_t arrControllers[] = {
|
|||||||
{ MAKE_CONTROLLER_ID( 0x0f0d, 0x0184 ), k_eControllerType_PS5Controller, NULL }, // Hori Fighting Stick α
|
{ MAKE_CONTROLLER_ID( 0x0f0d, 0x0184 ), k_eControllerType_PS5Controller, NULL }, // Hori Fighting Stick α
|
||||||
{ MAKE_CONTROLLER_ID( 0x1532, 0x100b ), k_eControllerType_PS5Controller, NULL }, // Razer Wolverine V2 Pro (Wired)
|
{ MAKE_CONTROLLER_ID( 0x1532, 0x100b ), k_eControllerType_PS5Controller, NULL }, // Razer Wolverine V2 Pro (Wired)
|
||||||
{ MAKE_CONTROLLER_ID( 0x1532, 0x100c ), k_eControllerType_PS5Controller, NULL }, // Razer Wolverine V2 Pro (Wireless)
|
{ MAKE_CONTROLLER_ID( 0x1532, 0x100c ), k_eControllerType_PS5Controller, NULL }, // Razer Wolverine V2 Pro (Wireless)
|
||||||
|
{ MAKE_CONTROLLER_ID( 0x1532, 0x1012 ), k_eControllerType_PS5Controller, NULL }, // Razer Kitsune
|
||||||
{ MAKE_CONTROLLER_ID( 0x3285, 0x0d18 ), k_eControllerType_PS5Controller, NULL }, // NACON Revolution 5 Pro (PS5 mode with dongle)
|
{ MAKE_CONTROLLER_ID( 0x3285, 0x0d18 ), k_eControllerType_PS5Controller, NULL }, // NACON Revolution 5 Pro (PS5 mode with dongle)
|
||||||
{ MAKE_CONTROLLER_ID( 0x3285, 0x0d19 ), k_eControllerType_PS5Controller, NULL }, // NACON Revolution 5 Pro (PS5 mode wired)
|
{ MAKE_CONTROLLER_ID( 0x3285, 0x0d19 ), k_eControllerType_PS5Controller, NULL }, // NACON Revolution 5 Pro (PS5 mode wired)
|
||||||
{ MAKE_CONTROLLER_ID( 0x358a, 0x0104 ), k_eControllerType_PS5Controller, NULL }, // Backbone One PlayStation Edition for iOS
|
{ MAKE_CONTROLLER_ID( 0x358a, 0x0104 ), k_eControllerType_PS5Controller, NULL }, // Backbone One PlayStation Edition for iOS
|
||||||
@@ -593,7 +595,7 @@ static const ControllerDescription_t arrControllers[] = {
|
|||||||
{ MAKE_CONTROLLER_ID( 0x28de, 0x1102 ), k_eControllerType_SteamController, NULL }, // Valve wired Steam Controller (D0G)
|
{ MAKE_CONTROLLER_ID( 0x28de, 0x1102 ), k_eControllerType_SteamController, NULL }, // Valve wired Steam Controller (D0G)
|
||||||
{ MAKE_CONTROLLER_ID( 0x28de, 0x1105 ), k_eControllerType_SteamController, NULL }, // Valve Bluetooth Steam Controller (D0G)
|
{ MAKE_CONTROLLER_ID( 0x28de, 0x1105 ), k_eControllerType_SteamController, NULL }, // Valve Bluetooth Steam Controller (D0G)
|
||||||
{ MAKE_CONTROLLER_ID( 0x28de, 0x1106 ), k_eControllerType_SteamController, NULL }, // Valve Bluetooth Steam Controller (D0G)
|
{ MAKE_CONTROLLER_ID( 0x28de, 0x1106 ), k_eControllerType_SteamController, NULL }, // Valve Bluetooth Steam Controller (D0G)
|
||||||
{ MAKE_CONTROLLER_ID( 0x28de, 0x11ff ), k_eControllerType_UnknownNonSteamController, "Steam Virtual Gamepad" }, // Steam virtual gamepad
|
{ MAKE_CONTROLLER_ID( 0x28de, 0x11ff ), k_eControllerType_UnknownNonSteamController, NULL }, // Steam Virtual Gamepad
|
||||||
{ MAKE_CONTROLLER_ID( 0x28de, 0x1142 ), k_eControllerType_SteamController, NULL }, // Valve wireless Steam Controller
|
{ MAKE_CONTROLLER_ID( 0x28de, 0x1142 ), k_eControllerType_SteamController, NULL }, // Valve wireless Steam Controller
|
||||||
{ MAKE_CONTROLLER_ID( 0x28de, 0x1201 ), k_eControllerType_SteamControllerV2, NULL }, // Valve wired Steam Controller (HEADCRAB)
|
{ MAKE_CONTROLLER_ID( 0x28de, 0x1201 ), k_eControllerType_SteamControllerV2, NULL }, // Valve wired Steam Controller (HEADCRAB)
|
||||||
{ MAKE_CONTROLLER_ID( 0x28de, 0x1202 ), k_eControllerType_SteamControllerV2, NULL }, // Valve Bluetooth Steam Controller (HEADCRAB)
|
{ MAKE_CONTROLLER_ID( 0x28de, 0x1202 ), k_eControllerType_SteamControllerV2, NULL }, // Valve Bluetooth Steam Controller (HEADCRAB)
|
||||||
|
|||||||
@@ -584,7 +584,13 @@ static SDL_bool HIDAPI_DriverPS3ThirdParty_IsSupportedDevice(SDL_HIDAPI_Device *
|
|||||||
Uint8 data[USB_PACKET_LENGTH];
|
Uint8 data[USB_PACKET_LENGTH];
|
||||||
int size;
|
int size;
|
||||||
|
|
||||||
if (HIDAPI_SupportsPlaystationDetection(vendor_id, product_id)) {
|
if (vendor_id == USB_VENDOR_LOGITECH &&
|
||||||
|
product_id == USB_PRODUCT_LOGITECH_CHILLSTREAM) {
|
||||||
|
return SDL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((type == SDL_CONTROLLER_TYPE_PS3 && vendor_id != USB_VENDOR_SONY) ||
|
||||||
|
HIDAPI_SupportsPlaystationDetection(vendor_id, product_id)) {
|
||||||
if (device && device->dev) {
|
if (device && device->dev) {
|
||||||
size = ReadFeatureReport(device->dev, 0x03, data, sizeof(data));
|
size = ReadFeatureReport(device->dev, 0x03, data, sizeof(data));
|
||||||
if (size == 8 && data[2] == 0x26) {
|
if (size == 8 && data[2] == 0x26) {
|
||||||
@@ -768,7 +774,7 @@ static void HIDAPI_DriverPS3ThirdParty_HandleStatePacket18(SDL_Joystick *joystic
|
|||||||
0, /* SDL_GAMEPAD_BUTTON_LEFT_STICK */
|
0, /* SDL_GAMEPAD_BUTTON_LEFT_STICK */
|
||||||
0, /* SDL_GAMEPAD_BUTTON_RIGHT_STICK */
|
0, /* SDL_GAMEPAD_BUTTON_RIGHT_STICK */
|
||||||
14, /* SDL_GAMEPAD_BUTTON_LEFT_SHOULDER */
|
14, /* SDL_GAMEPAD_BUTTON_LEFT_SHOULDER */
|
||||||
16, /* SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER */
|
15, /* SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER */
|
||||||
8, /* SDL_GAMEPAD_BUTTON_DPAD_UP */
|
8, /* SDL_GAMEPAD_BUTTON_DPAD_UP */
|
||||||
9, /* SDL_GAMEPAD_BUTTON_DPAD_DOWN */
|
9, /* SDL_GAMEPAD_BUTTON_DPAD_DOWN */
|
||||||
7, /* SDL_GAMEPAD_BUTTON_DPAD_LEFT */
|
7, /* SDL_GAMEPAD_BUTTON_DPAD_LEFT */
|
||||||
@@ -813,48 +819,56 @@ static void HIDAPI_DriverPS3ThirdParty_HandleStatePacket19(SDL_Joystick *joystic
|
|||||||
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_GUIDE, (data[1] & 0x10) ? SDL_PRESSED : SDL_RELEASED);
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_GUIDE, (data[1] & 0x10) ? SDL_PRESSED : SDL_RELEASED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx->last_state[2] != data[2]) {
|
if (ctx->device->vendor_id == USB_VENDOR_SAITEK && ctx->device->product_id == USB_PRODUCT_SAITEK_CYBORG_V3) {
|
||||||
SDL_bool dpad_up = SDL_FALSE;
|
/* Cyborg V.3 Rumble Pad doesn't set the dpad bits as expected, so use the axes instead */
|
||||||
SDL_bool dpad_down = SDL_FALSE;
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_DOWN, data[10] ? SDL_PRESSED : SDL_RELEASED);
|
||||||
SDL_bool dpad_left = SDL_FALSE;
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_UP, data[9] ? SDL_PRESSED : SDL_RELEASED);
|
||||||
SDL_bool dpad_right = SDL_FALSE;
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_RIGHT, data[7] ? SDL_PRESSED : SDL_RELEASED);
|
||||||
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_LEFT, data[8] ? SDL_PRESSED : SDL_RELEASED);
|
||||||
|
} else {
|
||||||
|
if (ctx->last_state[2] != data[2]) {
|
||||||
|
SDL_bool dpad_up = SDL_FALSE;
|
||||||
|
SDL_bool dpad_down = SDL_FALSE;
|
||||||
|
SDL_bool dpad_left = SDL_FALSE;
|
||||||
|
SDL_bool dpad_right = SDL_FALSE;
|
||||||
|
|
||||||
switch (data[2] & 0x0f) {
|
switch (data[2] & 0x0f) {
|
||||||
case 0:
|
case 0:
|
||||||
dpad_up = SDL_TRUE;
|
dpad_up = SDL_TRUE;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
dpad_up = SDL_TRUE;
|
dpad_up = SDL_TRUE;
|
||||||
dpad_right = SDL_TRUE;
|
dpad_right = SDL_TRUE;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
dpad_right = SDL_TRUE;
|
dpad_right = SDL_TRUE;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
dpad_right = SDL_TRUE;
|
dpad_right = SDL_TRUE;
|
||||||
dpad_down = SDL_TRUE;
|
dpad_down = SDL_TRUE;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
dpad_down = SDL_TRUE;
|
dpad_down = SDL_TRUE;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
dpad_left = SDL_TRUE;
|
dpad_left = SDL_TRUE;
|
||||||
dpad_down = SDL_TRUE;
|
dpad_down = SDL_TRUE;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
dpad_left = SDL_TRUE;
|
dpad_left = SDL_TRUE;
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
dpad_up = SDL_TRUE;
|
dpad_up = SDL_TRUE;
|
||||||
dpad_left = SDL_TRUE;
|
dpad_left = SDL_TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_DOWN, dpad_down);
|
||||||
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_UP, dpad_up);
|
||||||
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_RIGHT, dpad_right);
|
||||||
|
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_LEFT, dpad_left);
|
||||||
}
|
}
|
||||||
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_DOWN, dpad_down);
|
|
||||||
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_UP, dpad_up);
|
|
||||||
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_RIGHT, dpad_right);
|
|
||||||
SDL_PrivateJoystickButton(joystick, SDL_CONTROLLER_BUTTON_DPAD_LEFT, dpad_left);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
axis = ((int)data[17] * 257) - 32768;
|
axis = ((int)data[17] * 257) - 32768;
|
||||||
|
|||||||
@@ -499,6 +499,12 @@ static SDL_bool HIDAPI_DriverPS5_InitDevice(SDL_HIDAPI_Device *device)
|
|||||||
ctx->sensors_supported = SDL_TRUE;
|
ctx->sensors_supported = SDL_TRUE;
|
||||||
ctx->touchpad_supported = SDL_TRUE;
|
ctx->touchpad_supported = SDL_TRUE;
|
||||||
ctx->use_alternate_report = SDL_TRUE;
|
ctx->use_alternate_report = SDL_TRUE;
|
||||||
|
} else if (device->vendor_id == USB_VENDOR_RAZER &&
|
||||||
|
device->product_id == USB_PRODUCT_RAZER_KITSUNE) {
|
||||||
|
/* The Razer Kitsune doesn't respond to the detection protocol, but has a touchpad */
|
||||||
|
joystick_type = SDL_JOYSTICK_TYPE_ARCADE_STICK;
|
||||||
|
ctx->touchpad_supported = SDL_TRUE;
|
||||||
|
ctx->use_alternate_report = SDL_TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ctx->effects_supported = (ctx->lightbar_supported || ctx->vibration_supported || ctx->playerled_supported);
|
ctx->effects_supported = (ctx->lightbar_supported || ctx->vibration_supported || ctx->playerled_supported);
|
||||||
|
|||||||
@@ -758,7 +758,18 @@ static Uint8 GetDefaultInputMode(SDL_DriverSwitch_Context *ctx)
|
|||||||
* battery level over Bluetooth anyway.
|
* battery level over Bluetooth anyway.
|
||||||
*/
|
*/
|
||||||
if (ctx->device->vendor_id == USB_VENDOR_NINTENDO) {
|
if (ctx->device->vendor_id == USB_VENDOR_NINTENDO) {
|
||||||
|
/* However, switching to full controller state breaks DirectInput, so let's not do that */
|
||||||
|
#if 0
|
||||||
input_mode = k_eSwitchInputReportIDs_FullControllerState;
|
input_mode = k_eSwitchInputReportIDs_FullControllerState;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* However, Joy-Con controllers switch their thumbsticks into D-pad mode in simple mode,
|
||||||
|
* so let's enable full controller state for them.
|
||||||
|
*/
|
||||||
|
if (ctx->device->product_id == USB_PRODUCT_NINTENDO_SWITCH_JOYCON_LEFT ||
|
||||||
|
ctx->device->product_id == USB_PRODUCT_NINTENDO_SWITCH_JOYCON_RIGHT) {
|
||||||
|
input_mode = k_eSwitchInputReportIDs_FullControllerState;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return input_mode;
|
return input_mode;
|
||||||
}
|
}
|
||||||
@@ -1292,6 +1303,27 @@ static void UpdateDeviceIdentity(SDL_HIDAPI_Device *device)
|
|||||||
break;
|
break;
|
||||||
case k_eSwitchDeviceInfoControllerType_Unknown:
|
case k_eSwitchDeviceInfoControllerType_Unknown:
|
||||||
/* We couldn't read the device info for this controller, might not be fully compliant */
|
/* We couldn't read the device info for this controller, might not be fully compliant */
|
||||||
|
if (device->vendor_id == USB_VENDOR_NINTENDO) {
|
||||||
|
switch (device->product_id) {
|
||||||
|
case USB_PRODUCT_NINTENDO_SWITCH_JOYCON_LEFT:
|
||||||
|
ctx->m_eControllerType = k_eSwitchDeviceInfoControllerType_JoyConLeft;
|
||||||
|
HIDAPI_SetDeviceName(device, "Nintendo Switch Joy-Con (L)");
|
||||||
|
device->type = SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_LEFT;
|
||||||
|
break;
|
||||||
|
case USB_PRODUCT_NINTENDO_SWITCH_JOYCON_RIGHT:
|
||||||
|
ctx->m_eControllerType = k_eSwitchDeviceInfoControllerType_JoyConRight;
|
||||||
|
HIDAPI_SetDeviceName(device, "Nintendo Switch Joy-Con (R)");
|
||||||
|
device->type = SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT;
|
||||||
|
break;
|
||||||
|
case USB_PRODUCT_NINTENDO_SWITCH_PRO:
|
||||||
|
ctx->m_eControllerType = k_eSwitchDeviceInfoControllerType_ProController;
|
||||||
|
HIDAPI_SetDeviceName(device, "Nintendo Switch Pro Controller");
|
||||||
|
device->type = SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_PRO;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
device->type = SDL_CONTROLLER_TYPE_UNKNOWN;
|
device->type = SDL_CONTROLLER_TYPE_UNKNOWN;
|
||||||
@@ -2211,6 +2243,10 @@ static SDL_bool HIDAPI_DriverSwitch_UpdateDevice(SDL_HIDAPI_Device *device)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ctx->m_rgucReadBuffer[0] == k_eSwitchInputReportIDs_SubcommandReply) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (ctx->m_bInputOnly) {
|
if (ctx->m_bInputOnly) {
|
||||||
HandleInputOnlyControllerState(joystick, ctx, (SwitchInputOnlyControllerStatePacket_t *)&ctx->m_rgucReadBuffer[0]);
|
HandleInputOnlyControllerState(joystick, ctx, (SwitchInputOnlyControllerStatePacket_t *)&ctx->m_rgucReadBuffer[0]);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -157,17 +157,17 @@ SDL_bool HIDAPI_SupportsPlaystationDetection(Uint16 vendor, Uint16 product)
|
|||||||
case USB_VENDOR_HORI:
|
case USB_VENDOR_HORI:
|
||||||
return SDL_TRUE;
|
return SDL_TRUE;
|
||||||
case USB_VENDOR_LOGITECH:
|
case USB_VENDOR_LOGITECH:
|
||||||
/* Most Logitech devices are fine with this, but there are a few exceptions */
|
/* Most Logitech devices are not PlayStation controllers, and some of them
|
||||||
if (product == USB_PRODUCT_LOGITECH_F310) {
|
* lock up or reset when we send them the Sony third-party query feature
|
||||||
/* The Logitech F310 gamepad will lock up */
|
* report, so don't include that vendor here. Instead add devices as
|
||||||
return SDL_FALSE;
|
* appropriate to controller_list.h
|
||||||
}
|
*/
|
||||||
if (product == 0xc33f) {
|
return SDL_FALSE;
|
||||||
/* The Logitech G815 keyboard will reset the LEDs */
|
|
||||||
return SDL_FALSE;
|
|
||||||
}
|
|
||||||
return SDL_TRUE;
|
|
||||||
case USB_VENDOR_MADCATZ:
|
case USB_VENDOR_MADCATZ:
|
||||||
|
if (product == USB_PRODUCT_MADCATZ_SAITEK_SIDE_PANEL_CONTROL_DECK) {
|
||||||
|
/* This is not a Playstation compatible device */
|
||||||
|
return SDL_FALSE;
|
||||||
|
}
|
||||||
return SDL_TRUE;
|
return SDL_TRUE;
|
||||||
case USB_VENDOR_MAYFLASH:
|
case USB_VENDOR_MAYFLASH:
|
||||||
return SDL_TRUE;
|
return SDL_TRUE;
|
||||||
@@ -183,10 +183,10 @@ SDL_bool HIDAPI_SupportsPlaystationDetection(Uint16 vendor, Uint16 product)
|
|||||||
case USB_VENDOR_QANBA:
|
case USB_VENDOR_QANBA:
|
||||||
return SDL_TRUE;
|
return SDL_TRUE;
|
||||||
case USB_VENDOR_RAZER:
|
case USB_VENDOR_RAZER:
|
||||||
/* Most Razer devices are not game controllers, and some of them lock up
|
/* Most Razer devices are not PlayStation controllers, and some of them
|
||||||
* or reset when we send them the Sony third-party query feature report,
|
* lock up or reset when we send them the Sony third-party query feature
|
||||||
* so don't include that vendor here. Instead add devices as appropriate
|
* report, so don't include that vendor here. Instead add devices as
|
||||||
* to controller_type.c
|
* appropriate to controller_list.h
|
||||||
*
|
*
|
||||||
* Reference: https://github.com/libsdl-org/SDL/issues/6733
|
* Reference: https://github.com/libsdl-org/SDL/issues/6733
|
||||||
* https://github.com/libsdl-org/SDL/issues/6799
|
* https://github.com/libsdl-org/SDL/issues/6799
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ static int GuessIsSensor(int fd)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int IsJoystick(const char *path, int fd, char **name_return, Uint16 *vendor_return, Uint16 *product_return, SDL_JoystickGUID *guid)
|
static int IsJoystick(const char *path, int *fd, char **name_return, Uint16 *vendor_return, Uint16 *product_return, SDL_JoystickGUID *guid)
|
||||||
{
|
{
|
||||||
struct input_id inpid;
|
struct input_id inpid;
|
||||||
char *name;
|
char *name;
|
||||||
@@ -282,21 +282,32 @@ static int IsJoystick(const char *path, int fd, char **name_return, Uint16 *vend
|
|||||||
|
|
||||||
SDL_zero(inpid);
|
SDL_zero(inpid);
|
||||||
#ifdef SDL_USE_LIBUDEV
|
#ifdef SDL_USE_LIBUDEV
|
||||||
SDL_UDEV_GetProductInfo(path, &inpid.vendor, &inpid.product, &inpid.version, &class);
|
/* Opening input devices can generate synchronous device I/O, so avoid it if we can */
|
||||||
|
if (SDL_UDEV_GetProductInfo(path, &inpid.vendor, &inpid.product, &inpid.version, &class) &&
|
||||||
|
!(class & SDL_UDEV_DEVICE_JOYSTICK)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (ioctl(fd, JSIOCGNAME(sizeof(product_string)), product_string) <= 0) {
|
|
||||||
/* When udev is enabled we only get joystick devices here, so there's no need to test them */
|
if (fd && *fd < 0) {
|
||||||
if (enumeration_method != ENUMERATION_LIBUDEV &&
|
*fd = open(path, O_RDONLY | O_CLOEXEC, 0);
|
||||||
!(class & SDL_UDEV_DEVICE_JOYSTICK) && ( class || !GuessIsJoystick(fd))) {
|
}
|
||||||
|
if (!fd || *fd < 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ioctl(*fd, JSIOCGNAME(sizeof(product_string)), product_string) <= 0) {
|
||||||
|
/* When udev enumeration or classification, we only got joysticks here, so no need to test */
|
||||||
|
if (enumeration_method != ENUMERATION_LIBUDEV && !class && !GuessIsJoystick(*fd)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Could have vendor and product already from udev, but should agree with evdev */
|
/* Could have vendor and product already from udev, but should agree with evdev */
|
||||||
if (ioctl(fd, EVIOCGID, &inpid) < 0) {
|
if (ioctl(*fd, EVIOCGID, &inpid) < 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ioctl(fd, EVIOCGNAME(sizeof(product_string)), product_string) < 0) {
|
if (ioctl(*fd, EVIOCGNAME(sizeof(product_string)), product_string) < 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -315,7 +326,7 @@ static int IsJoystick(const char *path, int fd, char **name_return, Uint16 *vend
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FixupDeviceInfoForMapping(fd, &inpid);
|
FixupDeviceInfoForMapping(*fd, &inpid);
|
||||||
|
|
||||||
#ifdef DEBUG_JOYSTICK
|
#ifdef DEBUG_JOYSTICK
|
||||||
SDL_Log("Joystick: %s, bustype = %d, vendor = 0x%.4x, product = 0x%.4x, version = %d\n", name, inpid.bustype, inpid.vendor, inpid.product, inpid.version);
|
SDL_Log("Joystick: %s, bustype = %d, vendor = 0x%.4x, product = 0x%.4x, version = %d\n", name, inpid.bustype, inpid.vendor, inpid.product, inpid.version);
|
||||||
@@ -333,11 +344,32 @@ static int IsJoystick(const char *path, int fd, char **name_return, Uint16 *vend
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int IsSensor(const char *path, int fd)
|
static int IsSensor(const char *path, int *fd)
|
||||||
{
|
{
|
||||||
struct input_id inpid;
|
struct input_id inpid;
|
||||||
|
int class = 0;
|
||||||
|
|
||||||
if (ioctl(fd, EVIOCGID, &inpid) < 0) {
|
SDL_zero(inpid);
|
||||||
|
#ifdef SDL_USE_LIBUDEV
|
||||||
|
/* Opening input devices can generate synchronous device I/O, so avoid it if we can */
|
||||||
|
if (SDL_UDEV_GetProductInfo(path, &inpid.vendor, &inpid.product, &inpid.version, &class) &&
|
||||||
|
!(class & SDL_UDEV_DEVICE_ACCELEROMETER)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (fd && *fd < 0) {
|
||||||
|
*fd = open(path, O_RDONLY | O_CLOEXEC, 0);
|
||||||
|
}
|
||||||
|
if (!fd || *fd < 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!class && !GuessIsSensor(*fd)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ioctl(*fd, EVIOCGID, &inpid) < 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -347,7 +379,7 @@ static int IsSensor(const char *path, int fd)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return GuessIsSensor(fd);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SDL_USE_LIBUDEV
|
#ifdef SDL_USE_LIBUDEV
|
||||||
@@ -434,16 +466,11 @@ static void MaybeAddDevice(const char *path)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fd = open(path, O_RDONLY | O_CLOEXEC, 0);
|
|
||||||
if (fd < 0) {
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef DEBUG_INPUT_EVENTS
|
#ifdef DEBUG_INPUT_EVENTS
|
||||||
SDL_Log("Checking %s\n", path);
|
SDL_Log("Checking %s\n", path);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (IsJoystick(path, fd, &name, &vendor, &product, &guid)) {
|
if (IsJoystick(path, &fd, &name, &vendor, &product, &guid)) {
|
||||||
#ifdef DEBUG_INPUT_EVENTS
|
#ifdef DEBUG_INPUT_EVENTS
|
||||||
SDL_Log("found joystick: %s\n", path);
|
SDL_Log("found joystick: %s\n", path);
|
||||||
#endif
|
#endif
|
||||||
@@ -484,7 +511,7 @@ static void MaybeAddDevice(const char *path)
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsSensor(path, fd)) {
|
if (IsSensor(path, &fd)) {
|
||||||
#ifdef DEBUG_INPUT_EVENTS
|
#ifdef DEBUG_INPUT_EVENTS
|
||||||
SDL_Log("found sensor: %s\n", path);
|
SDL_Log("found sensor: %s\n", path);
|
||||||
#endif
|
#endif
|
||||||
@@ -880,11 +907,24 @@ static void LINUX_ScanSteamVirtualGamepads(void)
|
|||||||
int num_virtual_gamepads = 0;
|
int num_virtual_gamepads = 0;
|
||||||
int virtual_gamepad_slot;
|
int virtual_gamepad_slot;
|
||||||
VirtualGamepadEntry *virtual_gamepads = NULL;
|
VirtualGamepadEntry *virtual_gamepads = NULL;
|
||||||
|
#ifdef SDL_USE_LIBUDEV
|
||||||
|
int class;
|
||||||
|
#endif
|
||||||
|
|
||||||
count = scandir("/dev/input", &entries, filter_entries, NULL);
|
count = scandir("/dev/input", &entries, filter_entries, NULL);
|
||||||
for (i = 0; i < count; ++i) {
|
for (i = 0; i < count; ++i) {
|
||||||
(void)SDL_snprintf(path, SDL_arraysize(path), "/dev/input/%s", entries[i]->d_name);
|
(void)SDL_snprintf(path, SDL_arraysize(path), "/dev/input/%s", entries[i]->d_name);
|
||||||
|
|
||||||
|
#ifdef SDL_USE_LIBUDEV
|
||||||
|
/* Opening input devices can generate synchronous device I/O, so avoid it if we can */
|
||||||
|
class = 0;
|
||||||
|
SDL_zero(inpid);
|
||||||
|
if (SDL_UDEV_GetProductInfo(path, &inpid.vendor, &inpid.product, &inpid.version, &class) &&
|
||||||
|
(inpid.vendor != USB_VENDOR_VALVE || inpid.product != USB_PRODUCT_STEAM_VIRTUAL_GAMEPAD)) {
|
||||||
|
free(entries[i]); /* This should NOT be SDL_free() */
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
fd = open(path, O_RDONLY | O_CLOEXEC, 0);
|
fd = open(path, O_RDONLY | O_CLOEXEC, 0);
|
||||||
if (fd >= 0) {
|
if (fd >= 0) {
|
||||||
if (ioctl(fd, EVIOCGID, &inpid) == 0 &&
|
if (ioctl(fd, EVIOCGID, &inpid) == 0 &&
|
||||||
@@ -986,6 +1026,9 @@ static void LINUX_JoystickDetect(void)
|
|||||||
static int LINUX_JoystickInit(void)
|
static int LINUX_JoystickInit(void)
|
||||||
{
|
{
|
||||||
const char *devices = SDL_GetHint(SDL_HINT_JOYSTICK_DEVICE);
|
const char *devices = SDL_GetHint(SDL_HINT_JOYSTICK_DEVICE);
|
||||||
|
#ifdef SDL_USE_LIBUDEV
|
||||||
|
int udev_status = SDL_UDEV_Init();
|
||||||
|
#endif
|
||||||
|
|
||||||
SDL_classic_joysticks = SDL_GetHintBoolean(SDL_HINT_LINUX_JOYSTICK_CLASSIC, SDL_FALSE);
|
SDL_classic_joysticks = SDL_GetHintBoolean(SDL_HINT_LINUX_JOYSTICK_CLASSIC, SDL_FALSE);
|
||||||
|
|
||||||
@@ -1036,21 +1079,24 @@ static int LINUX_JoystickInit(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (enumeration_method == ENUMERATION_LIBUDEV) {
|
if (enumeration_method == ENUMERATION_LIBUDEV) {
|
||||||
if (SDL_UDEV_Init() < 0) {
|
if (udev_status == 0) {
|
||||||
return SDL_SetError("Could not initialize UDEV");
|
/* Set up the udev callback */
|
||||||
}
|
if (SDL_UDEV_AddCallback(joystick_udev_callback) < 0) {
|
||||||
|
SDL_UDEV_Quit();
|
||||||
|
return SDL_SetError("Could not set up joystick <-> udev callback");
|
||||||
|
}
|
||||||
|
|
||||||
/* Set up the udev callback */
|
/* Force a scan to build the initial device list */
|
||||||
if (SDL_UDEV_AddCallback(joystick_udev_callback) < 0) {
|
SDL_UDEV_Scan();
|
||||||
SDL_UDEV_Quit();
|
} else {
|
||||||
return SDL_SetError("Could not set up joystick <-> udev callback");
|
SDL_LogDebug(SDL_LOG_CATEGORY_INPUT,
|
||||||
|
"udev init failed, disabling udev integration");
|
||||||
|
enumeration_method = ENUMERATION_FALLBACK;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/* Force a scan to build the initial device list */
|
|
||||||
SDL_UDEV_Scan();
|
|
||||||
} else
|
|
||||||
#endif
|
#endif
|
||||||
{
|
|
||||||
|
if (enumeration_method != ENUMERATION_LIBUDEV) {
|
||||||
#if defined(HAVE_INOTIFY)
|
#if defined(HAVE_INOTIFY)
|
||||||
inotify_fd = SDL_inotify_init1();
|
inotify_fd = SDL_inotify_init1();
|
||||||
|
|
||||||
|
|||||||
@@ -210,7 +210,9 @@ static void PSP_JoystickUpdate(SDL_Joystick *joystick)
|
|||||||
static enum PspCtrlButtons old_buttons = 0;
|
static enum PspCtrlButtons old_buttons = 0;
|
||||||
static unsigned char old_x = 0, old_y = 0;
|
static unsigned char old_x = 0, old_y = 0;
|
||||||
|
|
||||||
sceCtrlReadBufferPositive(&pad, 1);
|
if (sceCtrlPeekBufferPositive(&pad, 1) <= 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
buttons = pad.Buttons;
|
buttons = pad.Buttons;
|
||||||
x = pad.Lx;
|
x = pad.Lx;
|
||||||
y = pad.Ly;
|
y = pad.Ly;
|
||||||
|
|||||||
@@ -35,6 +35,15 @@ def find_element(prefix, bindings):
|
|||||||
|
|
||||||
return -1
|
return -1
|
||||||
|
|
||||||
|
def get_crc_from_entry(entry):
|
||||||
|
crc = ""
|
||||||
|
line = "".join(entry)
|
||||||
|
bindings = line.split(",")
|
||||||
|
pos = find_element("crc:", bindings)
|
||||||
|
if pos >= 0:
|
||||||
|
crc = bindings[pos][4:]
|
||||||
|
return crc
|
||||||
|
|
||||||
def save_controller(line):
|
def save_controller(line):
|
||||||
global controllers
|
global controllers
|
||||||
match = split_pattern.match(line)
|
match = split_pattern.match(line)
|
||||||
@@ -85,7 +94,7 @@ def save_controller(line):
|
|||||||
entry.append(match.group(5))
|
entry.append(match.group(5))
|
||||||
controllers.append(entry)
|
controllers.append(entry)
|
||||||
|
|
||||||
entry_id = entry[1] + entry[3]
|
entry_id = entry[1] + get_crc_from_entry(entry)
|
||||||
if ',sdk' in line or ',hint:' in line:
|
if ',sdk' in line or ',hint:' in line:
|
||||||
conditionals.append(entry_id)
|
conditionals.append(entry_id)
|
||||||
|
|
||||||
@@ -94,7 +103,7 @@ def write_controllers():
|
|||||||
global controller_guids
|
global controller_guids
|
||||||
# Check for duplicates
|
# Check for duplicates
|
||||||
for entry in controllers:
|
for entry in controllers:
|
||||||
entry_id = entry[1] + entry[3]
|
entry_id = entry[1] + get_crc_from_entry(entry)
|
||||||
if (entry_id in controller_guids and entry_id not in conditionals):
|
if (entry_id in controller_guids and entry_id not in conditionals):
|
||||||
current_name = entry[2]
|
current_name = entry[2]
|
||||||
existing_name = controller_guids[entry_id][2]
|
existing_name = controller_guids[entry_id][2]
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
#define USB_VENDOR_POWERA_ALT 0x20d6
|
#define USB_VENDOR_POWERA_ALT 0x20d6
|
||||||
#define USB_VENDOR_QANBA 0x2c22
|
#define USB_VENDOR_QANBA 0x2c22
|
||||||
#define USB_VENDOR_RAZER 0x1532
|
#define USB_VENDOR_RAZER 0x1532
|
||||||
|
#define USB_VENDOR_SAITEK 0x06a3
|
||||||
#define USB_VENDOR_SHANWAN 0x2563
|
#define USB_VENDOR_SHANWAN 0x2563
|
||||||
#define USB_VENDOR_SHANWAN_ALT 0x20bc
|
#define USB_VENDOR_SHANWAN_ALT 0x20bc
|
||||||
#define USB_VENDOR_SONY 0x054c
|
#define USB_VENDOR_SONY 0x054c
|
||||||
@@ -71,6 +72,7 @@
|
|||||||
#define USB_PRODUCT_HORI_FIGHTING_STICK_ALPHA_PS5 0x0184
|
#define USB_PRODUCT_HORI_FIGHTING_STICK_ALPHA_PS5 0x0184
|
||||||
#define USB_PRODUCT_LOGITECH_F310 0xc216
|
#define USB_PRODUCT_LOGITECH_F310 0xc216
|
||||||
#define USB_PRODUCT_LOGITECH_CHILLSTREAM 0xcad1
|
#define USB_PRODUCT_LOGITECH_CHILLSTREAM 0xcad1
|
||||||
|
#define USB_PRODUCT_MADCATZ_SAITEK_SIDE_PANEL_CONTROL_DECK 0x2218
|
||||||
#define USB_PRODUCT_NACON_REVOLUTION_5_PRO_PS4_WIRELESS 0x0d16
|
#define USB_PRODUCT_NACON_REVOLUTION_5_PRO_PS4_WIRELESS 0x0d16
|
||||||
#define USB_PRODUCT_NACON_REVOLUTION_5_PRO_PS4_WIRED 0x0d17
|
#define USB_PRODUCT_NACON_REVOLUTION_5_PRO_PS4_WIRED 0x0d17
|
||||||
#define USB_PRODUCT_NACON_REVOLUTION_5_PRO_PS5_WIRELESS 0x0d18
|
#define USB_PRODUCT_NACON_REVOLUTION_5_PRO_PS5_WIRELESS 0x0d18
|
||||||
@@ -89,6 +91,7 @@
|
|||||||
#define USB_PRODUCT_NVIDIA_SHIELD_CONTROLLER_V103 0x7210
|
#define USB_PRODUCT_NVIDIA_SHIELD_CONTROLLER_V103 0x7210
|
||||||
#define USB_PRODUCT_NVIDIA_SHIELD_CONTROLLER_V104 0x7214
|
#define USB_PRODUCT_NVIDIA_SHIELD_CONTROLLER_V104 0x7214
|
||||||
#define USB_PRODUCT_RAZER_ATROX 0x0a00
|
#define USB_PRODUCT_RAZER_ATROX 0x0a00
|
||||||
|
#define USB_PRODUCT_RAZER_KITSUNE 0x1012
|
||||||
#define USB_PRODUCT_RAZER_PANTHERA 0x0401
|
#define USB_PRODUCT_RAZER_PANTHERA 0x0401
|
||||||
#define USB_PRODUCT_RAZER_PANTHERA_EVO 0x1008
|
#define USB_PRODUCT_RAZER_PANTHERA_EVO 0x1008
|
||||||
#define USB_PRODUCT_RAZER_RAIJU 0x1000
|
#define USB_PRODUCT_RAZER_RAIJU 0x1000
|
||||||
@@ -102,6 +105,7 @@
|
|||||||
#define USB_PRODUCT_RAZER_WOLVERINE_V2_PRO_PS5_WIRELESS 0x100c
|
#define USB_PRODUCT_RAZER_WOLVERINE_V2_PRO_PS5_WIRELESS 0x100c
|
||||||
#define USB_PRODUCT_RAZER_WOLVERINE_V2_PRO_XBOX_WIRED 0x1010
|
#define USB_PRODUCT_RAZER_WOLVERINE_V2_PRO_XBOX_WIRED 0x1010
|
||||||
#define USB_PRODUCT_RAZER_WOLVERINE_V2_PRO_XBOX_WIRELESS 0x1011
|
#define USB_PRODUCT_RAZER_WOLVERINE_V2_PRO_XBOX_WIRELESS 0x1011
|
||||||
|
#define USB_PRODUCT_SAITEK_CYBORG_V3 0xf622
|
||||||
#define USB_PRODUCT_SHANWAN_DS3 0x0523
|
#define USB_PRODUCT_SHANWAN_DS3 0x0523
|
||||||
#define USB_PRODUCT_SONY_DS3 0x0268
|
#define USB_PRODUCT_SONY_DS3 0x0268
|
||||||
#define USB_PRODUCT_SONY_DS4 0x05c4
|
#define USB_PRODUCT_SONY_DS4 0x05c4
|
||||||
|
|||||||
@@ -855,6 +855,7 @@ int SDL_DINPUT_JoystickOpen(SDL_Joystick *joystick, JoyStick_DeviceData *joystic
|
|||||||
} else if (FAILED(result)) {
|
} else if (FAILED(result)) {
|
||||||
return SetDIerror("IDirectInputDevice8::SetProperty", result);
|
return SetDIerror("IDirectInputDevice8::SetProperty", result);
|
||||||
}
|
}
|
||||||
|
joystick->hwdata->first_update = SDL_TRUE;
|
||||||
|
|
||||||
/* Poll and wait for initial device state to be populated */
|
/* Poll and wait for initial device state to be populated */
|
||||||
result = IDirectInputDevice8_Poll(joystick->hwdata->InputDevice);
|
result = IDirectInputDevice8_Poll(joystick->hwdata->InputDevice);
|
||||||
@@ -1130,7 +1131,14 @@ void SDL_DINPUT_JoystickUpdate(SDL_Joystick *joystick)
|
|||||||
IDirectInputDevice8_Poll(joystick->hwdata->InputDevice);
|
IDirectInputDevice8_Poll(joystick->hwdata->InputDevice);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (joystick->hwdata->buffered) {
|
if (joystick->hwdata->first_update) {
|
||||||
|
/* Poll to get the initial state of the joystick */
|
||||||
|
UpdateDINPUTJoystickState_Polled(joystick);
|
||||||
|
joystick->hwdata->first_update = SDL_FALSE;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (joystick->hwdata->buffered ) {
|
||||||
UpdateDINPUTJoystickState_Buffered(joystick);
|
UpdateDINPUTJoystickState_Buffered(joystick);
|
||||||
} else {
|
} else {
|
||||||
UpdateDINPUTJoystickState_Polled(joystick);
|
UpdateDINPUTJoystickState_Polled(joystick);
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ struct joystick_hwdata
|
|||||||
LPDIRECTINPUTDEVICE8 InputDevice;
|
LPDIRECTINPUTDEVICE8 InputDevice;
|
||||||
DIDEVCAPS Capabilities;
|
DIDEVCAPS Capabilities;
|
||||||
SDL_bool buffered;
|
SDL_bool buffered;
|
||||||
|
SDL_bool first_update;
|
||||||
input_t Inputs[MAX_INPUTS];
|
input_t Inputs[MAX_INPUTS];
|
||||||
int NumInputs;
|
int NumInputs;
|
||||||
int NumSliders;
|
int NumSliders;
|
||||||
|
|||||||
@@ -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 &&
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ void SDL_SYS_GetPreferredLocales(char *buf, size_t buflen)
|
|||||||
{
|
{
|
||||||
/* The 3DS only supports these 12 languages, only one can be active at a time */
|
/* The 3DS only supports these 12 languages, only one can be active at a time */
|
||||||
static const char AVAILABLE_LOCALES[][6] = { "ja_JP", "en_US", "fr_FR", "de_DE",
|
static const char AVAILABLE_LOCALES[][6] = { "ja_JP", "en_US", "fr_FR", "de_DE",
|
||||||
"it_IT", "es_ES", "zn_CN", "ko_KR",
|
"it_IT", "es_ES", "zh_CN", "ko_KR",
|
||||||
"nl_NL", "pt_PT", "ru_RU", "zh_TW" };
|
"nl_NL", "pt_PT", "ru_RU", "zh_TW" };
|
||||||
u8 current_locale = GetLocaleIndex();
|
u8 current_locale = GetLocaleIndex();
|
||||||
if (current_locale != BAD_LOCALE) {
|
if (current_locale != BAD_LOCALE) {
|
||||||
@@ -45,14 +45,13 @@ SDL_FORCE_INLINE u8
|
|||||||
GetLocaleIndex(void)
|
GetLocaleIndex(void)
|
||||||
{
|
{
|
||||||
u8 current_locale;
|
u8 current_locale;
|
||||||
|
Result result;
|
||||||
if (R_FAILED(cfguInit())) {
|
if (R_FAILED(cfguInit())) {
|
||||||
return BAD_LOCALE;
|
return BAD_LOCALE;
|
||||||
}
|
}
|
||||||
if (R_FAILED(CFGU_GetSystemLanguage(¤t_locale))) {
|
result = CFGU_GetSystemLanguage(¤t_locale);
|
||||||
return BAD_LOCALE;
|
|
||||||
}
|
|
||||||
cfguExit();
|
cfguExit();
|
||||||
return current_locale;
|
return R_SUCCEEDED(result) ? current_locale : BAD_LOCALE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vi: set sts=4 ts=4 sw=4 expandtab: */
|
/* vi: set sts=4 ts=4 sw=4 expandtab: */
|
||||||
@@ -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,4,0
|
||||||
PRODUCTVERSION 2,29,3,0
|
PRODUCTVERSION 2,30,4,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, 4, 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, 4, 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
|
||||||
@@ -48,6 +48,7 @@
|
|||||||
#include <dxgi1_6.h>
|
#include <dxgi1_6.h>
|
||||||
#include <dxgidebug.h>
|
#include <dxgidebug.h>
|
||||||
#include <d3d12sdklayers.h>
|
#include <d3d12sdklayers.h>
|
||||||
|
#include <sdkddkver.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "SDL_shaders_d3d12.h"
|
#include "SDL_shaders_d3d12.h"
|
||||||
@@ -58,6 +59,11 @@
|
|||||||
#define SDL_COMPOSE_ERROR(str) SDL_STRINGIFY_ARG(__FUNCTION__) ", " str
|
#define SDL_COMPOSE_ERROR(str) SDL_STRINGIFY_ARG(__FUNCTION__) ", " str
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* DXGI_PRESENT flags are removed on Xbox */
|
||||||
|
#if defined(__XBOXONE__) || defined(__XBOXSERIES__)
|
||||||
|
#define DXGI_PRESENT_ALLOW_TEARING 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#define SAFE_RELEASE(X) \
|
#define SAFE_RELEASE(X) \
|
||||||
if (X) { \
|
if (X) { \
|
||||||
@@ -78,6 +84,54 @@
|
|||||||
#define D3D_GUID(X) &(X)
|
#define D3D_GUID(X) &(X)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Older MS Windows SDK headers declare some d3d12 functions with the wrong function prototype.
|
||||||
|
* - ID3D12Heap::GetDesc
|
||||||
|
* - ID3D12Resource::GetDesc
|
||||||
|
* - ID3D12DescriptorHeap::GetDesc
|
||||||
|
* (and 9 more)+
|
||||||
|
* This is fixed in SDKs since WDK_NTDDI_VERSION >= NTDDI_WIN10_FE (0x0A00000A)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !(defined(__MINGW32__) || defined(__XBOXONE__) || defined(__XBOXSERIES__)) \
|
||||||
|
&& (WDK_NTDDI_VERSION < 0x0A00000A)
|
||||||
|
|
||||||
|
#define D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(THIS, ...) do { \
|
||||||
|
void (STDMETHODCALLTYPE * func)(ID3D12DescriptorHeap * This, D3D12_CPU_DESCRIPTOR_HANDLE * Handle) = \
|
||||||
|
(void*)(THIS)->lpVtbl->GetCPUDescriptorHandleForHeapStart; \
|
||||||
|
func((THIS), ##__VA_ARGS__); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define D3D_CALL_RET_ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(THIS, ...) do { \
|
||||||
|
void (STDMETHODCALLTYPE * func)(ID3D12DescriptorHeap * This, D3D12_GPU_DESCRIPTOR_HANDLE * Handle) = \
|
||||||
|
(void*)(THIS)->lpVtbl->GetGPUDescriptorHandleForHeapStart; \
|
||||||
|
func((THIS), ##__VA_ARGS__); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define D3D_CALL_RET_ID3D12Resource_GetDesc(THIS, ...) do { \
|
||||||
|
void (STDMETHODCALLTYPE * func)(ID3D12Resource * This, D3D12_RESOURCE_DESC * Desc) = \
|
||||||
|
(void*)(THIS)->lpVtbl->GetDesc; \
|
||||||
|
func((THIS), ##__VA_ARGS__); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MinGW has correct function prototypes in the vtables, but defines wrong functions
|
||||||
|
* Xbox just needs these macros defined as used below (because CINTERFACE doesn't exist)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(THIS, ...) \
|
||||||
|
D3D_CALL_RET(THIS, GetCPUDescriptorHandleForHeapStart, ##__VA_ARGS__);
|
||||||
|
|
||||||
|
#define D3D_CALL_RET_ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(THIS, ...) \
|
||||||
|
D3D_CALL_RET(THIS, GetGPUDescriptorHandleForHeapStart, ##__VA_ARGS__);
|
||||||
|
|
||||||
|
#define D3D_CALL_RET_ID3D12Resource_GetDesc(THIS, ...) \
|
||||||
|
D3D_CALL_RET(THIS, GetDesc, ##__VA_ARGS__);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Set up for C function definitions, even when using C++ */
|
/* Set up for C function definitions, even when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@@ -393,10 +447,10 @@ static D3D12_GPU_DESCRIPTOR_HANDLE D3D12_CPUtoGPUHandle(ID3D12DescriptorHeap *he
|
|||||||
SIZE_T offset;
|
SIZE_T offset;
|
||||||
|
|
||||||
/* Calculate the correct offset into the heap */
|
/* Calculate the correct offset into the heap */
|
||||||
D3D_CALL_RET(heap, GetCPUDescriptorHandleForHeapStart, &CPUHeapStart);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(heap, &CPUHeapStart);
|
||||||
offset = CPUHandle.ptr - CPUHeapStart.ptr;
|
offset = CPUHandle.ptr - CPUHeapStart.ptr;
|
||||||
|
|
||||||
D3D_CALL_RET(heap, GetGPUDescriptorHandleForHeapStart, &GPUHandle);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(heap, &GPUHandle);
|
||||||
GPUHandle.ptr += offset;
|
GPUHandle.ptr += offset;
|
||||||
|
|
||||||
return GPUHandle;
|
return GPUHandle;
|
||||||
@@ -427,7 +481,7 @@ static D3D12_CPU_DESCRIPTOR_HANDLE D3D12_GetCurrentRenderTargetView(SDL_Renderer
|
|||||||
}
|
}
|
||||||
|
|
||||||
SDL_zero(rtvDescriptor);
|
SDL_zero(rtvDescriptor);
|
||||||
D3D_CALL_RET(data->rtvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &rtvDescriptor);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(data->rtvDescriptorHeap, &rtvDescriptor);
|
||||||
rtvDescriptor.ptr += data->currentBackBufferIndex * data->rtvDescriptorSize;
|
rtvDescriptor.ptr += data->currentBackBufferIndex * data->rtvDescriptorSize;
|
||||||
return rtvDescriptor;
|
return rtvDescriptor;
|
||||||
}
|
}
|
||||||
@@ -1047,7 +1101,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer)
|
|||||||
samplerDesc.ComparisonFunc = D3D12_COMPARISON_FUNC_ALWAYS;
|
samplerDesc.ComparisonFunc = D3D12_COMPARISON_FUNC_ALWAYS;
|
||||||
samplerDesc.MinLOD = 0.0f;
|
samplerDesc.MinLOD = 0.0f;
|
||||||
samplerDesc.MaxLOD = D3D12_FLOAT32_MAX;
|
samplerDesc.MaxLOD = D3D12_FLOAT32_MAX;
|
||||||
D3D_CALL_RET(data->samplerDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &data->nearestPixelSampler);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(data->samplerDescriptorHeap, &data->nearestPixelSampler);
|
||||||
D3D_CALL(data->d3dDevice, CreateSampler, &samplerDesc, data->nearestPixelSampler);
|
D3D_CALL(data->d3dDevice, CreateSampler, &samplerDesc, data->nearestPixelSampler);
|
||||||
|
|
||||||
samplerDesc.Filter = D3D12_FILTER_MIN_MAG_MIP_LINEAR;
|
samplerDesc.Filter = D3D12_FILTER_MIN_MAG_MIP_LINEAR;
|
||||||
@@ -1336,7 +1390,7 @@ static HRESULT D3D12_CreateWindowSizeDependentResources(SDL_Renderer *renderer)
|
|||||||
rtvDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D;
|
rtvDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D;
|
||||||
|
|
||||||
SDL_zero(rtvDescriptor);
|
SDL_zero(rtvDescriptor);
|
||||||
D3D_CALL_RET(data->rtvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &rtvDescriptor);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(data->rtvDescriptorHeap, &rtvDescriptor);
|
||||||
rtvDescriptor.ptr += i * data->rtvDescriptorSize;
|
rtvDescriptor.ptr += i * data->rtvDescriptorSize;
|
||||||
D3D_CALL(data->d3dDevice, CreateRenderTargetView, data->renderTargets[i], &rtvDesc, rtvDescriptor);
|
D3D_CALL(data->d3dDevice, CreateRenderTargetView, data->renderTargets[i], &rtvDesc, rtvDescriptor);
|
||||||
}
|
}
|
||||||
@@ -1550,7 +1604,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||||||
resourceViewDesc.Texture2D.MipLevels = textureDesc.MipLevels;
|
resourceViewDesc.Texture2D.MipLevels = textureDesc.MipLevels;
|
||||||
|
|
||||||
textureData->mainSRVIndex = D3D12_GetAvailableSRVIndex(renderer);
|
textureData->mainSRVIndex = D3D12_GetAvailableSRVIndex(renderer);
|
||||||
D3D_CALL_RET(rendererData->srvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureResourceView);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(rendererData->srvDescriptorHeap, &textureData->mainTextureResourceView);
|
||||||
textureData->mainTextureResourceView.ptr += textureData->mainSRVIndex * rendererData->srvDescriptorSize;
|
textureData->mainTextureResourceView.ptr += textureData->mainSRVIndex * rendererData->srvDescriptorSize;
|
||||||
|
|
||||||
D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView,
|
D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView,
|
||||||
@@ -1559,7 +1613,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||||||
textureData->mainTextureResourceView);
|
textureData->mainTextureResourceView);
|
||||||
#if SDL_HAVE_YUV
|
#if SDL_HAVE_YUV
|
||||||
if (textureData->yuv) {
|
if (textureData->yuv) {
|
||||||
D3D_CALL_RET(rendererData->srvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureResourceViewU);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(rendererData->srvDescriptorHeap, &textureData->mainTextureResourceViewU);
|
||||||
textureData->mainSRVIndexU = D3D12_GetAvailableSRVIndex(renderer);
|
textureData->mainSRVIndexU = D3D12_GetAvailableSRVIndex(renderer);
|
||||||
textureData->mainTextureResourceViewU.ptr += textureData->mainSRVIndexU * rendererData->srvDescriptorSize;
|
textureData->mainTextureResourceViewU.ptr += textureData->mainSRVIndexU * rendererData->srvDescriptorSize;
|
||||||
D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView,
|
D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView,
|
||||||
@@ -1567,7 +1621,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||||||
&resourceViewDesc,
|
&resourceViewDesc,
|
||||||
textureData->mainTextureResourceViewU);
|
textureData->mainTextureResourceViewU);
|
||||||
|
|
||||||
D3D_CALL_RET(rendererData->srvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureResourceViewV);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(rendererData->srvDescriptorHeap, &textureData->mainTextureResourceViewV);
|
||||||
textureData->mainSRVIndexV = D3D12_GetAvailableSRVIndex(renderer);
|
textureData->mainSRVIndexV = D3D12_GetAvailableSRVIndex(renderer);
|
||||||
textureData->mainTextureResourceViewV.ptr += textureData->mainSRVIndexV * rendererData->srvDescriptorSize;
|
textureData->mainTextureResourceViewV.ptr += textureData->mainSRVIndexV * rendererData->srvDescriptorSize;
|
||||||
D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView,
|
D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView,
|
||||||
@@ -1581,7 +1635,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||||||
|
|
||||||
nvResourceViewDesc.Format = DXGI_FORMAT_R8G8_UNORM;
|
nvResourceViewDesc.Format = DXGI_FORMAT_R8G8_UNORM;
|
||||||
|
|
||||||
D3D_CALL_RET(rendererData->srvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureResourceViewNV);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(rendererData->srvDescriptorHeap, &textureData->mainTextureResourceViewNV);
|
||||||
textureData->mainSRVIndexNV = D3D12_GetAvailableSRVIndex(renderer);
|
textureData->mainSRVIndexNV = D3D12_GetAvailableSRVIndex(renderer);
|
||||||
textureData->mainTextureResourceViewNV.ptr += textureData->mainSRVIndexNV * rendererData->srvDescriptorSize;
|
textureData->mainTextureResourceViewNV.ptr += textureData->mainSRVIndexNV * rendererData->srvDescriptorSize;
|
||||||
D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView,
|
D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView,
|
||||||
@@ -1598,7 +1652,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||||||
renderTargetViewDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D;
|
renderTargetViewDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D;
|
||||||
renderTargetViewDesc.Texture2D.MipSlice = 0;
|
renderTargetViewDesc.Texture2D.MipSlice = 0;
|
||||||
|
|
||||||
D3D_CALL_RET(rendererData->textureRTVDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureRenderTargetView);
|
D3D_CALL_RET_ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(rendererData->textureRTVDescriptorHeap, &textureData->mainTextureRenderTargetView);
|
||||||
textureData->mainTextureRenderTargetView.ptr += textureData->mainSRVIndex * rendererData->rtvDescriptorSize;
|
textureData->mainTextureRenderTargetView.ptr += textureData->mainSRVIndex * rendererData->rtvDescriptorSize;
|
||||||
|
|
||||||
D3D_CALL(rendererData->d3dDevice, CreateRenderTargetView,
|
D3D_CALL(rendererData->d3dDevice, CreateRenderTargetView,
|
||||||
@@ -1663,7 +1717,7 @@ static int D3D12_UpdateTextureInternal(D3D12_RenderData *rendererData, ID3D12Res
|
|||||||
|
|
||||||
/* Create an upload buffer, which will be used to write to the main texture. */
|
/* Create an upload buffer, which will be used to write to the main texture. */
|
||||||
SDL_zero(textureDesc);
|
SDL_zero(textureDesc);
|
||||||
D3D_CALL_RET(texture, GetDesc, &textureDesc);
|
D3D_CALL_RET_ID3D12Resource_GetDesc(texture, &textureDesc);
|
||||||
textureDesc.Width = w;
|
textureDesc.Width = w;
|
||||||
textureDesc.Height = h;
|
textureDesc.Height = h;
|
||||||
|
|
||||||
@@ -1919,7 +1973,7 @@ static int D3D12_LockTexture(SDL_Renderer *renderer, SDL_Texture *texture,
|
|||||||
|
|
||||||
/* Create an upload buffer, which will be used to write to the main texture. */
|
/* Create an upload buffer, which will be used to write to the main texture. */
|
||||||
SDL_zero(textureDesc);
|
SDL_zero(textureDesc);
|
||||||
D3D_CALL_RET(textureData->mainTexture, GetDesc, &textureDesc);
|
D3D_CALL_RET_ID3D12Resource_GetDesc(textureData->mainTexture, &textureDesc);
|
||||||
textureDesc.Width = rect->w;
|
textureDesc.Width = rect->w;
|
||||||
textureDesc.Height = rect->h;
|
textureDesc.Height = rect->h;
|
||||||
|
|
||||||
@@ -2028,7 +2082,7 @@ static void D3D12_UnlockTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
|||||||
D3D_CALL(textureData->stagingBuffer, Unmap, 0, NULL);
|
D3D_CALL(textureData->stagingBuffer, Unmap, 0, NULL);
|
||||||
|
|
||||||
SDL_zero(textureDesc);
|
SDL_zero(textureDesc);
|
||||||
D3D_CALL_RET(textureData->mainTexture, GetDesc, &textureDesc);
|
D3D_CALL_RET_ID3D12Resource_GetDesc(textureData->mainTexture, &textureDesc);
|
||||||
textureDesc.Width = textureData->lockedRect.w;
|
textureDesc.Width = textureData->lockedRect.w;
|
||||||
textureDesc.Height = textureData->lockedRect.h;
|
textureDesc.Height = textureData->lockedRect.h;
|
||||||
|
|
||||||
@@ -2608,6 +2662,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;
|
||||||
}
|
}
|
||||||
@@ -2738,7 +2793,7 @@ static int D3D12_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect *rect,
|
|||||||
|
|
||||||
/* Create a staging texture to copy the screen's data to: */
|
/* Create a staging texture to copy the screen's data to: */
|
||||||
SDL_zero(textureDesc);
|
SDL_zero(textureDesc);
|
||||||
D3D_CALL_RET(backBuffer, GetDesc, &textureDesc);
|
D3D_CALL_RET_ID3D12Resource_GetDesc(backBuffer, &textureDesc);
|
||||||
textureDesc.Width = rect->w;
|
textureDesc.Width = rect->w;
|
||||||
textureDesc.Height = rect->h;
|
textureDesc.Height = rect->h;
|
||||||
|
|
||||||
@@ -3055,7 +3110,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 +3122,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 +3135,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: */
|
||||||
Loaded 100 of 135 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user