diff --git a/.editorconfig b/.editorconfig
index a42588d1a694..9e716acfc23d 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,10 +1,11 @@
root = true
[*]
+charset = utf-8
indent_size = 2
trim_trailing_whitespace = true
-[*.{c,cpp,h}]
+[*.{c,cpp,h,java}]
indent_style = space
insert_final_newline = true
max_line_length = 100
@@ -20,10 +21,6 @@ indent_size = 4
indent_style = space
insert_final_newline = false
-[*.java]
-indent_style = tab
-insert_final_newline = true
-
[*.xml]
indent_size = 4
indent_style = space
diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644
index 000000000000..c2f217b1f08f
--- /dev/null
+++ b/.git-blame-ignore-revs
@@ -0,0 +1,11 @@
+# This file can be used for git blame using --ignore-revs-file
+# or by setting blame.ignoreRevsFile in the git config.
+
+# Remove unnecessary Src/ folders
+34692ab826abc8f8faa61bdb2280b742424528f1
+
+# Reformat C++ code
+3570c7f03a2aa90aa634f96c0af1969af610f14d
+
+# Reformat Android code
+248ee12aed057acd0bdd310359c328e8d4fd5e5a
diff --git a/.gitignore b/.gitignore
index cb3b72d94a7b..deef6c5b0ac7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,9 +6,10 @@ Thumbs.db
Source/Core/Common/scmrev.h
# Ignore files output by build
/[Bb]uild*/
-/[Bb]inary/
+/[Bb]inary*/
/obj/
-# Android cmake builds to here then copies to Source/Android.
+# Ignore files output by Android cmake build
+/Source/Android/app/.cxx/
/libs/
# Ignore various files created by visual studio/msbuild
*.ipch
@@ -20,7 +21,8 @@ Source/Core/Common/scmrev.h
*.tlog
*.VC.opendb
*.VC.db
-.vs/
+.vs*/
+/Source/enc_temp_folder/
# Ignore build info file created by QtCreator
CMakeLists.txt.user
# Ignore files created by posix people
@@ -34,3 +36,5 @@ CMakeLists.txt.user
*.kdev4
# Ignore IDEA/Clion files/dirs
/.idea/
+# Ignore Visual Studio Code's working dir
+/.vscode/
diff --git a/.gitmodules b/.gitmodules
index 7d8b9393f83c..708245831166 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,3 +2,4 @@
path = Externals/Qt
url = https://github.com/dolphin-emu/ext-win-qt.git
branch = master
+ shallow = true
diff --git a/CMake/CheckVendoringApproved.cmake b/CMake/CheckVendoringApproved.cmake
new file mode 100644
index 000000000000..84e21201131a
--- /dev/null
+++ b/CMake/CheckVendoringApproved.cmake
@@ -0,0 +1,29 @@
+# When packaging Dolphin for an OS distribution, distro vendors usually prefer
+# to limit vendored ("Externals") dependencies as much as possible, in favor of
+# using system provided libraries. This modules provides an option to allow
+# only specific vendored dependencies and error-out at configuration time for
+# non-approved ones.
+#
+# Usage:
+# $ cmake -D APPROVED_VENDORED_DEPENDENCIES="a;b;c;..."
+#
+# Unless the option is explicitly used, vendored dependencies control is
+# disabled.
+#
+# If you want to disallow all vendored dependencies, put "none" in the approved
+# dependencies list.
+
+set(APPROVED_VENDORED_DEPENDENCIES "" CACHE STRING "\
+Semicolon separated list of approved vendored dependencies. See docstring in \
+CMake/CheckVendoringApproved.cmake.")
+
+function(check_vendoring_approved dep)
+ if(APPROVED_VENDORED_DEPENDENCIES)
+ if(NOT dep IN_LIST APPROVED_VENDORED_DEPENDENCIES)
+ message(SEND_ERROR "\
+Library ${dep} was not found systemwide and was not approved for vendoring. \
+Vendored dependencies control is enabled. Add \"${dep}\" to the \
+APPROVED_VENDORED_DEPENDENCIES list to bypass this error.")
+ endif()
+ endif()
+endfunction()
diff --git a/CMake/DolphinPostprocessBundle.cmake b/CMake/DolphinPostprocessBundle.cmake
index 4d2eee175ecf..ba412ba48d99 100644
--- a/CMake/DolphinPostprocessBundle.cmake
+++ b/CMake/DolphinPostprocessBundle.cmake
@@ -21,7 +21,7 @@ if(CMAKE_GENERATOR)
return()
endif()
-get_filename_component(DOLPHIN_BUNDLE_PATH "${DOLPHIN_BUNDLE_PATH}" REALPATH)
+get_filename_component(DOLPHIN_BUNDLE_PATH "${DOLPHIN_BUNDLE_PATH}" ABSOLUTE)
message(STATUS "Fixing up application bundle: ${DOLPHIN_BUNDLE_PATH}")
# Make sure to fix up any additional shared libraries (like plugins) that are
diff --git a/CMake/FindBlueZ.cmake b/CMake/FindBlueZ.cmake
index b82e7bdb0fd7..3b80a703ae78 100644
--- a/CMake/FindBlueZ.cmake
+++ b/CMake/FindBlueZ.cmake
@@ -6,7 +6,7 @@
#
# vim: expandtab sw=4 ts=4 sts=4:
-include(FindPkgConfig)
+find_package(PkgConfig QUIET)
pkg_check_modules (BlueZ_PKG QUIET bluez)
find_path(BlueZ_INCLUDE_DIR NAMES bluetooth/bluetooth.h
diff --git a/CMake/FindCubeb.cmake b/CMake/FindCUBEB.cmake
similarity index 100%
rename from CMake/FindCubeb.cmake
rename to CMake/FindCUBEB.cmake
diff --git a/CMake/FindLibevdev.cmake b/CMake/FindLIBEVDEV.cmake
similarity index 94%
rename from CMake/FindLibevdev.cmake
rename to CMake/FindLIBEVDEV.cmake
index e89a5f229d6b..f01e41a562de 100644
--- a/CMake/FindLibevdev.cmake
+++ b/CMake/FindLIBEVDEV.cmake
@@ -27,7 +27,7 @@ set(LIBEVDEV_LIBRARIES ${LIBEVDEV_LIBRARY} )
set(LIBEVDEV_INCLUDE_DIRS ${LIBEVDEV_INCLUDE_DIR} )
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(libevdev DEFAULT_MSG
+find_package_handle_standard_args(LIBEVDEV DEFAULT_MSG
LIBEVDEV_LIBRARY LIBEVDEV_INCLUDE_DIR)
mark_as_advanced(LIBEVDEV_INCLUDE_DIR LIBEVDEV_LIBRARY )
diff --git a/CMake/FindLibudev.cmake b/CMake/FindLIBUDEV.cmake
similarity index 100%
rename from CMake/FindLibudev.cmake
rename to CMake/FindLIBUDEV.cmake
diff --git a/CMake/FindMbedTLS.cmake b/CMake/FindMBEDTLS.cmake
similarity index 100%
rename from CMake/FindMbedTLS.cmake
rename to CMake/FindMBEDTLS.cmake
diff --git a/CMake/FindMiniupnpc.cmake b/CMake/FindMINIUPNPC.cmake
similarity index 100%
rename from CMake/FindMiniupnpc.cmake
rename to CMake/FindMINIUPNPC.cmake
diff --git a/CMake/FindPulseAudio.cmake b/CMake/FindPulseAudio.cmake
index 6046898cc425..bebbed3e11df 100644
--- a/CMake/FindPulseAudio.cmake
+++ b/CMake/FindPulseAudio.cmake
@@ -6,7 +6,7 @@
#
# vim: expandtab sw=4 ts=4 sts=4:
-include(FindPkgConfig)
+find_package(PkgConfig QUIET)
pkg_check_modules (PulseAudio_PKG QUIET libpulse)
find_path(PulseAudio_INCLUDE_DIR NAMES pulse/pulseaudio.h
diff --git a/CMake/FindLibsystemd.cmake b/CMake/FindSYSTEMD.cmake
similarity index 95%
rename from CMake/FindLibsystemd.cmake
rename to CMake/FindSYSTEMD.cmake
index f75558a44430..d3a706ad1988 100644
--- a/CMake/FindLibsystemd.cmake
+++ b/CMake/FindSYSTEMD.cmake
@@ -1,5 +1,6 @@
-include(FindPkgConfig)
+find_package(PkgConfig QUIET)
pkg_check_modules(PC_SYSTEMD QUIET "libsystemd")
+
if (PC_SYSTEMD_FOUND)
add_definitions(${PC_SYSTEMD_CFLAGS} ${PC_SYSTEMD_CFLAGS_OTHER})
endif(PC_SYSTEMD_FOUND)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index beb1a1341326..2ef466ff5055 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,11 +1,14 @@
########################################
# General setup
#
-cmake_minimum_required(VERSION 3.5.0)
+cmake_minimum_required(VERSION 3.10)
set(CMAKE_OSX_ARCHITECTURES "x86_64")
# Minimum OS X version.
# This is inserted into the Info.plist as well.
-set(CMAKE_OSX_DEPLOYMENT_TARGET "10.10.0" CACHE STRING "")
+
+# MacOS prior to 10.12 did not fully support C++17, which is used to
+# handle configuration options
+set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12.0" CACHE STRING "")
project(dolphin-emu)
@@ -32,6 +35,7 @@ option(ENABLE_ALSA "Enables ALSA sound backend" ON)
option(ENABLE_PULSEAUDIO "Enables PulseAudio sound backend" ON)
option(ENABLE_LLVM "Enables LLVM support, for disassembly" ON)
option(ENABLE_TESTS "Enables building the unit tests" ON)
+option(ENABLE_VULKAN "Enables vulkan video backend" ON)
option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence, show the current game on Discord" ON)
option(USE_STATIC_LIBPNG "Do not use the system's PNG library" OFF )
option(USE_STATIC_LIBZLIB "Do not use the system's ZLIB library" OFF )
@@ -56,8 +60,8 @@ option(OPROFILING "Enable profiling" OFF)
# TODO: Add DSPSpy
option(DSPTOOL "Build dsptool" OFF)
-# Enable SDL for default on operating systems that aren't OSX, Android, Linux or Windows.
-if(NOT APPLE AND NOT ANDROID AND NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT MSVC)
+# Enable SDL for default on operating systems that aren't Android, Linux or Windows.
+if(NOT ANDROID AND NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT MSVC)
option(ENABLE_SDL "Enables SDL as a generic controller backend" ON)
else()
option(ENABLE_SDL "Enables SDL as a generic controller backend" OFF)
@@ -89,6 +93,7 @@ list(APPEND CMAKE_MODULE_PATH
# Support functions
include(CheckAndAddFlag)
include(CheckCCompilerFlag)
+include(CheckVendoringApproved)
include(DolphinCompileDefinitions)
# Enable folders for IDE
@@ -111,6 +116,19 @@ endif()
# as defined above.
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Binaries)
+if (WIN32)
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Binary)
+
+ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ string(APPEND CMAKE_RUNTIME_OUTPUT_DIRECTORY /ARM64)
+ endif()
+
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+endif()
+
# setup CCache
include(CCache)
@@ -193,9 +211,7 @@ elseif(_ARCH_64 AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64")
add_definitions(-D_M_X86_64=1)
check_and_add_flag(HAVE_SSE2 -msse2)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
- set(_M_ARM 1)
set(_M_ARM_64 1)
- add_definitions(-D_M_ARM=1)
add_definitions(-D_M_ARM_64=1)
# CRC instruction set is used in the CRC32 hash function
check_and_add_flag(HAVE_ARCH_ARMV8 -march=armv8-a+crc)
@@ -207,8 +223,8 @@ endif()
# Enforce minimum GCC version
-if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0)
- message(FATAL_ERROR "Dolphin requires at least GCC 6.0 (found ${CMAKE_CXX_COMPILER_VERSION})")
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
+ message(FATAL_ERROR "Dolphin requires at least GCC 7.0 (found ${CMAKE_CXX_COMPILER_VERSION})")
endif()
if(CMAKE_GENERATOR MATCHES "Ninja")
@@ -230,27 +246,19 @@ if(CMAKE_C_COMPILER_ID MATCHES "MSVC")
add_compile_options(/Zc:throwingNew)
# Enforce strict volatile semantics as per ISO C++
add_compile_options(/volatile:iso)
+ # Fix non-conformant lambda behavior (constexpr variables shouldn't need capturing)
+ add_compile_options(/experimental:newLambdaProcessor)
+ # Fix various other non-conformant behaviors
+ add_compile_options(/Zc:externConstexpr,lambda,preprocessor)
+
+ # Temporarily disable warnings to enable /Zc:preprocessor compatibility with WinSDK headers.
+ add_compile_options(
+ /wd5105 # macro expansion producing 'defined' has undefined behavior
+ )
string(APPEND CMAKE_EXE_LINKER_FLAGS " /NXCOMPAT")
else()
add_definitions(-D_DEFAULT_SOURCE)
- check_and_add_flag(HAVE_WALL -Wall)
- # TODO: would like these but they produce overwhelming amounts of warnings
- #check_and_add_flag(EXTRA -Wextra)
- #check_and_add_flag(MISSING_FIELD_INITIALIZERS -Wmissing-field-initializers)
- #check_and_add_flag(SWITCH_DEFAULT -Wswitch-default)
- #check_and_add_flag(FLOAT_EQUAL -Wfloat-equal)
- #check_and_add_flag(CONVERSION -Wconversion)
- #check_and_add_flag(ZERO_AS_NULL_POINTER_CONSTANT -Wzero-as-null-pointer-constant)
- check_and_add_flag(TYPE_LIMITS -Wtype-limits)
- check_and_add_flag(SIGN_COMPARE -Wsign-compare)
- check_and_add_flag(IGNORED_QUALIFIERS -Wignored-qualifiers)
- check_and_add_flag(UNINITIALIZED -Wuninitialized)
- check_and_add_flag(LOGICAL_OP -Wlogical-op)
- check_and_add_flag(SHADOW -Wshadow)
- check_and_add_flag(INIT_SELF -Winit-self)
- check_and_add_flag(MISSING_DECLARATIONS -Wmissing-declarations)
- check_and_add_flag(MISSING_VARIABLE_DECLARATIONS -Wmissing-variable-declarations)
# gcc uses some optimizations which might break stuff without this flag
check_and_add_flag(NO_STRICT_ALIASING -fno-strict-aliasing)
@@ -295,6 +303,14 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
# Drop unreachable code and data.
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-dead_strip,-dead_strip_dylibs")
+ # Set -fno-objc-exceptions, for consistency with -fno-exceptions earlier.
+ # If we set only -fno-exceptions, fmt fails to compile when included from
+ # Objective-C++ because fmt tries try to use throw because __EXCEPTIONS is defined.
+ #
+ # TODO: Only enable this for Objective-C(++).
+ # We get warnings if we enable this when building regular C(++) code.
+ check_and_add_flag(NO_OBJC_EXCEPTIONS -fno-objc-exceptions)
+
find_library(APPKIT_LIBRARY AppKit)
find_library(APPSERV_LIBRARY ApplicationServices)
find_library(CARBON_LIBRARY Carbon)
@@ -414,7 +430,8 @@ endif()
include(CheckLib)
include(CheckCXXSourceRuns)
-set(OpenGL_GL_PREFERENCE GLVND)
+set(OpenGL_GL_PREFERENCE GLVND CACHE STRING "Linux-only: if GLVND, use the vendor-neutral GL libraries (default). If LEGACY, use the legacy ones (might be necessary to have optirun/primusrun work)")
+set_property(CACHE OpenGL_GL_PREFERENCE PROPERTY STRINGS GLVND LEGACY)
find_package(OpenGL)
if (OPENGL_GL)
include_directories(${OPENGL_INCLUDE_DIR})
@@ -448,7 +465,7 @@ if(ENABLE_EGL)
endif()
if(ENCODE_FRAMEDUMPS)
- if(WIN32)
+ if(WIN32 AND _M_X86_64)
set(FFMPEG_DIR Externals/ffmpeg)
endif()
find_package(FFmpeg COMPONENTS avcodec avformat avutil swscale)
@@ -471,8 +488,8 @@ if(OPROFILING)
endif()
if(ENABLE_EVDEV)
- find_package(Libudev REQUIRED)
- find_package(Libevdev REQUIRED)
+ find_package(LIBUDEV REQUIRED)
+ find_package(LIBEVDEV REQUIRED)
if(LIBUDEV_FOUND AND LIBEVDEV_FOUND)
message(STATUS "libevdev/libudev found, enabling evdev controller backend")
add_definitions(-DHAVE_LIBUDEV=1)
@@ -521,11 +538,30 @@ if (_M_X86)
add_subdirectory(Externals/Bochs_disasm)
endif()
add_subdirectory(Externals/cpp-optparse)
-add_subdirectory(Externals/glslang)
+
+find_package(fmt 7.1)
+if(fmt_FOUND)
+ message(STATUS "Using shared fmt ${fmt_VERSION}")
+else()
+ check_vendoring_approved(fmt)
+ message(STATUS "Using static fmt from Externals")
+ add_subdirectory(Externals/fmt EXCLUDE_FROM_ALL)
+endif()
add_subdirectory(Externals/imgui)
+add_subdirectory(Externals/glslang)
+
+if(ENABLE_VULKAN)
+ add_definitions(-DHAS_VULKAN)
+endif()
+
+if(NOT WIN32 OR (NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")))
+ # OpenGL is available on all platforms except windows-arm64
+ add_definitions(-DHAS_OPENGL)
+endif()
find_package(pugixml)
if(NOT pugixml_FOUND)
+ check_vendoring_approved(pugixml)
message(STATUS "Using static pugixml from Externals")
add_subdirectory(Externals/pugixml)
endif()
@@ -552,6 +588,7 @@ endif()
if (ENET_FOUND)
message(STATUS "Using shared enet")
else()
+ check_vendoring_approved(enet)
message(STATUS "Using static enet from Externals")
include_directories(Externals/enet/include)
add_subdirectory(Externals/enet)
@@ -562,7 +599,44 @@ if(NOT XXHASH_FOUND)
add_subdirectory(Externals/xxhash)
endif()
-if (USE_STATIC_LIBPNG)
+find_package(BZip2)
+if(BZIP2_FOUND)
+ message(STATUS "Using shared bzip2")
+else()
+ check_vendoring_approved(bzip2)
+ message(STATUS "Shared bzip2 not found, falling back to the static library")
+ add_subdirectory(Externals/bzip2)
+endif()
+
+# macOS ships with liblzma.dylib but no headers, so check for the headers too
+find_package(LibLZMA)
+check_include_file(lzma.h HAVE_LZMA_H)
+if(LIBLZMA_FOUND AND HAVE_LZMA_H)
+ message(STATUS "Using shared lzma")
+else()
+ check_vendoring_approved(lzma)
+ if(LIBLZMA_FOUND AND NOT HAVE_LZMA_H)
+ message(STATUS "Shared lzma found but lacks headers, falling back to the static library")
+ else()
+ message(STATUS "Shared lzma not found, falling back to the static library")
+ endif()
+ add_subdirectory(Externals/liblzma)
+endif()
+
+pkg_check_modules(ZSTD QUIET libzstd>=1.4.0)
+if(ZSTD_FOUND)
+ message(STATUS "Using shared zstd version: " ${ZSTD_VERSION})
+else()
+ check_vendoring_approved(zstd)
+ message(STATUS "Shared zstd not found, falling back to the static library")
+ add_subdirectory(Externals/zstd)
+endif()
+
+find_package(ZLIB)
+if(ZLIB_FOUND)
+ message(STATUS "Using shared zlib")
+else()
+ check_vendoring_approved(zlib)
message(STATUS "Shared zlib not found, falling back to the static library")
add_subdirectory(Externals/zlib)
else()
@@ -575,8 +649,16 @@ else()
endif()
endif()
-add_subdirectory(Externals/minizip)
-include_directories(External/minizip)
+pkg_check_modules(MINIZIP minizip>=2.0.0)
+if(MINIZIP_FOUND)
+ message(STATUS "Using shared minizip")
+ include_directories(${MINIZIP_INCLUDE_DIRS})
+else()
+ check_vendoring_approved(minizip)
+ message(STATUS "Shared minizip not found, falling back to the static library")
+ add_subdirectory(Externals/minizip)
+ include_directories(External/minizip)
+endif()
if(NOT APPLE)
check_lib(LZO "(no .pc for lzo2)" lzo2 lzo/lzo1x.h QUIET)
@@ -584,12 +666,19 @@ endif()
if(LZO_FOUND)
message(STATUS "Using shared lzo")
else()
+ check_vendoring_approved(lzo)
message(STATUS "Using static lzo from Externals")
add_subdirectory(Externals/LZO)
set(LZO lzo2)
endif()
-if (USE_STATIC_LIBPNG)
+if(NOT APPLE)
+ check_lib(PNG libpng png png.h QUIET)
+endif()
+if (PNG_FOUND)
+ message(STATUS "Using shared libpng")
+else()
+ check_vendoring_approved(libpng)
message(STATUS "Using static libpng from Externals")
add_subdirectory(Externals/libpng)
set(PNG png)
@@ -611,20 +700,22 @@ endif()
message(STATUS "Using static FreeSurround from Externals")
add_subdirectory(Externals/FreeSurround)
-if (APPLE)
+if (APPLE OR WIN32)
message(STATUS "Using ed25519 from Externals")
add_subdirectory(Externals/ed25519)
+ include_directories(Externals/ed25519)
endif()
# Using static soundtouch from Externals
# Unable to use system soundtouch library: We require shorts, not floats.
add_subdirectory(Externals/soundtouch)
-include_directories(Externals)
+include_directories(Externals/soundtouch)
-find_package(Cubeb)
+find_package(CUBEB)
if(CUBEB_FOUND)
message(STATUS "Using the system cubeb")
else()
+ check_vendoring_approved(cubeb)
message(STATUS "Using static cubeb from Externals")
add_subdirectory(Externals/cubeb EXCLUDE_FROM_ALL)
endif()
@@ -638,6 +729,7 @@ if(NOT ANDROID)
message(STATUS "Using shared LibUSB")
include_directories(${LIBUSB_INCLUDE_DIR})
else()
+ check_vendoring_approved(libusb)
message(STATUS "Using static LibUSB from Externals")
add_subdirectory(Externals/libusb)
set(LIBUSB_LIBRARIES usb)
@@ -652,6 +744,7 @@ endif()
if(SFML_FOUND)
message(STATUS "Using shared SFML")
else()
+ check_vendoring_approved(sfml)
message(STATUS "Using static SFML ${SFML_REQD_VERSION} from Externals")
add_definitions(-DSFML_STATIC)
add_subdirectory(Externals/SFML)
@@ -660,11 +753,12 @@ endif()
if(USE_UPNP)
if(NOT APPLE)
- find_package(Miniupnpc)
+ find_package(MINIUPNPC)
endif()
if(MINIUPNPC_FOUND AND MINIUPNPC_API_VERSION GREATER 8)
message(STATUS "Using shared miniupnpc")
else()
+ check_vendoring_approved(miniupnpc)
message(STATUS "Using static miniupnpc from Externals")
add_subdirectory(Externals/miniupnpc)
endif()
@@ -672,12 +766,13 @@ if(USE_UPNP)
endif()
if(NOT APPLE)
- find_package(MbedTLS)
+ find_package(MBEDTLS)
endif()
if(MBEDTLS_FOUND)
message(STATUS "Using shared mbed TLS")
include_directories(${MBEDTLS_INCLUDE_DIRS})
else()
+ check_vendoring_approved(mbedtls)
message(STATUS "Using static mbed TLS from Externals")
set(MBEDTLS_LIBRARIES mbedtls mbedcrypto mbedx509)
add_subdirectory(Externals/mbedtls/ EXCLUDE_FROM_ALL)
@@ -689,6 +784,7 @@ if(CURL_FOUND)
message(STATUS "Using shared libcurl")
include_directories(${CURL_INCLUDE_DIRS})
else()
+ check_vendoring_approved(curl)
message(STATUS "Using static libcurl from Externals")
add_subdirectory(Externals/curl)
set(CURL_LIBRARIES curl)
@@ -703,6 +799,7 @@ endif()
if (NOT ANDROID AND ICONV_LIBRARIES AND ICONV_INCLUDE_DIR)
mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIBRARIES)
else()
+ check_vendoring_approved(iconv)
message(STATUS "Using static iconv from Externals")
include_directories(Externals/libiconv-1.14/include)
add_subdirectory(Externals/libiconv-1.14)
@@ -712,6 +809,7 @@ endif()
if(NOT ANDROID)
find_package(HIDAPI)
if(NOT HIDAPI_FOUND)
+ check_vendoring_approved(hidapi)
message(STATUS "Using static HIDAPI from Externals")
add_subdirectory(Externals/hidapi EXCLUDE_FROM_ALL)
endif()
@@ -720,9 +818,10 @@ endif()
if(USE_DISCORD_PRESENCE)
message(STATUS "Using static DiscordRPC from Externals")
add_subdirectory(Externals/discord-rpc)
+ include_directories(Externals/discord-rpc/include)
endif()
-find_package(Libsystemd)
+find_package(SYSTEMD)
if(SYSTEMD_FOUND)
message(STATUS "libsystemd found, enabling traversal server watchdog support")
add_definitions(-DHAVE_LIBSYSTEMD)
@@ -730,6 +829,14 @@ else()
message(STATUS "libsystemd not found, disabling traversal server watchdog support")
endif()
+if (WIN32)
+ include_directories(Externals/OpenAL/include)
+endif()
+
+include_directories(Externals/picojson)
+
+add_subdirectory(Externals/rangeset)
+
########################################
# Pre-build events: Define configuration variables and write SCM info header
#
diff --git a/CMakeSettings.json b/CMakeSettings.json
index e6f3349a3a8e..c571312285aa 100644
--- a/CMakeSettings.json
+++ b/CMakeSettings.json
@@ -1,20 +1,80 @@
{
"configurations": [
{
- "name": "x64-Debug",
- "generator": "Visual Studio 15 2017 Win64",
+ "name": "Release",
+ "configurationType": "Release",
+ "generator": "Ninja",
+ "inheritEnvironments": [ "msvc_x64_x64" ],
+ "buildCommandArgs": "",
+ "buildRoot": "${workspaceRoot}\\Build\\${name}",
+ "cmakeCommandArgs": "",
+ "variables": [
+ {
+ "name": "Qt5_DIR",
+ "value": "${workspaceRoot}\\Externals\\Qt\\Qt5.15.0\\msvc2019_64\\lib\\cmake\\Qt5"
+ }
+ ]
+ },
+ {
+ "name": "Debug",
"configurationType": "Debug",
- "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
+ "generator": "Ninja",
+ "inheritEnvironments": [ "msvc_x64_x64" ],
+ "buildCommandArgs": "",
+ "buildRoot": "${workspaceRoot}\\Build\\${name}",
"cmakeCommandArgs": "",
- "buildCommandArgs": "-m -p:PreferredToolArchitecture=x64"
+ "variables": [
+ {
+ "name": "Qt5_DIR",
+ "value": "${workspaceRoot}\\Externals\\Qt\\Qt5.15.0\\msvc2019_64\\lib\\cmake\\Qt5"
+ }
+ ]
},
{
- "name": "x64-Release",
- "generator": "Visual Studio 15 2017 Win64",
+ "name": "Release (arm64)",
"configurationType": "Release",
- "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
+ "generator": "Ninja",
+ "inheritEnvironments": [ "msvc_arm64_x64" ],
+ "buildCommandArgs": "",
+ "buildRoot": "${workspaceRoot}\\Build\\${name}",
+ "cmakeCommandArgs": "",
+ "variables": [
+ {
+ "name": "Qt5_DIR",
+ "value": "${workspaceRoot}\\Externals\\Qt\\Qt5.15.0\\msvc2019_arm64\\lib\\cmake\\Qt5"
+ },
+ {
+ "name": "CMAKE_SYSTEM_NAME",
+ "value": "Windows"
+ },
+ {
+ "name": "CMAKE_SYSTEM_PROCESSOR",
+ "value": "aarch64"
+ }
+ ]
+ },
+ {
+ "name": "Debug (arm64)",
+ "configurationType": "Debug",
+ "generator": "Ninja",
+ "inheritEnvironments": [ "msvc_arm64_x64" ],
+ "buildCommandArgs": "",
+ "buildRoot": "${workspaceRoot}\\Build\\${name}",
"cmakeCommandArgs": "",
- "buildCommandArgs": "-m -p:PreferredToolArchitecture=x64"
+ "variables": [
+ {
+ "name": "Qt5_DIR",
+ "value": "${workspaceRoot}\\Externals\\Qt\\Qt5.15.0\\msvc2019_arm64\\lib\\cmake\\Qt5"
+ },
+ {
+ "name": "CMAKE_SYSTEM_NAME",
+ "value": "Windows"
+ },
+ {
+ "name": "CMAKE_SYSTEM_PROCESSOR",
+ "value": "aarch64"
+ }
+ ]
}
]
-}
+}
\ No newline at end of file
diff --git a/Contributing.md b/Contributing.md
index b7c048cc0720..2bcfeafcfd6e 100644
--- a/Contributing.md
+++ b/Contributing.md
@@ -171,7 +171,7 @@ Summary:
- [Classes and Structs](#cpp-code-classes-and-structs)
## General
-- The codebase currently uses C++14.
+- The codebase currently uses C++17.
- Use the [nullptr](http://en.cppreference.com/w/cpp/language/nullptr) type over the macro `NULL`.
- If a [range-based for loop](http://en.cppreference.com/w/cpp/language/range-for) can be used instead of container iterators, use it.
- Obviously, try not to use `goto` unless you have a *really* good reason for it.
diff --git a/Data/Sys/GameSettings/D85.ini b/Data/Sys/GameSettings/D85.ini
new file mode 100644
index 000000000000..3064b4c826f8
--- /dev/null
+++ b/Data/Sys/GameSettings/D85.ini
@@ -0,0 +1,15 @@
+# D85E01 - Interactive Multi Game Demo Disc v12
+
+[Core]
+# Values set here will override the main Dolphin settings.
+FPRF = True
+MMU = True
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/D86.ini b/Data/Sys/GameSettings/D86.ini
new file mode 100644
index 000000000000..0768da96977d
--- /dev/null
+++ b/Data/Sys/GameSettings/D86.ini
@@ -0,0 +1,15 @@
+# D86P01 - Interactive Multi Game Demo Disc v12
+
+[Core]
+# Values set here will override the main Dolphin settings.
+FPRF = True
+MMU = True
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/D93U01.ini b/Data/Sys/GameSettings/D93U01.ini
new file mode 100644
index 000000000000..8b37570f2f35
--- /dev/null
+++ b/Data/Sys/GameSettings/D93U01.ini
@@ -0,0 +1,4 @@
+# D93U01 - Interactive Multi-Game Demo Disk: November 2003
+
+[Core]
+FPRF = True
diff --git a/Data/Sys/GameSettings/D95.ini b/Data/Sys/GameSettings/D95.ini
new file mode 100644
index 000000000000..cf21815deccb
--- /dev/null
+++ b/Data/Sys/GameSettings/D95.ini
@@ -0,0 +1,14 @@
+# D95P01 - Interactive Multi Game Demo Disc v5
+
+[Core]
+# Values set here will override the main Dolphin settings.
+FPRF = True
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/DAX.ini b/Data/Sys/GameSettings/DAX.ini
new file mode 100644
index 000000000000..f02ea1326fb0
--- /dev/null
+++ b/Data/Sys/GameSettings/DAX.ini
@@ -0,0 +1,20 @@
+# DAXP01, DAXE01 - The Legend of Zelda Skyward Sword
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+EFBAccessEnable = True
+EFBEmulateFormatChanges = True
+
+[Video_Enhancements]
+ArbitraryMipmapDetection = True
diff --git a/Data/Sys/GameSettings/DPOJ8P.ini b/Data/Sys/GameSettings/DPOJ8P.ini
new file mode 100644
index 000000000000..741d746830fe
--- /dev/null
+++ b/Data/Sys/GameSettings/DPOJ8P.ini
@@ -0,0 +1,18 @@
+# DPOJ8P - PHANTASY STAR ONLINE EPISODE I&II TRIAL EDITION
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+$Bypass Modem Detection
+04194f40 4182002c
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 512
diff --git a/Data/Sys/GameSettings/DPSJ8P.ini b/Data/Sys/GameSettings/DPSJ8P.ini
new file mode 100644
index 000000000000..7f5a9a2904ea
--- /dev/null
+++ b/Data/Sys/GameSettings/DPSJ8P.ini
@@ -0,0 +1,16 @@
+# DPSJ8P - PHANTASY STAR ONLINE EPISODE III TRIAL EDITION
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 512
diff --git a/Data/Sys/GameSettings/E62.ini b/Data/Sys/GameSettings/E62.ini
index cea18c4167cc..91ee7c39acdc 100644
--- a/Data/Sys/GameSettings/E62.ini
+++ b/Data/Sys/GameSettings/E62.ini
@@ -2,6 +2,7 @@
[Core]
# Values set here will override the main Dolphin settings.
+CPUThread = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
diff --git a/Data/Sys/GameSettings/G2RE52.ini b/Data/Sys/GameSettings/G2RE52.ini
index 38835df8f572..81535286aef1 100644
--- a/Data/Sys/GameSettings/G2RE52.ini
+++ b/Data/Sys/GameSettings/G2RE52.ini
@@ -11,8 +11,6 @@ $Unlock Everything [EIREXE]
0447B200 00000001
$Debug Camera [EIREXE]
0447B20C 00000001
-$Fixes (DO NOT DISABLE) [EIREXE]
-041C7F3C 38600005
# Stage Codes
$Replace Dragon's Gate with Danger Room [kirby]
C2051208 00000003
@@ -43,6 +41,7 @@ $Replace Dragon's Gate with FX Room [kirby]
C2051208 00000003
2C240006 40820008
38800017 7C9E2378
+60000000 00000000
$Replace Dragon's Gate with HavokPlayground [kirby]
C2051208 00000003
2C240006 40820008
diff --git a/Data/Sys/GameSettings/G3YP52.ini b/Data/Sys/GameSettings/G3YP52.ini
new file mode 100644
index 000000000000..e1a8495a58a3
--- /dev/null
+++ b/Data/Sys/GameSettings/G3YP52.ini
@@ -0,0 +1,7 @@
+# G3YP52 - Shrek SuperSlam (PAL)
+
+[Gecko]
+$Force PAL60 [EIREXE]
+041C7F3C 38600005
+$16:9 Widescreen [Kolano]
+04389A34 3FE38E39
diff --git a/Data/Sys/GameSettings/G4P.ini b/Data/Sys/GameSettings/G4P.ini
new file mode 100644
index 000000000000..0fca83219ef9
--- /dev/null
+++ b/Data/Sys/GameSettings/G4P.ini
@@ -0,0 +1,19 @@
+# G4PJ13 - The Sims
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/G4Z.ini b/Data/Sys/GameSettings/G4Z.ini
new file mode 100644
index 000000000000..7d78db6fcc04
--- /dev/null
+++ b/Data/Sys/GameSettings/G4Z.ini
@@ -0,0 +1,14 @@
+# G4ZP69, G4ZE69 - The Sims 2
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/G8M.ini b/Data/Sys/GameSettings/G8M.ini
index e65db8fca6d5..573289781b2b 100644
--- a/Data/Sys/GameSettings/G8M.ini
+++ b/Data/Sys/GameSettings/G8M.ini
@@ -16,6 +16,7 @@
EFBToTextureEnable = False
BBoxEnable = True
ImmediateXFBEnable = False
+DeferEFBCopies = False
[Video_Stereoscopy]
StereoConvergence = 545
diff --git a/Data/Sys/GameSettings/G95.ini b/Data/Sys/GameSettings/G95.ini
new file mode 100644
index 000000000000..b4dee1baf5b5
--- /dev/null
+++ b/Data/Sys/GameSettings/G95.ini
@@ -0,0 +1,14 @@
+# D95P01, G95E01 - Interactive Multi Game Demo Disc v5
+
+[Core]
+# Values set here will override the main Dolphin settings.
+FPRF = True
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/G96.ini b/Data/Sys/GameSettings/G96.ini
new file mode 100644
index 000000000000..3219a3161ecc
--- /dev/null
+++ b/Data/Sys/GameSettings/G96.ini
@@ -0,0 +1,14 @@
+# G96P01, G96E01 - Interactive Multi Game Demo Disc v4
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/G99.ini b/Data/Sys/GameSettings/G99.ini
new file mode 100644
index 000000000000..05df9c171599
--- /dev/null
+++ b/Data/Sys/GameSettings/G99.ini
@@ -0,0 +1,14 @@
+# G99E01, G99P01 - Interactive Multi Game Demo Disc v1
+
+[Core]
+# Values set here will override the main Dolphin settings.
+MMU = True
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/GC6E01.ini b/Data/Sys/GameSettings/GC6E01.ini
new file mode 100644
index 000000000000..7fa89bcfadf5
--- /dev/null
+++ b/Data/Sys/GameSettings/GC6E01.ini
@@ -0,0 +1,27 @@
+# GC6E01 - Pokémon Colosseum
+
+[OnFrame]
+# This game has extra memory card checks compared to most games,
+# presumably to prevent Pokémon duping. These can interfere with
+# saving your game when using savestates.
+#
+# 0x801cfc2c:
+# Originally a branch that checks if the save counter in memory
+# matches the one on the memory card. We patch this to instead
+# overwrite the counter in memory with the one from the memory
+# card. We need to do this because each memory card file actually
+# contains three save slots the game rotates when saving, and
+# when loading it loads the save with the biggest save counter.
+# So we need to make sure the newly written save (which uses
+# the value from memory + 1) is higher than any save currently
+# on the card.
+#
+# 0x801cfc7c:
+# Another branch. Not entirely sure what this one checks, but
+# not patching this one sometimes still makes it recognize the
+# memory card as 'not the same Memory Card as the one used to
+# load the saved data', so nop it out.
+#
+$Allow Memory Card saving with Savestates
+0x801cfc2c:dword:0x9005002c
+0x801cfc7c:dword:0x60000000
diff --git a/Data/Sys/GameSettings/GC6J01.ini b/Data/Sys/GameSettings/GC6J01.ini
new file mode 100644
index 000000000000..5368a547a0cc
--- /dev/null
+++ b/Data/Sys/GameSettings/GC6J01.ini
@@ -0,0 +1,27 @@
+# GC6J01 - ポケモンコロシアム
+
+[OnFrame]
+# This game has extra memory card checks compared to most games,
+# presumably to prevent Pokémon duping. These can interfere with
+# saving your game when using savestates.
+#
+# 0x801cb5b8:
+# Originally a branch that checks if the save counter in memory
+# matches the one on the memory card. We patch this to instead
+# overwrite the counter in memory with the one from the memory
+# card. We need to do this because each memory card file actually
+# contains three save slots the game rotates when saving, and
+# when loading it loads the save with the biggest save counter.
+# So we need to make sure the newly written save (which uses
+# the value from memory + 1) is higher than any save currently
+# on the card.
+#
+# 0x801cb608:
+# Another branch. Not entirely sure what this one checks, but
+# not patching this one sometimes still makes it recognize the
+# memory card as 'not the same Memory Card as the one used to
+# load the saved data', so nop it out.
+#
+$Allow Memory Card saving with Savestates
+0x801cb5b8:dword:0x9005002c
+0x801cb608:dword:0x60000000
diff --git a/Data/Sys/GameSettings/GC6P01.ini b/Data/Sys/GameSettings/GC6P01.ini
new file mode 100644
index 000000000000..cfc8c6cbe046
--- /dev/null
+++ b/Data/Sys/GameSettings/GC6P01.ini
@@ -0,0 +1,27 @@
+# GC6P01 - Pokémon Colosseum
+
+[OnFrame]
+# This game has extra memory card checks compared to most games,
+# presumably to prevent Pokémon duping. These can interfere with
+# saving your game when using savestates.
+#
+# 0x801d429c:
+# Originally a branch that checks if the save counter in memory
+# matches the one on the memory card. We patch this to instead
+# overwrite the counter in memory with the one from the memory
+# card. We need to do this because each memory card file actually
+# contains three save slots the game rotates when saving, and
+# when loading it loads the save with the biggest save counter.
+# So we need to make sure the newly written save (which uses
+# the value from memory + 1) is higher than any save currently
+# on the card.
+#
+# 0x801d42ec:
+# Another branch. Not entirely sure what this one checks, but
+# not patching this one sometimes still makes it recognize the
+# memory card as 'not the same Memory Card as the one used to
+# load the saved data', so nop it out.
+#
+$Allow Memory Card saving with Savestates
+0x801d429c:dword:0x9005002c
+0x801d42ec:dword:0x60000000
diff --git a/Data/Sys/GameSettings/GCDP08.ini b/Data/Sys/GameSettings/GCDP08.ini
new file mode 100644
index 000000000000..6aa46f36714e
--- /dev/null
+++ b/Data/Sys/GameSettings/GCDP08.ini
@@ -0,0 +1,5 @@
+# GCDP08 - Resident Evil Code: Veronica X (PAL)
+
+[Video_Hacks]
+# Needed for language selection menu to appear
+EFBAccessEnable = True
diff --git a/Data/Sys/GameSettings/GCI.ini b/Data/Sys/GameSettings/GCI.ini
index 0637292debee..75f637762081 100644
--- a/Data/Sys/GameSettings/GCI.ini
+++ b/Data/Sys/GameSettings/GCI.ini
@@ -1,7 +1,19 @@
# GCIE69, GCIP69 - The Sims
+
[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
[OnFrame]
+# Add memory patches to be applied every frame here.
+
[ActionReplay]
-[Gecko]
+# Add action replay cheats here.
+
[Video_Settings]
SafeTextureCacheColorSamples = 0
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/GFTE01.ini b/Data/Sys/GameSettings/GFTE01.ini
index d4e62fade2e9..3204b57a9988 100644
--- a/Data/Sys/GameSettings/GFTE01.ini
+++ b/Data/Sys/GameSettings/GFTE01.ini
@@ -8,10 +8,30 @@
[ActionReplay]
# Add action replay cheats here.
-$Unlock All Courses
+$Unlock All Normal Tours & Courses
0222A3CE 0000FFFF
$Unlock All Players
0222A3CC 0000FFFF
+$No Wind
+044E6854 00000000
+$Ball’s terrain always acts like fairway
+926CB422 00000000
+526CB422 00000002
+126CB422 0000000B
+026CB422 00000001
+00000000 40000000
+$Press Z before landing to go in hole
+04418834 4BBEA094
+040028C8 3D20804E
+040028CC 3D808027
+040028D0 A18CBB60
+040028D4 718C0010
+040028D8 41820014
+040028DC 3D808041
+040028E0 618C89B0
+040028E4 7D8903A6
+040028E8 4E800420
+040028EC 48415F4C
$Always 1st Stroke: Player 1
006CB4FC 00000001
$Always 1st Stroke: Player 2
diff --git a/Data/Sys/GameSettings/GGC.ini b/Data/Sys/GameSettings/GGC.ini
new file mode 100644
index 000000000000..e16a7468620e
--- /dev/null
+++ b/Data/Sys/GameSettings/GGC.ini
@@ -0,0 +1,14 @@
+# GGCP0A, GGCE0A - Goblin Commander: Unleash the Horde
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/GIS.ini b/Data/Sys/GameSettings/GIS.ini
index ea2f35557f18..db8c15bb82f5 100644
--- a/Data/Sys/GameSettings/GIS.ini
+++ b/Data/Sys/GameSettings/GIS.ini
@@ -2,6 +2,7 @@
[Core]
# Values set here will override the main Dolphin settings.
+CPUThread = False
MMU = 1
[OnLoad]
diff --git a/Data/Sys/GameSettings/GJD.ini b/Data/Sys/GameSettings/GJD.ini
new file mode 100644
index 000000000000..4312948d643a
--- /dev/null
+++ b/Data/Sys/GameSettings/GJD.ini
@@ -0,0 +1,4 @@
+# GJDX7D, GJDE5S, GJDY7D - Judge Dredd: Dredd vs. Death
+
+[Video_Hacks]
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/GK2.ini b/Data/Sys/GameSettings/GK2.ini
index 454851741d09..daab88ed54c5 100644
--- a/Data/Sys/GameSettings/GK2.ini
+++ b/Data/Sys/GameSettings/GK2.ini
@@ -2,10 +2,3 @@
[Core]
MMU = 1
-
-[OnFrame]
-
-[ActionReplay]
-
-[Video_Hacks]
-EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/GKB.ini b/Data/Sys/GameSettings/GKB.ini
index b162398e98f2..cdee21c87250 100644
--- a/Data/Sys/GameSettings/GKB.ini
+++ b/Data/Sys/GameSettings/GKB.ini
@@ -2,7 +2,6 @@
[Core]
# Values set here will override the main Dolphin settings.
-CPUThread = 0
[OnLoad]
# Add memory patches to be loaded once on boot here.
@@ -15,7 +14,5 @@ CPUThread = 0
[Video_Hacks]
ImmediateXFBEnable = False
-EFBAccessEnable = False
EFBToTextureEnable = False
-
-[Video_Settings]
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/GLR.ini b/Data/Sys/GameSettings/GLR.ini
index 3eca76673a3b..2d95bcd08148 100644
--- a/Data/Sys/GameSettings/GLR.ini
+++ b/Data/Sys/GameSettings/GLR.ini
@@ -20,3 +20,4 @@ MMU = 1
[Video_Hacks]
EFBToTextureEnable = False
ImmediateXFBEnable = False
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/GMPE01.ini b/Data/Sys/GameSettings/GMPE01.ini
index bb109dd7e4c4..66b139057476 100644
--- a/Data/Sys/GameSettings/GMPE01.ini
+++ b/Data/Sys/GameSettings/GMPE01.ini
@@ -102,3 +102,298 @@ $Press Z+R To Be On Turn 20
$Press Z+L To Be On Turn 1
0A1E67F0 00000050
0018FCFC 00000001
+
+[Gecko]
+$Netplay Community Settings
+c2086774 00000002
+70000020 2c000020
+60000000 00000000
+c2073c7c 00000002
+735a0020 281a0020
+60000000 00000000
+04066dd8 38c0000d
+04061d5c 60000000
+04061eb8 60000000
+04044808 38600000
+c203e9b4 00000002
+807f0050 906d0000
+38600000 00000000
+c2031b88 0000000c
+3860012c 3880000a
+38a0002d 38c00028
+38e000ff 90ed0004
+38ed0004 3d008000
+6108b150 7d0903a6
+4e800421 3860012c
+3880000a 3ca08013
+38a5db52 80cd0000
+38c60001 c02283c0
+3ce08000 60e7aff4
+7ce903a6 4e800421
+57a0083c 00000000
+040786a0 c02281f0
+0406e314 c02281f0
+040310BC 3880FFFF
+20441D98 2C000001
+04441D94 38000001
+044396FC 38000001
+E2000001 80008000
+20446064 4082002C
+04445FA4 38000001
+0444605C 38000001
+E2000001 80008000
+2044E6DC 40820028
+0444E578 38000001
+0444E6D4 38A00001
+E2000001 80008000
+2044D25C 5400E7FE
+0444D258 380000FF
+0444D198 380000FF
+E2000001 80008000
+2043EDF8 4082002C
+0443EDE8 38A000FF
+0443ED28 380000FF
+E2000001 80008000
+20449684 4082002C
+04449674 38A000FF
+044495B4 380000FF
+E2000001 80008000
+20432574 2c1c002d
+04432570 3b9c0002
+e2000001 80008000
+*WARNING: This set of cheats is meant for Netplay only. This can 100% your save so make sure you make backups.
+*This Cheat includes
+*Game Mechanics - Increased Board Speed
+*Game Mechanics - Increased Taunt Capabilities
+*Game Mechanics - Speed Up Many Animations
+*Miscellaneous - Instant Text Display
+*Miscellaneous - Show Controller Port Number of Who Paused in Mini-Games
+*as well as some cheats to 100% the game. We wont tell you which ones they are because that ruins the fun of playing.
+
+$Netplay Safe Kill Music
+041d3d1c 00000001
+*This cheat makes it so all in-game music will be turned off.
+*
+*This can safely be used in a Netplay game without desync.
+
+$Board - Boo's Haunted Bash: Red Boo Always On
+0018fd08 00000000
+*This cheat makes the Boo's Haunted Bash Red Boo Bridges Always Active.
+
+$Board - Bowser's Gnarly Party: Bridges Fall After One Cross
+2043801c 4182004c
+04438294 38000002
+e2000001 80008000
+*This cheat makes the Bowser's Gnarly Party Bridges fall after one crossing.
+
+$Board - Goomba's Greedy Gala: Free Roulette
+2043b934 2c1f0005
+0443b92c 386003e7
+0443bb08 38800000
+e2000001 80008000
+*This cheat makes it so you don't have to bribe Goomba to rig your casino roll.
+
+$Board - Koopa's Seaside Soiree: Banana Peel is a Normal Junction
+2043030c 48000088
+044326fc 4e800020
+e2000001 80008000
+*This cheat removes the random banana peel junctions with normal junctions
+
+$Board - Toad's Midway Madness: Teacups are Normal Junctions
+20435308 80010008
+044352f4 4e800020
+e2000001 80008000
+*This cheat removes the random teacup junctions with normal junctions.
+
+$Game Mechanics - Event Accessibility Doesn't Depend on Mini/Mega Status
+04075ff0 38600000
+040a50a4 38600000
+04077c50 38600000
+0407a868 38600000
+04083fe4 60000000
+04076148 60000000
+204302f8 2c030002
+044302fc 60000000
+04434aa4 60000000
+e2000001 80008000
+204302e0 2c030002
+044302e4 4800000c
+e2000001 80008000
+204303f0 2c030002
+044303f4 60000000
+0443049c 60000000
+e2000001 80008000
+204302a8 2c030002
+044302ac 4800000c
+e2000001 80008000
+20430338 2c030002
+0443033c 4800000c
+e2000001 80008000
+*This cheat makes it so you can access all board events.
+
+$Game Mechanics - Increased Board Speed
+04066dd8 38c0000d
+20432574 2c1c002d
+04432570 3b9c0002
+e2000001 80008000
+*This cheat makes the players move faster while playing a Mario Party board.
+
+$Game Mechanics - Increased Taunt Capabilities
+04061d5c 60000000
+04061eb8 60000000
+*This cheat makes it so you can taunt during your turn.
+
+$Game Mechanics - Speed Up Many Animations
+040786a0 c02281f0
+0406e314 c02281f0
+*This cheat speeds up game animations.
+
+$Game Mechanics - Free Lottery Game
+0407b28c 38600005
+0407bd04 38800000
+*This cheat makes the lottery free.
+
+$Game Mechanics - Free Stars
+040843cc 2c030000
+04084590 2c030000
+040845cc 2c030000
+04084720 38800000
+*This cheat makes Stars cost nothing instead of the usual 20 coins.
+
+$Game Mechanics - Mega Status No Longer Steals Coins
+0406be70 38600000
+0406beac 38600000
+0406be1c 38600000
+*This cheat makes the Mega Mushroom not steal coins.
+
+$Game Mechanics - Mini Pipes Work at Normal Size
+04066348 60000000
+04064ed0 60000000
+04065114 60000000
+*This cheat makes the Mini Pipes not require a Mini Mushroom.
+
+$Game Mechanics - Mini Status Rolls 1-10
+04085d74 3800000a
+*This cheat makes the Mini Mushroom roll a 1-10.
+
+$Minigame - Take a Breather: Mash Only L
+20420834 408209b8
+04420818 38a00000
+044207f0 38600000
+e2000001 80008000
+*This cheat makes this minigame easier to play.
+
+$Miscellaneous: Allow Digital Presses for Map Screen
+c2086774 00000002
+70000020 2c000020
+60000000 00000000
+c2073c7c 00000002
+735a0020 281a0020
+60000000 00000000
+*This cheat fixes a bug where only analog inputs work while using the triggers.
+
+$Miscellaneous - Instant Text Display
+04044808 38600000
+*This cheat makes it so text is displayed instantly.
+
+$Miscellaneous - Show Controller Port Number of Who Paused in Mini-Games
+c203e9b4 00000002
+807f0050 906d0000
+38600000 00000000
+c2031b88 0000000c
+3860012c 3880000a
+38a0002d 38c00028
+38e000ff 90ed0004
+38ed0004 3d008000
+6108b150 7d0903a6
+4e800421 3860012c
+3880000a 3ca08013
+38a5db52 80cd0000
+38c60001 c02283c0
+3ce08000 60e7aff4
+7ce903a6 4e800421
+57a0083c 00000000
+*This cheat will display a number on the pause screen of a minigame to see which port paused it.
+
+$Miscellaneous - Widescreen
+041D4980 44555555
+0400C040 2C000356
+C200B0F4 00000003
+1C000004 3BA00003
+7C00EFD6 B01F0004
+60000000 00000000
+041D49F8 44400000
+041D4F0C 44400000
+C20CF3D8 00000005
+3C003B2A 6000AAAB
+80830000 7C002000
+40820010 3C00BF40
+60000000 9003000C
+C003000C 00000000
+C20423EC 00000002
+3C004410 9001000C
+C041000C 00000000
+C20BBC08 00000003
+3FE03FAB 93E30000
+C3830000 EF620732
+60000000 00000000
+C20BBE04 00000003
+3C003FAB 90030000
+C0A30000 EFA20172
+60000000 00000000
+04014874 38600001
+0405DDBC 4E800020
+C208955C 00000005
+3CA03FAB 90A1FFFC
+C001FFFC C03F0004
+EC010032 3CA042C0
+90A1FFFC C021FFFC
+EC200828 00000000
+C20885A4 00000005
+3CA03FAB 90A1FFFC
+C001FFFC C03F0004
+EC010032 3CA042C0
+90A1FFFC C021FFFC
+EC200828 00000000
+C208B500 00000005
+3C803FAB 90810040
+C0210040 7C03042E
+EC210032 3C8042C0
+90810040 C0010040
+EC010028 00000000
+C208C4B4 00000005
+3C803FAB 90810040
+C0210040 7C03042E
+EC210032 3C8042C0
+90810040 C0010040
+EC010028 00000000
+C208C1A8 00000006
+83C10044 3CA03FAB
+90A10044 C3C10044
+7FE4042E EFFE07F2
+3CA042C0 90A10044
+C3C10044 EFFFF028
+93C10044 00000000
+48000000 800030C8
+DE000000 80008180
+30010010 C0010064
+D2010088 00000005
+3C803FAB 908100A4
+C04100A4 C01F0110
+EC420032 3C8042C0
+908100A4 C00100A4
+EC020028 00000000
+E0000000 80008000
+2043C994 4180FF98
+C243C950 00000005
+C03B0008 3C803FAB
+90810044 C0410044
+EC420072 3C8042C0
+90810044 C0210044
+EC220828 00000000
+C243C964 00000003
+C03B0010 3C803FAB
+90810044 C0410044
+EC220072 00000000
+E2000001 80008000
+*This cheat makes the game appear in widescreen.
diff --git a/Data/Sys/GameSettings/GP5E01.ini b/Data/Sys/GameSettings/GP5E01.ini
index 0b99f12fb374..a4399736e527 100644
--- a/Data/Sys/GameSettings/GP5E01.ini
+++ b/Data/Sys/GameSettings/GP5E01.ini
@@ -11,309 +11,386 @@
$All Mini-Games Unlocked
044E31C6 08000000
0222A77C 0005FFFF
+
$P1 Max/ Infinite Coins
044E31C8 08000000
08224AF4 00000042
0222A090 000003E7
+
$P1 No Coins
044E31C9 08000000
08224AF4 00000042
0222A090 00000000
+
$P1 Max/Infinite Stars
044E31CA 08000000
08224AF4 00000042
0222A0A4 000003E7
+
$P1 No Stars
044E31CB 08000000
08224AF4 00000042
0222A0A4 00000000
+
$P1 Never Has Any Capsules
08224AF4 00000042
0022A075 000002FF
+
$P2 Max/Infinite Coins
044E3228 08000000
08224AF4 00000042
0222A198 000003E7
+
$P2 No Coins
044E3229 08000000
08224AF4 00000042
0222A198 00000000
+
$P2 Max/Infinite Stars
044E322A 08000000
08224AF4 00000042
0222A1AC 000003E7
+
$P2 No Stars
044E322B 08000000
08224AF4 00000042
0222A1AC 00000000
+
$P2 Never Has Any Capsules
044E322C 08000000
08224AF4 00000042
0022A17D 000002FF
+
$P3 Max/Infinite Coins
044E3288 08000000
08224AF4 00000042
0222A2A0 000003E7
+
$P3 No Coins
044E3289 08000000
08224AF4 00000042
0222A2A0 00000000
+
$P3 Max/Infinite Stars
044E328A 08000000
08224AF4 00000042
0222A2B4 000003E7
+
$P3 No Stars
044E328B 08000000
08224AF4 00000042
0222A2B4 00000000
+
$P3 Never Has Any Capsules
044E328C 08000000
08224AF4 00000042
0022A285 000002FF
+
$P4 Max/Infinite Coins
044E32E8 08000000
08224AF4 00000042
0222A3A8 000003E7
+
$P4 No Coins
044E32E9 08000000
08224AF4 00000042
0222A3A8 00000000
+
$P4 Max/Infinite Stars
044E32EA 08000000
08224AF4 00000042
0222A3BC 000003E7
+
$P4 No Stars
044E32EB 08000000
08224AF4 00000042
0222A3BC 00000000
+
$P4 Never Has Any Capsules
044E32EC 08000000
08224AF4 00000042
0022A38D 000002FF
+
$P1 Max Mini-Game Coins
044E3349 08000000
08224AF4 00000042
0222A092 000003E7
+
$P1 No Mini-Game Coins
044E334A 08000000
08224AF4 00000042
0222A092 00000000
+
$P1 Max Blue Spaces
044E334B 08000000
08224AF4 00000042
0022A084 000000FF
+
$P1 No Blue Spaces
044E334C 08000000
08224AF4 00000042
0022A084 00000000
+
$P1 Max Red Spaces
044E334D 08000000
08224AF4 00000042
0022A085 000000FF
+
$P1 No Red Spaces
044E334E 08000000
08224AF4 00000042
0022A085 00000000
+
$P1 Max Capsule Spaces
044E334F 08000000
08224AF4 00000042
0022A086 000000FF
+
$P1 No Capsule Spaces
044E3350 08000000
08224AF4 00000042
0022A086 00000000
+
$P1 Max Question Mark Spaces
044E3351 08000000
08224AF4 00000042
0022A087 000000FF
+
$P1 No Question Mark Spaces
044E3352 08000000
08224AF4 00000042
0022A087 00000000
+
$P1 Max Bowser Spaces
044E3353 08000000
08224AF4 00000042
0022A088 000000FF
+
$P1 No Bowser Spaces
044E3354 08000000
08224AF4 00000042
0022A088 00000000
+
$P1 Max Donkey Kong Spaces
044E3355 08000000
08224AF4 00000042
0022A089 000000FF
+
$P1 No Donkey Kong Spaces
044E3356 08000000
08224AF4 00000042
0022A089 00000000
+
$P2 Max Mini-Game Coins
044E3358 08000000
08224AF4 00000042
0222A19A 000003E7
+
$P2 No Mini-Game Coins
044E3359 08000000
08224AF4 00000042
0222A19A 00000000
+
$P2 Max Blue Spaces
044E335A 08000000
08224AF4 00000042
0022A18C 000000FF
+
$P2 No Blue Spaces
044E335B 08000000
08224AF4 00000042
0022A18C 00000000
+
$P2 Max Red Spaces
044E335C 08000000
08224AF4 00000042
0022A18D 000000FF
+
$P2 No Red Spaces
044E335D 08000000
08224AF4 00000042
0022A18D 00000000
+
$P2 Max Capsule Spaces
044E335E 08000000
08224AF4 00000042
0022A18E 000000FF
+
$P2 No Capsule Spaces
044E335F 08000000
08224AF4 00000042
0022A18E 00000000
+
$P2 Max Question Mark Spaces
044E3360 08000000
08224AF4 00000042
0022A18F 000000FF
+
$P2 No Question Mark Spaces
044E3361 08000000
08224AF4 00000042
0022A18F 00000000
+
$P2 Max Bowser Spaces
044E3362 08000000
08224AF4 00000042
0022A190 000000FF
+
$P2 No Bowser Spaces
044E3363 08000000
08224AF4 00000042
0022A190 00000000
+
$P2 Max Donkey Kong Spaces
044E3364 08000000
08224AF4 00000042
0022A191 000000FF
+
$P2 No Donkey Kong Spaces
044E3365 08000000
08224AF4 00000042
0022A191 00000000
+
$P3 Max Mini-Game Coins
044E3367 08000000
08224AF4 00000042
0222A2A2 000003E7
+
$P3 No Mini-Game Coins
044E3368 08000000
08224AF4 00000042
0222A2A2 00000000
+
$P3 Max Blue Spaces
044E3369 08000000
08224AF4 00000042
0022A294 000000FF
+
$P3 No Blue Spaces
044E336A 08000000
08224AF4 00000042
0022A294 00000000
+
$P3 Max Red Spaces
044E336B 08000000
08224AF4 00000042
0022A295 000000FF
+
$P3 No Red Spaces
044E336C 08000000
08224AF4 00000042
0022A295 00000000
+
$P3 Max Capsule Spaces
044E336D 08000000
08224AF4 00000042
0022A296 000000FF
+
$P3 No Capsule Spaces
044E336E 08000000
08224AF4 00000042
0022A296 00000000
+
$P3 Max Question Mark Spaces
044E336F 08000000
08224AF4 00000042
0022A297 000000FF
+
$P3 No Question Mark Spaces
044E3370 08000000
08224AF4 00000042
0022A297 00000000
+
$P3 Max Bowser Spaces
044E3371 08000000
08224AF4 00000042
0022A298 000000FF
+
$P3 No Bowser Spaces
044E3372 08000000
08224AF4 00000042
0022A298 00000000
+
$P3 Max Donkey Kong Spaces
044E3373 08000000
08224AF4 00000042
0022A299 000000FF
+
$P3 No Donkey Kong Spaces
044E3374 08000000
08224AF4 00000042
0022A299 00000000
+
$P4 Max Mini-Game Coins
044E3376 08000000
08224AF4 00000042
0222A3AA 000003E7
+
$P4 No Mini-Game Coins
044E3377 08000000
08224AF4 00000042
0222A3AA 00000000
+
$P4 Max Blue Spaces
044E3378 08000000
08224AF4 00000042
0022A39C 000000FF
+
$P4 No Blue Spaces
044E3379 08000000
08224AF4 00000042
0022A39C 00000000
+
$P4 Max Red Spaces
044E337A 08000000
08224AF4 00000042
0022A39D 000000FF
+
$P4 No Red Spaces
044E337B 08000000
08224AF4 00000042
0022A39D 00000000
+
$P4 Max Capsule Spaces
044E337C 08000000
08224AF4 00000042
0022A39E 000000FF
+
$P4 No Capsule Spaces
044E337D 08000000
08224AF4 00000042
0022A39E 00000000
+
$P4 Max Question Mark Spaces
044E337E 08000000
08224AF4 00000042
0022A39F 000000FF
+
$P4 No Question Mark Spaces
044E337F 08000000
08224AF4 00000042
0022A39F 00000000
+
$P4 Max Bowser Spaces
044E3380 08000000
08224AF4 00000042
0022A3A0 000000FF
+
$P4 No Bowser Spaces
044E3381 08000000
08224AF4 00000042
0022A3A0 00000000
+
$P4 Max Donkey Kong Spaces
044E3382 08000000
08224AF4 00000042
0022A3A1 000000FF
+
$P4 No Donkey Kong Spaces
044E3383 08000000
08224AF4 00000042
0022A3A1 00000000
+
$Press L+Y: Player Keeps Moving
044E3386 08000000
8A2885F8 00004840
@@ -322,6 +399,7 @@ $Press L+Y: Player Keeps Moving
0022A28A 0000000A
0022A392 0000000A
00000000 40000000
+
$Press L+X: Player Stops Moving
044E3387 08000000
8A2885F8 00004440
@@ -330,6 +408,7 @@ $Press L+X: Player Stops Moving
0022A28A 00000001
0022A392 00000001
00000000 40000000
+
$Press L+Y: Player Keeps Moving
044E338B 08000000
8A2885FA 00004840
@@ -338,6 +417,7 @@ $Press L+Y: Player Keeps Moving
0022A28A 0000000A
0022A392 0000000A
00000000 40000000
+
$Press L+X: Player Stops Moving
044E338C 08000000
8A2885FA 00004440
@@ -346,6 +426,7 @@ $Press L+X: Player Stops Moving
0022A28A 00000001
0022A392 00000001
00000000 40000000
+
$Press L+Y: Player Keeps Moving
044E3390 08000000
8A2885FC 00004840
@@ -354,6 +435,7 @@ $Press L+Y: Player Keeps Moving
0022A28A 0000000A
0022A392 0000000A
00000000 40000000
+
$Press L+X: Player Stops Moving
044E3391 08000000
8A2885FC 00004440
@@ -362,6 +444,7 @@ $Press L+X: Player Stops Moving
0022A28A 00000001
0022A392 00000001
00000000 40000000
+
$Press L+Y: Player Keeps Moving
044E3395 08000000
8A2885FE 00004840
@@ -370,6 +453,7 @@ $Press L+Y: Player Keeps Moving
0022A28A 0000000A
0022A392 0000000A
00000000 40000000
+
$Press L+X: Player Stops Moving
044E3396 08000000
8A2885FE 00004440
@@ -378,3 +462,482 @@ $Press L+X: Player Stops Moving
0022A28A 00000001
0022A392 00000001
00000000 40000000
+
+[Gecko]
+$Netplay Community Settings
+c2096910 00000002
+a9010014 39200002
+7d084fd6 00000000
+c20c3ca4 00000002
+801f0020 38800002
+7c0027d6 00000000
+c20c3864 00000002
+801f0020 38800002
+7c0027d6 00000000
+0413220c 60000000
+041322c4 60000000
+0413216c 60000000
+04132180 60000000
+0404a560 38000000
+0409696c 7d150e70
+c2040178 00000002
+807f0050 906d0000
+38600000 00000000
+c20396a8 0000000c
+3860012c 3880000a
+38a00036 38c00030
+38e000ff 90ed0004
+38ed0004 3d008000
+6108b5c4 7d0903a6
+4e800421 3860012c
+3880000a 3ca0801c
+38a5aed0 80cd0000
+38c60001 c022831c
+3ce08000 60e7b468
+7ce903a6 4e800421
+57a0083c 00000000
+f6000002 80008180
+5460d808 54640ffe
+7c040050 5400283e
+14000020 3c80ffff
+14000024 6084ffff
+e0000000 80008000
+82000001 8022ab74
+86200001 00000018
+84000001 8022ab74
+82000001 8022ab74
+86200001 0000003f
+84000001 8022ab74
+82000001 8022ab74
+86200001 00000020
+84000001 8022ab74
+*WARNING: This set of cheats is meant for Netplay only. This can 100% your save so make sure you make backups.
+*WARNING: These Cheats will create a save game on Party Mode. Launch it, if you want crashes.
+*This Cheat includes
+*Game Mechanics - Increased Board Speed
+*Game Mechanics - Increased Capsule Throwing Speed
+*Game Mechanics - Increased Taunt Capabilities
+*Miscellaneous - Instant Text Display
+*Miscellaneous - Show Controller Port Number of Who Paused in Mini-Games
+*as well as some cheats to 100% the game. We wont tell you which ones they are because that ruins the fun of playing.
+
+$Netplay Safe Kill Music
+042888A4 00000001
+20468E38 80630000
+04468E3C 38600000
+E2000001 80008000
+*This cheat makes it so all in-game music will be turned off.
+*
+*This can safely be used in a Netplay game without desync.
+
+$Game Mechanics - Battle Coins Don't Affect Mini-Game Star
+2046d354 b0030022
+0446d350 60000000
+e2000001 80008000
+*This cheat makes battle minigames not count towards the Mini-Game Star.
+
+$Board - Future Dream: 60 Seconds in Rocket Ship Game
+2046EF60 38800708
+0446EF60 38800E10
+E2000001 80008000
+*This cheat makes the Future Dream rocket game easier to win.
+
+$Board - Future Dream: Free Taxi Ride
+2046DA84 386002F6
+0446DA80 48000038
+0446E414 2C070000
+0446E4A4 2C050000
+0446E4C4 38800000
+E2000001 80008000
+*This cheat makes the Taxi from Future Dream not force charge you 10 coins.
+
+$Board - Rainbow Dream: Free Bridge Crossings
+2046A0B0 2C030005
+0446A0B0 2C030000
+0446A138 2C040000
+0446A294 2C030000
+0446A308 38800000
+E2000001 80008000
+*This cheat makes the rainbow bridges cost nothing instead of the usual 5 coins.
+
+$Board - Sweet Dream: Disable Topmost Happenning Space
+2045B2F4 F3E10148
+0445B2E4 4E800020
+E2000001 80008000
+*This cheat disables the topmost Happenning space in Sweet Dream.
+
+$Game Mechanics - Free Stars
+f6000001 80008180
+4080002c 386002f0
+14000000 4800002c
+140000ec 2c030000
+14000128 2c030000
+140001e8 38800000
+e0000000 80008000
+f6000001 80008180
+2c030014 40800070
+14000000 2c030000
+14000618 38800000
+e0000000 80008000
+*This cheat makes Stars cost nothing instead of the usual 20 coins.
+
+$Game Mechanics - Increased Board Speed
+c2096910 00000002
+a9010014 39200002
+7d084fd6 00000000
+0409696C 7D150E70
+*This cheat makes the players move faster while playing a Mario Party board.
+
+$Game Mechanics - Increased Capsule Throwing Speed
+c20c3ca4 00000002
+801f0020 38800002
+7c0027d6 00000000
+c20c3864 00000002
+801f0020 38800002
+7c0027d6 00000000
+*This cheat makes capsules appear to be thrown faster.
+
+$Game Mechanics - Increased Taunt Capabilities
+0413220c 60000000
+041322c4 60000000
+0413216c 60000000
+04132180 60000000
+*This cheat makes it so you can taunt during your turn.
+
+$Minigame - Bound of Music: No Bricks
+2046e0a8 7c033000
+0446e0ac 60000000
+e2000001 80008000
+*This cheat makes it so Bound of Music is more balanced.
+
+$Minigame - Coney Island: Start With 60 Seconds
+2046EA6C 38800708
+0446EA6C 38800710
+E2000001 80008000
+*This cheat makes it so Coney Island is more balanced.
+
+$Minigame - Coney Island: Bigger Cones Don't Slow You Down
+204763E4 3C608048
+044763E0 38000000
+0447663C 38000000
+E2000001 80008000
+*This cheat makes it so Coney Island is more balanced.
+
+$Minigame - Flower Shower: All Flowers Worth 3 Points
+20459BEC 801F003C
+04459BEC 38000003
+E2000001 80008000
+*This cheat makes it so Flower Shower is more balanced.
+
+$Minigame - Ground Pound Down: No Rocks Until End
+2046FCC4 4180FF6C
+0446FCC4 60000000
+E2000001 80008000
+*This cheat makes it so Ground Pound Down is more balanced.
+
+$Minigame - Mathletes: Always Multiplication
+2045D2AC 38030001
+C245D2AC 00000004
+3DC08047 81CE815C
+7C0EF800 40820008
+38600000 38030001
+60000000 00000000
+E2000001 80008000
+*This cheat makes it so Mathletes is more balanced.
+
+$Minigame - Pop Star Piranhas: Halved Time to Pick
+2046983c 3880012c
+0446983c 38800096
+e2000001 80008000
+*This cheat makes it so Pop Star Piranhas is more balanced.
+
+$Minigame Replacement - Get a Rope ➜ Piece Out
+2822A4C4 0000002D
+0222A4C4 00000033
+E2000001 80008000
+
+$Minigame Replacement - Lucky Lineup ➜ Astro-Logical
+2822A4C4 00000026
+0222A4C4 00000022
+E2000001 80008000
+
+$Minigame Replacement - Replace Mathletes ➜ Flatiator
+2822a4c4 00000044
+0222a4c4 00000010
+e2000001 80008000
+
+$Minigame Replacement - Replace Pound Peril ➜ Sky Survivor
+2822a4c4 00000032
+0222a4c4 00000036
+e2000001 80008000
+
+$Minigame Replacement - Replace Random Ride ➜ Twist 'n' Out
+2822a4c4 00000027
+0222a4c4 00000025
+e2000001 80008000
+
+$Minigame Replacement - Replace Rumble Fumble ➜ Fish Upon a Star
+2822a4c4 00000041
+0222a4c4 00000040
+e2000001 80008000
+*
+$Minigame Replacement - Replace Scaldin' Cauldron ➜ Rain of Fire
+2822A4C4 0000003C
+0222A4C4 0000003A
+E2000001 80008000
+
+$Minigame Replacement - Replace Vicious Vending ➜ Coin Cache
+2822a4c4 00000017
+0222a4c4 0000000f
+e2000001 80008000
+
+$Minigame Replacement - Replace Whomp Maze ➜ Shock Absorbers
+2822a4c4 0000002a
+0222a4c4 00000028
+e2000001 80008000
+
+$Miscellaneous - Instant Text Display
+0404a560 38000000
+*This cheat makes it so text is displayed instantly.
+
+$Miscellaneous - Show Controller Port Number of Who Paused in Mini-Games
+C2040178 00000002
+807F0050 906D0000
+38600000 00000000
+C20396A8 0000000C
+3860012C 3880000A
+38A00036 38C00030
+38E000FF 90ED0004
+38ED0004 3D008000
+6108B5C4 7D0903A6
+4E800421 3860012C
+3880000A 3CA0801C
+38A5AED0 80CD0000
+38C60001 C022831C
+3CE08000 60E7B468
+7CE903A6 4E800421
+57A0083C 00000000
+*This cheat will display a number on the pause screen of a minigame to see which port paused it.
+
+$Miscellaneous - Widescreen
+04289518 44400000
+04289AD8 44400000
+042894A0 44555555
+0428A3C0 44400000
+C2047EB4 00000002
+3C004410 90010014
+C0410014 00000000
+0400C4B4 2C000356
+204584E4 4180FA38
+044569DC 38600133
+04456A98 386000CE
+C24584B8 00000002
+1C720004 38800003
+7C6327D6 00000000
+C245840C 00000002
+1C720004 38800003
+7C6327D6 00000000
+C24583AC 00000002
+1C720004 38800003
+7C6327D6 00000000
+E2000001 80008000
+20457268 3C60001F
+C2457248 00000006
+38800000 3CA041AB
+90A1FFFC C021FFFC
+3CA03F80 90A1FFFC
+C041FFFC 3CA08000
+60A5EFA8 7CA903A6
+4E800421 00000000
+E2000001 80008000
+C2157F68 00000005
+3C803B2A 6084AAAB
+80030000 7C002000
+4082000C 3C00BF40
+9003000C C003000C
+60000000 00000000
+041BA844 3FCCCCCD
+C20238D4 00000005
+9421FFF4 D8A10000
+3C003FAB 90010008
+C0A10008 EC850132
+C8A10000 3821000C
+9421FFE0 00000000
+04289610 3FCCCCCD
+20460110 C07F0004
+C246010C 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+2048DC98 38610064
+C248DC88 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+2049CA64 43700000
+C24763D8 00000007
+EC23002A D021006C
+8081006C 3CA04390
+7C042800 38800000
+9081006C C041006C
+41810010 3C80C2C0
+9081006C C041006C
+EC22082A 00000000
+C2476C7C 00000007
+EC23002A D021006C
+8081006C 3CA04390
+7C042800 38800000
+9081006C C041006C
+41810010 3C80C2C0
+9081006C C041006C
+EC22082A 00000000
+C24737E8 00000005
+EC2007B2 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+E2000001 80008000
+20472B58 4180FED4
+C2472AE8 00000005
+7C24042E 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C247072C 00000005
+EC210028 3C803FAB
+90810014 C0410014
+EC220072 3C80C2C0
+90810014 C0410014
+EC22082A 00000000
+E2000001 80008000
+20475FF4 3B800000
+C2475ED4 00000003
+3C604280 90610014
+C0210014 EC01002A
+D001001C 00000000
+C2475FD0 00000003
+3C604280 9061000C
+C021000C EC01002A
+D0010024 00000000
+C2475768 00000003
+3FC04390 7C1E1800
+41810008 3C604428
+907F0030 00000000
+E2000001 80008000
+2046A704 C0440000
+C246A6F8 00000005
+EC210032 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+E2000001 80008000
+C20B812C 00000005
+C03E0010 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C20B8D28 00000005
+C03E0008 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C20B8DD8 00000005
+C03E0010 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C20B7E68 00000005
+C03F0010 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C20B7288 00000005
+C0210008 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+040A9248 C0428190
+040A95B4 60000000
+C212FF58 00000006
+3C803F40 90810018
+C0210018 C0030000
+EC010032 D0030000
+C003000C EC010032
+D003000C 38800001
+60000000 00000000
+2046E8D8 38610064
+C246E8C8 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+20487900 38610064
+C24878F0 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+2045C384 38610064
+C245C374 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+204792DC 38610064
+C24792CC 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+20458EE4 38610064
+C2458ED4 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+2047B840 38610064
+C247B830 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+20460CD8 38610064
+C2460CC8 00000003
+3C803F99 6084999A
+909F000C C05F000C
+60000000 00000000
+E2000001 80008000
+20478618 42700000
+04478614 47FFFFFF
+04224B54 3F99999A
+E2000001 80008000
+2047636C 43700000
+04476368 44280000
+044762D8 44280000
+C2472738 00000002
+3C804410 9081FFFC
+C001FFFC 00000000
+C247273C 00000005
+EC2007F2 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C2472924 00000005
+EC24002A 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+E2000001 80008000
+*This cheat makes the game appear in widescreen.
diff --git a/Data/Sys/GameSettings/GP6E01.ini b/Data/Sys/GameSettings/GP6E01.ini
new file mode 100644
index 000000000000..505fb18aa26e
--- /dev/null
+++ b/Data/Sys/GameSettings/GP6E01.ini
@@ -0,0 +1,251 @@
+# GP6E01 - Mario Party 6
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[Gecko]
+$Netplay Community Settings
+041556d4 7d170e70
+042c31b4 41f00000
+041b02ac 60000000
+04161758 38030002
+04161764 38030002
+204cdb1c 281e0018
+044cdb18 3bde0002
+e2000001 80008000
+042c3e94 42200000
+c21c28bc 00000002
+801f0020 38800002
+7c0027d6 00000000
+c21c245c 00000002
+801f0020 38800002
+7c0027d6 00000000
+0420526c 60000000
+0420518c 60000000
+0420516c 60000000
+0404f51c 38000000
+0417e908 60000000
+0415f198 60000000
+0415f1a0 60000000
+C20456D4 00000002
+807F0050 906D0000
+38600000 00000000
+C203E1FC 0000000C
+3860012C 3880000A
+38A0002D 38C00028
+38E000FF 90ED0004
+38ED0004 3D008000
+6108C4B0 7D0903A6
+4E800421 3860012C
+3880000A 3CA08023
+38A5ABEF 80CD0000
+38C60001 C0228350
+3CE08000 60E7C354
+7CE903A6 4E800421
+57A0083C 00000000
+F6000002 80008180
+5460D808 54640FFE
+7C040050 5400283E
+14000020 3C80FFFF
+14000024 6084FFFF
+E0000000 80008000
+F6000001 80008180
+80A405A8 38800001
+14000000 38A0FFFF
+E0000000 80008000
+F6000001 80008180
+80A405A0 38800001
+14000000 38A0FFFF
+E0000000 80008000
+*WARNING: This set of cheats is meant for Netplay only. This can 100% your save so make sure you make backups.
+*This Cheat includes
+*Game Mechanics - Increased Board Speed
+*Game Mechanics - Increased Coin Gain/Loss Speed
+*Game Mechanics - Increased Orb Throwing Speed
+*Game Mechanics - Increased Taunt Capabilities
+*Game Mechanics - Instant Text Display
+*Miscellaneous - Show Controller Port Number of Who Paused in Mini-Games
+*as well as some cheats to 100% the game. We wont tell you which ones they are because that ruins the fun of playing.
+
+$Netplay Safe Kill Music
+042c02a4 00000001
+*This cheat makes it so all in-game music will be turned off.
+*
+*This can safely be used in a Netplay game without desync.
+
+$Game Mechanics - Battle Coins Don't Affect Mini-Game Star
+204cddc8 b003001e
+044cddc4 60000000
+e2000001 80008000
+*This cheat makes battle minigames not count towards the Mini-Game Star.
+
+$Game Mechanics - Free Stars
+0418333C 2C030000
+0418342C 2C030000
+041834C4 2C030000
+C2183590 00000002
+38800000 7C8400D0
+60000000 00000000
+0415F668 2C030000
+0415FA18 38800000
+204DAC30 7C641B78
+044DAC30 388000FF
+044DB9DC 38800000
+E2000001 80008000
+*This cheat makes Stars cost nothing instead of the usual 20 coins.
+
+$Game Mechanics - Increased Board Speed
+041556d4 7d170e70
+042c31b4 41f00000
+041b02ac 60000000
+04161758 38030002
+04161764 38030002
+204cdb1c 281e0018
+044cdb18 3bde0002
+e2000001 80008000
+042c3e94 42200000
+*This cheat makes the players move faster while playing a Mario Party board.
+
+$Game Mechanics - Increased Coin Gain/Loss Speed
+c21c28bc 00000002
+801f0020 38800002
+7c0027d6 00000000
+c21c245c 00000002
+801f0020 38800002
+7c0027d6 00000000
+*This cheat makes the coin animation appear faster then the stock animation.
+
+$Game Mechanics - Increased Orb Throwing Speed
+c21c28bc 00000002
+801f0020 38800002
+7c0027d6 00000000
+c21c245c 00000002
+801f0020 38800002
+7c0027d6 00000000
+*This cheat makes orbs appear to be thrown faster.
+
+$Game Mechanics - Increased Taunt Capabilities
+0420526c 60000000
+0420518c 60000000
+0420516c 60000000
+*This cheat makes it so you can taunt during your turn.
+
+$Game Mechanics - Sluggish Shroom Rolls 1-5
+04186608 38000005
+04186b80 4bfffff8
+*This cheat makes this orb a little more balanced.
+
+$Minigame - Crate and Peril: Ability to Jump
+0408074c 60fb0003
+*This cheat makes it so Crate and Peril is more balanced.
+
+$Minigame - Dizzy Rotisserie: Lower Starting Time
+204F3F84 38800708
+044F3F84 388004B0
+E2000001 80008000
+*This cheat makes it so Dizzy Rotisserie is more balanced.
+
+$Minigame - Mass Meteor: Ties are Always Ties
+204cf648 4082005c
+044cf648 4800005c
+e2000001 80008000
+*This cheat makes it so Mass Meteor is more balanced.
+
+$Minigame - Mole it All: All Moles Worth 3 Points
+204D57F0 A8A10008
+044D57F0 38A00003
+E2000001 80008000
+*This cheat makes it so Mole it All is more balanced.
+
+$Minigame - Sink or Swim: Infinite Air
+204CF1A4 3803FFFF
+044CF1A4 38000258
+E2000001 80008000
+*This cheat makes it so Sink or Swim is more balanced.
+
+$Minigame - Trap Ease Artist: All Goombas Worth 1 Point
+204d3128 38000003
+044d3128 38000001
+e2000001 80008000
+*This cheat makes it so Trap Ease Artist is more balanced.
+
+$Minigame - Treasure Trawlers: All Scavenged Items are Regular Chests
+20501374 e3e100a8
+c24fc478 00000003
+2c030000 40810008
+38600000 7c7c1b78
+60000000 00000000
+e2000001 80008000
+*This cheat makes it so Treasure Trawlers is more balanced.
+
+$Minigame Replacement - Replace Odd Card Out ➜ What Goes Up...
+28265ba8 00000001
+02265ba8 00000003
+e2000001 80008000
+
+$Minigame Replacement - Replace Pitifall ➜ Cog Jog
+28265ba8 00000036
+02265ba8 00000017
+e2000001 80008000
+
+$Minigame Replacement - Replace Trick or Tree ➜ Boo Off the Stage
+28265ba8 0000003d
+02265ba8 0000003b
+e2000001 80008000
+
+$Minigame Replacement - Replace Tricky Tires ➜ Cannonball Fun
+28265ba8 00000009
+02265ba8 0000000d
+e2000001 80008000
+
+$Miscellaneous - Instant Text Display
+0404f51c 38000000
+*This cheat makes it so text is displayed instantly.
+
+$Miscellaneous - Random Music
+C214427C 00000004
+7C7D1B78 3860006E
+3C808003 6084FCD4
+7C8903A6 4E800421
+7C7D1B78 00000000
+*This cheat makes the music selection totally random.
+
+$Miscellaneous - Show Controller Port Number of Who Paused in Mini-Games
+C20456D4 00000002
+807F0050 906D0000
+38600000 00000000
+C203E1FC 0000000C
+3860012C 3880000A
+38A0002D 38C00028
+38E000FF 90ED0004
+38ED0004 3D008000
+6108C4B0 7D0903A6
+4E800421 3860012C
+3880000A 3CA08023
+38A5ABEF 80CD0000
+38C60001 C0228350
+3CE08000 60E7C354
+7CE903A6 4E800421
+57A0083C 00000000
+*This cheat will display a number on the pause screen of a minigame to see which port paused it.
+
+$Miscellaneous - Widescreen
+040183EC 38600001
+C20A17B0 00000002
+C0A29F48 EFA22824
+60000000 00000000
+C20A152C 00000002
+C0029F48 EF620024
+60000000 00000000
+042C30F8 3FCCCCCD
+C202C18C 00000002
+C01F000C C3A29F48
+EC00E824 00000000
+0414E760 C3A30000
+041932E0 388002D0
+042C14B8 3FCCCCCD
+04151324 38600001
+*This cheat makes the game appear in widescreen.
diff --git a/Data/Sys/GameSettings/GP7E01.ini b/Data/Sys/GameSettings/GP7E01.ini
index 0e723d163eb8..3a6da7096711 100644
--- a/Data/Sys/GameSettings/GP7E01.ini
+++ b/Data/Sys/GameSettings/GP7E01.ini
@@ -10,10 +10,427 @@
# Add action replay cheats here.
$Infinite Mileage
02510C6A 0000C350
+
$Unlock All Minigames
02291804 0005FFFF
+
$Unlock all Souvieners
002922F8 000001FF
002922FD 000002FF
+
$Unlock All Sounds
002922FA 000001FF
+
+[Gecko]
+$Netplay Community Settings
+041604B0 38C0000A
+204E317C 281E000C
+044E2F08 3BDE0002
+044E3178 3BDE0002
+044E31EC 3BDE0002
+044E344C 3BDE0002
+044E3844 3BDE0002
+E2000001 80008000
+041E3110 38030002
+04235abc 60000000
+04235b0c 60000000
+04235b90 60000000
+04050A70 38800000
+C2047400 00000002
+807F0050 906D0000
+38600000 00000000
+C20402FC 0000000C
+3860012C 3880000A
+38A0002D 38C00028
+38E000FF 90ED0004
+38ED0004 3D008000
+6108CA28 7D0903A6
+4E800421 3860012C
+3880000A 3CA08025
+38A548EF 80CD0000
+38C60001 C0228388
+3CE08000 60E7C8CC
+7CE903A6 4E800421
+57A0083C 00000000
+204E8A28 3CC08050
+C24E8A34 00000002
+38A00002 98A40000
+88A40000 00000000
+E2000001 80008000
+204E1B7C 3C608051
+044E1B88 38600001
+044E1B8C 98640002
+044E1B90 60000000
+E2000001 80008000
+82200001 802922FC
+86200001 00040000
+84200001 802922FC
+204F6C64 4182001C
+044F6C64 60000000
+044E9AFC 60000000
+E2000001 80008000
+204F0BC4 2C030000
+044F0BC0 38600001
+044F0C4C 38600001
+044F0CD8 38600001
+044F0CFC 38600001
+044F0D18 38600001
+E2000001 80008000
+82200001 802922F8
+86200001 00000040
+84200001 802922F8
+82200001 802922F8
+86200001 00000008
+84200001 802922F8
+82200001 802922F8
+86200001 00000006
+84200001 802922F8
+0403EDC0 38600001
+*WARNING: This set of cheats is meant for Netplay only. This can 100% your save so make sure you make backups.
+*This Cheat includes
+*Game Mechanics - Increased Board Speed
+*Game Mechanics - Increased Orb Throwing Speed
+*Game Mechanics - Increased Taunt Capabilities
+*Miscellaneous - Instant Text Display
+*Miscellaneous - Show Controller Port Number of Who Paused in Mini-Games
+*as well as some cheats to 100% the game. We wont tell you which ones they are because that ruins the fun of playing.
+
+$Netplay Force Player 1 to CPU
+0422d898 60000000
+04053a50 60000000
+*This cheat makes it so the player on port 1 will be turned into a computer. This can be useful for games when the player with port 1 drops.
+
+$Netplay Safe Kill Music
+0414AAF0 4E800020
+*This cheat makes it so all in-game music will be turned off.
+*
+*This can safely be used in a Netplay game without desync.
+
+$Board - Neon Heights: Balance Changes
+204e0f0c 7c9e2378
+044e0bac 38a00014
+044e08d8 38000014
+044e06c4 38000014
+044e1008 48001451
+044e1020 4bffffd0
+044e2564 3b200014
+044e269c 3b000014
+e2000001 80008000
+*This cheat makes the chests now cost 20 coins, and Bob-omb/nothing chests now contain 20 coins.
+
+$Board - Neon Heights: Bowser Path for Free
+204FDEF4 2C03000A
+044FDEF4 2C030000
+044FDF5C 38A00000
+E2000001 80008000
+*This cheat makes that path Koopa Kid is blocking not cost any coins to traverse.
+
+$Board - Pagoda Peak: Bottle Rocket Launch Always Succeeds
+204DF8A0 2803004B
+044DF8A4 60000000
+E2000001 80008000
+*This cheat makes the Pagoda Peak bottle rocket always go towards the top.
+
+$Board - Pyramid Park: Free Chomp Rides
+204E10B4 7C03D000
+044E10B0 386003E7
+044E1114 386003E7
+044E14EC 386003E7
+044E17A4 38A00000
+E2000001 80008000
+*This cheat makes the Pyramid Park Chain Chomps free.
+
+$Board - Windmillville: Free Flower Glider
+204E1F00 7C600734
+044E1EFC 386003E7
+044E7D10 38A00000
+E2000001 80008000
+*This cheat makes the Windmillville flower glider free.
+
+$Game Mechanics - Battle Coins Don't Affect Mini-Game Star
+204e628c 7c080734
+c24e6288 00000006
+3d008029 a9081558
+3ce08025 60e79df0
+1d08007c 7ce83a14
+88e70002 2c070003
+40820008 38a00000
+7c051a14 00000000
+e2000001 80008000
+*This cheat makes battle minigames not count towards the Mini-Game Star.
+
+$Game Mechanics - DK and Bowser Give Only Multiplayer Games
+041d19a0 3b600004
+041d5058 3b200005
+*This cheat makes it so DK and Bowser only give multiplayer minigames which are inclusive and not stupidly broken.
+
+$Game Mechanics - Disable Character Orbs
+042f12e8 00000000
+042f12a8 00000000
+042f12c8 00000000
+042f1308 00000000
+042f1328 00000000
+042f1348 00000000
+*This cheat makes it so character orbs (the blue ones) don't appear.
+
+$Game Mechanics - Disable Mic Spaces
+0417afd0 60000000
+*This cheat makes Mic Spaces act like the Green Spaces from Mario Party 9. This means that they do nothing. This does however save time with the Disable Microphone cheat on, so the transition screen doesn't appear.
+
+$Game Mechanics - Disable Bowser Time
+C2152080 00000002
+38000000 9803000C
+60000000 00000000
+*This cheat makes it so the Bowser Time game event doesn't appear. This can save 5-20 minutes of Board Events on boards such as Grand Canal, but break boards such as Bowser's Enchanted Inferno.
+
+$Game Mechanics - Force Mini-Game/Orb/Happening Bonus Stars
+204e4ae0 48000210
+044e4a38 48000014
+044e4a6c 38000000
+e2000001 80008000
+*This cheat makes the Bonus Stars always the same.
+
+$Game Mechanics - Free Stars
+04188774 3B800000
+0418876C 3B800000
+204ED598 40800030
+044ED598 48000030
+044ED754 38800000
+E2000001 80008000
+204F62C0 38030001
+044F62C4 38000000
+044F690C 38600000
+E2000001 80008000
+*This cheat makes Stars cost nothing instead of the usual 20 coins.
+
+$Game Mechanics - Koopa Kid Orbs Can Be Purchased
+0419EB0C 48000024
+04274ADC 00000001
+06004860 0000002C
+88030000 28000028
+4082001C 3C80802E
+6084F598 38A00010
+4BFFECC9 38000028
+98030000 3B9C0001
+481E5098 00000000
+041E991C 4BE1AF44
+*This cheat makes Koopa Kid Orbs findable in stores as well as the Orb spawn spots on the board.
+
+$Game Mechanics - Increased Board Speed
+041604B0 38C0000A
+204E317C 281E000C
+044E2F08 3BDE0002
+044E3178 3BDE0002
+044E31EC 3BDE0002
+044E344C 3BDE0002
+044E3844 3BDE0002
+E2000001 80008000
+*This cheat makes the players move faster while playing a Mario Party board.
+
+$Game Mechanics - Increased Orb Throwing Speed
+041E3110 38030002
+*This cheat makes orbs appear to be thrown faster.
+
+$Game Mechanics - Increased Taunt Capabilities
+04235abc 60000000
+04235b0c 60000000
+04235b90 60000000
+*This cheat makes it so you can taunt during your turn.
+
+$Game Mechanics - Mic Minigames Have A 10% Chance Of Appearing Instead Of 20%
+042F7A04 41200000
+*This cheat makes it so you see less Mic Minigames and see more standard minigames.
+
+$Game Mechanics - Microphone Always Off
+04098fc4 3800002c
+04098fc8 980317e6
+04098fcc 38600000
+*This cheat makes the microphone game setting stay off while playing Mario Party 7.
+
+$Game Mechanics - Orbs Can Only Be Placed On Your Current Space
+041E7128 60000000
+*This cheat makes it so Orbs are most balanced. To be fair a human cannot throw that far.
+
+$Game Mechanics - Replace "Nothing" Duel Result With "Half Coins"
+c21d8ed0 00000003
+2c030003 40820008
+38600001 7c711b78
+60000000 00000000
+*This cheat makes it so duels don't end in a dud.
+
+$Game Mechanics - Slow 'Shroom Orb Rolls 1-5
+0418ccc8 38000005
+0418d1ac 40820020
+*This cheat makes this orb a little more balanced.
+
+$Miscellaneous - Replace Daisy with Koopa Kid
+057FAFE4 4BEBD7A8
+057FAFE8 001BB312
+057FAFF0 4C191720
+057FAFF4 00039C5A
+057FAFFC 4C1CB37C
+057FB000 0001D5AE
+057FB008 4C1E892C
+057FB00C 0001BCD2
+057FB014 4C204600
+057FB018 00012E20
+057FB020 4C217420
+057FB024 0000D456
+057FB02C 4C224878
+057FB030 00052266
+*This cheat safely swaps Daisy's Model with Koopa Kid's. This cheat makes Koopa Kid a playable character.
+
+$Miscellaneous - Instant Text Display
+04050A70 38800000
+*This cheat makes it so text is displayed instantly.
+
+$Miscellaneous - Show Controller Port Number of Who Paused in Mini-Games
+C2047400 00000002
+807F0050 906D0000
+38600000 00000000
+C20402FC 0000000C
+3860012C 3880000A
+38A0002D 38C00028
+38E000FF 90ED0004
+38ED0004 3D008000
+6108CA28 7D0903A6
+4E800421 3860012C
+3880000A 3CA08025
+38A548EF 80CD0000
+38C60001 C0228388
+3CE08000 60E7C8CC
+7CE903A6 4E800421
+57A0083C 00000000
+*This cheat will display a number on the pause screen of a minigame to see which port paused it.
+
+$Miscellaneous - Widescreen
+200018A8 9421FF58
+C60A07E0 800018A8
+E2000001 80008000
+200010A8 9421FF58
+C60A07E0 800010A8
+E2000001 80008000
+041555C4 C3A30000
+041794DC 60000000
+040189C4 38600001
+C20A7948 00000003
+93E10024 3FE03FAB
+93E30000 C0A30000
+EFA50772 00000000
+C20A76C0 00000003
+3FE03FAB 93E30000
+C0030000 EF6000B2
+60000000 00000000
+042F3E30 44555555
+042F3ED0 44400000
+0404EF48 C0828110
+04177F94 C0828110
+C20BD108 00000004
+A8830000 2C043B2A
+4082000C 3C80BF40
+9083000C C003000C
+60000000 00000000
+204DFA10 38800100
+C24DF9F8 00000006
+3C803FAB 9081FFFC
+C021FFFC C04280C0
+3C808001 608409A0
+7C8903A6 4E800421
+3C804295 9081FFFC
+C021FFFC 00000000
+E2000001 80008000
+204E5ABC 3800FFFF
+C24E5A9C 00000002
+3C803F2B 9081FFFC
+C021FFFC 00000000
+044E7318 C1955555
+E2000001 80008000
+204DF4D8 38040040
+C24DF4B0 00000005
+EC200828 3CA03FAB
+90A100B4 C04100B4
+EC220072 3CA0C2C0
+90A100B4 C04100B4
+EC22082A 00000000
+C24DF510 00000002
+3C803F99 9081FFFC
+C021FFFC 00000000
+E2000001 80008000
+204E7360 43300000
+C24DE590 00000006
+3C803FAB 9081FFFC
+C021FFFC C04280C0
+3C808001 608409A0
+7C8903A6 4E800421
+3C80C2D0 9081FFFC
+C021FFFC 00000000
+044E735C C1180000
+C24E1F20 00000003
+3C60C2C0 9061000C
+C021000C EC3D082A
+D3A10008 00000000
+044E73F0 41000000
+C24E1E0C 00000003
+3C60C2C0 9061000C
+C021000C EC3F082A
+D3E10008 00000000
+E2000001 80008000
+C204DFFC 00000008
+3C80804D 6084E634
+80A10064 7C042800
+40820024 3C803FAB
+9081FFFC C021FFFC
+C04280C0 3C808001
+608409A0 7C8903A6
+4E800421 C03F0078
+60000000 00000000
+0401187C 60000000
+C21949C0 00000005
+C03F0014 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C21937C8 00000005
+C0210008 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C2194320 00000005
+C03F0014 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+204EA934 FC20F890
+C24EA924 00000005
+C3FF0004 3C803FAB
+9081FFFC C041FFFC
+EFE207F2 3C80C2C0
+9081FFFC C041FFFC
+EFE2F82A 00000000
+C24EAB40 00000005
+C03F0010 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+E2000001 80008000
+C2046A88 00000005
+C03F0008 3C803FAB
+9081FFFC C041FFFC
+EC220072 3C80C2C0
+9081FFFC C041FFFC
+EC22082A 00000000
+C216E5F4 00000005
+C0210008 3C603FAB
+9061001C C041001C
+EC220072 3C60C2C0
+9061001C C041001C
+EC22082A 00000000
+C22179E4 00000003
+808100DC 1C840004
+38A00003 7C842FD6
+3884FF96 00000000
+*This cheat makes the game appear in widescreen.
diff --git a/Data/Sys/GameSettings/GR6.ini b/Data/Sys/GameSettings/GR6.ini
new file mode 100644
index 000000000000..24f94b53c7cc
--- /dev/null
+++ b/Data/Sys/GameSettings/GR6.ini
@@ -0,0 +1,19 @@
+# GR6P78, GR6E78, GR6D78, GR6F78 - Bratz: Rock Angelz
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/GREJ08.ini b/Data/Sys/GameSettings/GREJ08.ini
new file mode 100644
index 000000000000..fefc59063f1b
--- /dev/null
+++ b/Data/Sys/GameSettings/GREJ08.ini
@@ -0,0 +1,5 @@
+# GREJ08 - Rockman EXE Transmission
+
+[Video_Settings]
+# Fixes mangled font
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/GT3.ini b/Data/Sys/GameSettings/GT3.ini
index 7f580731edf4..a8b7488f0e48 100644
--- a/Data/Sys/GameSettings/GT3.ini
+++ b/Data/Sys/GameSettings/GT3.ini
@@ -2,6 +2,7 @@
[Core]
# Values set here will override the main Dolphin settings.
+CPUThread = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
diff --git a/Data/Sys/GameSettings/GV4E69.ini b/Data/Sys/GameSettings/GV4E69.ini
new file mode 100644
index 000000000000..c5bd832acba4
--- /dev/null
+++ b/Data/Sys/GameSettings/GV4E69.ini
@@ -0,0 +1,5 @@
+# GV4E69 - MVP Baseball 2005
+
+[OnFrame]
+$Fix 2D Rendering
+0x80319214:dword:0x48113250
diff --git a/Data/Sys/GameSettings/GVPE69.ini b/Data/Sys/GameSettings/GVPE69.ini
new file mode 100644
index 000000000000..d9b5cb4f4acc
--- /dev/null
+++ b/Data/Sys/GameSettings/GVPE69.ini
@@ -0,0 +1,5 @@
+# GVPE69 - MVP Baseball 2004
+
+[OnFrame]
+$Fix 2D Rendering
+0x803C92D4:dword:0x480DA8E4
diff --git a/Data/Sys/GameSettings/GWT.ini b/Data/Sys/GameSettings/GWT.ini
index 4d3a46b2e829..422b26e6dd9b 100644
--- a/Data/Sys/GameSettings/GWT.ini
+++ b/Data/Sys/GameSettings/GWT.ini
@@ -5,6 +5,7 @@
# This game does not work properly with large memorycards, use a 251 block card
# see https://www.nintendo.com/consumer/memorycard1019.jsp
MemoryCard251 = True
+CPUThread = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
diff --git a/Data/Sys/GameSettings/GXXE01.ini b/Data/Sys/GameSettings/GXXE01.ini
new file mode 100644
index 000000000000..fa16f3d897b5
--- /dev/null
+++ b/Data/Sys/GameSettings/GXXE01.ini
@@ -0,0 +1,7 @@
+# GXXE01 - Pokémon XD: Gale of Darkness
+
+[OnFrame]
+# Very similar to Pokémon Colosseum's save check, see those files for details.
+$Allow Memory Card saving with Savestates
+0x801cc304:dword:0x90e5002c
+0x801cc4b0:dword:0x60000000
diff --git a/Data/Sys/GameSettings/GXXJ01.ini b/Data/Sys/GameSettings/GXXJ01.ini
new file mode 100644
index 000000000000..a03a774a0d81
--- /dev/null
+++ b/Data/Sys/GameSettings/GXXJ01.ini
@@ -0,0 +1,7 @@
+# GXXJ01 - ポケモンXD 闇の旋風ダーク・ルギア
+
+[OnFrame]
+# Very similar to Pokémon Colosseum's save check, see those files for details.
+$Allow Memory Card saving with Savestates
+0x801c7984:dword:0x90e5002c
+0x801c7b30:dword:0x60000000
diff --git a/Data/Sys/GameSettings/GXXP01.ini b/Data/Sys/GameSettings/GXXP01.ini
new file mode 100644
index 000000000000..837c59c3e446
--- /dev/null
+++ b/Data/Sys/GameSettings/GXXP01.ini
@@ -0,0 +1,7 @@
+# GXXP01 - Pokémon XD: Gale of Darkness
+
+[OnFrame]
+# Very similar to Pokémon Colosseum's save check, see those files for details.
+$Allow Memory Card saving with Savestates
+0x801cd764:dword:0x90e5002c
+0x801cd910:dword:0x60000000
diff --git a/Data/Sys/GameSettings/GYA.ini b/Data/Sys/GameSettings/GYA.ini
new file mode 100644
index 000000000000..a1831d952cb3
--- /dev/null
+++ b/Data/Sys/GameSettings/GYA.ini
@@ -0,0 +1,16 @@
+# GYAP78, GYAD78, GYAE78, GYAX78 - Barnyard (GC)
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/HA9.ini b/Data/Sys/GameSettings/HA9.ini
index 9c00d7516d57..18596f258a7d 100644
--- a/Data/Sys/GameSettings/HA9.ini
+++ b/Data/Sys/GameSettings/HA9.ini
@@ -1,4 +1,4 @@
-# HA8xxx - Super Mario Bros. (Brawl VC)
+# HA9xxx - Super Mario Bros. (Brawl VC)
[Core]
# Values set here will override the main Dolphin settings.
diff --git a/Data/Sys/GameSettings/HAC.ini b/Data/Sys/GameSettings/HAC.ini
index 9cd347d7a7a1..8ffee84518e1 100644
--- a/Data/Sys/GameSettings/HAC.ini
+++ b/Data/Sys/GameSettings/HAC.ini
@@ -13,5 +13,5 @@
# Add action replay cheats here.
[Video_Settings]
-SafeTextureCacheColorSamples = 512
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/HAG.ini b/Data/Sys/GameSettings/HAG.ini
new file mode 100644
index 000000000000..d81b15de1df7
--- /dev/null
+++ b/Data/Sys/GameSettings/HAG.ini
@@ -0,0 +1,5 @@
+# HAGP01, HAGA01, HAGJ01, HAGE01 - News Channel
+
+[Video_Hacks]
+# Needed to correctly render loading screen
+XFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/HC2.ini b/Data/Sys/GameSettings/HC2.ini
new file mode 100644
index 000000000000..6aaaf7b9a08f
--- /dev/null
+++ b/Data/Sys/GameSettings/HC2.ini
@@ -0,0 +1,4 @@
+# HC2DAX - Watchever Channel
+
+[Core]
+MMU = True
diff --git a/Data/Sys/GameSettings/HC4.ini b/Data/Sys/GameSettings/HC4.ini
new file mode 100644
index 000000000000..b7a5d42428fb
--- /dev/null
+++ b/Data/Sys/GameSettings/HC4.ini
@@ -0,0 +1,14 @@
+# HC4E9Z, HC4P9Z - Crunchyroll Channel
+
+[Core]
+# Values set here will override the main Dolphin settings.
+MMU = True
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/JAP.ini b/Data/Sys/GameSettings/JAP.ini
new file mode 100644
index 000000000000..cb0a0e6b83b3
--- /dev/null
+++ b/Data/Sys/GameSettings/JAP.ini
@@ -0,0 +1,5 @@
+# JAPJ01 - Fire Emblem: Seisen no Keifu
+
+[Video_Hacks]
+# Fixes black screen.
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/JB6.ini b/Data/Sys/GameSettings/JB6.ini
new file mode 100644
index 000000000000..f0040b14a0c0
--- /dev/null
+++ b/Data/Sys/GameSettings/JB6.ini
@@ -0,0 +1,5 @@
+# JB6J01 - Treasure Hunter G
+
+[Video_Hacks]
+# Fixes black screen.
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/JBH.ini b/Data/Sys/GameSettings/JBH.ini
new file mode 100644
index 000000000000..0723d71bf6de
--- /dev/null
+++ b/Data/Sys/GameSettings/JBH.ini
@@ -0,0 +1,5 @@
+# JBHJ01 - Heracles no Eikō IV: Kamigami-kara no Okurimono
+
+[Video_Hacks]
+# Fixes black screen.
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/JBO.ini b/Data/Sys/GameSettings/JBO.ini
new file mode 100644
index 000000000000..e172f8ef0933
--- /dev/null
+++ b/Data/Sys/GameSettings/JBO.ini
@@ -0,0 +1,5 @@
+# JBOJ01, JBOQ01 - Panel de Pon
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
diff --git a/Data/Sys/GameSettings/JC6.ini b/Data/Sys/GameSettings/JC6.ini
new file mode 100644
index 000000000000..e01302df6f50
--- /dev/null
+++ b/Data/Sys/GameSettings/JC6.ini
@@ -0,0 +1,5 @@
+# JC6J01 - Romancing SaGa 2
+
+[Video_Hacks]
+# Fixes black screen.
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/JC9.ini b/Data/Sys/GameSettings/JC9.ini
new file mode 100644
index 000000000000..1a12a9e5de62
--- /dev/null
+++ b/Data/Sys/GameSettings/JC9.ini
@@ -0,0 +1,5 @@
+# JC9J01 - Final Fantasy V
+
+[Video_Hacks]
+# Fixes black screen.
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/JCE.ini b/Data/Sys/GameSettings/JCE.ini
new file mode 100644
index 000000000000..29a560839c54
--- /dev/null
+++ b/Data/Sys/GameSettings/JCE.ini
@@ -0,0 +1,5 @@
+# JCEJ01 - Fire Emblem: Thracia 776
+
+[Video_Hacks]
+# Fixes black screen.
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/LAD.ini b/Data/Sys/GameSettings/LAD.ini
new file mode 100644
index 000000000000..315051140a05
--- /dev/null
+++ b/Data/Sys/GameSettings/LAD.ini
@@ -0,0 +1,6 @@
+# LADP8P, LADJ8P, LADE8P - Phantasy Star
+
+[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/LAF.ini b/Data/Sys/GameSettings/LAF.ini
new file mode 100644
index 000000000000..4b78485273c5
--- /dev/null
+++ b/Data/Sys/GameSettings/LAF.ini
@@ -0,0 +1,6 @@
+# LAFP8P, LAFN8P, LAFJ8P - Rambo: First Blood Part II
+
+[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/LAK.ini b/Data/Sys/GameSettings/LAK.ini
new file mode 100644
index 000000000000..35488a56d45d
--- /dev/null
+++ b/Data/Sys/GameSettings/LAK.ini
@@ -0,0 +1,6 @@
+# LAKP8P, LAKJ8P, LAKE8P - Wonder Boy in Monster Land
+
+[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/LAL.ini b/Data/Sys/GameSettings/LAL.ini
new file mode 100644
index 000000000000..38ac8e87c929
--- /dev/null
+++ b/Data/Sys/GameSettings/LAL.ini
@@ -0,0 +1,6 @@
+# LALP8P, LALJ8P, LALE8P - Fantasy Zone II: The Tears of Opa-Opa
+
+[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/LAO.ini b/Data/Sys/GameSettings/LAO.ini
new file mode 100644
index 000000000000..ab8e956abc3a
--- /dev/null
+++ b/Data/Sys/GameSettings/LAO.ini
@@ -0,0 +1,6 @@
+# LAOP8P, LAOE8P, LAOJ8P - R-Type
+
+[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/LAP.ini b/Data/Sys/GameSettings/LAP.ini
new file mode 100644
index 000000000000..986060e1d63d
--- /dev/null
+++ b/Data/Sys/GameSettings/LAP.ini
@@ -0,0 +1,6 @@
+# LAPP8P, LAPE8P Wonder Boy III: The Dragon's Trap
+
+[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/MB3.ini b/Data/Sys/GameSettings/MB3.ini
index 21bf1665b83f..a0a18b49c246 100644
--- a/Data/Sys/GameSettings/MB3.ini
+++ b/Data/Sys/GameSettings/MB3.ini
@@ -1,6 +1,6 @@
-# MB3E8P - Monster World IV
-
-[Video_Settings]
+# MB3L8P, MB3J8P, MB3E8P - Monster World IV
[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/MB9.ini b/Data/Sys/GameSettings/MB9.ini
new file mode 100644
index 000000000000..b525f0c33cba
--- /dev/null
+++ b/Data/Sys/GameSettings/MB9.ini
@@ -0,0 +1,6 @@
+# MB9J8P - Pepenga Pengo
+
+[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/MBA.ini b/Data/Sys/GameSettings/MBA.ini
index 0e2cf17b8c44..8c7cfa9ccf2f 100644
--- a/Data/Sys/GameSettings/MBA.ini
+++ b/Data/Sys/GameSettings/MBA.ini
@@ -1,6 +1,8 @@
-# MBAN8P - Pulseman
+# MBAN8P, MBAJ8P, MBAL8P - Pulseman
-[Video_Settings]
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
[Video_Hacks]
ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/MCT.ini b/Data/Sys/GameSettings/MCT.ini
new file mode 100644
index 000000000000..c461ac16c9ed
--- /dev/null
+++ b/Data/Sys/GameSettings/MCT.ini
@@ -0,0 +1,6 @@
+# MCTE8P, MCTP8P - ClayFighter
+
+[Video_Hacks]
+# Fixes purple screen.
+XFBToTextureEnable = False
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/MCV.ini b/Data/Sys/GameSettings/MCV.ini
index 4797ed3c6351..e0804cbca5fd 100644
--- a/Data/Sys/GameSettings/MCV.ini
+++ b/Data/Sys/GameSettings/MCV.ini
@@ -1,6 +1,8 @@
-# MCVE8P - Pitfall
+# MCVP8P, MCVJ8P, MCVE8P - Pitfall: The Mayan Adventure
-[Video_Settings]
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
[Video_Hacks]
ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/MCY.ini b/Data/Sys/GameSettings/MCY.ini
index 272290b05b78..97a6116b567b 100644
--- a/Data/Sys/GameSettings/MCY.ini
+++ b/Data/Sys/GameSettings/MCY.ini
@@ -1,6 +1,8 @@
-# MCYE8P - Revenge of Shinobi
+# MCYE8P, MCYJ8P, MCYP8P - Revenge of Shinobi
-[Video_Settings]
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
[Video_Hacks]
ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/NAK.ini b/Data/Sys/GameSettings/NAK.ini
index 0084763bd6f5..911330e8434f 100644
--- a/Data/Sys/GameSettings/NAK.ini
+++ b/Data/Sys/GameSettings/NAK.ini
@@ -14,3 +14,7 @@
[Video_Hacks]
EFBToTextureEnable = False
+
+[Video_Settings]
+# Breaks photo appraisal
+MSAA = 1
diff --git a/Data/Sys/GameSettings/NAL.ini b/Data/Sys/GameSettings/NAL.ini
index 459ee44e1361..b902a4ae315c 100644
--- a/Data/Sys/GameSettings/NAL.ini
+++ b/Data/Sys/GameSettings/NAL.ini
@@ -14,3 +14,10 @@
[Video_Stereoscopy]
StereoConvergence = 5000
+
+[Video_Settings]
+# This game creates a large number of EFB copies at different addresses, resulting
+# in a large texture cache which takes considerable time to save.
+SaveTextureCacheToState = False
+# This game crashes very soon after boot if above 1x IR
+InternalResolution = 1
diff --git a/Data/Sys/GameSettings/NAT.ini b/Data/Sys/GameSettings/NAT.ini
new file mode 100644
index 000000000000..bcb8cfd6027e
--- /dev/null
+++ b/Data/Sys/GameSettings/NAT.ini
@@ -0,0 +1,20 @@
+# NATJ01, NATP01, NATE01 - Mario Tennis (Virtual Console)
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+# This game creates a large number of EFB copies at different addresses, resulting
+# in a large texture cache which takes considerable time to save.
+SaveTextureCacheToState = False
+# This game crashes very soon after boot if above 1x IR
+InternalResolution = 1
diff --git a/Data/Sys/GameSettings/R3M.ini b/Data/Sys/GameSettings/R3M.ini
index 47550c47f720..4669fc3eb17f 100644
--- a/Data/Sys/GameSettings/R3M.ini
+++ b/Data/Sys/GameSettings/R3M.ini
@@ -15,3 +15,5 @@
[Video_Hacks]
EFBToTextureEnable = False
ImmediateXFBEnable = False
+XFBToTextureEnable = False
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/R3S.ini b/Data/Sys/GameSettings/R3S.ini
new file mode 100644
index 000000000000..e0dd3a04c927
--- /dev/null
+++ b/Data/Sys/GameSettings/R3S.ini
@@ -0,0 +1,5 @@
+# R3SP52, R3SE52 - Spider-Man: Web of Shadows
+
+[Video_Enhancements]
+# FMVs get messed up if this is on
+ForceFiltering = False
diff --git a/Data/Sys/GameSettings/R5P.ini b/Data/Sys/GameSettings/R5P.ini
new file mode 100644
index 000000000000..d19992437ed7
--- /dev/null
+++ b/Data/Sys/GameSettings/R5P.ini
@@ -0,0 +1,14 @@
+# R5PJ13, R5PX69, R5PE69, R5PP69 - Harry Potter and The Order of The Phoenix
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/R6B.ini b/Data/Sys/GameSettings/R6B.ini
index 814b65454a45..61dfb94edd60 100644
--- a/Data/Sys/GameSettings/R6B.ini
+++ b/Data/Sys/GameSettings/R6B.ini
@@ -17,4 +17,4 @@ ForceFiltering = False
[Video_Hacks]
EFBToTextureEnable = False
-
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/R6C.INI b/Data/Sys/GameSettings/R6C.INI
new file mode 100644
index 000000000000..d9ae352dfa61
--- /dev/null
+++ b/Data/Sys/GameSettings/R6C.INI
@@ -0,0 +1,18 @@
+# R6CEAF, R6CJAF - We Cheer 2
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Enhancements]
+
+[Video_Hacks]
+DeferEFBCopies = False
\ No newline at end of file
diff --git a/Data/Sys/GameSettings/R8P.ini b/Data/Sys/GameSettings/R8P.ini
index 94f107f58dd5..db015bfd1bc1 100644
--- a/Data/Sys/GameSettings/R8P.ini
+++ b/Data/Sys/GameSettings/R8P.ini
@@ -15,3 +15,5 @@
[Video_Hacks]
EFBToTextureEnable = False
BBoxEnable = True
+ImmediateXFBEnable = False
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/R9I.ini b/Data/Sys/GameSettings/R9I.ini
index 8707249b34ee..363616ce687a 100644
--- a/Data/Sys/GameSettings/R9I.ini
+++ b/Data/Sys/GameSettings/R9I.ini
@@ -13,4 +13,8 @@
# Add action replay cheats here.
[Video_Hacks]
-EFBAccessEnable = True
\ No newline at end of file
+EFBAccessEnable = True
+
+[Video_Settings]
+# Breaks camera angles
+MSAA = 1
diff --git a/Data/Sys/GameSettings/RBK.ini b/Data/Sys/GameSettings/RBK.ini
index 3fb30e2eb946..f94dda699711 100644
--- a/Data/Sys/GameSettings/RBK.ini
+++ b/Data/Sys/GameSettings/RBK.ini
@@ -14,13 +14,3 @@
[Video_Settings]
# Add any video settings here
-
-[Wiimote.Shake]
-Soft = 3.0
-Medium = 4.0
-Hard = 4.8
-
-[Wiimote.Swing]
-Slow = 3.5
-Medium = 4.8
-Fast = 6
\ No newline at end of file
diff --git a/Data/Sys/GameSettings/RBY.ini b/Data/Sys/GameSettings/RBY.ini
new file mode 100644
index 000000000000..de39d1c31023
--- /dev/null
+++ b/Data/Sys/GameSettings/RBY.ini
@@ -0,0 +1,16 @@
+# RBYP78, RBYJ78, RBYE78 - Barnyard (Wii)
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/RCH.ini b/Data/Sys/GameSettings/RCH.ini
new file mode 100644
index 000000000000..1e03afd7313e
--- /dev/null
+++ b/Data/Sys/GameSettings/RCH.ini
@@ -0,0 +1,19 @@
+# RCHEAF, RCHPGT, RCHJAF - We Cheer
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Enhancements]
+# Add graphics enhancements here.
+
+[Video_Hacks]
+DeferEFBCopies = False
\ No newline at end of file
diff --git a/Data/Sys/GameSettings/RCV.ini b/Data/Sys/GameSettings/RCV.ini
new file mode 100644
index 000000000000..051c708460e4
--- /dev/null
+++ b/Data/Sys/GameSettings/RCV.ini
@@ -0,0 +1,5 @@
+# RCVP41, RCVE41 - Far Cry Vengeance
+
+[Video_Settings]
+# Fixes intro FMV
+SafeTextureCacheColorSamples = 512
diff --git a/Data/Sys/GameSettings/RDF.ini b/Data/Sys/GameSettings/RDF.ini
index 78b505add053..2fd071237f52 100644
--- a/Data/Sys/GameSettings/RDF.ini
+++ b/Data/Sys/GameSettings/RDF.ini
@@ -14,3 +14,4 @@
[Video_Hacks]
EFBToTextureEnable = False
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/RDZ.ini b/Data/Sys/GameSettings/RDZ.ini
new file mode 100644
index 000000000000..7454d1784a5d
--- /dev/null
+++ b/Data/Sys/GameSettings/RDZ.ini
@@ -0,0 +1,14 @@
+# RDZJ01, RDZE01, RDZP01 - Disaster: Day of Crisis
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/REF.ini b/Data/Sys/GameSettings/REF.ini
index aed571de7ef4..d885227071ef 100644
--- a/Data/Sys/GameSettings/REF.ini
+++ b/Data/Sys/GameSettings/REF.ini
@@ -1,4 +1,5 @@
# REFP41 - My French Coach: Improve Your French
[Video_Settings]
+SafeTextureCacheColorSamples = 0
SuggestedAspectRatio = 2
diff --git a/Data/Sys/GameSettings/RES.ini b/Data/Sys/GameSettings/RES.ini
index e297cc2ce446..3f5b96db8c69 100644
--- a/Data/Sys/GameSettings/RES.ini
+++ b/Data/Sys/GameSettings/RES.ini
@@ -1,4 +1,5 @@
# RESP41 - My Spanish Coach: Improve Your Spanish
[Video_Settings]
+SafeTextureCacheColorSamples = 0
SuggestedAspectRatio = 2
diff --git a/Data/Sys/GameSettings/RFN.ini b/Data/Sys/GameSettings/RFN.ini
new file mode 100644
index 000000000000..bafd5629c2e7
--- /dev/null
+++ b/Data/Sys/GameSettings/RFN.ini
@@ -0,0 +1,7 @@
+# RFNP01, RFNJ01, RFNW01, RFNE01, RFNK01 - Wii Fit and Wii Fit Channel
+
+[Video_Hacks]
+# The Wii Fit Channel shows Mii faces and a graph; however, EFBToTextureEnable must be disabled for this to work.
+# Since both the channel and the main game update these images, it must be disabled for both. (They both have the same GameID, though.)
+# However, this has a performance impact, so if the Wii Fit Channel is not going to be used, this does not need to be disabled.
+#EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/RFP.ini b/Data/Sys/GameSettings/RFP.ini
new file mode 100644
index 000000000000..93aea8f12c98
--- /dev/null
+++ b/Data/Sys/GameSettings/RFP.ini
@@ -0,0 +1,7 @@
+# RFPE01, RFPJ01, RFPR01, RFPP01, RFPK01, RFPW01 - Wii Fit Plus and Wii Fit Plus Channel
+
+[Video_Hacks]
+# The Wii Fit Plus Channel shows Mii faces and a graph; however, EFBToTextureEnable must be disabled for this to work.
+# Since both the channel and the main game update these images, it must be disabled for both. (They both have the same GameID, though.)
+# However, this has a performance impact, so if the Wii Fit Channel is not going to be used, this does not need to be disabled.
+#EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/RH6.ini b/Data/Sys/GameSettings/RH6.ini
new file mode 100644
index 000000000000..1d943bdbc3d9
--- /dev/null
+++ b/Data/Sys/GameSettings/RH6.ini
@@ -0,0 +1,14 @@
+# RH6E69, RH6P69, RH6K69 - Harry Potter and The Half-Blood Prince
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/RHA.ini b/Data/Sys/GameSettings/RHA.ini
new file mode 100644
index 000000000000..bd1986c780a9
--- /dev/null
+++ b/Data/Sys/GameSettings/RHA.ini
@@ -0,0 +1,14 @@
+# RHAW01, RHAJ01, RHAE01, RHAK01, RHAP01 - Wii Play
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/RHO.ini b/Data/Sys/GameSettings/RHO.ini
index f85fa248d96b..f3c3cc4da70a 100644
--- a/Data/Sys/GameSettings/RHO.ini
+++ b/Data/Sys/GameSettings/RHO.ini
@@ -1,9 +1,16 @@
# RHOE8P, RHOJ8P, RHOP8P - House Of The Dead: OVERKILL
[Core]
# Values set here will override the main Dolphin settings.
+CPUThread = False
+
[OnLoad]
# Add memory patches to be loaded once on boot here.
+
[OnFrame]
+# Add memory patches to be applied every frame here.
+
[ActionReplay]
+# Add action replay cheats here.
+
[Video_Hacks]
EFBEmulateFormatChanges = True
diff --git a/Data/Sys/GameSettings/RM8E01.ini b/Data/Sys/GameSettings/RM8E01.ini
new file mode 100644
index 000000000000..6c490ab66373
--- /dev/null
+++ b/Data/Sys/GameSettings/RM8E01.ini
@@ -0,0 +1,690 @@
+# RM8E01 - Mario Party 8
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[Gecko]
+$Netplay Community Settings
+282287CC 00000032
+022287CC 0000003A
+E2000001 80008000
+48000000 800030c8
+de000000 80008180
+300a14c4 4081ff48
+140a14bc 3b9c0002
+140a1714 3bbd0002
+140a18f0 3bbd0002
+140a0f04 3bde0002
+140a10dc 3b9c0002
+1415dce4 3b5a0002
+1415ddd4 3b9c0002
+1415d3b4 3b9c0002
+14164c0c 3b5a0002
+14164d0c 3b390002
+14164d98 3b9c0002
+14149a18 3b9c0002
+14151914 3bbd0002
+1415b7c4 3b9c0002
+14155c00 38030002
+14155a60 38030002
+1416171c 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+3009eef8 4081ff48
+1409eef0 3b9c0002
+1409f148 3bbd0002
+1409f324 3bbd0002
+1409e938 3bde0002
+1409eb10 3b9c0002
+1415b6a8 3b5a0002
+1415b798 3b9c0002
+1415ad98 3b9c0002
+141625d0 3b5a0002
+141626d0 3b390002
+1416275c 3b9c0002
+141473dc 3b9c0002
+1414f2d8 3bbd0002
+14159188 3b9c0002
+141535c4 38030002
+14153424 38030002
+1415f0e0 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+300a482c 4081ff48
+140a4824 3b9c0002
+140a4a7c 3bbd0002
+140a4c58 3bbd0002
+140a426c 3bde0002
+140a4444 3b9c0002
+14160aa0 3b5a0002
+14160b90 3b9c0002
+14160170 3b9c0002
+141679c8 3b5a0002
+14167ac8 3b390002
+14167b54 3b9c0002
+1414c7d4 3b9c0002
+141546d0 3bbd0002
+1415e580 3b9c0002
+141589bc 38030002
+1415881c 38030002
+141644d8 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+300c3f70 4081ff48
+140c3f68 3b9c0002
+140c41c0 3bbd0002
+140c439c 3bbd0002
+140c39b0 3bde0002
+140c3b88 3b9c0002
+141800d0 3b5a0002
+141801c0 3b9c0002
+1417f7a0 3b9c0002
+14186ff8 3b5a0002
+141870f8 3b390002
+14187184 3b9c0002
+1416be04 3b9c0002
+14173d00 3bbd0002
+1417dbb0 3b9c0002
+14177fec 38030002
+14177e4c 38030002
+14183b08 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+300a7b64 4081ff48
+140a7b5c 3b9c0002
+140a7db4 3bbd0002
+140a7f90 3bbd0002
+140a75a4 3bde0002
+140a777c 3b9c0002
+14164428 3b5a0002
+14164518 3b9c0002
+14163af8 3b9c0002
+1416b350 3b5a0002
+1416b450 3b390002
+1416b4dc 3b9c0002
+1415015c 3b9c0002
+14158058 3bbd0002
+14161f08 3b9c0002
+1415c344 38030002
+1415c1a4 38030002
+14167e60 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+3009ca80 4081ff48
+1409ca78 3b9c0002
+1409ccd0 3bbd0002
+1409ceac 3bbd0002
+1409c4c0 3bde0002
+1409c698 3b9c0002
+141592cc 3b5a0002
+141593bc 3b9c0002
+1415899c 3b9c0002
+141601f4 3b5a0002
+141602f4 3b390002
+14160380 3b9c0002
+14145000 3b9c0002
+1414cefc 3bbd0002
+14156dac 3b9c0002
+141511e8 38030002
+14151048 38030002
+1415cd04 3b9c0002
+e0000000 80008000
+48000000 800030C8
+DE000000 80008180
+300966F8 901F0010
+140966F0 60000000
+1409671C 60000000
+14096730 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30098C3C 901F0010
+14098C34 60000000
+14098C60 60000000
+14098C74 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+300BB770 901F0010
+140BB768 60000000
+140BB794 60000000
+140BB7A8 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3009F30C 901F0010
+1409F304 60000000
+1409F330 60000000
+1409F344 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+300941F8 901F0010
+140941F0 60000000
+1409421C 60000000
+14094230 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3009BFD4 901F0010
+1409BFCC 60000000
+1409BFF8 60000000
+1409C00C 60000000
+E0000000 80008000
+04106A24 83DE6404
+04106A28 60000000
+20744DE4 A003DE20
+04744DEC 60000000
+E2000001 80008000
+04045A78 3800FFFF
+04045468 3800FFFF
+*WARNING: This set of cheats is meant for Netplay only. This can 100% your save so make sure you make backups.
+*This Cheat includes
+*Game Mechanics - Increased Board Speed
+*Game Mechanics - Increased Taunt Capabilities
+*Miscellaneous - Instant Text Display
+*as well as some cheats to 100% the game. We wont tell you which ones they are because that ruins the fun of playing.
+*
+*These Cheats implement the use of the GC Mod for Mario Party 8. This makes Mario Party 8 run via an emulated GameCube controller not a GameCube controller configured for a WiiMote.
+*http://www.mariopartylegacy.com/forum/index.php?topic=16319.0
+
+$Netplay Force Player 1 to CPU
+48000000 800030c8
+de000000 80008180
+301a0218 4bffb149
+141a0204 48000030
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+301a96d4 4bffb149
+141a96c0 48000030
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+301c6194 4bffb149
+141c6180 48000030
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+301a4954 4bffb149
+141a4940 48000030
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+301a24e8 4bffb149
+141a24d4 48000030
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+301a6ba0 4bffb149
+141a6b8c 48000030
+e0000000 80008000
+*This cheat makes it so the player on port 1 will be turned into a computer. This can be useful for games when the player with port 1 drops.
+
+$Netplay Safe Kill Music
+042ce168 00000001
+0404d9fc 60000000
+*This cheat makes it so all in-game music will be turned off.
+*
+*This can safely be used in a Netplay game without desync.
+
+$Board - Goomba's Booty Boardwalk: Remove Dolphin Shuttles
+2057BC40 437F0000
+0457BC3C 42700000
+E2000001 80008000
+*This cheat makes Goomba's Booty Boardwalk a long teadious path.
+
+$Board - King Boo's Haunted Hideaway: Map Always Revealed
+042287BC FFFFFFFF
+*This cheat makes King Boo's Haunted Hideaway not that secret.
+
+$Game Mechanics - Cashzap Candy Steals Coins
+48000000 800030C8
+DE000000 80008180
+301020D8 80BF01A8
+D21020C4 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF1A14 B1EE0026
+907F01A8 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3010D220 80BF01A8
+D210D20C 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF1A14 B1EE0026
+907F01A8 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30128F9C 80BF01A8
+D2128F88 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF1A14 B1EE0026
+907F01A8 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30106B8C 80BF01A8
+D2106B78 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF1A14 B1EE0026
+907F01A8 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30104498 80BF01A8
+D2104484 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF1A14 B1EE0026
+907F01A8 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30109890 80BF01A8
+D210987C 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF1A14 B1EE0026
+907F01A8 00000000
+E0000000 80008000
+*This cheat makes the Cashzap Candy steal coins rather then destroying.
+
+$Game Mechanics - Disable Lucky Spaces
+48000000 800030C8
+DE000000 80008180
+3001BAEC 4E800020
+1401BAF0 4E800020
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30019F18 4E800020
+14019F1C 4E800020
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3003C990 4E800020
+1403C994 4E800020
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+300022E8 4E800020
+140022EC 4E800020
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30015870 4E800020
+14015874 4E800020
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30010778 4E800020
+1401077C 4E800020
+E0000000 80008000
+*This cheat disables the overpowered Lucky Spaces.
+
+$Game Mechanics - Force Mini-Game/Candy/Happening Bonus Stars
+48000000 800030C8
+DE000000 80008180
+30006CD4 4800005C
+14006C94 48000014
+E0000000 80008000
+*This cheat makes the Bonus Stars always the same.
+
+$Game Mechanics - Free Stars
+48000000 800030c8
+de000000 80008180
+30031f80 387f03f8
+14031e58 2c030000
+14031f7c 60000000
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+30010528 38600070
+14010524 60000000
+14010408 2c030000
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+3001e728 7c03e800
+1401e604 38600000
+e0000000 80008000
+*This cheat makes Stars cost nothing instead of the usual 20 coins.
+
+$Game Mechanics - Increased Board Speed
+48000000 800030c8
+de000000 80008180
+300a14c4 4081ff48
+140a14bc 3b9c0002
+140a1714 3bbd0002
+140a18f0 3bbd0002
+140a0f04 3bde0002
+140a10dc 3b9c0002
+1415dce4 3b5a0002
+1415ddd4 3b9c0002
+1415d3b4 3b9c0002
+14164c0c 3b5a0002
+14164d0c 3b390002
+14164d98 3b9c0002
+14149a18 3b9c0002
+14151914 3bbd0002
+1415b7c4 3b9c0002
+14155c00 38030002
+14155a60 38030002
+1416171c 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+3009eef8 4081ff48
+1409eef0 3b9c0002
+1409f148 3bbd0002
+1409f324 3bbd0002
+1409e938 3bde0002
+1409eb10 3b9c0002
+1415b6a8 3b5a0002
+1415b798 3b9c0002
+1415ad98 3b9c0002
+141625d0 3b5a0002
+141626d0 3b390002
+1416275c 3b9c0002
+141473dc 3b9c0002
+1414f2d8 3bbd0002
+14159188 3b9c0002
+141535c4 38030002
+14153424 38030002
+1415f0e0 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+300a482c 4081ff48
+140a4824 3b9c0002
+140a4a7c 3bbd0002
+140a4c58 3bbd0002
+140a426c 3bde0002
+140a4444 3b9c0002
+14160aa0 3b5a0002
+14160b90 3b9c0002
+14160170 3b9c0002
+141679c8 3b5a0002
+14167ac8 3b390002
+14167b54 3b9c0002
+1414c7d4 3b9c0002
+141546d0 3bbd0002
+1415e580 3b9c0002
+141589bc 38030002
+1415881c 38030002
+141644d8 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+300c3f70 4081ff48
+140c3f68 3b9c0002
+140c41c0 3bbd0002
+140c439c 3bbd0002
+140c39b0 3bde0002
+140c3b88 3b9c0002
+141800d0 3b5a0002
+141801c0 3b9c0002
+1417f7a0 3b9c0002
+14186ff8 3b5a0002
+141870f8 3b390002
+14187184 3b9c0002
+1416be04 3b9c0002
+14173d00 3bbd0002
+1417dbb0 3b9c0002
+14177fec 38030002
+14177e4c 38030002
+14183b08 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+300a7b64 4081ff48
+140a7b5c 3b9c0002
+140a7db4 3bbd0002
+140a7f90 3bbd0002
+140a75a4 3bde0002
+140a777c 3b9c0002
+14164428 3b5a0002
+14164518 3b9c0002
+14163af8 3b9c0002
+1416b350 3b5a0002
+1416b450 3b390002
+1416b4dc 3b9c0002
+1415015c 3b9c0002
+14158058 3bbd0002
+14161f08 3b9c0002
+1415c344 38030002
+1415c1a4 38030002
+14167e60 3b9c0002
+e0000000 80008000
+48000000 800030c8
+de000000 80008180
+3009ca80 4081ff48
+1409ca78 3b9c0002
+1409ccd0 3bbd0002
+1409ceac 3bbd0002
+1409c4c0 3bde0002
+1409c698 3b9c0002
+141592cc 3b5a0002
+141593bc 3b9c0002
+1415899c 3b9c0002
+141601f4 3b5a0002
+141602f4 3b390002
+14160380 3b9c0002
+14145000 3b9c0002
+1414cefc 3bbd0002
+14156dac 3b9c0002
+141511e8 38030002
+14151048 38030002
+1415cd04 3b9c0002
+e0000000 80008000
+*This cheat makes the players move faster while playing a Mario Party board.
+
+$Game Mechanics - Increased Taunt Capabilities
+48000000 800030C8
+DE000000 80008180
+300966F8 901F0010
+140966F0 60000000
+1409671C 60000000
+14096730 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30098C3C 901F0010
+14098C34 60000000
+14098C60 60000000
+14098C74 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+300BB770 901F0010
+140BB768 60000000
+140BB794 60000000
+140BB7A8 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3009F30C 901F0010
+1409F304 60000000
+1409F330 60000000
+1409F344 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+300941F8 901F0010
+140941F0 60000000
+1409421C 60000000
+14094230 60000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3009BFD4 901F0010
+1409BFCC 60000000
+1409BFF8 60000000
+1409C00C 60000000
+E0000000 80008000
+*This cheat makes it so you can taunt during your turn.
+
+$Game Mechanics - No 1 or 5 Coin Duel Rewards
+48000000 800030C8
+DE000000 80008180
+30170058 3800000A
+14170040 3800000A
+1417004C 3860000A
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30164EFC 3800000A
+14164EE4 3800000A
+14164EF0 3860000A
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3018BD00 3800000A
+1418BCE8 3800000A
+1418BCF4 3860000A
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+301672D8 3800000A
+141672C0 3800000A
+141672CC 3860000A
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30169914 3800000A
+141698FC 3800000A
+14169908 3860000A
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3016C6D0 3800000A
+1416C6B8 3800000A
+1416C6C4 3860000A
+E0000000 80008000
+*This cheat makes duels not steal very few coins.
+
+$Game Mechanics - Thwomp Candy Steals Coins
+48000000 800030C8
+DE000000 80008180
+30159750 408202E4
+D2159868 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF0214 B1EE0026
+901F0180 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+301648AC 408202E4
+D21649C4 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF0214 B1EE0026
+901F0180 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30180554 408202E4
+D218066C 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF0214 B1EE0026
+901F0180 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3015E168 408202E4
+D215E280 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF0214 B1EE0026
+901F0180 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+3015BB2C 408202E4
+D215BC44 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF0214 B1EE0026
+901F0180 00000000
+E0000000 80008000
+48000000 800030C8
+DE000000 80008180
+30160F24 408202E4
+D216103C 00000005
+3DC08023 89EE876A
+39CE82F8 1DEF0118
+7DCF7214 A1EE0026
+7DEF0214 B1EE0026
+901F0180 00000000
+E0000000 80008000
+*This cheat makes the Thwomp Candy Steals coins rather then Destroying
+
+$Minigame - Attention Grabber: Ship is 5000 Units Away
+48000000 800030C8
+DE000000 80008180
+300091D0 46A02800
+140091D4 459C4000
+E0000000 80008000
+*This cheat makes it so Attention Grabber is more balanced
+
+$Minigame - Lob to Rob: All Targets Worth 30 Points
+48000000 800030C8
+DE000000 80008180
+3000CBD4 80010008
+1400CBD4 3800001E
+E0000000 80008000
+*This cheat makes it so Lob to Rob is more balanced
+
+$Minigame - Rudder Madness: Double Rudder Speed
+48000000 800030c8
+de000000 80008180
+3000abdc 807e005c
+d200abd8 00000003
+3c604000 907f0060
+c3ff0060 ec1f0032
+efe1002a 00000000
+e0000000 80008000
+*This cheat makes it so Rudder Madness is more balanced
+
+$Minigame - Cosmic Slalom: Infinite Boosts
+48000000 800030C8
+DE000000 80008180
+30012D2C 2C000000
+14012D54 38030000
+E0000000 80008000
+*This cheat makes it so Cosmic Slalom is more balanced
+
+$Minigame - Surf's Way Up: All Targets Worth 100 Points
+48000000 800030C8
+DE000000 80008180
+3000B34C 881E0000
+1400B348 3BA00064
+E0000000 80008000
+*This cheat makes it so Surfs Way Up is more balanced
diff --git a/Data/Sys/GameSettings/RMH.ini b/Data/Sys/GameSettings/RMH.ini
index 52368e09e59d..4a79ae1ad5ae 100644
--- a/Data/Sys/GameSettings/RMH.ini
+++ b/Data/Sys/GameSettings/RMH.ini
@@ -12,9 +12,5 @@
[ActionReplay]
# Add action replay cheats here.
-[Video_Settings]
-
[Video_Hacks]
-EFBAccessEnable = False
-EFBToTextureEnable = False
ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/RMHE08.ini b/Data/Sys/GameSettings/RMHE08.ini
index 4e5fd02c12ca..4da564f560c4 100644
--- a/Data/Sys/GameSettings/RMHE08.ini
+++ b/Data/Sys/GameSettings/RMHE08.ini
@@ -6,8 +6,8 @@
[OnFrame]
# Add memory patches to be applied every frame here.
$Bloom OFF
-0x04056FF4:dword:0xC022FFE4
-0x0479DA84:dword:0x3F800000
+0x80056FF4:dword:0xC022FFE4
+0x8079DA84:dword:0x3F800000
[ActionReplay]
# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/RMHJ08.ini b/Data/Sys/GameSettings/RMHJ08.ini
index a9698545771f..ea9108648ee7 100644
--- a/Data/Sys/GameSettings/RMHJ08.ini
+++ b/Data/Sys/GameSettings/RMHJ08.ini
@@ -1,4 +1,4 @@
-# RMHJ08 - MONSTER HUNTER 3
+# RMHJ08 - Monster Hunter Tri
[OnLoad]
# Add memory patches to be loaded once on boot here.
@@ -12,6 +12,3 @@ $Bloom OFF
[ActionReplay]
# Add action replay cheats here.
-
-[Video_Settings]
-SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/RMHP08.ini b/Data/Sys/GameSettings/RMHP08.ini
index 248792da39ea..83850071ac16 100644
--- a/Data/Sys/GameSettings/RMHP08.ini
+++ b/Data/Sys/GameSettings/RMHP08.ini
@@ -6,8 +6,8 @@
[OnFrame]
# Add memory patches to be applied every frame here.
$Bloom OFF
-0x00057058:dword:0xC022FFE4
-0x0079FF44:dword:0x3F800000
+0x80057058:dword:0xC022FFE4
+0x8079FF44:dword:0x3F800000
[ActionReplay]
# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/RNB.ini b/Data/Sys/GameSettings/RNB.ini
new file mode 100644
index 000000000000..4278aaae32dd
--- /dev/null
+++ b/Data/Sys/GameSettings/RNB.ini
@@ -0,0 +1,17 @@
+# RNBE69, RNBP69, RNBX69 - NBA Live 08
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/RPY.ini b/Data/Sys/GameSettings/RPY.ini
index 66fb07f01bfc..696c1e206f0e 100644
--- a/Data/Sys/GameSettings/RPY.ini
+++ b/Data/Sys/GameSettings/RPY.ini
@@ -2,6 +2,7 @@
[Core]
# Values set here will override the main Dolphin settings.
+FPRF = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
diff --git a/Data/Sys/GameSettings/RST.ini b/Data/Sys/GameSettings/RST.ini
new file mode 100644
index 000000000000..3ab01532bdb5
--- /dev/null
+++ b/Data/Sys/GameSettings/RST.ini
@@ -0,0 +1,16 @@
+# RSTJ52, RSTP64, RSTE64 - Star Wars: The Force Unleashed
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/RT7.ini b/Data/Sys/GameSettings/RT7.ini
new file mode 100644
index 000000000000..5912c033cec9
--- /dev/null
+++ b/Data/Sys/GameSettings/RT7.ini
@@ -0,0 +1,4 @@
+# RT7E69, RT7F69, RT7P69 - Tiger Woods PGA Tour 07
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/RTB.ini b/Data/Sys/GameSettings/RTB.ini
index 3dd7fcc09061..ff6612ae7adf 100644
--- a/Data/Sys/GameSettings/RTB.ini
+++ b/Data/Sys/GameSettings/RTB.ini
@@ -1,4 +1,8 @@
# RTBE52, RTBP52 - Rapala Fishing Frenzy
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
[Video_Settings]
SuggestedAspectRatio = 2
diff --git a/Data/Sys/GameSettings/RTH.ini b/Data/Sys/GameSettings/RTH.ini
new file mode 100644
index 000000000000..b9fa18cc3f92
--- /dev/null
+++ b/Data/Sys/GameSettings/RTH.ini
@@ -0,0 +1,19 @@
+# RTHP52, RTHE52 - Tony Hawk's Downhill Jam
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
+
+[Video_Hacks]
+EFBAccessEnable = False
diff --git a/Data/Sys/GameSettings/RW7.ini b/Data/Sys/GameSettings/RW7.ini
new file mode 100644
index 000000000000..8c284e2dfe2f
--- /dev/null
+++ b/Data/Sys/GameSettings/RW7.ini
@@ -0,0 +1,17 @@
+# RW7E41 - Shaun White Snowboarding: Road Trip - Target Limited Edition
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+EFBToTextureEnable = False
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/RX4E4Z.ini b/Data/Sys/GameSettings/RX4E4Z.ini
index 007e8d255bf3..6a6e25ca91b1 100644
--- a/Data/Sys/GameSettings/RX4E4Z.ini
+++ b/Data/Sys/GameSettings/RX4E4Z.ini
@@ -1,4 +1,4 @@
-# Casper's Scare School: Spooky Sports Day (RX4E4Z)
+# RX4E4Z - Casper's Scare School: Spooky Sports Day
[OnFrame]
# Work around a dcache issue by preventing the game from doing something pointless.
@@ -17,7 +17,7 @@
# .text:800D2E6C mr r5, read_length # length
# .text:800D2E70 mr r6, read_offset # offset
# .text:800D2E74 addi r3, this, file.file_info # file_info
-# .text:800D2E78 addi r4, r4, dvd_read_buf@l # addr
+# .text:800D2E78 subi r4, r4, dvd_read_buf@l # addr
# .text:800D2E7C addi r7, r7, game_dvd_read_callback@l # callback
# .text:800D2E80 li r8, 2 # unknown
# .text:800D2E84 bl DVDReadAsync
diff --git a/Data/Sys/GameSettings/RX4PMT.ini b/Data/Sys/GameSettings/RX4PMT.ini
new file mode 100644
index 000000000000..c8ad7c3ff4fa
--- /dev/null
+++ b/Data/Sys/GameSettings/RX4PMT.ini
@@ -0,0 +1,26 @@
+# RX4PMT - Casper's Scare School: Spooky Sports Day
+
+[OnFrame]
+# Work around a dcache issue by preventing the game from doing something pointless.
+#
+# The game's DVD read function writes 0x87654321 to the entire read buffer and 0x12345678 to the
+# last 4 bytes. It then calls DVDReadAsync() and without waiting for the read to complete at all,
+# it checks if the last 4 bytes are still 0x12345678. If they are, then the game fails.
+#
+# The check always passes on console because DVDReadAsync() -> issueCommand() calls
+# DCInvalidateRange() (dcbi) on the read buffer.
+#
+# Dolphin cannot emulate this without an extremely significant performance hit.
+#
+# .text:80164B8C lis r7, game_dvd_read_callback@ha
+# .text:80164B90 stw r0, 0(r17) # write 0x12345678 to the end of the buffer
+# .text:80164B94 mr r5, read_length # length
+# .text:80164B98 mr r6, read_offset # offset
+# .text:80164B9C addi r3, this, file.file_info # file_info
+# .text:80164BA0 subi r4, r4, dvd_read_buf@l # addr
+# .text:80164BA4 addi r7, r7, game_dvd_read_callback@l # callback
+# .text:80164BA8 li r8, 2 # unknown
+# .text:80164BAC bl DVDReadAsync
+#
+$Fix file reads (dcache bypass)
+0x80164b90:dword:0x60000000
diff --git a/Data/Sys/GameSettings/RYB.ini b/Data/Sys/GameSettings/RYB.ini
index ad69b5567535..6f908435fedd 100644
--- a/Data/Sys/GameSettings/RYB.ini
+++ b/Data/Sys/GameSettings/RYB.ini
@@ -2,6 +2,7 @@
[Core]
# Values set here will override the main Dolphin settings.
+SyncGPU = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
@@ -14,13 +15,3 @@
[Video_Settings]
# Add any video settings here
-
-[Wiimote.Shake]
-Soft = 3.0
-Medium = 4.0
-Hard = 4.8
-
-[Wiimote.Swing]
-Slow = 3.5
-Medium = 4.8
-Fast = 6
\ No newline at end of file
diff --git a/Data/Sys/GameSettings/RZL.ini b/Data/Sys/GameSettings/RZL.ini
new file mode 100644
index 000000000000..f7d38858c4d8
--- /dev/null
+++ b/Data/Sys/GameSettings/RZL.ini
@@ -0,0 +1,5 @@
+# RZL - Cook Wars
+
+[Video_Settings]
+# main menu text has scrambled letters otherwise
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/S25.ini b/Data/Sys/GameSettings/S25.ini
new file mode 100644
index 000000000000..88e5f1a2811b
--- /dev/null
+++ b/Data/Sys/GameSettings/S25.ini
@@ -0,0 +1,9 @@
+# S25JGD - Dragon Quest 25 Shuunen Kinen: Famicom & Super Famicom Dragon Quest I-II-III
+
+[Video_Settings]
+# Fixes cursor freeze.
+SafeTextureCacheColorSamples = 0
+
+[Video_Hacks]
+# Fixes black screen.
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/SBK.ini b/Data/Sys/GameSettings/SBK.ini
new file mode 100644
index 000000000000..f5dc3b50b748
--- /dev/null
+++ b/Data/Sys/GameSettings/SBK.ini
@@ -0,0 +1,4 @@
+# SBKEPZ - Brunswick Zone: Cosmic Bowling
+
+[Video_Hacks]
+ImmediateXFBEnable = False
diff --git a/Data/Sys/GameSettings/SCI.ini b/Data/Sys/GameSettings/SCI.ini
new file mode 100644
index 000000000000..052387609162
--- /dev/null
+++ b/Data/Sys/GameSettings/SCI.ini
@@ -0,0 +1,14 @@
+# SCIE41, SCIP41 - CSI: Fatal Conspiracy
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
diff --git a/Data/Sys/GameSettings/SDL.ini b/Data/Sys/GameSettings/SDL.ini
new file mode 100644
index 000000000000..53978b67634a
--- /dev/null
+++ b/Data/Sys/GameSettings/SDL.ini
@@ -0,0 +1,16 @@
+# SDLE78, SDLP78 - Dood's Big Adventure
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/SDV.ini b/Data/Sys/GameSettings/SDV.ini
new file mode 100644
index 000000000000..0c143d76ae10
--- /dev/null
+++ b/Data/Sys/GameSettings/SDV.ini
@@ -0,0 +1,5 @@
+# SDVP41, SDVE41 - Driver: San Francisco
+
+[Video_Settings]
+# Needed for comic book images to load
+SafeTextureCacheColorSamples = 512
diff --git a/Data/Sys/GameSettings/SE2.ini b/Data/Sys/GameSettings/SE2.ini
index 5b4aaf8f9d99..d91614ee3393 100644
--- a/Data/Sys/GameSettings/SE2.ini
+++ b/Data/Sys/GameSettings/SE2.ini
@@ -18,3 +18,6 @@ SafeTextureCacheColorSamples = 512
[Video_Enhancements]
ForceFiltering = False
+[Video_Hacks]
+# Needed to correctly render clothing
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/SEC.ini b/Data/Sys/GameSettings/SEC.ini
new file mode 100644
index 000000000000..8c735964eebb
--- /dev/null
+++ b/Data/Sys/GameSettings/SEC.ini
@@ -0,0 +1,19 @@
+# SECP69, SECE69 - Create
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/SEU.ini b/Data/Sys/GameSettings/SEU.ini
new file mode 100644
index 000000000000..68f027da3fb2
--- /dev/null
+++ b/Data/Sys/GameSettings/SEU.ini
@@ -0,0 +1,4 @@
+# SEUPEY - Retro City Rampage DX+
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/SEV.ini b/Data/Sys/GameSettings/SEV.ini
new file mode 100644
index 000000000000..e19365d4e119
--- /dev/null
+++ b/Data/Sys/GameSettings/SEV.ini
@@ -0,0 +1,4 @@
+# SEVPEY - Shakedown: Hawaii
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/SHP.ini b/Data/Sys/GameSettings/SHP.ini
new file mode 100644
index 000000000000..949d8d3dfed9
--- /dev/null
+++ b/Data/Sys/GameSettings/SHP.ini
@@ -0,0 +1,5 @@
+# SHPE5G - Our House: Party!
+
+[Video_Hacks]
+# Needed for drawing minigames
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/SKU.ini b/Data/Sys/GameSettings/SKU.ini
new file mode 100644
index 000000000000..a506f70a30e1
--- /dev/null
+++ b/Data/Sys/GameSettings/SKU.ini
@@ -0,0 +1,16 @@
+# SKUP78, SKUE78 - Kung Fu Panda 2
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/SM2.ini b/Data/Sys/GameSettings/SM2.ini
new file mode 100644
index 000000000000..1bbfbde77234
--- /dev/null
+++ b/Data/Sys/GameSettings/SM2.ini
@@ -0,0 +1,5 @@
+# SM2P52, SM2E52 - 10 Minute Solution
+
+[Video_Settings]
+# Fixes mangled font
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/SMN.ini b/Data/Sys/GameSettings/SMN.ini
index 139cf28fb448..85e4ec9e9184 100644
--- a/Data/Sys/GameSettings/SMN.ini
+++ b/Data/Sys/GameSettings/SMN.ini
@@ -12,9 +12,6 @@
[ActionReplay]
# Add action replay cheats here.
-[Video_Settings]
-SafeTextureCacheColorSamples = 512
-
[Video_Hacks]
[Video_Stereoscopy]
diff --git a/Data/Sys/GameSettings/SMZ.ini b/Data/Sys/GameSettings/SMZ.ini
new file mode 100644
index 000000000000..9d52e43cd170
--- /dev/null
+++ b/Data/Sys/GameSettings/SMZ.ini
@@ -0,0 +1,16 @@
+# SMZP78, SMZE78 - Marvel Super Hero Squad: Comic Combat
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/SOM.ini b/Data/Sys/GameSettings/SOM.ini
index 1b29c25d3272..bb59fb9c4b28 100644
--- a/Data/Sys/GameSettings/SOM.ini
+++ b/Data/Sys/GameSettings/SOM.ini
@@ -12,11 +12,6 @@
[ActionReplay]
# Add action replay cheats here.
-[Video]
-
-[Video_Settings]
-
[Video_Hacks]
ImmediateXFBEnable = False
-
-[Video_Enhancements]
\ No newline at end of file
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/SP7.ini b/Data/Sys/GameSettings/SP7.ini
new file mode 100644
index 000000000000..9534891199de
--- /dev/null
+++ b/Data/Sys/GameSettings/SP7.ini
@@ -0,0 +1,4 @@
+# SP7PAF, SP7EAF, SP7JAF - Pac-Man Party
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/SP8.ini b/Data/Sys/GameSettings/SP8.ini
new file mode 100644
index 000000000000..5272757ab058
--- /dev/null
+++ b/Data/Sys/GameSettings/SP8.ini
@@ -0,0 +1,16 @@
+# SP8P78, SP8E78 - The Penguins of Madagascar: Dr. Blowhole Returns Again!
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/SS8.ini b/Data/Sys/GameSettings/SS8.ini
new file mode 100644
index 000000000000..bddcab7432fe
--- /dev/null
+++ b/Data/Sys/GameSettings/SS8.ini
@@ -0,0 +1,16 @@
+# SS8P78, SS8E78 - SpongeBob SquigglePants
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/SU4.ini b/Data/Sys/GameSettings/SU4.ini
new file mode 100644
index 000000000000..8cc6e09860e8
--- /dev/null
+++ b/Data/Sys/GameSettings/SU4.ini
@@ -0,0 +1,4 @@
+# SU4P78, SU4E78 - UFC Personal Trainer: The Ultimate Fitness System
+
+[Video_Hacks]
+SafeTextureCacheColorSamples = 512
diff --git a/Data/Sys/GameSettings/SUKE01.ini b/Data/Sys/GameSettings/SUKE01.ini
index 0adc45666467..daa0c7bf04aa 100644
--- a/Data/Sys/GameSettings/SUKE01.ini
+++ b/Data/Sys/GameSettings/SUKE01.ini
@@ -1,1396 +1,1396 @@
-# SUKE01 - Kirby's Return to Dreamland
-
-[OnFrame]
-$Bypass Metafortress
-0x80175D3C:dword:0x48000084
-0x80176464:dword:0x60000000
-0x8017682C:dword:0x60000000
-0x80176B48:dword:0x48000090
-0x80176E20:dword:0x60000000
-0x80176FFC:dword:0x4800008C
-0x801771EC:dword:0x60000000
-0x801778E4:dword:0x48000088
-0x80177AAC:dword:0x48000090
-0x80177DE0:dword:0x48000090
-0x80178138:dword:0x4800008C
-0x8017960C:dword:0x60000000
-0x80179958:dword:0x4800008C
-0x80179AB4:dword:0x4800009C
-0x80179D00:dword:0x48000094
-0x80179E88:dword:0x60000000
-0x8017A030:dword:0x4800009C
-0x8017A1F0:dword:0x48000088
-0x8017A394:dword:0x48000094
-0x8017A524:dword:0x48000084
-0x8017A69C:dword:0x60000000
-0x8017A828:dword:0x60000000
-0x8017AA54:dword:0x4800008C
-0x8017AC28:dword:0x48000088
-0x8017AEA8:dword:0x60000000
-0x8017B02C:dword:0x48000094
-0x8017B1C8:dword:0x60000000
-0x8017B41C:dword:0x60000000
-0x8017B594:dword:0x60000000
-0x8017B630:dword:0x4800009C
-0x8017B604:dword:0x48000020
-0x8017C5DC:dword:0x60000000
-0x8017CBCC:dword:0x4800008C
-0x8017F5C8:dword:0x60000000
-0x8017F74C:dword:0x60000000
-0x80180124:dword:0x60000000
-0x80180518:dword:0x48000090
-0x80180790:dword:0x48000094
-0x80180978:dword:0x48000098
-0x80180CC4:dword:0x48000088
-0x80180E8C:dword:0x60000000
-0x8018131C:dword:0x60000000
-0x801814B0:dword:0x60000000
-0x80181580:dword:0x60000000
-0x8018153C:dword:0x48000024
-0x801819A0:dword:0x60000000
-0x80181BDC:dword:0x48000090
-0x80181DB8:dword:0x60000000
-0x80181F70:dword:0x4800009C
-0x80182108:dword:0x60000000
-0x8018FDD8:dword:0x60000000
-0x8018FF58:dword:0x4800008C
-0x801901E0:dword:0x60000000
-0x801902EC:dword:0x4800008C
-0x8019087C:dword:0x4800009C
-0x80190ABC:dword:0x60000000
-0x80190C18:dword:0x4800008C
-0x801925EC:dword:0x48000080
-0x801AACCC:dword:0x4800008C
-0x801AAF14:dword:0x4800008C
-0x801AB240:dword:0x48000094
-0x801ABFF8:dword:0x48000080
-0x801ADA60:dword:0x60000000
-0x801ADD04:dword:0x60000000
-0x801ADED4:dword:0x4800009C
-0x801AE0C8:dword:0x60000000
-0x801AEB00:dword:0x7C000050
-0x801AF608:dword:0x48000098
-0x801AF8F4:dword:0x60000000
-0x801B0CFC:dword:0x4800008C
-0x801B0EBC:dword:0x4800009C
-0x801B1524:dword:0x60000000
-0x801B16EC:dword:0x60000000
-0x801B1894:dword:0x60000000
-0x801B1AE8:dword:0x60000000
-0x801B2830:dword:0x48000098
-0x801B2AE4:dword:0x60000000
-0x801B2D64:dword:0x4800009C
-0x801B2FBC:dword:0x60000000
-0x801B33CC:dword:0x60000000
-0x801B35D4:dword:0x48000080
-0x801B4E28:dword:0x4800007C
-0x801B52AC:dword:0x60000000
-0x801B54A4:dword:0x60000000
-0x801B59C0:dword:0x4800008C
-0x801B5C48:dword:0x48000094
-0x801B5E98:dword:0x60000000
-0x801B6020:dword:0x7C600050
-0x801D0988:dword:0x60000000
-0x801D0B80:dword:0x480000A0
-0x801D9BD8:dword:0x60000000
-0x801DA80C:dword:0x60000000
-0x801DA9B0:dword:0x60000000
-0x801DAB40:dword:0x60000000
-0x801DAD00:dword:0x48000088
-0x801DCEC4:dword:0x60000000
-0x801DDB14:dword:0x60000000
-0x801DDCA4:dword:0x4800008C
-0x801E6C18:dword:0x60000000
-0x801E6EDC:dword:0x48000098
-0x801E7AAC:dword:0x48000084
-0x801E7C38:dword:0x60000000
-0x801E81A4:dword:0x7C000050
-0x801E8E78:dword:0x60000000
-0x801E9438:dword:0x7C600050
-0x801E9BF8:dword:0x60000000
-0x801E9E10:dword:0x60000000
-0x801EA040:dword:0x60000000
-0x801EA2F8:dword:0x7C000050
-0x801EA904:dword:0x60000000
-0x801EAC34:dword:0x4800009C
-0x801EAF08:dword:0x48000088
-0x801EB390:dword:0x7C000050
-0x801EBA44:dword:0x48000090
-0x801EC508:dword:0x60000000
-0x801EC86C:dword:0x48000094
-0x801EC9E8:dword:0x4800008C
-0x801ECC04:dword:0x48000098
-0x801ED3B0:dword:0x60000000
-0x801ED548:dword:0x7C600050
-0x801EDB00:dword:0x60000000
-0x801EDE74:dword:0x60000000
-0x801EE1F8:dword:0x48000090
-0x801EE398:dword:0x48000098
-0x801EE810:dword:0x48000088
-0x801EEA9C:dword:0x48000084
-0x801EEC0C:dword:0x48000088
-0x801EED98:dword:0x60000000
-0x801EF404:dword:0x60000000
-0x801EF648:dword:0x60000000
-0x801EFE14:dword:0x48000094
-0x801F0250:dword:0x4800008C
-0x801F05AC:dword:0x60000000
-0x801F0750:dword:0x60000000
-0x801F0AE8:dword:0x60000000
-0x801F0C90:dword:0x60000000
-0x801F18EC:dword:0x48000094
-0x801F1E54:dword:0x60000000
-0x801F1FC8:dword:0x60000000
-0x801F22C4:dword:0x48000090
-0x801F278C:dword:0x60000000
-0x801F291C:dword:0x60000000
-0x801F2B18:dword:0x60000000
-0x801F2D3C:dword:0x48000098
-0x801F35C8:dword:0x48000064
-0x801F3714:dword:0x60000000
-0x801F3920:dword:0x60000000
-0x801F454C:dword:0x7C600050
-0x801F4564:dword:0x7C000050
-0x801F458C:dword:0x7C000050
-0x801F462C:dword:0x7C000050
-0x801F474C:dword:0x60000000
-0x801F4E38:dword:0x60000000
-0x801F6DB0:dword:0x4800008C
-0x801F743C:dword:0x60000000
-0x801F7D60:dword:0x60000000
-0x801F7FBC:dword:0x4800008C
-0x801F813C:dword:0x60000000
-0x801F82EC:dword:0x4800008C
-0x801F84F4:dword:0x60000000
-0x801F8BD8:dword:0x60000000
-0x801F8CF4:dword:0x60000000
-0x801F903C:dword:0x60000000
-0x801F9B2C:dword:0x60000000
-0x801F9CCC:dword:0x4800008C
-0x801FA06C:dword:0x60000000
-0x801FA388:dword:0x60000000
-0x801FBB7C:dword:0x4800008C
-0x801FEAF4:dword:0x4800008C
-0x801FECB4:dword:0x60000000
-0x80201098:dword:0x48000090
-0x8020165C:dword:0x60000000
-0x80201694:dword:0x60000000
-0x80201790:dword:0x48000094
-0x80201B94:dword:0x60000000
-0x80201DE8:dword:0x60000000
-0x80201F5C:dword:0x60000000
-0x802021E0:dword:0x60000000
-0x80202358:dword:0x60000000
-0x8020266C:dword:0x60000000
-0x8020437C:dword:0x4800008C
-0x802045F8:dword:0x48000094
-0x80204980:dword:0x60000000
-0x80205168:dword:0x48000094
-0x8020B438:dword:0x60000000
-0x8020B5AC:dword:0x48000090
-0x8020B768:dword:0x60000000
-0x8020B7D8:dword:0x60000000
-0x8020CED0:dword:0x48000088
-0x8020D054:dword:0x60000000
-0x8020D3C4:dword:0x60000000
-0x8020D774:dword:0x48000098
-0x8020F58C:dword:0x60000000
-0x8020F814:dword:0x60000000
-0x80210120:dword:0x60000000
-0x80210494:dword:0x48000090
-0x80210AC8:dword:0x48000094
-0x80210CCC:dword:0x4800008C
-0x80211144:dword:0x60000000
-0x80215CC0:dword:0x60000000
-0x80215EB4:dword:0x60000000
-0x802160C8:dword:0x7C000050
-0x80216348:dword:0x60000000
-0x8021655C:dword:0x48000090
-0x80217334:dword:0x60000000
-0x80217518:dword:0x48000088
-0x80217AAC:dword:0x60000000
-0x80217C98:dword:0x60000000
-0x802180B4:dword:0x60000000
-0x8021823C:dword:0x60000000
-0x8021840C:dword:0x60000000
-0x80218578:dword:0x60000000
-0x8021873C:dword:0x60000000
-0x80218C7C:dword:0x60000000
-0x8021BDB8:dword:0x7C800050
-0x8021D318:dword:0x60000000
-0x8021D738:dword:0x60000000
-0x80222DE4:dword:0x48000098
-0x80223218:dword:0x60000000
-0x80225714:dword:0x60000000
-0x80225884:dword:0x60000000
-0x80225A3C:dword:0x60000000
-0x80225CD4:dword:0x7C000050
-0x80225F0C:dword:0x4800007C
-0x8022669C:dword:0x4800009C
-0x80226A10:dword:0x48000094
-0x80226EE8:dword:0x60000000
-0x80227134:dword:0x60000000
-0x802272A8:dword:0x48000090
-0x8022742C:dword:0x48000084
-0x8022759C:dword:0x60000000
-0x80227714:dword:0x60000000
-0x80228188:dword:0x48000098
-0x80228898:dword:0x60000000
-0x80229078:dword:0x48000094
-0x80229EF4:dword:0x4800008C
-0x8022A080:dword:0x60000000
-0x8022A2AC:dword:0x60000000
-0x8022A4C0:dword:0x48000094
-0x8022A674:dword:0x7C000050
-0x8022B01C:dword:0x60000000
-0x8022B1C0:dword:0x60000000
-0x8022B378:dword:0x60000000
-0x8022BC9C:dword:0x48000080
-0x8022C644:dword:0x48000084
-0x8022C83C:dword:0x48000094
-0x8022CA6C:dword:0x48000090
-0x8022CCEC:dword:0x60000000
-0x8022CF38:dword:0x48000094
-0x8022D420:dword:0x60000000
-0x8022D5D0:dword:0x60000000
-0x8022DA50:dword:0x48000060
-0x8022DFC8:dword:0x60000000
-0x8022E1F4:dword:0x4800007C
-0x8022E4A4:dword:0x60000000
-0x8022E66C:dword:0x60000000
-0x8022EFD0:dword:0x60000000
-0x8022F784:dword:0x60000000
-0x80230FC8:dword:0x48000080
-0x802328E4:dword:0x60000000
-0x802348A0:dword:0x4800009C
-0x80235550:dword:0x48000090
-0x80236590:dword:0x60000000
-0x80237398:dword:0x48000084
-0x80237598:dword:0x60000000
-0x80237ABC:dword:0x48000060
-0x802397EC:dword:0x4800008C
-0x8023996C:dword:0x48000094
-0x8023ACD0:dword:0x60000000
-0x8023AE28:dword:0x4800008C
-0x8023AFDC:dword:0x60000000
-0x8023B1DC:dword:0x60000000
-0x8023F740:dword:0x7C600050
-0x8023FB70:dword:0x48000098
-0x8023FDC0:dword:0x60000000
-0x8023FFA8:dword:0x48000090
-0x8024013C:dword:0x60000000
-0x802403C4:dword:0x48000094
-0x8024054C:dword:0x60000000
-0x802406E0:dword:0x60000000
-0x80240A0C:dword:0x48000090
-0x80241CD8:dword:0x60000000
-0x802422D0:dword:0x4800008C
-0x80242694:dword:0x60000000
-0x80242A2C:dword:0x48000094
-0x80242E9C:dword:0x48000094
-0x80243064:dword:0x7C000050
-0x80243078:dword:0x7C600050
-0x802432F4:dword:0x48000090
-0x80243524:dword:0x4800008C
-0x80243814:dword:0x4800009C
-0x80243A04:dword:0x48000084
-0x80243BB8:dword:0x60000000
-0x80243D60:dword:0x60000000
-0x80243E90:dword:0x60000000
-0x80244090:dword:0x60000000
-0x802442E4:dword:0x4800008C
-0x8024464C:dword:0x48000094
-0x80244860:dword:0x60000000
-0x80244980:dword:0x60000000
-0x8024500C:dword:0x60000000
-0x802452AC:dword:0x48000090
-0x80245468:dword:0x4800009C
-0x80245E88:dword:0x60000000
-0x802462E4:dword:0x60000000
-0x80246934:dword:0x48000088
-0x80246AA8:dword:0x60000000
-0x80246D10:dword:0x60000000
-0x80247628:dword:0x60000000
-0x80247918:dword:0x60000000
-0x80247AAC:dword:0x4800007C
-0x80247EF0:dword:0x60000000
-0x802480D4:dword:0x60000000
-0x802C2ABC:dword:0x60000000
-0x802C3CA4:dword:0x60000000
-0x802C3F9C:dword:0x48000084
-0x802CFB28:dword:0x60000000
-0x802CFB3C:dword:0x7C600050
-0x802DE4C8:dword:0x48000098
-0x80328770:dword:0x60000000
-0x80329654:dword:0x60000000
-0x80329A88:dword:0x60000000
-0x80329C84:dword:0x48000094
-0x8032A480:dword:0x60000000
-0x8032A610:dword:0x48000090
-0x8032AA38:dword:0x60000000
-0x8032AC08:dword:0x60000000
-0x8032AE94:dword:0x60000000
-0x8032B064:dword:0x7C000050
-0x8032B20C:dword:0x48000090
-0x8032B3D0:dword:0x4800008C
-0x8032BDB4:dword:0x4800008C
-0x8032BF84:dword:0x60000000
-0x8032C158:dword:0x4800008C
-0x8032C418:dword:0x48000094
-0x8032C5BC:dword:0x60000000
-0x8032D15C:dword:0x60000000
-0x8032D5A0:dword:0x60000000
-0x8032DF3C:dword:0x48000088
-0x8032E244:dword:0x48000090
-0x8032E3AC:dword:0x60000000
-0x8032F378:dword:0x48000098
-0x8032F7F4:dword:0x60000000
-0x8032FAF8:dword:0x60000000
-0x8032FF08:dword:0x60000000
-0x8033023C:dword:0x60000000
-0x803306BC:dword:0x60000000
-0x80330870:dword:0x60000000
-0x80330B40:dword:0x48000088
-0x80331170:dword:0x48000094
-0x803313E4:dword:0x60000000
-0x8033159C:dword:0x48000090
-0x80331BB0:dword:0x60000000
-0x80331D38:dword:0x60000000
-0x80331E90:dword:0x48000090
-0x80332018:dword:0x48000094
-0x80333250:dword:0x60000000
-0x80334238:dword:0x60000000
-0x80334358:dword:0x48000094
-0x803344EC:dword:0x48000090
-0x80334688:dword:0x48000098
-0x80334C78:dword:0x60000000
-0x80334E24:dword:0x60000000
-0x803350BC:dword:0x48000088
-0x803352C0:dword:0x60000000
-0x80335450:dword:0x60000000
-0x803355D8:dword:0x48000088
-0x80335750:dword:0x60000000
-0x803358EC:dword:0x60000000
-0x80335A70:dword:0x48000088
-0x803363D0:dword:0x60000000
-0x8033658C:dword:0x60000000
-0x80336784:dword:0x60000000
-0x80336C10:dword:0x60000000
-0x80336C3C:dword:0x60000000
-0x80336EA8:dword:0x48000090
-0x8033ABA4:dword:0x4800008C
-0x8033B8F4:dword:0x48000090
-0x8035521C:dword:0x60000000
-0x80358828:dword:0x48000090
-0x80358E74:dword:0x48000090
-0x803596CC:dword:0x60000000
-0x803598E4:dword:0x60000000
-0x80359A84:dword:0x4800008C
-0x80359CB0:dword:0x60000000
-0x80359E7C:dword:0x48000090
-0x8035A094:dword:0x48000084
-0x8035A250:dword:0x60000000
-0x8035A3DC:dword:0x48000084
-0x8035A588:dword:0x48000090
-0x8035A730:dword:0x48000098
-0x8035A8EC:dword:0x48000094
-0x8035AA84:dword:0x60000000
-0x8035ACCC:dword:0x4800009C
-0x8035AE84:dword:0x60000000
-0x8035B01C:dword:0x48000094
-0x8035B2BC:dword:0x4800008C
-0x8035B5F8:dword:0x60000000
-0x8035B614:dword:0x7C600050
-0x8035CCDC:dword:0x60000000
-0x8035CF38:dword:0x60000000
-0x8035D110:dword:0x48000094
-0x8035D2A8:dword:0x60000000
-0x8035D458:dword:0x48000094
-0x8035E61C:dword:0x60000000
-0x8035ECD4:dword:0x60000000
-0x8035EE44:dword:0x60000000
-0x80369DE4:dword:0x7C600050
-0x8036D784:dword:0x60000000
-0x8036E07C:dword:0x48000088
-0x8036E200:dword:0x48000090
-0x8036E390:dword:0x48000098
-0x8037CEBC:dword:0x4800008C
-0x8038107C:dword:0x60000000
-0x804375FC:dword:0x4800008C
-0x80444350:dword:0x60000000
-0x8044AEAC:dword:0x48000090
-0x8044B9D0:dword:0x60000000
-0x8044E954:dword:0x48000088
-0x8044EB40:dword:0x60000000
-0x80450304:dword:0x60000000
-0x80450520:dword:0x4800009C
-0x80450ABC:dword:0x48000088
-0x80450C1C:dword:0x60000000
-0x80450E34:dword:0x48000090
-0x80454214:dword:0x60000000
-0x804546F0:dword:0x60000000
-0x80454DAC:dword:0x4800008C
-0x8045509C:dword:0x60000000
-0x80455494:dword:0x60000000
-0x80455658:dword:0x60000000
-0x80455910:dword:0x60000000
-0x80455ABC:dword:0x4800008C
-0x80455C64:dword:0x60000000
-0x80456610:dword:0x60000000
-0x80456E84:dword:0x60000000
-0x8045811C:dword:0x48000090
-0x8045958C:dword:0x4800008C
-0x80459870:dword:0x60000000
-0x8045CD94:dword:0x60000000
-0x8045D26C:dword:0x48000088
-0x8045D44C:dword:0x60000000
-0x8045D5F0:dword:0x60000000
-0x8045D7B4:dword:0x48000088
-0x8045D998:dword:0x48000098
-0x8045DB60:dword:0x48000088
-0x8045DD28:dword:0x48000098
-0x8045DEF4:dword:0x4800008C
-0x8045E0D0:dword:0x4800008C
-0x8045F4EC:dword:0x60000000
-0x804640C8:dword:0x7C000050
-0x804651E8:dword:0x4800005C
-0x80465540:dword:0x48000084
-0x80465860:dword:0x48000090
-0x8046B3F8:dword:0x60000000
-0x8046B5B4:dword:0x4800009C
-0x8046BA78:dword:0x60000000
-0x8046BE78:dword:0x48000088
-0x8046C4A8:dword:0x60000000
-0x8046C650:dword:0x60000000
-0x8046CCC0:dword:0x60000000
-0x8046D674:dword:0x7CA00050
-0x804754C0:dword:0x60000000
-0x8047594C:dword:0x60000000
-0x80475B08:dword:0x60000000
-0x80475D58:dword:0x60000000
-0x80476890:dword:0x60000000
-0x80476A28:dword:0x60000000
-0x80476F74:dword:0x48000080
-0x80477258:dword:0x48000088
-0x80477994:dword:0x48000088
-0x80477E94:dword:0x48000094
-0x80478034:dword:0x60000000
-0x80478240:dword:0x60000000
-0x804783A8:dword:0x4800007C
-0x804788E0:dword:0x48000094
-0x8047FE7C:dword:0x48000098
-0x80485AD8:dword:0x60000000
-0x80486228:dword:0x48000094
-0x8048643C:dword:0x60000000
-0x80486568:dword:0x48000088
-0x80487C18:dword:0x48000094
-0x80487EE8:dword:0x48000090
-0x80488320:dword:0x60000000
-0x80488BF0:dword:0x60000000
-0x80488D60:dword:0x60000000
-0x80488F8C:dword:0x4800009C
-0x80489268:dword:0x48000098
-0x80489690:dword:0x60000000
-0x80489B48:dword:0x60000000
-0x80489C54:dword:0x4800008C
-0x80489E30:dword:0x4800008C
-0x8048A08C:dword:0x48000088
-0x8048A29C:dword:0x7CA00050
-0x8048A6C8:dword:0x60000000
-0x8048AA44:dword:0x48000090
-0x8048E55C:dword:0x4800008C
-0x8048EB8C:dword:0x60000000
-0x8048EEB4:dword:0x48000098
-0x80491AAC:dword:0x4800008C
-0x80491E18:dword:0x7C000050
-0x80491FE8:dword:0x4800009C
-0x80495A18:dword:0x48000090
-0x804962C4:dword:0x48000098
-0x804967B4:dword:0x60000000
-0x804969D8:dword:0x60000000
-0x80496EA0:dword:0x48000088
-0x804970C8:dword:0x48000084
-0x80497308:dword:0x48000098
-0x80497490:dword:0x60000000
-0x80497638:dword:0x60000000
-0x80498108:dword:0x60000000
-0x80498128:dword:0x60000000
-0x80498148:dword:0x60000000
-0x80498160:dword:0x7C600050
-0x80498284:dword:0x48000090
-0x8049848C:dword:0x4800008C
-0x804A85C0:dword:0x60000000
-0x804A8A2C:dword:0x48000098
-0x804A8CC0:dword:0x48000098
-0x804A8F50:dword:0x60000000
-0x804A95C4:dword:0x60000000
-0x804A9D10:dword:0x60000000
-0x804AF134:dword:0x60000000
-0x804AF7DC:dword:0x60000000
-0x804B043C:dword:0x48000094
-0x804B06D8:dword:0x48000094
-0x804B0BA8:dword:0x7C600050
-0x804B1A9C:dword:0x60000000
-0x804B1F38:dword:0x60000000
-0x804B2800:dword:0x48000094
-0x804B2EA0:dword:0x60000000
-0x804B387C:dword:0x48000090
-0x804B3C8C:dword:0x48000080
-0x804B3E34:dword:0x48000088
-0x804B3FE0:dword:0x48000090
-0x804B4230:dword:0x60000000
-0x804B8F24:dword:0x48000088
-0x804B9244:dword:0x60000000
-0x804B997C:dword:0x60000000
-0x804C39D8:dword:0x60000000
-0x804C6DBC:dword:0x4800008C
-0x804C6F9C:dword:0x60000000
-0x804C72B0:dword:0x7C000050
-0x804C7A90:dword:0x7C000050
-0x804C7C44:dword:0x7C600050
-0x804C7E74:dword:0x4800008C
-0x804CCB34:dword:0x48000094
-0x804CCE5C:dword:0x48000094
-0x804CD030:dword:0x7C000050
-0x804CFFE8:dword:0x60000000
-0x804D0228:dword:0x7C600050
-0x804D023C:dword:0x7C000050
-0x804D08C8:dword:0x60000000
-0x804D0C30:dword:0x7CA00050
-0x804D0D04:dword:0x60000000
-0x804D0F6C:dword:0x7C000050
-0x804D1068:dword:0x60000000
-0x804D1318:dword:0x60000000
-0x804D1340:dword:0x60000000
-0x804D1364:dword:0x60000000
-0x804D16BC:dword:0x48000080
-0x804D2040:dword:0x60000000
-0x804D22AC:dword:0x60000000
-0x804D24A8:dword:0x48000088
-0x804D26D0:dword:0x48000084
-0x804D29D0:dword:0x60000000
-0x804D2BC8:dword:0x48000098
-0x804D32B0:dword:0x4800007C
-0x804D34CC:dword:0x60000000
-0x804D3EF4:dword:0x60000000
-0x804D4330:dword:0x4800008C
-0x804D47FC:dword:0x60000000
-0x804D8598:dword:0x48000088
-0x804DB5D8:dword:0x48000098
-0x804DB9AC:dword:0x48000090
-0x804DDD5C:dword:0x60000000
-0x804DE238:dword:0x60000000
-0x804DE3D0:dword:0x60000000
-0x804DE56C:dword:0x60000000
-0x804DE72C:dword:0x48000078
-0x804DE9A4:dword:0x60000000
-0x804DEC00:dword:0x60000000
-0x804DEE60:dword:0x60000000
-0x804DF130:dword:0x48000094
-0x804DFCF4:dword:0x60000000
-0x804DFE70:dword:0x60000000
-0x804E01FC:dword:0x60000000
-0x804E0C70:dword:0x48000090
-0x804E0E24:dword:0x4800008C
-0x804E0FC4:dword:0x48000094
-0x804E114C:dword:0x60000000
-0x804E1CB8:dword:0x60000000
-0x804E2040:dword:0x48000094
-0x804E2DEC:dword:0x60000000
-0x804E31C8:dword:0x48000090
-0x804E33A4:dword:0x60000000
-0x804E34A4:dword:0x60000000
-0x804E3628:dword:0x60000000
-0x804E4CFC:dword:0x60000000
-0x804E583C:dword:0x7C000050
-0x804EE220:dword:0x60000000
-0x804EE918:dword:0x60000000
-0x804EFC08:dword:0x60000000
-0x804EFF98:dword:0x4800008C
-0x804F0204:dword:0x60000000
-0x804F10A8:dword:0x4800008C
-0x804F1354:dword:0x4800009C
-0x804F1514:dword:0x60000000
-0x804F171C:dword:0x48000098
-0x804F21D0:dword:0x60000000
-0x804F3A70:dword:0x48000098
-0x804FB4D8:dword:0x60000000
-0x804FB6BC:dword:0x48000094
-0x804FBBC0:dword:0x60000000
-0x804FE064:dword:0x48000090
-0x804FE1F8:dword:0x4800008C
-0x804FE6F8:dword:0x4800008C
-0x804FEE00:dword:0x48000090
-0x804FF140:dword:0x48000088
-0x8050167C:dword:0x60000000
-0x80501844:dword:0x60000000
-0x805019E4:dword:0x60000000
-0x80506D64:dword:0x60000000
-0x805071E8:dword:0x60000000
-0x80507380:dword:0x60000000
-0x805090E4:dword:0x60000000
-0x80509820:dword:0x60000000
-0x805099C4:dword:0x60000000
-0x8050ACAC:dword:0x60000000
-0x8050AE34:dword:0x60000000
-0x8050AFDC:dword:0x60000000
-0x8050BAC8:dword:0x48000080
-0x8050BC6C:dword:0x48000090
-0x8050CAF4:dword:0x60000000
-0x8050CC90:dword:0x48000098
-0x8050CE98:dword:0x4800009C
-0x80511800:dword:0x60000000
-0x80511824:dword:0x60000000
-0x80511960:dword:0x60000000
-0x80513DB4:dword:0x48000090
-0x80514220:dword:0x60000000
-0x80557620:dword:0x48000088
-0x805578EC:dword:0x60000000
-0x8055AB68:dword:0x60000000
-0x8055AB94:dword:0x60000000
-0x8055ABC0:dword:0x60000000
-0x8055AC30:dword:0x7C600050
-0x8055F2F8:dword:0x60000000
-0x8056268C:dword:0x48000094
-0x80562898:dword:0x60000000
-0x80562A14:dword:0x60000000
-0x80562BE0:dword:0x60000000
-0x80562C14:dword:0x7CA00050
-0x8056509C:dword:0x4800008C
-0x80568DD4:dword:0x60000000
-0x80568F7C:dword:0x4800008C
-0x805696E0:dword:0x60000000
-0x8056DD14:dword:0x60000000
-0x8056E3EC:dword:0x60000000
-0x8056E580:dword:0x48000094
-0x8056FA98:dword:0x48000094
-0x80570220:dword:0x60000000
-0x8057EB68:dword:0x60000000
-0x8057ED88:dword:0x60000000
-0x8057EF70:dword:0x48000090
-0x8057F0DC:dword:0x60000000
-0x8057F59C:dword:0x60000000
-0x8057F818:dword:0x60000000
-0x8057F838:dword:0x60000000
-0x8057F89C:dword:0x60000000
-0x805834F8:dword:0x60000000
-0x80583678:dword:0x48000094
-0x80583968:dword:0x60000000
-0x8058822C:dword:0x60000000
-0x80588254:dword:0x60000000
-0x80588280:dword:0x60000000
-0x805882A8:dword:0x60000000
-0x805882D4:dword:0x60000000
-0x80588344:dword:0x7C600050
-0x80588430:dword:0x60000000
-0x8058AC74:dword:0x4800009C
-0x8058AEFC:dword:0x60000000
-0x805929EC:dword:0x4800008C
-0x80592B88:dword:0x60000000
-0x80592BB4:dword:0x60000000
-0x80592BE0:dword:0x60000000
-0x80592C40:dword:0x7C600050
-0x805933CC:dword:0x48000084
-0x805936EC:dword:0x48000094
-0x80598C3C:dword:0x48000098
-0x8059DD94:dword:0x48000094
-0x8059DF6C:dword:0x60000000
-0x8059DF88:dword:0x60000000
-0x8059DFAC:dword:0x60000000
-0x8059E0A8:dword:0x48000090
-0x805C2320:dword:0x60000000
-0x805C272C:dword:0x48000090
-0x805C2B3C:dword:0x48000094
-0x805C2CE8:dword:0x60000000
-0x805C2D10:dword:0x60000000
-0x805C2D2C:dword:0x60000000
-0x805C2D7C:dword:0x60000000
-0x805C3F14:dword:0x48000088
-0x805C5AE4:dword:0x4800007C
-0x805C5C70:dword:0x4800008C
-0x805C5E58:dword:0x48000090
-0x805C62FC:dword:0x60000000
-0x805C64D0:dword:0x48000094
-0x805C82AC:dword:0x60000000
-0x805CA740:dword:0x60000000
-0x805CB668:dword:0x48000094
-0x805CB8A0:dword:0x60000000
-0x805CBB8C:dword:0x60000000
-0x805CBD28:dword:0x48000098
-0x805CC068:dword:0x48000084
-0x805CC204:dword:0x60000000
-0x805CC424:dword:0x60000000
-0x805CC5C8:dword:0x48000088
-0x805CC7C0:dword:0x60000000
-0x805CC940:dword:0x60000000
-0x805CCB08:dword:0x7C000050
-0x805CCD00:dword:0x48000088
-0x805CCECC:dword:0x4800008C
-0x805CD258:dword:0x4800008C
-0x805CE2EC:dword:0x60000000
-0x805CE57C:dword:0x60000000
-0x805CF808:dword:0x48000094
-0x805CF99C:dword:0x7C600050
-0x805CFA9C:dword:0x7C000050
-0x805CFB98:dword:0x60000000
-0x805CFD7C:dword:0x4800008C
-0x805CFFF4:dword:0x60000000
-0x805D0550:dword:0x60000000
-0x805D08C4:dword:0x60000000
-0x805D4430:dword:0x60000000
-0x805D4A98:dword:0x60000000
-0x805D4CEC:dword:0x48000090
-0x805D50C0:dword:0x48000090
-0x805D52E8:dword:0x48000088
-0x805D5894:dword:0x480000A4
-0x805D5B54:dword:0x48000094
-0x805D5E9C:dword:0x4800008C
-0x805D6070:dword:0x60000000
-0x805D6224:dword:0x48000084
-0x805D6630:dword:0x4800008C
-0x805D7B74:dword:0x60000000
-0x805D7FF8:dword:0x7C800050
-0x805D9D38:dword:0x60000000
-0x805DBADC:dword:0x48000094
-0x805DBF74:dword:0x48000090
-0x805DC15C:dword:0x60000000
-0x805DC264:dword:0x60000000
-0x805DD91C:dword:0x48000084
-0x805DDBA4:dword:0x7C800050
-0x805DE120:dword:0x60000000
-0x805DE240:dword:0x60000000
-0x805DE390:dword:0x60000000
-0x805DE53C:dword:0x48000088
-0x805DE6E0:dword:0x60000000
-0x805DEA48:dword:0x48000090
-0x805DFBEC:dword:0x60000000
-0x805DFE1C:dword:0x48000090
-0x805E0148:dword:0x60000000
-0x805E036C:dword:0x48000090
-0x805E0508:dword:0x60000000
-0x805E08EC:dword:0x60000000
-0x805E0BD0:dword:0x48000084
-0x805E0D74:dword:0x48000084
-0x805E10B8:dword:0x60000000
-0x805F0CC8:dword:0x60000000
-0x805F18DC:dword:0x60000000
-0x805F1AD0:dword:0x60000000
-0x805F1E50:dword:0x60000000
-0x805F1FCC:dword:0x60000000
-0x805F21C0:dword:0x48000094
-0x805F2358:dword:0x4800009C
-0x805F24DC:dword:0x4800008C
-0x805F2678:dword:0x60000000
-0x805F280C:dword:0x60000000
-0x805F29A0:dword:0x4800007C
-0x805F2B18:dword:0x60000000
-0x805F2C88:dword:0x60000000
-0x805F2DF0:dword:0x60000000
-0x805F2F80:dword:0x60000000
-0x805F3134:dword:0x60000000
-0x805F32C8:dword:0x60000000
-0x805F346C:dword:0x4800008C
-0x805F35D0:dword:0x60000000
-0x805F3758:dword:0x60000000
-0x805F38BC:dword:0x60000000
-0x805F3A5C:dword:0x60000000
-0x805F3BBC:dword:0x60000000
-0x805F3D40:dword:0x480000A0
-0x805F3EDC:dword:0x4800009C
-0x805F406C:dword:0x48000098
-0x805F420C:dword:0x480000A0
-0x805F43A8:dword:0x60000000
-0x805F452C:dword:0x60000000
-0x805F46A4:dword:0x48000090
-0x805F4830:dword:0x48000090
-0x805F49E4:dword:0x60000000
-0x805F4B8C:dword:0x60000000
-0x805F4D18:dword:0x48000090
-0x805F4EAC:dword:0x4800008C
-0x805F5030:dword:0x60000000
-0x805F51C0:dword:0x48000098
-0x805F5350:dword:0x4800009C
-0x805F54D8:dword:0x60000000
-0x805F5648:dword:0x60000000
-0x805F580C:dword:0x60000000
-0x805F5990:dword:0x48000088
-0x805F5AF4:dword:0x60000000
-0x805F5C90:dword:0x48000094
-0x805F5E10:dword:0x60000000
-0x805F5F98:dword:0x4800009C
-0x805F6150:dword:0x60000000
-0x805F62E0:dword:0x48000094
-0x805F6488:dword:0x48000098
-0x805F6620:dword:0x60000000
-0x805F67B0:dword:0x60000000
-0x805F6940:dword:0x48000088
-0x805F6AD8:dword:0x60000000
-0x805F6C48:dword:0x48000088
-0x805F6DF4:dword:0x60000000
-0x805F6F94:dword:0x60000000
-0x805F714C:dword:0x48000098
-0x805F72E4:dword:0x60000000
-0x805F747C:dword:0x4800009C
-0x805F761C:dword:0x48000090
-0x805F77B0:dword:0x4800009C
-0x805F7948:dword:0x60000000
-0x805F7AEC:dword:0x48000090
-0x805F7C90:dword:0x48000094
-0x805F7E48:dword:0x48000098
-0x805F7FFC:dword:0x60000000
-0x805F8160:dword:0x60000000
-0x805F8308:dword:0x60000000
-0x805F8478:dword:0x60000000
-0x805F8610:dword:0x60000000
-0x805F87DC:dword:0x4800009C
-0x805F899C:dword:0x4800008C
-0x805F8B38:dword:0x48000090
-0x805F8CB4:dword:0x48000094
-0x805F8E64:dword:0x60000000
-0x805F8FDC:dword:0x60000000
-0x805F91A0:dword:0x4800008C
-0x805F9320:dword:0x48000084
-0x805F9498:dword:0x60000000
-0x805F960C:dword:0x48000090
-0x805F97A4:dword:0x48000090
-0x805F9C0C:dword:0x60000000
-0x805F9F1C:dword:0x60000000
-0x805FA05C:dword:0x60000000
-0x805FA2D0:dword:0x60000000
-0x805FA548:dword:0x48000094
-0x805FA6FC:dword:0x60000000
-0x805FA894:dword:0x60000000
-0x805FAB2C:dword:0x60000000
-0x805FB038:dword:0x60000000
-0x805FB6F0:dword:0x60000000
-0x805FB8AC:dword:0x48000084
-0x805FBA54:dword:0x60000000
-0x805FE05C:dword:0x60000000
-0x805FE1EC:dword:0x4800008C
-0x805FF308:dword:0x48000098
-0x805FF488:dword:0x60000000
-0x805FF730:dword:0x60000000
-0x805FF918:dword:0x60000000
-0x805FFA88:dword:0x60000000
-0x805FFBDC:dword:0x60000000
-0x806006F8:dword:0x48000098
-0x80601020:dword:0x60000000
-0x806011AC:dword:0x60000000
-0x80601340:dword:0x60000000
-0x806017F4:dword:0x48000098
-0x80602168:dword:0x48000088
-0x80602400:dword:0x7C000050
-0x80602654:dword:0x60000000
-0x806027FC:dword:0x48000088
-0x80602AF8:dword:0x48000098
-0x80602C88:dword:0x60000000
-0x80602E38:dword:0x60000000
-0x80603004:dword:0x4800007C
-0x8060319C:dword:0x60000000
-0x80603530:dword:0x60000000
-0x80603714:dword:0x4800007C
-0x80603CD4:dword:0x4800009C
-0x80603F48:dword:0x60000000
-0x80604188:dword:0x60000000
-0x80604314:dword:0x60000000
-0x80604528:dword:0x60000000
-0x806046D8:dword:0x4800009C
-0x80604884:dword:0x60000000
-0x80604A38:dword:0x48000084
-0x80604BD8:dword:0x48000094
-0x80604D74:dword:0x48000094
-0x80604F0C:dword:0x60000000
-0x806050B0:dword:0x48000094
-0x80605264:dword:0x60000000
-0x80605458:dword:0x60000000
-0x80605ECC:dword:0x48000084
-0x806060C8:dword:0x4800009C
-0x80606508:dword:0x48000090
-0x80606794:dword:0x48000088
-0x80606BB4:dword:0x48000090
-0x80606DB0:dword:0x4800008C
-0x8060749C:dword:0x48000088
-0x80607610:dword:0x4800008C
-0x806077F8:dword:0x60000000
-0x80607D40:dword:0x48000080
-0x80607F3C:dword:0x60000000
-0x8060813C:dword:0x48000088
-0x806082A8:dword:0x4800009C
-0x806084C0:dword:0x48000094
-0x806086E0:dword:0x60000000
-0x80608898:dword:0x48000094
-0x80608AB4:dword:0x60000000
-0x80608D1C:dword:0x60000000
-0x80609D60:dword:0x4800008C
-0x80610DD0:dword:0x48000094
-0x80612978:dword:0x60000000
-0x80657DFC:dword:0x7C000050
-0x80657F04:dword:0x60000000
-0x80658A1C:dword:0x4800009C
-0x80658C08:dword:0x48000084
-0x806595EC:dword:0x48000084
-0x8065975C:dword:0x60000000
-0x806598F4:dword:0x48000090
-0x80659D34:dword:0x60000000
-0x8065A168:dword:0x60000000
-0x8065B79C:dword:0x60000000
-0x8065B940:dword:0x48000084
-0x8065C0E0:dword:0x60000000
-0x8065C2F0:dword:0x60000000
-0x8065C548:dword:0x60000000
-0x8065C924:dword:0x48000098
-0x8065CB5C:dword:0x60000000
-0x8065CDC4:dword:0x60000000
-0x8065D2C8:dword:0x60000000
-0x8065D438:dword:0x48000090
-0x8065D624:dword:0x4800009C
-0x8065F53C:dword:0x60000000
-0x8065F82C:dword:0x48000084
-0x8065F9B8:dword:0x60000000
-0x8065FF7C:dword:0x48000090
-0x806600F4:dword:0x48000094
-0x80660470:dword:0x60000000
-0x806607DC:dword:0x60000000
-0x80660970:dword:0x60000000
-0x80660B88:dword:0x60000000
-0x80660D00:dword:0x60000000
-0x80660EEC:dword:0x60000000
-0x806611C8:dword:0x60000000
-0x806613B8:dword:0x60000000
-0x80661588:dword:0x60000000
-0x8066170C:dword:0x48000094
-0x8066189C:dword:0x4800008C
-0x80661A40:dword:0x60000000
-0x806625DC:dword:0x60000000
-0x806627DC:dword:0x60000000
-0x8066298C:dword:0x60000000
-0x80662B18:dword:0x48000090
-0x80662CA8:dword:0x60000000
-0x80662E70:dword:0x48000088
-0x806630B8:dword:0x48000084
-0x80663298:dword:0x48000094
-0x80663544:dword:0x60000000
-0x80663850:dword:0x60000000
-0x80663BC8:dword:0x60000000
-0x80663DDC:dword:0x60000000
-0x806644E4:dword:0x60000000
-0x80664708:dword:0x60000000
-0x806648A0:dword:0x60000000
-0x80664AAC:dword:0x48000088
-0x80664CEC:dword:0x4800009C
-0x80664F24:dword:0x48000090
-0x80665110:dword:0x48000090
-0x806654F8:dword:0x60000000
-0x806661F0:dword:0x60000000
-0x8066674C:dword:0x60000000
-0x8066697C:dword:0x4800007C
-0x80666B60:dword:0x48000090
-0x80666E88:dword:0x60000000
-0x80667048:dword:0x60000000
-0x806671F0:dword:0x48000094
-0x80667394:dword:0x60000000
-0x80667734:dword:0x48000094
-0x80667950:dword:0x48000090
-0x80667B18:dword:0x60000000
-0x80667EDC:dword:0x7CC00050
-0x80668BCC:dword:0x48000098
-0x80668D6C:dword:0x48000084
-0x80668F04:dword:0x48000090
-0x80669190:dword:0x60000000
-0x80669628:dword:0x60000000
-0x80669C10:dword:0x48000084
-0x80669F7C:dword:0x48000094
-0x8066A13C:dword:0x60000000
-0x8066A6B0:dword:0x60000000
-0x8066A850:dword:0x60000000
-0x8066A894:dword:0x60000000
-0x8066A8E8:dword:0x60000000
-0x8066BB80:dword:0x48000090
-0x8066BE10:dword:0x60000000
-0x8066BFCC:dword:0x60000000
-0x8066C188:dword:0x4800008C
-0x8066C318:dword:0x48000090
-0x8066C724:dword:0x48000098
-0x8066CD9C:dword:0x60000000
-0x8066DB68:dword:0x4800008C
-0x8066E520:dword:0x60000000
-0x80670CFC:dword:0x60000000
-0x80671C8C:dword:0x4800007C
-0x80671E38:dword:0x48000094
-0x80671FDC:dword:0x48000094
-0x806721D4:dword:0x48000084
-0x80672470:dword:0x60000000
-0x806725A0:dword:0x60000000
-0x80672794:dword:0x48000090
-0x80672954:dword:0x48000090
-0x80672AD8:dword:0x60000000
-0x80672CC0:dword:0x48000094
-0x80672C94:dword:0x48000024
-0x80672FE4:dword:0x48000090
-0x806736B4:dword:0x48000084
-0x80674874:dword:0x4800007C
-0x806751C0:dword:0x60000000
-0x806753A4:dword:0x48000094
-0x80675CA0:dword:0x60000000
-0x80675F98:dword:0x4800009C
-0x80676504:dword:0x60000000
-0x806768FC:dword:0x48000080
-0x80678DF4:dword:0x4800008C
-0x80678F90:dword:0x48000088
-0x8067911C:dword:0x60000000
-0x8067A5E4:dword:0x60000000
-0x8067AADC:dword:0x48000090
-0x8067C340:dword:0x60000000
-0x8067CC00:dword:0x60000000
-0x8067CF44:dword:0x48000094
-0x8067D130:dword:0x60000000
-0x8067D154:dword:0x60000000
-0x8067D190:dword:0x60000000
-0x8067D290:dword:0x4800008C
-0x8067D488:dword:0x60000000
-0x8067D6AC:dword:0x60000000
-0x8067D6D0:dword:0x60000000
-0x8067D6FC:dword:0x60000000
-0x8067D728:dword:0x60000000
-0x8067D738:dword:0x60000000
-0x8067D750:dword:0x7C000050
-0x8067DAB4:dword:0x60000000
-0x8067DC28:dword:0x48000094
-0x8067DDD0:dword:0x48000080
-0x8067DFA8:dword:0x48000088
-0x8067E1E8:dword:0x60000000
-0x8067E404:dword:0x48000090
-0x8067E5F8:dword:0x60000000
-0x8067E784:dword:0x48000084
-0x8067E998:dword:0x60000000
-0x8067EBE0:dword:0x48000094
-0x8067ED80:dword:0x48000084
-0x8067EF18:dword:0x48000098
-0x8067F0B0:dword:0x60000000
-0x8067F288:dword:0x60000000
-0x8067F41C:dword:0x4800009C
-0x8067F5B8:dword:0x60000000
-0x8067F72C:dword:0x60000000
-0x8067F9C0:dword:0x4800008C
-0x8067FB6C:dword:0x4800008C
-0x8067FD04:dword:0x4800008C
-0x8067FE98:dword:0x48000094
-0x80680110:dword:0x60000000
-0x80680304:dword:0x48000090
-0x80680624:dword:0x4800007C
-0x8068080C:dword:0x60000000
-0x806809E8:dword:0x7C000050
-0x80680ADC:dword:0x60000000
-0x80680CD4:dword:0x60000000
-0x80680E88:dword:0x48000090
-0x8068101C:dword:0x48000084
-0x80681290:dword:0x60000000
-0x806814E8:dword:0x48000084
-0x80681B28:dword:0x60000000
-0x80682F4C:dword:0x60000000
-0x80683C48:dword:0x480000F0
-0x80683FF0:dword:0x60000000
-0x806845D0:dword:0x480000E8
-0x80684D54:dword:0x48000090
-0x80684F04:dword:0x48000098
-0x80685690:dword:0x4800007C
-0x80686F94:dword:0x60000000
-0x80687098:dword:0x7C000050
-0x806871A0:dword:0x7C600050
-0x806872B0:dword:0x4800008C
-0x80687450:dword:0x48000098
-0x806875E4:dword:0x60000000
-0x80687788:dword:0x48000088
-0x80687B28:dword:0x60000000
-0x80687EA4:dword:0x60000000
-0x80688228:dword:0x60000000
-0x806883E4:dword:0x48000098
-0x806885BC:dword:0x48000098
-0x80688808:dword:0x60000000
-0x8068F2A8:dword:0x60000000
-0x8068F484:dword:0x48000088
-0x8068F600:dword:0x7C800050
-0x8068F724:dword:0x48000090
-0x8068FC68:dword:0x60000000
-0x8068FC90:dword:0x60000000
-0x8068FCB8:dword:0x7C800050
-0x80690958:dword:0x48000098
-0x80690BB8:dword:0x60000000
-0x80691034:dword:0x60000000
-0x806911D0:dword:0x60000000
-0x806913A0:dword:0x48000084
-0x80691510:dword:0x60000000
-0x80691D5C:dword:0x60000000
-0x806928B8:dword:0x60000000
-0x80692908:dword:0x7C000050
-0x80692A80:dword:0x48000098
-0x80692C84:dword:0x60000000
-0x80692EB4:dword:0x60000000
-0x8069306C:dword:0x4800008C
-0x806934F8:dword:0x7C600050
-0x80693BCC:dword:0x60000000
-0x80693ED8:dword:0x60000000
-0x806940B4:dword:0x4800008C
-0x80694720:dword:0x60000000
-0x80694960:dword:0x60000000
-0x8069AFBC:dword:0x48000090
-0x8069B1A4:dword:0x48000098
-0x8069CA3C:dword:0x60000000
-0x8069D2D0:dword:0x7C800050
-0x8069D800:dword:0x4800008C
-0x8069DAB4:dword:0x48000088
-0x8069DC68:dword:0x60000000
-0x8069E140:dword:0x60000000
-0x8069EA08:dword:0x60000000
-0x8069ECBC:dword:0x48000090
-0x8069FAA8:dword:0x7C600050
-0x8069FBDC:dword:0x60000000
-0x806A0038:dword:0x60000000
-0x806A0260:dword:0x60000000
-0x806A26EC:dword:0x48000090
-0x806A28A4:dword:0x60000000
-0x806A29CC:dword:0x48000080
-0x806A2B5C:dword:0x48000090
-0x806A360C:dword:0x48000080
-0x806A52F0:dword:0x48000090
-0x806A8A6C:dword:0x60000000
-0x806A93A4:dword:0x60000000
-0x806A956C:dword:0x48000098
-0x806AC330:dword:0x60000000
-0x806AE6DC:dword:0x60000000
-0x806AF478:dword:0x60000000
-0x806AF81C:dword:0x60000000
-0x806AF910:dword:0x60000000
-0x806AFBBC:dword:0x60000000
-0x806AFEC4:dword:0x60000000
-0x806B00F4:dword:0x60000000
-0x806B0E2C:dword:0x60000000
-0x806B28D4:dword:0x60000000
-0x806B2D68:dword:0x60000000
-0x806B2EC8:dword:0x60000000
-0x806B306C:dword:0x60000000
-0x806B31F4:dword:0x48000098
-0x806B3388:dword:0x7C000050
-0x806B3498:dword:0x4800009C
-0x806B3784:dword:0x60000000
-0x806B3CDC:dword:0x60000000
-0x806B40D4:dword:0x60000000
-0x806B42FC:dword:0x60000000
-0x806B4654:dword:0x7C800050
-0x806B5554:dword:0x48000090
-0x806B74D8:dword:0x4800008C
-0x806B7710:dword:0x60000000
-0x806B834C:dword:0x60000000
-0x806B9048:dword:0x48000084
-0x806B93F0:dword:0x4800008C
-0x806B9870:dword:0x60000000
-0x806B9F5C:dword:0x48000090
-0x806BA798:dword:0x48000088
-0x806BB124:dword:0x60000000
-0x806BB3DC:dword:0x48000094
-0x806BBAA0:dword:0x60000000
-0x806BBD78:dword:0x48000094
-0x806BBF2C:dword:0x60000000
-0x806BC14C:dword:0x60000000
-0x806BC908:dword:0x60000000
-0x806BCB94:dword:0x60000000
-0x806BD734:dword:0x60000000
-0x806BD750:dword:0x60000000
-0x806BD7E0:dword:0x7C000050
-0x806BD7F8:dword:0x7C000050
-0x806BD810:dword:0x7C800050
-0x806BD82C:dword:0x60000000
-0x806BD858:dword:0x60000000
-0x806BD89C:dword:0x7C600050
-0x806BFE7C:dword:0x7C1C0050
-0x806C2D14:dword:0x48000088
-0x806C3050:dword:0x48000084
-0x806C3584:dword:0x4800009C
-0x806C3B38:dword:0x48000090
-0x806C432C:dword:0x4800008C
-0x806C6A98:dword:0x48000090
-0x806C6ED8:dword:0x60000000
-0x806C77FC:dword:0x48000094
-0x806C7D88:dword:0x60000000
-0x806C8E78:dword:0x7C800050
-0x806C9A78:dword:0x60000000
-0x806C9BFC:dword:0x60000000
-0x806C9E8C:dword:0x60000000
-0x806CA0BC:dword:0x60000000
-0x806CA984:dword:0x60000000
-0x806CAAF4:dword:0x60000000
-0x806CB004:dword:0x4800008C
-0x806CB1A0:dword:0x48000094
-0x806CB718:dword:0x60000000
-0x806CB8F8:dword:0x48000090
-0x806CC008:dword:0x60000000
-0x806CC1C4:dword:0x60000000
-0x806CC378:dword:0x60000000
-0x806CC588:dword:0x48000098
-0x806CC920:dword:0x60000000
-0x806CCAD4:dword:0x4800008C
-0x806CCCA0:dword:0x60000000
-0x806CCF68:dword:0x48000088
-0x806CD610:dword:0x60000000
-0x806CDA30:dword:0x48000094
-0x806CDCB4:dword:0x48000088
-0x806CEB24:dword:0x60000000
-0x806CED08:dword:0x48000090
-0x806CFA58:dword:0x60000000
-0x806CFC48:dword:0x4800007C
-0x806CFDA0:dword:0x60000000
-0x806D11FC:dword:0x60000000
-0x806D1308:dword:0x60000000
-0x806D129C:dword:0x48000020
-0x806D25D0:dword:0x60000000
-0x806D2C9C:dword:0x48000094
-0x806D2DFC:dword:0x60000000
-0x806D40D8:dword:0x48000080
-0x806D432C:dword:0x48000094
-0x806D4948:dword:0x48000090
-0x806D4AF0:dword:0x60000000
-0x806D4D70:dword:0x4800008C
-0x806D4F34:dword:0x60000000
-0x806D51B8:dword:0x60000000
-0x806D58F8:dword:0x60000000
-0x806D5A88:dword:0x60000000
-0x806D5C54:dword:0x60000000
-0x806D6178:dword:0x60000000
-0x806D631C:dword:0x4800008C
-0x806D6654:dword:0x4800008C
-0x806D72A0:dword:0x60000000
-0x806D8908:dword:0x60000000
-0x806D9608:dword:0x60000000
-0x806DA310:dword:0x60000000
-0x806DB578:dword:0x48000080
-0x806DC19C:dword:0x48000090
-0x806DC4C4:dword:0x60000000
-0x806DC658:dword:0x60000000
-0x806E1444:dword:0x60000000
-0x806E18AC:dword:0x4800008C
-0x806E1A8C:dword:0x48000088
-0x806E1C40:dword:0x48000090
-0x806E2004:dword:0x60000000
-0x806E2254:dword:0x60000000
-0x806E243C:dword:0x7C000050
-0x806E2524:dword:0x48000084
-0x806E2700:dword:0x4800008C
-0x806E28C8:dword:0x60000000
-0x806E2AF8:dword:0x60000000
-0x806E6B64:dword:0x7C000050
-0x806E6F68:dword:0x48000064
-0x806E7470:dword:0x60000000
-0x806E75E8:dword:0x60000000
-0x806E7D8C:dword:0x48000080
-0x806E8020:dword:0x60000000
-0x806E8504:dword:0x48000090
-0x806E8830:dword:0x48000084
-0x806E8D4C:dword:0x4800008C
-0x806E9388:dword:0x60000000
-0x806E9500:dword:0x7C000050
-0x806E9604:dword:0x48000088
-0x806E9994:dword:0x7C600050
-0x806E9CD8:dword:0x7C000050
-0x806EA19C:dword:0x7CA00050
-0x806EA1B8:dword:0x7C800050
-0x806EA1D8:dword:0x7C600050
-0x806EA304:dword:0x60000000
-0x806EA7B8:dword:0x48000094
-0x806EA9A0:dword:0x60000000
-0x806EAB3C:dword:0x48000090
-0x806EAF24:dword:0x48000088
-0x806EB0B8:dword:0x60000000
-0x806ED1C4:dword:0x60000000
-0x806ED388:dword:0x48000094
-0x806ED52C:dword:0x48000088
-0x806F0400:dword:0x7C000050
-0x806F0418:dword:0x7C600050
-0x806F0434:dword:0x60000000
-0x806F0A14:dword:0x48000094
-0x806F3FAC:dword:0x48000090
-0x806F4268:dword:0x48000084
-0x806F47C8:dword:0x48000060
-0x806F4D78:dword:0x48000098
-0x806F5204:dword:0x48000094
-0x806F57B0:dword:0x48000098
-0x806F5BC8:dword:0x60000000
-0x806F5F04:dword:0x48000064
-0x806F6018:dword:0x60000000
-0x806F624C:dword:0x60000000
-0x806F6618:dword:0x7CC00050
-0x806F67B4:dword:0x60000000
-0x806F67FC:dword:0x60000000
-0x806F6900:dword:0x60000000
-0x806F6940:dword:0x7C000050
-0x806F69BC:dword:0x60000000
-0x806F6AC4:dword:0x48000094
-0x806F6E20:dword:0x60000000
-0x806F6F18:dword:0x60000000
-0x806F8C6C:dword:0x48000058
-0x806F92A0:dword:0x48000090
-0x806F9568:dword:0x60000000
-0x806F97FC:dword:0x48000098
-0x806F9B50:dword:0x60000000
-0x806F9D64:dword:0x60000000
-0x806FB104:dword:0x60000000
-0x806FB30C:dword:0x60000000
-0x806FB4F8:dword:0x60000000
-0x806FB844:dword:0x48000090
-0x806FB9EC:dword:0x60000000
-0x806FBAE4:dword:0x60000000
-0x806FBD38:dword:0x60000000
-0x806FC0DC:dword:0x48000064
-0x806FC22C:dword:0x48000094
-0x806FC888:dword:0x60000000
-0x806FCBC0:dword:0x48000064
-0x806FCF64:dword:0x60000000
-0x806FD2E8:dword:0x48000068
-0x806FD46C:dword:0x60000000
-0x806FD62C:dword:0x60000000
-0x806FD708:dword:0x60000000
-0x806FD7A4:dword:0x60000000
-0x806FD950:dword:0x60000000
-0x806FDA60:dword:0x60000000
-0x806FDF78:dword:0x60000000
-0x806FE6D0:dword:0x60000000
-0x806FE870:dword:0x60000000
-0x806FE98C:dword:0x60000000
-0x806FEB10:dword:0x60000000
-0x806FEC38:dword:0x60000000
-0x806FEDF8:dword:0x48000094
-0x806FF220:dword:0x60000000
-0x806FF924:dword:0x4800008C
-0x806FFAA4:dword:0x48000084
-0x807000CC:dword:0x48000094
-0x8070040C:dword:0x48000094
-0x8070057C:dword:0x60000000
-0x80700710:dword:0x60000000
-0x807008C4:dword:0x60000000
-0x80700A5C:dword:0x48000090
-0x80700BF4:dword:0x60000000
-0x80700FD4:dword:0x48000098
-0x807022BC:dword:0x60000000
-0x807023E8:dword:0x60000000
-0x80702704:dword:0x60000000
-0x807028C8:dword:0x48000080
-0x80702D30:dword:0x60000000
-0x80703198:dword:0x60000000
-0x807043A8:dword:0x60000000
-0x80704924:dword:0x48000094
-0x80705400:dword:0x48000098
-0x80705588:dword:0x60000000
-0x80705910:dword:0x60000000
-0x80705DFC:dword:0x60000000
-0x8070600C:dword:0x48000094
-0x80706540:dword:0x48000080
-0x80706A60:dword:0x48000090
-0x80706C68:dword:0x60000000
-0x80707930:dword:0x48000088
-0x80707BB4:dword:0x4800008C
-0x80707D28:dword:0x60000000
-0x80707FD4:dword:0x60000000
-0x80708334:dword:0x60000000
-0x80708960:dword:0x48000090
-0x80708B24:dword:0x48000090
-0x80708D28:dword:0x48000094
-0x80672C20:dword:0x60000000
+# SUKE01 - Kirby's Return to Dreamland
+
+[OnFrame]
+$Bypass Metafortress
+0x80175D3C:dword:0x48000084
+0x80176464:dword:0x60000000
+0x8017682C:dword:0x60000000
+0x80176B48:dword:0x48000090
+0x80176E20:dword:0x60000000
+0x80176FFC:dword:0x4800008C
+0x801771EC:dword:0x60000000
+0x801778E4:dword:0x48000088
+0x80177AAC:dword:0x48000090
+0x80177DE0:dword:0x48000090
+0x80178138:dword:0x4800008C
+0x8017960C:dword:0x60000000
+0x80179958:dword:0x4800008C
+0x80179AB4:dword:0x4800009C
+0x80179D00:dword:0x48000094
+0x80179E88:dword:0x60000000
+0x8017A030:dword:0x4800009C
+0x8017A1F0:dword:0x48000088
+0x8017A394:dword:0x48000094
+0x8017A524:dword:0x48000084
+0x8017A69C:dword:0x60000000
+0x8017A828:dword:0x60000000
+0x8017AA54:dword:0x4800008C
+0x8017AC28:dword:0x48000088
+0x8017AEA8:dword:0x60000000
+0x8017B02C:dword:0x48000094
+0x8017B1C8:dword:0x60000000
+0x8017B41C:dword:0x60000000
+0x8017B594:dword:0x60000000
+0x8017B630:dword:0x4800009C
+0x8017B604:dword:0x48000020
+0x8017C5DC:dword:0x60000000
+0x8017CBCC:dword:0x4800008C
+0x8017F5C8:dword:0x60000000
+0x8017F74C:dword:0x60000000
+0x80180124:dword:0x60000000
+0x80180518:dword:0x48000090
+0x80180790:dword:0x48000094
+0x80180978:dword:0x48000098
+0x80180CC4:dword:0x48000088
+0x80180E8C:dword:0x60000000
+0x8018131C:dword:0x60000000
+0x801814B0:dword:0x60000000
+0x80181580:dword:0x60000000
+0x8018153C:dword:0x48000024
+0x801819A0:dword:0x60000000
+0x80181BDC:dword:0x48000090
+0x80181DB8:dword:0x60000000
+0x80181F70:dword:0x4800009C
+0x80182108:dword:0x60000000
+0x8018FDD8:dword:0x60000000
+0x8018FF58:dword:0x4800008C
+0x801901E0:dword:0x60000000
+0x801902EC:dword:0x4800008C
+0x8019087C:dword:0x4800009C
+0x80190ABC:dword:0x60000000
+0x80190C18:dword:0x4800008C
+0x801925EC:dword:0x48000080
+0x801AACCC:dword:0x4800008C
+0x801AAF14:dword:0x4800008C
+0x801AB240:dword:0x48000094
+0x801ABFF8:dword:0x48000080
+0x801ADA60:dword:0x60000000
+0x801ADD04:dword:0x60000000
+0x801ADED4:dword:0x4800009C
+0x801AE0C8:dword:0x60000000
+0x801AEB00:dword:0x7C000050
+0x801AF608:dword:0x48000098
+0x801AF8F4:dword:0x60000000
+0x801B0CFC:dword:0x4800008C
+0x801B0EBC:dword:0x4800009C
+0x801B1524:dword:0x60000000
+0x801B16EC:dword:0x60000000
+0x801B1894:dword:0x60000000
+0x801B1AE8:dword:0x60000000
+0x801B2830:dword:0x48000098
+0x801B2AE4:dword:0x60000000
+0x801B2D64:dword:0x4800009C
+0x801B2FBC:dword:0x60000000
+0x801B33CC:dword:0x60000000
+0x801B35D4:dword:0x48000080
+0x801B4E28:dword:0x4800007C
+0x801B52AC:dword:0x60000000
+0x801B54A4:dword:0x60000000
+0x801B59C0:dword:0x4800008C
+0x801B5C48:dword:0x48000094
+0x801B5E98:dword:0x60000000
+0x801B6020:dword:0x7C600050
+0x801D0988:dword:0x60000000
+0x801D0B80:dword:0x480000A0
+0x801D9BD8:dword:0x60000000
+0x801DA80C:dword:0x60000000
+0x801DA9B0:dword:0x60000000
+0x801DAB40:dword:0x60000000
+0x801DAD00:dword:0x48000088
+0x801DCEC4:dword:0x60000000
+0x801DDB14:dword:0x60000000
+0x801DDCA4:dword:0x4800008C
+0x801E6C18:dword:0x60000000
+0x801E6EDC:dword:0x48000098
+0x801E7AAC:dword:0x48000084
+0x801E7C38:dword:0x60000000
+0x801E81A4:dword:0x7C000050
+0x801E8E78:dword:0x60000000
+0x801E9438:dword:0x7C600050
+0x801E9BF8:dword:0x60000000
+0x801E9E10:dword:0x60000000
+0x801EA040:dword:0x60000000
+0x801EA2F8:dword:0x7C000050
+0x801EA904:dword:0x60000000
+0x801EAC34:dword:0x4800009C
+0x801EAF08:dword:0x48000088
+0x801EB390:dword:0x7C000050
+0x801EBA44:dword:0x48000090
+0x801EC508:dword:0x60000000
+0x801EC86C:dword:0x48000094
+0x801EC9E8:dword:0x4800008C
+0x801ECC04:dword:0x48000098
+0x801ED3B0:dword:0x60000000
+0x801ED548:dword:0x7C600050
+0x801EDB00:dword:0x60000000
+0x801EDE74:dword:0x60000000
+0x801EE1F8:dword:0x48000090
+0x801EE398:dword:0x48000098
+0x801EE810:dword:0x48000088
+0x801EEA9C:dword:0x48000084
+0x801EEC0C:dword:0x48000088
+0x801EED98:dword:0x60000000
+0x801EF404:dword:0x60000000
+0x801EF648:dword:0x60000000
+0x801EFE14:dword:0x48000094
+0x801F0250:dword:0x4800008C
+0x801F05AC:dword:0x60000000
+0x801F0750:dword:0x60000000
+0x801F0AE8:dword:0x60000000
+0x801F0C90:dword:0x60000000
+0x801F18EC:dword:0x48000094
+0x801F1E54:dword:0x60000000
+0x801F1FC8:dword:0x60000000
+0x801F22C4:dword:0x48000090
+0x801F278C:dword:0x60000000
+0x801F291C:dword:0x60000000
+0x801F2B18:dword:0x60000000
+0x801F2D3C:dword:0x48000098
+0x801F35C8:dword:0x48000064
+0x801F3714:dword:0x60000000
+0x801F3920:dword:0x60000000
+0x801F454C:dword:0x7C600050
+0x801F4564:dword:0x7C000050
+0x801F458C:dword:0x7C000050
+0x801F462C:dword:0x7C000050
+0x801F474C:dword:0x60000000
+0x801F4E38:dword:0x60000000
+0x801F6DB0:dword:0x4800008C
+0x801F743C:dword:0x60000000
+0x801F7D60:dword:0x60000000
+0x801F7FBC:dword:0x4800008C
+0x801F813C:dword:0x60000000
+0x801F82EC:dword:0x4800008C
+0x801F84F4:dword:0x60000000
+0x801F8BD8:dword:0x60000000
+0x801F8CF4:dword:0x60000000
+0x801F903C:dword:0x60000000
+0x801F9B2C:dword:0x60000000
+0x801F9CCC:dword:0x4800008C
+0x801FA06C:dword:0x60000000
+0x801FA388:dword:0x60000000
+0x801FBB7C:dword:0x4800008C
+0x801FEAF4:dword:0x4800008C
+0x801FECB4:dword:0x60000000
+0x80201098:dword:0x48000090
+0x8020165C:dword:0x60000000
+0x80201694:dword:0x60000000
+0x80201790:dword:0x48000094
+0x80201B94:dword:0x60000000
+0x80201DE8:dword:0x60000000
+0x80201F5C:dword:0x60000000
+0x802021E0:dword:0x60000000
+0x80202358:dword:0x60000000
+0x8020266C:dword:0x60000000
+0x8020437C:dword:0x4800008C
+0x802045F8:dword:0x48000094
+0x80204980:dword:0x60000000
+0x80205168:dword:0x48000094
+0x8020B438:dword:0x60000000
+0x8020B5AC:dword:0x48000090
+0x8020B768:dword:0x60000000
+0x8020B7D8:dword:0x60000000
+0x8020CED0:dword:0x48000088
+0x8020D054:dword:0x60000000
+0x8020D3C4:dword:0x60000000
+0x8020D774:dword:0x48000098
+0x8020F58C:dword:0x60000000
+0x8020F814:dword:0x60000000
+0x80210120:dword:0x60000000
+0x80210494:dword:0x48000090
+0x80210AC8:dword:0x48000094
+0x80210CCC:dword:0x4800008C
+0x80211144:dword:0x60000000
+0x80215CC0:dword:0x60000000
+0x80215EB4:dword:0x60000000
+0x802160C8:dword:0x7C000050
+0x80216348:dword:0x60000000
+0x8021655C:dword:0x48000090
+0x80217334:dword:0x60000000
+0x80217518:dword:0x48000088
+0x80217AAC:dword:0x60000000
+0x80217C98:dword:0x60000000
+0x802180B4:dword:0x60000000
+0x8021823C:dword:0x60000000
+0x8021840C:dword:0x60000000
+0x80218578:dword:0x60000000
+0x8021873C:dword:0x60000000
+0x80218C7C:dword:0x60000000
+0x8021BDB8:dword:0x7C800050
+0x8021D318:dword:0x60000000
+0x8021D738:dword:0x60000000
+0x80222DE4:dword:0x48000098
+0x80223218:dword:0x60000000
+0x80225714:dword:0x60000000
+0x80225884:dword:0x60000000
+0x80225A3C:dword:0x60000000
+0x80225CD4:dword:0x7C000050
+0x80225F0C:dword:0x4800007C
+0x8022669C:dword:0x4800009C
+0x80226A10:dword:0x48000094
+0x80226EE8:dword:0x60000000
+0x80227134:dword:0x60000000
+0x802272A8:dword:0x48000090
+0x8022742C:dword:0x48000084
+0x8022759C:dword:0x60000000
+0x80227714:dword:0x60000000
+0x80228188:dword:0x48000098
+0x80228898:dword:0x60000000
+0x80229078:dword:0x48000094
+0x80229EF4:dword:0x4800008C
+0x8022A080:dword:0x60000000
+0x8022A2AC:dword:0x60000000
+0x8022A4C0:dword:0x48000094
+0x8022A674:dword:0x7C000050
+0x8022B01C:dword:0x60000000
+0x8022B1C0:dword:0x60000000
+0x8022B378:dword:0x60000000
+0x8022BC9C:dword:0x48000080
+0x8022C644:dword:0x48000084
+0x8022C83C:dword:0x48000094
+0x8022CA6C:dword:0x48000090
+0x8022CCEC:dword:0x60000000
+0x8022CF38:dword:0x48000094
+0x8022D420:dword:0x60000000
+0x8022D5D0:dword:0x60000000
+0x8022DA50:dword:0x48000060
+0x8022DFC8:dword:0x60000000
+0x8022E1F4:dword:0x4800007C
+0x8022E4A4:dword:0x60000000
+0x8022E66C:dword:0x60000000
+0x8022EFD0:dword:0x60000000
+0x8022F784:dword:0x60000000
+0x80230FC8:dword:0x48000080
+0x802328E4:dword:0x60000000
+0x802348A0:dword:0x4800009C
+0x80235550:dword:0x48000090
+0x80236590:dword:0x60000000
+0x80237398:dword:0x48000084
+0x80237598:dword:0x60000000
+0x80237ABC:dword:0x48000060
+0x802397EC:dword:0x4800008C
+0x8023996C:dword:0x48000094
+0x8023ACD0:dword:0x60000000
+0x8023AE28:dword:0x4800008C
+0x8023AFDC:dword:0x60000000
+0x8023B1DC:dword:0x60000000
+0x8023F740:dword:0x7C600050
+0x8023FB70:dword:0x48000098
+0x8023FDC0:dword:0x60000000
+0x8023FFA8:dword:0x48000090
+0x8024013C:dword:0x60000000
+0x802403C4:dword:0x48000094
+0x8024054C:dword:0x60000000
+0x802406E0:dword:0x60000000
+0x80240A0C:dword:0x48000090
+0x80241CD8:dword:0x60000000
+0x802422D0:dword:0x4800008C
+0x80242694:dword:0x60000000
+0x80242A2C:dword:0x48000094
+0x80242E9C:dword:0x48000094
+0x80243064:dword:0x7C000050
+0x80243078:dword:0x7C600050
+0x802432F4:dword:0x48000090
+0x80243524:dword:0x4800008C
+0x80243814:dword:0x4800009C
+0x80243A04:dword:0x48000084
+0x80243BB8:dword:0x60000000
+0x80243D60:dword:0x60000000
+0x80243E90:dword:0x60000000
+0x80244090:dword:0x60000000
+0x802442E4:dword:0x4800008C
+0x8024464C:dword:0x48000094
+0x80244860:dword:0x60000000
+0x80244980:dword:0x60000000
+0x8024500C:dword:0x60000000
+0x802452AC:dword:0x48000090
+0x80245468:dword:0x4800009C
+0x80245E88:dword:0x60000000
+0x802462E4:dword:0x60000000
+0x80246934:dword:0x48000088
+0x80246AA8:dword:0x60000000
+0x80246D10:dword:0x60000000
+0x80247628:dword:0x60000000
+0x80247918:dword:0x60000000
+0x80247AAC:dword:0x4800007C
+0x80247EF0:dword:0x60000000
+0x802480D4:dword:0x60000000
+0x802C2ABC:dword:0x60000000
+0x802C3CA4:dword:0x60000000
+0x802C3F9C:dword:0x48000084
+0x802CFB28:dword:0x60000000
+0x802CFB3C:dword:0x7C600050
+0x802DE4C8:dword:0x48000098
+0x80328770:dword:0x60000000
+0x80329654:dword:0x60000000
+0x80329A88:dword:0x60000000
+0x80329C84:dword:0x48000094
+0x8032A480:dword:0x60000000
+0x8032A610:dword:0x48000090
+0x8032AA38:dword:0x60000000
+0x8032AC08:dword:0x60000000
+0x8032AE94:dword:0x60000000
+0x8032B064:dword:0x7C000050
+0x8032B20C:dword:0x48000090
+0x8032B3D0:dword:0x4800008C
+0x8032BDB4:dword:0x4800008C
+0x8032BF84:dword:0x60000000
+0x8032C158:dword:0x4800008C
+0x8032C418:dword:0x48000094
+0x8032C5BC:dword:0x60000000
+0x8032D15C:dword:0x60000000
+0x8032D5A0:dword:0x60000000
+0x8032DF3C:dword:0x48000088
+0x8032E244:dword:0x48000090
+0x8032E3AC:dword:0x60000000
+0x8032F378:dword:0x48000098
+0x8032F7F4:dword:0x60000000
+0x8032FAF8:dword:0x60000000
+0x8032FF08:dword:0x60000000
+0x8033023C:dword:0x60000000
+0x803306BC:dword:0x60000000
+0x80330870:dword:0x60000000
+0x80330B40:dword:0x48000088
+0x80331170:dword:0x48000094
+0x803313E4:dword:0x60000000
+0x8033159C:dword:0x48000090
+0x80331BB0:dword:0x60000000
+0x80331D38:dword:0x60000000
+0x80331E90:dword:0x48000090
+0x80332018:dword:0x48000094
+0x80333250:dword:0x60000000
+0x80334238:dword:0x60000000
+0x80334358:dword:0x48000094
+0x803344EC:dword:0x48000090
+0x80334688:dword:0x48000098
+0x80334C78:dword:0x60000000
+0x80334E24:dword:0x60000000
+0x803350BC:dword:0x48000088
+0x803352C0:dword:0x60000000
+0x80335450:dword:0x60000000
+0x803355D8:dword:0x48000088
+0x80335750:dword:0x60000000
+0x803358EC:dword:0x60000000
+0x80335A70:dword:0x48000088
+0x803363D0:dword:0x60000000
+0x8033658C:dword:0x60000000
+0x80336784:dword:0x60000000
+0x80336C10:dword:0x60000000
+0x80336C3C:dword:0x60000000
+0x80336EA8:dword:0x48000090
+0x8033ABA4:dword:0x4800008C
+0x8033B8F4:dword:0x48000090
+0x8035521C:dword:0x60000000
+0x80358828:dword:0x48000090
+0x80358E74:dword:0x48000090
+0x803596CC:dword:0x60000000
+0x803598E4:dword:0x60000000
+0x80359A84:dword:0x4800008C
+0x80359CB0:dword:0x60000000
+0x80359E7C:dword:0x48000090
+0x8035A094:dword:0x48000084
+0x8035A250:dword:0x60000000
+0x8035A3DC:dword:0x48000084
+0x8035A588:dword:0x48000090
+0x8035A730:dword:0x48000098
+0x8035A8EC:dword:0x48000094
+0x8035AA84:dword:0x60000000
+0x8035ACCC:dword:0x4800009C
+0x8035AE84:dword:0x60000000
+0x8035B01C:dword:0x48000094
+0x8035B2BC:dword:0x4800008C
+0x8035B5F8:dword:0x60000000
+0x8035B614:dword:0x7C600050
+0x8035CCDC:dword:0x60000000
+0x8035CF38:dword:0x60000000
+0x8035D110:dword:0x48000094
+0x8035D2A8:dword:0x60000000
+0x8035D458:dword:0x48000094
+0x8035E61C:dword:0x60000000
+0x8035ECD4:dword:0x60000000
+0x8035EE44:dword:0x60000000
+0x80369DE4:dword:0x7C600050
+0x8036D784:dword:0x60000000
+0x8036E07C:dword:0x48000088
+0x8036E200:dword:0x48000090
+0x8036E390:dword:0x48000098
+0x8037CEBC:dword:0x4800008C
+0x8038107C:dword:0x60000000
+0x804375FC:dword:0x4800008C
+0x80444350:dword:0x60000000
+0x8044AEAC:dword:0x48000090
+0x8044B9D0:dword:0x60000000
+0x8044E954:dword:0x48000088
+0x8044EB40:dword:0x60000000
+0x80450304:dword:0x60000000
+0x80450520:dword:0x4800009C
+0x80450ABC:dword:0x48000088
+0x80450C1C:dword:0x60000000
+0x80450E34:dword:0x48000090
+0x80454214:dword:0x60000000
+0x804546F0:dword:0x60000000
+0x80454DAC:dword:0x4800008C
+0x8045509C:dword:0x60000000
+0x80455494:dword:0x60000000
+0x80455658:dword:0x60000000
+0x80455910:dword:0x60000000
+0x80455ABC:dword:0x4800008C
+0x80455C64:dword:0x60000000
+0x80456610:dword:0x60000000
+0x80456E84:dword:0x60000000
+0x8045811C:dword:0x48000090
+0x8045958C:dword:0x4800008C
+0x80459870:dword:0x60000000
+0x8045CD94:dword:0x60000000
+0x8045D26C:dword:0x48000088
+0x8045D44C:dword:0x60000000
+0x8045D5F0:dword:0x60000000
+0x8045D7B4:dword:0x48000088
+0x8045D998:dword:0x48000098
+0x8045DB60:dword:0x48000088
+0x8045DD28:dword:0x48000098
+0x8045DEF4:dword:0x4800008C
+0x8045E0D0:dword:0x4800008C
+0x8045F4EC:dword:0x60000000
+0x804640C8:dword:0x7C000050
+0x804651E8:dword:0x4800005C
+0x80465540:dword:0x48000084
+0x80465860:dword:0x48000090
+0x8046B3F8:dword:0x60000000
+0x8046B5B4:dword:0x4800009C
+0x8046BA78:dword:0x60000000
+0x8046BE78:dword:0x48000088
+0x8046C4A8:dword:0x60000000
+0x8046C650:dword:0x60000000
+0x8046CCC0:dword:0x60000000
+0x8046D674:dword:0x7CA00050
+0x804754C0:dword:0x60000000
+0x8047594C:dword:0x60000000
+0x80475B08:dword:0x60000000
+0x80475D58:dword:0x60000000
+0x80476890:dword:0x60000000
+0x80476A28:dword:0x60000000
+0x80476F74:dword:0x48000080
+0x80477258:dword:0x48000088
+0x80477994:dword:0x48000088
+0x80477E94:dword:0x48000094
+0x80478034:dword:0x60000000
+0x80478240:dword:0x60000000
+0x804783A8:dword:0x4800007C
+0x804788E0:dword:0x48000094
+0x8047FE7C:dword:0x48000098
+0x80485AD8:dword:0x60000000
+0x80486228:dword:0x48000094
+0x8048643C:dword:0x60000000
+0x80486568:dword:0x48000088
+0x80487C18:dword:0x48000094
+0x80487EE8:dword:0x48000090
+0x80488320:dword:0x60000000
+0x80488BF0:dword:0x60000000
+0x80488D60:dword:0x60000000
+0x80488F8C:dword:0x4800009C
+0x80489268:dword:0x48000098
+0x80489690:dword:0x60000000
+0x80489B48:dword:0x60000000
+0x80489C54:dword:0x4800008C
+0x80489E30:dword:0x4800008C
+0x8048A08C:dword:0x48000088
+0x8048A29C:dword:0x7CA00050
+0x8048A6C8:dword:0x60000000
+0x8048AA44:dword:0x48000090
+0x8048E55C:dword:0x4800008C
+0x8048EB8C:dword:0x60000000
+0x8048EEB4:dword:0x48000098
+0x80491AAC:dword:0x4800008C
+0x80491E18:dword:0x7C000050
+0x80491FE8:dword:0x4800009C
+0x80495A18:dword:0x48000090
+0x804962C4:dword:0x48000098
+0x804967B4:dword:0x60000000
+0x804969D8:dword:0x60000000
+0x80496EA0:dword:0x48000088
+0x804970C8:dword:0x48000084
+0x80497308:dword:0x48000098
+0x80497490:dword:0x60000000
+0x80497638:dword:0x60000000
+0x80498108:dword:0x60000000
+0x80498128:dword:0x60000000
+0x80498148:dword:0x60000000
+0x80498160:dword:0x7C600050
+0x80498284:dword:0x48000090
+0x8049848C:dword:0x4800008C
+0x804A85C0:dword:0x60000000
+0x804A8A2C:dword:0x48000098
+0x804A8CC0:dword:0x48000098
+0x804A8F50:dword:0x60000000
+0x804A95C4:dword:0x60000000
+0x804A9D10:dword:0x60000000
+0x804AF134:dword:0x60000000
+0x804AF7DC:dword:0x60000000
+0x804B043C:dword:0x48000094
+0x804B06D8:dword:0x48000094
+0x804B0BA8:dword:0x7C600050
+0x804B1A9C:dword:0x60000000
+0x804B1F38:dword:0x60000000
+0x804B2800:dword:0x48000094
+0x804B2EA0:dword:0x60000000
+0x804B387C:dword:0x48000090
+0x804B3C8C:dword:0x48000080
+0x804B3E34:dword:0x48000088
+0x804B3FE0:dword:0x48000090
+0x804B4230:dword:0x60000000
+0x804B8F24:dword:0x48000088
+0x804B9244:dword:0x60000000
+0x804B997C:dword:0x60000000
+0x804C39D8:dword:0x60000000
+0x804C6DBC:dword:0x4800008C
+0x804C6F9C:dword:0x60000000
+0x804C72B0:dword:0x7C000050
+0x804C7A90:dword:0x7C000050
+0x804C7C44:dword:0x7C600050
+0x804C7E74:dword:0x4800008C
+0x804CCB34:dword:0x48000094
+0x804CCE5C:dword:0x48000094
+0x804CD030:dword:0x7C000050
+0x804CFFE8:dword:0x60000000
+0x804D0228:dword:0x7C600050
+0x804D023C:dword:0x7C000050
+0x804D08C8:dword:0x60000000
+0x804D0C30:dword:0x7CA00050
+0x804D0D04:dword:0x60000000
+0x804D0F6C:dword:0x7C000050
+0x804D1068:dword:0x60000000
+0x804D1318:dword:0x60000000
+0x804D1340:dword:0x60000000
+0x804D1364:dword:0x60000000
+0x804D16BC:dword:0x48000080
+0x804D2040:dword:0x60000000
+0x804D22AC:dword:0x60000000
+0x804D24A8:dword:0x48000088
+0x804D26D0:dword:0x48000084
+0x804D29D0:dword:0x60000000
+0x804D2BC8:dword:0x48000098
+0x804D32B0:dword:0x4800007C
+0x804D34CC:dword:0x60000000
+0x804D3EF4:dword:0x60000000
+0x804D4330:dword:0x4800008C
+0x804D47FC:dword:0x60000000
+0x804D8598:dword:0x48000088
+0x804DB5D8:dword:0x48000098
+0x804DB9AC:dword:0x48000090
+0x804DDD5C:dword:0x60000000
+0x804DE238:dword:0x60000000
+0x804DE3D0:dword:0x60000000
+0x804DE56C:dword:0x60000000
+0x804DE72C:dword:0x48000078
+0x804DE9A4:dword:0x60000000
+0x804DEC00:dword:0x60000000
+0x804DEE60:dword:0x60000000
+0x804DF130:dword:0x48000094
+0x804DFCF4:dword:0x60000000
+0x804DFE70:dword:0x60000000
+0x804E01FC:dword:0x60000000
+0x804E0C70:dword:0x48000090
+0x804E0E24:dword:0x4800008C
+0x804E0FC4:dword:0x48000094
+0x804E114C:dword:0x60000000
+0x804E1CB8:dword:0x60000000
+0x804E2040:dword:0x48000094
+0x804E2DEC:dword:0x60000000
+0x804E31C8:dword:0x48000090
+0x804E33A4:dword:0x60000000
+0x804E34A4:dword:0x60000000
+0x804E3628:dword:0x60000000
+0x804E4CFC:dword:0x60000000
+0x804E583C:dword:0x7C000050
+0x804EE220:dword:0x60000000
+0x804EE918:dword:0x60000000
+0x804EFC08:dword:0x60000000
+0x804EFF98:dword:0x4800008C
+0x804F0204:dword:0x60000000
+0x804F10A8:dword:0x4800008C
+0x804F1354:dword:0x4800009C
+0x804F1514:dword:0x60000000
+0x804F171C:dword:0x48000098
+0x804F21D0:dword:0x60000000
+0x804F3A70:dword:0x48000098
+0x804FB4D8:dword:0x60000000
+0x804FB6BC:dword:0x48000094
+0x804FBBC0:dword:0x60000000
+0x804FE064:dword:0x48000090
+0x804FE1F8:dword:0x4800008C
+0x804FE6F8:dword:0x4800008C
+0x804FEE00:dword:0x48000090
+0x804FF140:dword:0x48000088
+0x8050167C:dword:0x60000000
+0x80501844:dword:0x60000000
+0x805019E4:dword:0x60000000
+0x80506D64:dword:0x60000000
+0x805071E8:dword:0x60000000
+0x80507380:dword:0x60000000
+0x805090E4:dword:0x60000000
+0x80509820:dword:0x60000000
+0x805099C4:dword:0x60000000
+0x8050ACAC:dword:0x60000000
+0x8050AE34:dword:0x60000000
+0x8050AFDC:dword:0x60000000
+0x8050BAC8:dword:0x48000080
+0x8050BC6C:dword:0x48000090
+0x8050CAF4:dword:0x60000000
+0x8050CC90:dword:0x48000098
+0x8050CE98:dword:0x4800009C
+0x80511800:dword:0x60000000
+0x80511824:dword:0x60000000
+0x80511960:dword:0x60000000
+0x80513DB4:dword:0x48000090
+0x80514220:dword:0x60000000
+0x80557620:dword:0x48000088
+0x805578EC:dword:0x60000000
+0x8055AB68:dword:0x60000000
+0x8055AB94:dword:0x60000000
+0x8055ABC0:dword:0x60000000
+0x8055AC30:dword:0x7C600050
+0x8055F2F8:dword:0x60000000
+0x8056268C:dword:0x48000094
+0x80562898:dword:0x60000000
+0x80562A14:dword:0x60000000
+0x80562BE0:dword:0x60000000
+0x80562C14:dword:0x7CA00050
+0x8056509C:dword:0x4800008C
+0x80568DD4:dword:0x60000000
+0x80568F7C:dword:0x4800008C
+0x805696E0:dword:0x60000000
+0x8056DD14:dword:0x60000000
+0x8056E3EC:dword:0x60000000
+0x8056E580:dword:0x48000094
+0x8056FA98:dword:0x48000094
+0x80570220:dword:0x60000000
+0x8057EB68:dword:0x60000000
+0x8057ED88:dword:0x60000000
+0x8057EF70:dword:0x48000090
+0x8057F0DC:dword:0x60000000
+0x8057F59C:dword:0x60000000
+0x8057F818:dword:0x60000000
+0x8057F838:dword:0x60000000
+0x8057F89C:dword:0x60000000
+0x805834F8:dword:0x60000000
+0x80583678:dword:0x48000094
+0x80583968:dword:0x60000000
+0x8058822C:dword:0x60000000
+0x80588254:dword:0x60000000
+0x80588280:dword:0x60000000
+0x805882A8:dword:0x60000000
+0x805882D4:dword:0x60000000
+0x80588344:dword:0x7C600050
+0x80588430:dword:0x60000000
+0x8058AC74:dword:0x4800009C
+0x8058AEFC:dword:0x60000000
+0x805929EC:dword:0x4800008C
+0x80592B88:dword:0x60000000
+0x80592BB4:dword:0x60000000
+0x80592BE0:dword:0x60000000
+0x80592C40:dword:0x7C600050
+0x805933CC:dword:0x48000084
+0x805936EC:dword:0x48000094
+0x80598C3C:dword:0x48000098
+0x8059DD94:dword:0x48000094
+0x8059DF6C:dword:0x60000000
+0x8059DF88:dword:0x60000000
+0x8059DFAC:dword:0x60000000
+0x8059E0A8:dword:0x48000090
+0x805C2320:dword:0x60000000
+0x805C272C:dword:0x48000090
+0x805C2B3C:dword:0x48000094
+0x805C2CE8:dword:0x60000000
+0x805C2D10:dword:0x60000000
+0x805C2D2C:dword:0x60000000
+0x805C2D7C:dword:0x60000000
+0x805C3F14:dword:0x48000088
+0x805C5AE4:dword:0x4800007C
+0x805C5C70:dword:0x4800008C
+0x805C5E58:dword:0x48000090
+0x805C62FC:dword:0x60000000
+0x805C64D0:dword:0x48000094
+0x805C82AC:dword:0x60000000
+0x805CA740:dword:0x60000000
+0x805CB668:dword:0x48000094
+0x805CB8A0:dword:0x60000000
+0x805CBB8C:dword:0x60000000
+0x805CBD28:dword:0x48000098
+0x805CC068:dword:0x48000084
+0x805CC204:dword:0x60000000
+0x805CC424:dword:0x60000000
+0x805CC5C8:dword:0x48000088
+0x805CC7C0:dword:0x60000000
+0x805CC940:dword:0x60000000
+0x805CCB08:dword:0x7C000050
+0x805CCD00:dword:0x48000088
+0x805CCECC:dword:0x4800008C
+0x805CD258:dword:0x4800008C
+0x805CE2EC:dword:0x60000000
+0x805CE57C:dword:0x60000000
+0x805CF808:dword:0x48000094
+0x805CF99C:dword:0x7C600050
+0x805CFA9C:dword:0x7C000050
+0x805CFB98:dword:0x60000000
+0x805CFD7C:dword:0x4800008C
+0x805CFFF4:dword:0x60000000
+0x805D0550:dword:0x60000000
+0x805D08C4:dword:0x60000000
+0x805D4430:dword:0x60000000
+0x805D4A98:dword:0x60000000
+0x805D4CEC:dword:0x48000090
+0x805D50C0:dword:0x48000090
+0x805D52E8:dword:0x48000088
+0x805D5894:dword:0x480000A4
+0x805D5B54:dword:0x48000094
+0x805D5E9C:dword:0x4800008C
+0x805D6070:dword:0x60000000
+0x805D6224:dword:0x48000084
+0x805D6630:dword:0x4800008C
+0x805D7B74:dword:0x60000000
+0x805D7FF8:dword:0x7C800050
+0x805D9D38:dword:0x60000000
+0x805DBADC:dword:0x48000094
+0x805DBF74:dword:0x48000090
+0x805DC15C:dword:0x60000000
+0x805DC264:dword:0x60000000
+0x805DD91C:dword:0x48000084
+0x805DDBA4:dword:0x7C800050
+0x805DE120:dword:0x60000000
+0x805DE240:dword:0x60000000
+0x805DE390:dword:0x60000000
+0x805DE53C:dword:0x48000088
+0x805DE6E0:dword:0x60000000
+0x805DEA48:dword:0x48000090
+0x805DFBEC:dword:0x60000000
+0x805DFE1C:dword:0x48000090
+0x805E0148:dword:0x60000000
+0x805E036C:dword:0x48000090
+0x805E0508:dword:0x60000000
+0x805E08EC:dword:0x60000000
+0x805E0BD0:dword:0x48000084
+0x805E0D74:dword:0x48000084
+0x805E10B8:dword:0x60000000
+0x805F0CC8:dword:0x60000000
+0x805F18DC:dword:0x60000000
+0x805F1AD0:dword:0x60000000
+0x805F1E50:dword:0x60000000
+0x805F1FCC:dword:0x60000000
+0x805F21C0:dword:0x48000094
+0x805F2358:dword:0x4800009C
+0x805F24DC:dword:0x4800008C
+0x805F2678:dword:0x60000000
+0x805F280C:dword:0x60000000
+0x805F29A0:dword:0x4800007C
+0x805F2B18:dword:0x60000000
+0x805F2C88:dword:0x60000000
+0x805F2DF0:dword:0x60000000
+0x805F2F80:dword:0x60000000
+0x805F3134:dword:0x60000000
+0x805F32C8:dword:0x60000000
+0x805F346C:dword:0x4800008C
+0x805F35D0:dword:0x60000000
+0x805F3758:dword:0x60000000
+0x805F38BC:dword:0x60000000
+0x805F3A5C:dword:0x60000000
+0x805F3BBC:dword:0x60000000
+0x805F3D40:dword:0x480000A0
+0x805F3EDC:dword:0x4800009C
+0x805F406C:dword:0x48000098
+0x805F420C:dword:0x480000A0
+0x805F43A8:dword:0x60000000
+0x805F452C:dword:0x60000000
+0x805F46A4:dword:0x48000090
+0x805F4830:dword:0x48000090
+0x805F49E4:dword:0x60000000
+0x805F4B8C:dword:0x60000000
+0x805F4D18:dword:0x48000090
+0x805F4EAC:dword:0x4800008C
+0x805F5030:dword:0x60000000
+0x805F51C0:dword:0x48000098
+0x805F5350:dword:0x4800009C
+0x805F54D8:dword:0x60000000
+0x805F5648:dword:0x60000000
+0x805F580C:dword:0x60000000
+0x805F5990:dword:0x48000088
+0x805F5AF4:dword:0x60000000
+0x805F5C90:dword:0x48000094
+0x805F5E10:dword:0x60000000
+0x805F5F98:dword:0x4800009C
+0x805F6150:dword:0x60000000
+0x805F62E0:dword:0x48000094
+0x805F6488:dword:0x48000098
+0x805F6620:dword:0x60000000
+0x805F67B0:dword:0x60000000
+0x805F6940:dword:0x48000088
+0x805F6AD8:dword:0x60000000
+0x805F6C48:dword:0x48000088
+0x805F6DF4:dword:0x60000000
+0x805F6F94:dword:0x60000000
+0x805F714C:dword:0x48000098
+0x805F72E4:dword:0x60000000
+0x805F747C:dword:0x4800009C
+0x805F761C:dword:0x48000090
+0x805F77B0:dword:0x4800009C
+0x805F7948:dword:0x60000000
+0x805F7AEC:dword:0x48000090
+0x805F7C90:dword:0x48000094
+0x805F7E48:dword:0x48000098
+0x805F7FFC:dword:0x60000000
+0x805F8160:dword:0x60000000
+0x805F8308:dword:0x60000000
+0x805F8478:dword:0x60000000
+0x805F8610:dword:0x60000000
+0x805F87DC:dword:0x4800009C
+0x805F899C:dword:0x4800008C
+0x805F8B38:dword:0x48000090
+0x805F8CB4:dword:0x48000094
+0x805F8E64:dword:0x60000000
+0x805F8FDC:dword:0x60000000
+0x805F91A0:dword:0x4800008C
+0x805F9320:dword:0x48000084
+0x805F9498:dword:0x60000000
+0x805F960C:dword:0x48000090
+0x805F97A4:dword:0x48000090
+0x805F9C0C:dword:0x60000000
+0x805F9F1C:dword:0x60000000
+0x805FA05C:dword:0x60000000
+0x805FA2D0:dword:0x60000000
+0x805FA548:dword:0x48000094
+0x805FA6FC:dword:0x60000000
+0x805FA894:dword:0x60000000
+0x805FAB2C:dword:0x60000000
+0x805FB038:dword:0x60000000
+0x805FB6F0:dword:0x60000000
+0x805FB8AC:dword:0x48000084
+0x805FBA54:dword:0x60000000
+0x805FE05C:dword:0x60000000
+0x805FE1EC:dword:0x4800008C
+0x805FF308:dword:0x48000098
+0x805FF488:dword:0x60000000
+0x805FF730:dword:0x60000000
+0x805FF918:dword:0x60000000
+0x805FFA88:dword:0x60000000
+0x805FFBDC:dword:0x60000000
+0x806006F8:dword:0x48000098
+0x80601020:dword:0x60000000
+0x806011AC:dword:0x60000000
+0x80601340:dword:0x60000000
+0x806017F4:dword:0x48000098
+0x80602168:dword:0x48000088
+0x80602400:dword:0x7C000050
+0x80602654:dword:0x60000000
+0x806027FC:dword:0x48000088
+0x80602AF8:dword:0x48000098
+0x80602C88:dword:0x60000000
+0x80602E38:dword:0x60000000
+0x80603004:dword:0x4800007C
+0x8060319C:dword:0x60000000
+0x80603530:dword:0x60000000
+0x80603714:dword:0x4800007C
+0x80603CD4:dword:0x4800009C
+0x80603F48:dword:0x60000000
+0x80604188:dword:0x60000000
+0x80604314:dword:0x60000000
+0x80604528:dword:0x60000000
+0x806046D8:dword:0x4800009C
+0x80604884:dword:0x60000000
+0x80604A38:dword:0x48000084
+0x80604BD8:dword:0x48000094
+0x80604D74:dword:0x48000094
+0x80604F0C:dword:0x60000000
+0x806050B0:dword:0x48000094
+0x80605264:dword:0x60000000
+0x80605458:dword:0x60000000
+0x80605ECC:dword:0x48000084
+0x806060C8:dword:0x4800009C
+0x80606508:dword:0x48000090
+0x80606794:dword:0x48000088
+0x80606BB4:dword:0x48000090
+0x80606DB0:dword:0x4800008C
+0x8060749C:dword:0x48000088
+0x80607610:dword:0x4800008C
+0x806077F8:dword:0x60000000
+0x80607D40:dword:0x48000080
+0x80607F3C:dword:0x60000000
+0x8060813C:dword:0x48000088
+0x806082A8:dword:0x4800009C
+0x806084C0:dword:0x48000094
+0x806086E0:dword:0x60000000
+0x80608898:dword:0x48000094
+0x80608AB4:dword:0x60000000
+0x80608D1C:dword:0x60000000
+0x80609D60:dword:0x4800008C
+0x80610DD0:dword:0x48000094
+0x80612978:dword:0x60000000
+0x80657DFC:dword:0x7C000050
+0x80657F04:dword:0x60000000
+0x80658A1C:dword:0x4800009C
+0x80658C08:dword:0x48000084
+0x806595EC:dword:0x48000084
+0x8065975C:dword:0x60000000
+0x806598F4:dword:0x48000090
+0x80659D34:dword:0x60000000
+0x8065A168:dword:0x60000000
+0x8065B79C:dword:0x60000000
+0x8065B940:dword:0x48000084
+0x8065C0E0:dword:0x60000000
+0x8065C2F0:dword:0x60000000
+0x8065C548:dword:0x60000000
+0x8065C924:dword:0x48000098
+0x8065CB5C:dword:0x60000000
+0x8065CDC4:dword:0x60000000
+0x8065D2C8:dword:0x60000000
+0x8065D438:dword:0x48000090
+0x8065D624:dword:0x4800009C
+0x8065F53C:dword:0x60000000
+0x8065F82C:dword:0x48000084
+0x8065F9B8:dword:0x60000000
+0x8065FF7C:dword:0x48000090
+0x806600F4:dword:0x48000094
+0x80660470:dword:0x60000000
+0x806607DC:dword:0x60000000
+0x80660970:dword:0x60000000
+0x80660B88:dword:0x60000000
+0x80660D00:dword:0x60000000
+0x80660EEC:dword:0x60000000
+0x806611C8:dword:0x60000000
+0x806613B8:dword:0x60000000
+0x80661588:dword:0x60000000
+0x8066170C:dword:0x48000094
+0x8066189C:dword:0x4800008C
+0x80661A40:dword:0x60000000
+0x806625DC:dword:0x60000000
+0x806627DC:dword:0x60000000
+0x8066298C:dword:0x60000000
+0x80662B18:dword:0x48000090
+0x80662CA8:dword:0x60000000
+0x80662E70:dword:0x48000088
+0x806630B8:dword:0x48000084
+0x80663298:dword:0x48000094
+0x80663544:dword:0x60000000
+0x80663850:dword:0x60000000
+0x80663BC8:dword:0x60000000
+0x80663DDC:dword:0x60000000
+0x806644E4:dword:0x60000000
+0x80664708:dword:0x60000000
+0x806648A0:dword:0x60000000
+0x80664AAC:dword:0x48000088
+0x80664CEC:dword:0x4800009C
+0x80664F24:dword:0x48000090
+0x80665110:dword:0x48000090
+0x806654F8:dword:0x60000000
+0x806661F0:dword:0x60000000
+0x8066674C:dword:0x60000000
+0x8066697C:dword:0x4800007C
+0x80666B60:dword:0x48000090
+0x80666E88:dword:0x60000000
+0x80667048:dword:0x60000000
+0x806671F0:dword:0x48000094
+0x80667394:dword:0x60000000
+0x80667734:dword:0x48000094
+0x80667950:dword:0x48000090
+0x80667B18:dword:0x60000000
+0x80667EDC:dword:0x7CC00050
+0x80668BCC:dword:0x48000098
+0x80668D6C:dword:0x48000084
+0x80668F04:dword:0x48000090
+0x80669190:dword:0x60000000
+0x80669628:dword:0x60000000
+0x80669C10:dword:0x48000084
+0x80669F7C:dword:0x48000094
+0x8066A13C:dword:0x60000000
+0x8066A6B0:dword:0x60000000
+0x8066A850:dword:0x60000000
+0x8066A894:dword:0x60000000
+0x8066A8E8:dword:0x60000000
+0x8066BB80:dword:0x48000090
+0x8066BE10:dword:0x60000000
+0x8066BFCC:dword:0x60000000
+0x8066C188:dword:0x4800008C
+0x8066C318:dword:0x48000090
+0x8066C724:dword:0x48000098
+0x8066CD9C:dword:0x60000000
+0x8066DB68:dword:0x4800008C
+0x8066E520:dword:0x60000000
+0x80670CFC:dword:0x60000000
+0x80671C8C:dword:0x4800007C
+0x80671E38:dword:0x48000094
+0x80671FDC:dword:0x48000094
+0x806721D4:dword:0x48000084
+0x80672470:dword:0x60000000
+0x806725A0:dword:0x60000000
+0x80672794:dword:0x48000090
+0x80672954:dword:0x48000090
+0x80672AD8:dword:0x60000000
+0x80672CC0:dword:0x48000094
+0x80672C94:dword:0x48000024
+0x80672FE4:dword:0x48000090
+0x806736B4:dword:0x48000084
+0x80674874:dword:0x4800007C
+0x806751C0:dword:0x60000000
+0x806753A4:dword:0x48000094
+0x80675CA0:dword:0x60000000
+0x80675F98:dword:0x4800009C
+0x80676504:dword:0x60000000
+0x806768FC:dword:0x48000080
+0x80678DF4:dword:0x4800008C
+0x80678F90:dword:0x48000088
+0x8067911C:dword:0x60000000
+0x8067A5E4:dword:0x60000000
+0x8067AADC:dword:0x48000090
+0x8067C340:dword:0x60000000
+0x8067CC00:dword:0x60000000
+0x8067CF44:dword:0x48000094
+0x8067D130:dword:0x60000000
+0x8067D154:dword:0x60000000
+0x8067D190:dword:0x60000000
+0x8067D290:dword:0x4800008C
+0x8067D488:dword:0x60000000
+0x8067D6AC:dword:0x60000000
+0x8067D6D0:dword:0x60000000
+0x8067D6FC:dword:0x60000000
+0x8067D728:dword:0x60000000
+0x8067D738:dword:0x60000000
+0x8067D750:dword:0x7C000050
+0x8067DAB4:dword:0x60000000
+0x8067DC28:dword:0x48000094
+0x8067DDD0:dword:0x48000080
+0x8067DFA8:dword:0x48000088
+0x8067E1E8:dword:0x60000000
+0x8067E404:dword:0x48000090
+0x8067E5F8:dword:0x60000000
+0x8067E784:dword:0x48000084
+0x8067E998:dword:0x60000000
+0x8067EBE0:dword:0x48000094
+0x8067ED80:dword:0x48000084
+0x8067EF18:dword:0x48000098
+0x8067F0B0:dword:0x60000000
+0x8067F288:dword:0x60000000
+0x8067F41C:dword:0x4800009C
+0x8067F5B8:dword:0x60000000
+0x8067F72C:dword:0x60000000
+0x8067F9C0:dword:0x4800008C
+0x8067FB6C:dword:0x4800008C
+0x8067FD04:dword:0x4800008C
+0x8067FE98:dword:0x48000094
+0x80680110:dword:0x60000000
+0x80680304:dword:0x48000090
+0x80680624:dword:0x4800007C
+0x8068080C:dword:0x60000000
+0x806809E8:dword:0x7C000050
+0x80680ADC:dword:0x60000000
+0x80680CD4:dword:0x60000000
+0x80680E88:dword:0x48000090
+0x8068101C:dword:0x48000084
+0x80681290:dword:0x60000000
+0x806814E8:dword:0x48000084
+0x80681B28:dword:0x60000000
+0x80682F4C:dword:0x60000000
+0x80683C48:dword:0x480000F0
+0x80683FF0:dword:0x60000000
+0x806845D0:dword:0x480000E8
+0x80684D54:dword:0x48000090
+0x80684F04:dword:0x48000098
+0x80685690:dword:0x4800007C
+0x80686F94:dword:0x60000000
+0x80687098:dword:0x7C000050
+0x806871A0:dword:0x7C600050
+0x806872B0:dword:0x4800008C
+0x80687450:dword:0x48000098
+0x806875E4:dword:0x60000000
+0x80687788:dword:0x48000088
+0x80687B28:dword:0x60000000
+0x80687EA4:dword:0x60000000
+0x80688228:dword:0x60000000
+0x806883E4:dword:0x48000098
+0x806885BC:dword:0x48000098
+0x80688808:dword:0x60000000
+0x8068F2A8:dword:0x60000000
+0x8068F484:dword:0x48000088
+0x8068F600:dword:0x7C800050
+0x8068F724:dword:0x48000090
+0x8068FC68:dword:0x60000000
+0x8068FC90:dword:0x60000000
+0x8068FCB8:dword:0x7C800050
+0x80690958:dword:0x48000098
+0x80690BB8:dword:0x60000000
+0x80691034:dword:0x60000000
+0x806911D0:dword:0x60000000
+0x806913A0:dword:0x48000084
+0x80691510:dword:0x60000000
+0x80691D5C:dword:0x60000000
+0x806928B8:dword:0x60000000
+0x80692908:dword:0x7C000050
+0x80692A80:dword:0x48000098
+0x80692C84:dword:0x60000000
+0x80692EB4:dword:0x60000000
+0x8069306C:dword:0x4800008C
+0x806934F8:dword:0x7C600050
+0x80693BCC:dword:0x60000000
+0x80693ED8:dword:0x60000000
+0x806940B4:dword:0x4800008C
+0x80694720:dword:0x60000000
+0x80694960:dword:0x60000000
+0x8069AFBC:dword:0x48000090
+0x8069B1A4:dword:0x48000098
+0x8069CA3C:dword:0x60000000
+0x8069D2D0:dword:0x7C800050
+0x8069D800:dword:0x4800008C
+0x8069DAB4:dword:0x48000088
+0x8069DC68:dword:0x60000000
+0x8069E140:dword:0x60000000
+0x8069EA08:dword:0x60000000
+0x8069ECBC:dword:0x48000090
+0x8069FAA8:dword:0x7C600050
+0x8069FBDC:dword:0x60000000
+0x806A0038:dword:0x60000000
+0x806A0260:dword:0x60000000
+0x806A26EC:dword:0x48000090
+0x806A28A4:dword:0x60000000
+0x806A29CC:dword:0x48000080
+0x806A2B5C:dword:0x48000090
+0x806A360C:dword:0x48000080
+0x806A52F0:dword:0x48000090
+0x806A8A6C:dword:0x60000000
+0x806A93A4:dword:0x60000000
+0x806A956C:dword:0x48000098
+0x806AC330:dword:0x60000000
+0x806AE6DC:dword:0x60000000
+0x806AF478:dword:0x60000000
+0x806AF81C:dword:0x60000000
+0x806AF910:dword:0x60000000
+0x806AFBBC:dword:0x60000000
+0x806AFEC4:dword:0x60000000
+0x806B00F4:dword:0x60000000
+0x806B0E2C:dword:0x60000000
+0x806B28D4:dword:0x60000000
+0x806B2D68:dword:0x60000000
+0x806B2EC8:dword:0x60000000
+0x806B306C:dword:0x60000000
+0x806B31F4:dword:0x48000098
+0x806B3388:dword:0x7C000050
+0x806B3498:dword:0x4800009C
+0x806B3784:dword:0x60000000
+0x806B3CDC:dword:0x60000000
+0x806B40D4:dword:0x60000000
+0x806B42FC:dword:0x60000000
+0x806B4654:dword:0x7C800050
+0x806B5554:dword:0x48000090
+0x806B74D8:dword:0x4800008C
+0x806B7710:dword:0x60000000
+0x806B834C:dword:0x60000000
+0x806B9048:dword:0x48000084
+0x806B93F0:dword:0x4800008C
+0x806B9870:dword:0x60000000
+0x806B9F5C:dword:0x48000090
+0x806BA798:dword:0x48000088
+0x806BB124:dword:0x60000000
+0x806BB3DC:dword:0x48000094
+0x806BBAA0:dword:0x60000000
+0x806BBD78:dword:0x48000094
+0x806BBF2C:dword:0x60000000
+0x806BC14C:dword:0x60000000
+0x806BC908:dword:0x60000000
+0x806BCB94:dword:0x60000000
+0x806BD734:dword:0x60000000
+0x806BD750:dword:0x60000000
+0x806BD7E0:dword:0x7C000050
+0x806BD7F8:dword:0x7C000050
+0x806BD810:dword:0x7C800050
+0x806BD82C:dword:0x60000000
+0x806BD858:dword:0x60000000
+0x806BD89C:dword:0x7C600050
+0x806BFE7C:dword:0x7C1C0050
+0x806C2D14:dword:0x48000088
+0x806C3050:dword:0x48000084
+0x806C3584:dword:0x4800009C
+0x806C3B38:dword:0x48000090
+0x806C432C:dword:0x4800008C
+0x806C6A98:dword:0x48000090
+0x806C6ED8:dword:0x60000000
+0x806C77FC:dword:0x48000094
+0x806C7D88:dword:0x60000000
+0x806C8E78:dword:0x7C800050
+0x806C9A78:dword:0x60000000
+0x806C9BFC:dword:0x60000000
+0x806C9E8C:dword:0x60000000
+0x806CA0BC:dword:0x60000000
+0x806CA984:dword:0x60000000
+0x806CAAF4:dword:0x60000000
+0x806CB004:dword:0x4800008C
+0x806CB1A0:dword:0x48000094
+0x806CB718:dword:0x60000000
+0x806CB8F8:dword:0x48000090
+0x806CC008:dword:0x60000000
+0x806CC1C4:dword:0x60000000
+0x806CC378:dword:0x60000000
+0x806CC588:dword:0x48000098
+0x806CC920:dword:0x60000000
+0x806CCAD4:dword:0x4800008C
+0x806CCCA0:dword:0x60000000
+0x806CCF68:dword:0x48000088
+0x806CD610:dword:0x60000000
+0x806CDA30:dword:0x48000094
+0x806CDCB4:dword:0x48000088
+0x806CEB24:dword:0x60000000
+0x806CED08:dword:0x48000090
+0x806CFA58:dword:0x60000000
+0x806CFC48:dword:0x4800007C
+0x806CFDA0:dword:0x60000000
+0x806D11FC:dword:0x60000000
+0x806D1308:dword:0x60000000
+0x806D129C:dword:0x48000020
+0x806D25D0:dword:0x60000000
+0x806D2C9C:dword:0x48000094
+0x806D2DFC:dword:0x60000000
+0x806D40D8:dword:0x48000080
+0x806D432C:dword:0x48000094
+0x806D4948:dword:0x48000090
+0x806D4AF0:dword:0x60000000
+0x806D4D70:dword:0x4800008C
+0x806D4F34:dword:0x60000000
+0x806D51B8:dword:0x60000000
+0x806D58F8:dword:0x60000000
+0x806D5A88:dword:0x60000000
+0x806D5C54:dword:0x60000000
+0x806D6178:dword:0x60000000
+0x806D631C:dword:0x4800008C
+0x806D6654:dword:0x4800008C
+0x806D72A0:dword:0x60000000
+0x806D8908:dword:0x60000000
+0x806D9608:dword:0x60000000
+0x806DA310:dword:0x60000000
+0x806DB578:dword:0x48000080
+0x806DC19C:dword:0x48000090
+0x806DC4C4:dword:0x60000000
+0x806DC658:dword:0x60000000
+0x806E1444:dword:0x60000000
+0x806E18AC:dword:0x4800008C
+0x806E1A8C:dword:0x48000088
+0x806E1C40:dword:0x48000090
+0x806E2004:dword:0x60000000
+0x806E2254:dword:0x60000000
+0x806E243C:dword:0x7C000050
+0x806E2524:dword:0x48000084
+0x806E2700:dword:0x4800008C
+0x806E28C8:dword:0x60000000
+0x806E2AF8:dword:0x60000000
+0x806E6B64:dword:0x7C000050
+0x806E6F68:dword:0x48000064
+0x806E7470:dword:0x60000000
+0x806E75E8:dword:0x60000000
+0x806E7D8C:dword:0x48000080
+0x806E8020:dword:0x60000000
+0x806E8504:dword:0x48000090
+0x806E8830:dword:0x48000084
+0x806E8D4C:dword:0x4800008C
+0x806E9388:dword:0x60000000
+0x806E9500:dword:0x7C000050
+0x806E9604:dword:0x48000088
+0x806E9994:dword:0x7C600050
+0x806E9CD8:dword:0x7C000050
+0x806EA19C:dword:0x7CA00050
+0x806EA1B8:dword:0x7C800050
+0x806EA1D8:dword:0x7C600050
+0x806EA304:dword:0x60000000
+0x806EA7B8:dword:0x48000094
+0x806EA9A0:dword:0x60000000
+0x806EAB3C:dword:0x48000090
+0x806EAF24:dword:0x48000088
+0x806EB0B8:dword:0x60000000
+0x806ED1C4:dword:0x60000000
+0x806ED388:dword:0x48000094
+0x806ED52C:dword:0x48000088
+0x806F0400:dword:0x7C000050
+0x806F0418:dword:0x7C600050
+0x806F0434:dword:0x60000000
+0x806F0A14:dword:0x48000094
+0x806F3FAC:dword:0x48000090
+0x806F4268:dword:0x48000084
+0x806F47C8:dword:0x48000060
+0x806F4D78:dword:0x48000098
+0x806F5204:dword:0x48000094
+0x806F57B0:dword:0x48000098
+0x806F5BC8:dword:0x60000000
+0x806F5F04:dword:0x48000064
+0x806F6018:dword:0x60000000
+0x806F624C:dword:0x60000000
+0x806F6618:dword:0x7CC00050
+0x806F67B4:dword:0x60000000
+0x806F67FC:dword:0x60000000
+0x806F6900:dword:0x60000000
+0x806F6940:dword:0x7C000050
+0x806F69BC:dword:0x60000000
+0x806F6AC4:dword:0x48000094
+0x806F6E20:dword:0x60000000
+0x806F6F18:dword:0x60000000
+0x806F8C6C:dword:0x48000058
+0x806F92A0:dword:0x48000090
+0x806F9568:dword:0x60000000
+0x806F97FC:dword:0x48000098
+0x806F9B50:dword:0x60000000
+0x806F9D64:dword:0x60000000
+0x806FB104:dword:0x60000000
+0x806FB30C:dword:0x60000000
+0x806FB4F8:dword:0x60000000
+0x806FB844:dword:0x48000090
+0x806FB9EC:dword:0x60000000
+0x806FBAE4:dword:0x60000000
+0x806FBD38:dword:0x60000000
+0x806FC0DC:dword:0x48000064
+0x806FC22C:dword:0x48000094
+0x806FC888:dword:0x60000000
+0x806FCBC0:dword:0x48000064
+0x806FCF64:dword:0x60000000
+0x806FD2E8:dword:0x48000068
+0x806FD46C:dword:0x60000000
+0x806FD62C:dword:0x60000000
+0x806FD708:dword:0x60000000
+0x806FD7A4:dword:0x60000000
+0x806FD950:dword:0x60000000
+0x806FDA60:dword:0x60000000
+0x806FDF78:dword:0x60000000
+0x806FE6D0:dword:0x60000000
+0x806FE870:dword:0x60000000
+0x806FE98C:dword:0x60000000
+0x806FEB10:dword:0x60000000
+0x806FEC38:dword:0x60000000
+0x806FEDF8:dword:0x48000094
+0x806FF220:dword:0x60000000
+0x806FF924:dword:0x4800008C
+0x806FFAA4:dword:0x48000084
+0x807000CC:dword:0x48000094
+0x8070040C:dword:0x48000094
+0x8070057C:dword:0x60000000
+0x80700710:dword:0x60000000
+0x807008C4:dword:0x60000000
+0x80700A5C:dword:0x48000090
+0x80700BF4:dword:0x60000000
+0x80700FD4:dword:0x48000098
+0x807022BC:dword:0x60000000
+0x807023E8:dword:0x60000000
+0x80702704:dword:0x60000000
+0x807028C8:dword:0x48000080
+0x80702D30:dword:0x60000000
+0x80703198:dword:0x60000000
+0x807043A8:dword:0x60000000
+0x80704924:dword:0x48000094
+0x80705400:dword:0x48000098
+0x80705588:dword:0x60000000
+0x80705910:dword:0x60000000
+0x80705DFC:dword:0x60000000
+0x8070600C:dword:0x48000094
+0x80706540:dword:0x48000080
+0x80706A60:dword:0x48000090
+0x80706C68:dword:0x60000000
+0x80707930:dword:0x48000088
+0x80707BB4:dword:0x4800008C
+0x80707D28:dword:0x60000000
+0x80707FD4:dword:0x60000000
+0x80708334:dword:0x60000000
+0x80708960:dword:0x48000090
+0x80708B24:dword:0x48000090
+0x80708D28:dword:0x48000094
+0x80672C20:dword:0x60000000
diff --git a/Data/Sys/GameSettings/SUKJ01.ini b/Data/Sys/GameSettings/SUKJ01.ini
index b3ce3eea4dbb..f7eef247df86 100644
--- a/Data/Sys/GameSettings/SUKJ01.ini
+++ b/Data/Sys/GameSettings/SUKJ01.ini
@@ -1,1395 +1,1395 @@
-# SUKJ01 - Hoshi no Kaabii Wii
-
-[OnFrame]
-$Bypass MetaFortress [crediar, ported by container12345]
-0x80175194:dword:0x48000084
-0x8017582C:dword:0x60000000
-0x80175BF4:dword:0x60000000
-0x80175F10:dword:0x48000090
-0x801761E8:dword:0x60000000
-0x801763C4:dword:0x4800008C
-0x801765B4:dword:0x60000000
-0x80176CAC:dword:0x48000088
-0x80176E74:dword:0x48000090
-0x801771A8:dword:0x48000090
-0x80177500:dword:0x4800008C
-0x801789D4:dword:0x60000000
-0x80178D20:dword:0x4800008C
-0x80178E7C:dword:0x4800009C
-0x801790C8:dword:0x48000094
-0x80179250:dword:0x60000000
-0x801793F8:dword:0x4800009C
-0x801795B8:dword:0x48000088
-0x8017975C:dword:0x48000094
-0x801798EC:dword:0x48000084
-0x80179A64:dword:0x60000000
-0x80179BF0:dword:0x60000000
-0x80179E1C:dword:0x4800008C
-0x80179FF0:dword:0x48000088
-0x8017A270:dword:0x60000000
-0x8017A3F4:dword:0x48000094
-0x8017A590:dword:0x60000000
-0x8017A7E4:dword:0x60000000
-0x8017A95C:dword:0x60000000
-0x8017A9F8:dword:0x4800009C
-0x8017A9CC:dword:0x48000020
-0x8017B918:dword:0x60000000
-0x8017BF08:dword:0x4800008C
-0x8017E900:dword:0x60000000
-0x8017EA84:dword:0x60000000
-0x8017F45C:dword:0x60000000
-0x8017F850:dword:0x48000090
-0x8017FAC8:dword:0x48000094
-0x8017FCB0:dword:0x48000098
-0x8017FFFC:dword:0x48000088
-0x801801C4:dword:0x60000000
-0x80180654:dword:0x60000000
-0x801807E8:dword:0x60000000
-0x801808B8:dword:0x60000000
-0x80180874:dword:0x48000024
-0x80180CD8:dword:0x60000000
-0x80180F14:dword:0x48000090
-0x801810F0:dword:0x60000000
-0x801812A8:dword:0x4800009C
-0x80181440:dword:0x60000000
-0x8018F0D0:dword:0x60000000
-0x8018F250:dword:0x4800008C
-0x8018F4C0:dword:0x60000000
-0x8018F5C0:dword:0x4800008C
-0x8018F908:dword:0x4800009C
-0x8018FB48:dword:0x60000000
-0x8018FCA4:dword:0x4800008C
-0x80191678:dword:0x48000080
-0x801A9C80:dword:0x4800008C
-0x801A9EC8:dword:0x4800008C
-0x801AA1F4:dword:0x48000094
-0x801AAFAC:dword:0x48000080
-0x801ACA18:dword:0x60000000
-0x801ACCBC:dword:0x60000000
-0x801ACE8C:dword:0x4800009C
-0x801AD080:dword:0x60000000
-0x801ADAB8:dword:0x7C000050
-0x801AE5C4:dword:0x48000098
-0x801AE8B0:dword:0x60000000
-0x801AFCB8:dword:0x4800008C
-0x801AFE78:dword:0x4800009C
-0x801B04E0:dword:0x60000000
-0x801B06A8:dword:0x60000000
-0x801B0850:dword:0x60000000
-0x801B0AA4:dword:0x60000000
-0x801B17EC:dword:0x48000098
-0x801B1AA0:dword:0x60000000
-0x801B1D20:dword:0x4800009C
-0x801B1F78:dword:0x60000000
-0x801B2388:dword:0x60000000
-0x801B2590:dword:0x48000080
-0x801B3DE4:dword:0x4800007C
-0x801B4268:dword:0x60000000
-0x801B4460:dword:0x60000000
-0x801B497C:dword:0x4800008C
-0x801B4C04:dword:0x48000094
-0x801B4E54:dword:0x60000000
-0x801B4FDC:dword:0x7C600050
-0x801CF6EC:dword:0x60000000
-0x801CF8E4:dword:0x480000A0
-0x801D893C:dword:0x60000000
-0x801D9574:dword:0x60000000
-0x801D9718:dword:0x60000000
-0x801D98A8:dword:0x60000000
-0x801D9A68:dword:0x48000088
-0x801DBC2C:dword:0x60000000
-0x801DC87C:dword:0x60000000
-0x801DCA0C:dword:0x4800008C
-0x801E58E8:dword:0x60000000
-0x801E5BAC:dword:0x48000098
-0x801E677C:dword:0x48000084
-0x801E6908:dword:0x60000000
-0x801E6E74:dword:0x7C000050
-0x801E7B48:dword:0x60000000
-0x801E8108:dword:0x7C600050
-0x801E88BC:dword:0x60000000
-0x801E8A78:dword:0x60000000
-0x801E8C9C:dword:0x60000000
-0x801E8F54:dword:0x7C000050
-0x801E9560:dword:0x60000000
-0x801E9890:dword:0x4800009C
-0x801E9B64:dword:0x48000088
-0x801E9FEC:dword:0x7C000050
-0x801EA6A0:dword:0x48000090
-0x801EB164:dword:0x60000000
-0x801EB4C8:dword:0x48000094
-0x801EB644:dword:0x4800008C
-0x801EB860:dword:0x48000098
-0x801EC00C:dword:0x60000000
-0x801EC1A4:dword:0x7C600050
-0x801EC75C:dword:0x60000000
-0x801ECAD0:dword:0x60000000
-0x801ECE54:dword:0x48000090
-0x801ECFF4:dword:0x48000098
-0x801ED46C:dword:0x48000088
-0x801ED6F8:dword:0x48000084
-0x801ED868:dword:0x48000088
-0x801ED9F4:dword:0x60000000
-0x801EE060:dword:0x60000000
-0x801EE2A4:dword:0x60000000
-0x801EEA70:dword:0x48000094
-0x801EEEAC:dword:0x4800008C
-0x801EF208:dword:0x60000000
-0x801EF3AC:dword:0x60000000
-0x801EF744:dword:0x60000000
-0x801EF8EC:dword:0x60000000
-0x801F0548:dword:0x48000094
-0x801F0AB0:dword:0x60000000
-0x801F0C24:dword:0x60000000
-0x801F0F20:dword:0x48000090
-0x801F13E8:dword:0x60000000
-0x801F1578:dword:0x60000000
-0x801F1774:dword:0x60000000
-0x801F1998:dword:0x48000098
-0x801F2224:dword:0x48000064
-0x801F2370:dword:0x60000000
-0x801F257C:dword:0x60000000
-0x801F31A8:dword:0x7C600050
-0x801F31C0:dword:0x7C000050
-0x801F31E8:dword:0x7C000050
-0x801F3288:dword:0x7C000050
-0x801F33A8:dword:0x60000000
-0x801F3A94:dword:0x60000000
-0x801F5A0C:dword:0x4800008C
-0x801F6098:dword:0x60000000
-0x801F69BC:dword:0x60000000
-0x801F6C18:dword:0x4800008C
-0x801F6D98:dword:0x60000000
-0x801F6F48:dword:0x4800008C
-0x801F7150:dword:0x60000000
-0x801F7834:dword:0x60000000
-0x801F7950:dword:0x60000000
-0x801F7C98:dword:0x60000000
-0x801F8788:dword:0x60000000
-0x801F8928:dword:0x4800008C
-0x801F8CC8:dword:0x60000000
-0x801F8FE4:dword:0x60000000
-0x801FA7D8:dword:0x4800008C
-0x801FD750:dword:0x4800008C
-0x801FD910:dword:0x60000000
-0x801FFCF4:dword:0x48000090
-0x802002B8:dword:0x60000000
-0x802002F0:dword:0x60000000
-0x802003EC:dword:0x48000094
-0x802007F0:dword:0x60000000
-0x80200A44:dword:0x60000000
-0x80200BB8:dword:0x60000000
-0x80200E3C:dword:0x60000000
-0x80200FB4:dword:0x60000000
-0x802012C8:dword:0x60000000
-0x80202FD8:dword:0x4800008C
-0x80203254:dword:0x48000094
-0x802035DC:dword:0x60000000
-0x80203DC4:dword:0x48000094
-0x8020A094:dword:0x60000000
-0x8020A208:dword:0x48000090
-0x8020A3C4:dword:0x60000000
-0x8020A434:dword:0x60000000
-0x8020BB2C:dword:0x48000088
-0x8020BCB0:dword:0x60000000
-0x8020C020:dword:0x60000000
-0x8020C3D0:dword:0x48000098
-0x8020E1E8:dword:0x60000000
-0x8020E470:dword:0x60000000
-0x8020ED7C:dword:0x60000000
-0x8020F0F0:dword:0x48000090
-0x8020F724:dword:0x48000094
-0x8020F928:dword:0x4800008C
-0x8020FDA0:dword:0x60000000
-0x8021491C:dword:0x60000000
-0x80214B10:dword:0x60000000
-0x80214D24:dword:0x7C000050
-0x80214FA4:dword:0x60000000
-0x802151B8:dword:0x48000090
-0x80215F90:dword:0x60000000
-0x80216174:dword:0x48000088
-0x80216708:dword:0x60000000
-0x802168F4:dword:0x60000000
-0x80216D10:dword:0x60000000
-0x80216E98:dword:0x60000000
-0x80217068:dword:0x60000000
-0x802171D4:dword:0x60000000
-0x80217398:dword:0x60000000
-0x802178D8:dword:0x60000000
-0x8021AA14:dword:0x7C800050
-0x8021BF74:dword:0x60000000
-0x8021C394:dword:0x60000000
-0x80221A40:dword:0x48000098
-0x80221E74:dword:0x60000000
-0x80224370:dword:0x60000000
-0x802244E0:dword:0x60000000
-0x80224698:dword:0x60000000
-0x80224930:dword:0x7C000050
-0x80224B68:dword:0x4800007C
-0x802252F8:dword:0x4800009C
-0x8022566C:dword:0x48000094
-0x80225B44:dword:0x60000000
-0x80225D90:dword:0x60000000
-0x80225F04:dword:0x48000090
-0x80226088:dword:0x48000084
-0x802261F8:dword:0x60000000
-0x80226370:dword:0x60000000
-0x80226DE4:dword:0x48000098
-0x802274F4:dword:0x60000000
-0x80227CD4:dword:0x48000094
-0x80228B50:dword:0x4800008C
-0x80228CDC:dword:0x60000000
-0x80228F08:dword:0x60000000
-0x8022911C:dword:0x48000094
-0x802292D0:dword:0x7C000050
-0x80229C78:dword:0x60000000
-0x80229E1C:dword:0x60000000
-0x80229FD4:dword:0x60000000
-0x8022A8F8:dword:0x48000080
-0x8022B2A0:dword:0x48000084
-0x8022B498:dword:0x48000094
-0x8022B6C8:dword:0x48000090
-0x8022B948:dword:0x60000000
-0x8022BB94:dword:0x48000094
-0x8022C07C:dword:0x60000000
-0x8022C22C:dword:0x60000000
-0x8022C6AC:dword:0x48000060
-0x8022CC24:dword:0x60000000
-0x8022CE50:dword:0x4800007C
-0x8022D100:dword:0x60000000
-0x8022D2C8:dword:0x60000000
-0x8022DC50:dword:0x60000000
-0x8022E404:dword:0x60000000
-0x8022FC48:dword:0x48000080
-0x80231564:dword:0x60000000
-0x80233520:dword:0x4800009C
-0x802341D0:dword:0x48000090
-0x80235210:dword:0x60000000
-0x80236018:dword:0x48000084
-0x80236218:dword:0x60000000
-0x8023673C:dword:0x48000060
-0x80238294:dword:0x4800008C
-0x80238414:dword:0x48000094
-0x80239778:dword:0x60000000
-0x802398D0:dword:0x4800008C
-0x80239A84:dword:0x60000000
-0x80239C84:dword:0x60000000
-0x8023E230:dword:0x7C600050
-0x8023E660:dword:0x48000098
-0x8023E8B0:dword:0x60000000
-0x8023EA98:dword:0x48000090
-0x8023EC2C:dword:0x60000000
-0x8023EEB4:dword:0x48000094
-0x8023F03C:dword:0x60000000
-0x8023F1D0:dword:0x60000000
-0x8023F4FC:dword:0x48000090
-0x802407C8:dword:0x60000000
-0x80240DC0:dword:0x4800008C
-0x80241184:dword:0x60000000
-0x8024151C:dword:0x48000094
-0x8024198C:dword:0x48000094
-0x80241B54:dword:0x7C000050
-0x80241B68:dword:0x7C600050
-0x80241DE4:dword:0x48000090
-0x80242014:dword:0x4800008C
-0x80242304:dword:0x4800009C
-0x802424F4:dword:0x48000084
-0x802426A8:dword:0x60000000
-0x80242850:dword:0x60000000
-0x80242980:dword:0x60000000
-0x80242B80:dword:0x60000000
-0x80242DD4:dword:0x4800008C
-0x8024313C:dword:0x48000094
-0x80243350:dword:0x60000000
-0x80243470:dword:0x60000000
-0x80243AFC:dword:0x60000000
-0x80243D9C:dword:0x48000090
-0x80243F58:dword:0x4800009C
-0x80244978:dword:0x60000000
-0x80244DD4:dword:0x60000000
-0x80245424:dword:0x48000088
-0x80245598:dword:0x60000000
-0x80245800:dword:0x60000000
-0x80246118:dword:0x60000000
-0x80246408:dword:0x60000000
-0x8024659C:dword:0x4800007C
-0x802469E0:dword:0x60000000
-0x80246BC4:dword:0x60000000
-0x802C15A0:dword:0x60000000
-0x802C2788:dword:0x60000000
-0x802C2A80:dword:0x48000084
-0x802CE60C:dword:0x60000000
-0x802CE620:dword:0x7C600050
-0x802DCFAC:dword:0x48000098
-0x80327254:dword:0x60000000
-0x80328138:dword:0x60000000
-0x8032856C:dword:0x60000000
-0x80328768:dword:0x48000094
-0x80328F64:dword:0x60000000
-0x803290F4:dword:0x48000090
-0x8032951C:dword:0x60000000
-0x803296EC:dword:0x60000000
-0x80329978:dword:0x60000000
-0x80329B48:dword:0x7C000050
-0x80329CF0:dword:0x48000090
-0x80329EB4:dword:0x4800008C
-0x8032A898:dword:0x4800008C
-0x8032AA68:dword:0x60000000
-0x8032AC3C:dword:0x4800008C
-0x8032AEFC:dword:0x48000094
-0x8032B0A0:dword:0x60000000
-0x8032BC40:dword:0x60000000
-0x8032C084:dword:0x60000000
-0x8032CA20:dword:0x48000088
-0x8032CD28:dword:0x48000090
-0x8032CE90:dword:0x60000000
-0x8032DE5C:dword:0x48000098
-0x8032E2D8:dword:0x60000000
-0x8032E5DC:dword:0x60000000
-0x8032E9EC:dword:0x60000000
-0x8032ED20:dword:0x60000000
-0x8032F1A0:dword:0x60000000
-0x8032F354:dword:0x60000000
-0x8032F624:dword:0x48000088
-0x8032FC54:dword:0x48000094
-0x8032FEC8:dword:0x60000000
-0x80330080:dword:0x48000090
-0x80330694:dword:0x60000000
-0x8033081C:dword:0x60000000
-0x80330974:dword:0x48000090
-0x80330AFC:dword:0x48000094
-0x80331D34:dword:0x60000000
-0x80332D1C:dword:0x60000000
-0x80332E3C:dword:0x48000094
-0x80332FD0:dword:0x48000090
-0x8033316C:dword:0x48000098
-0x8033375C:dword:0x60000000
-0x80333908:dword:0x60000000
-0x80333BA0:dword:0x48000088
-0x80333DA4:dword:0x60000000
-0x80333F34:dword:0x60000000
-0x803340BC:dword:0x48000088
-0x80334234:dword:0x60000000
-0x803343D0:dword:0x60000000
-0x80334554:dword:0x48000088
-0x80334EB4:dword:0x60000000
-0x80335070:dword:0x60000000
-0x80335268:dword:0x60000000
-0x803356F4:dword:0x60000000
-0x80335720:dword:0x60000000
-0x8033598C:dword:0x48000090
-0x80339688:dword:0x4800008C
-0x8033A3D8:dword:0x48000090
-0x80353CE8:dword:0x60000000
-0x803572F4:dword:0x48000090
-0x80357940:dword:0x48000090
-0x80358198:dword:0x60000000
-0x803583B0:dword:0x60000000
-0x80358550:dword:0x4800008C
-0x8035877C:dword:0x60000000
-0x80358948:dword:0x48000090
-0x80358B60:dword:0x48000084
-0x80358D1C:dword:0x60000000
-0x80358EA8:dword:0x48000084
-0x80359054:dword:0x48000090
-0x803591FC:dword:0x48000098
-0x803593B8:dword:0x48000094
-0x80359550:dword:0x60000000
-0x80359798:dword:0x4800009C
-0x80359950:dword:0x60000000
-0x80359AE8:dword:0x48000094
-0x80359D88:dword:0x4800008C
-0x8035A0C4:dword:0x60000000
-0x8035A0E0:dword:0x7C600050
-0x8035B7A8:dword:0x60000000
-0x8035BA04:dword:0x60000000
-0x8035BBDC:dword:0x48000094
-0x8035BD74:dword:0x60000000
-0x8035BF24:dword:0x48000094
-0x8035D0E8:dword:0x60000000
-0x8035D7A0:dword:0x60000000
-0x8035D910:dword:0x60000000
-0x803688B0:dword:0x7C600050
-0x8036C250:dword:0x60000000
-0x8036CB48:dword:0x48000088
-0x8036CCCC:dword:0x48000090
-0x8036CE5C:dword:0x48000098
-0x8037B988:dword:0x4800008C
-0x8037FB48:dword:0x60000000
-0x8043603C:dword:0x4800008C
-0x80442D90:dword:0x60000000
-0x804498EC:dword:0x48000090
-0x8044A3E8:dword:0x60000000
-0x8044D36C:dword:0x48000088
-0x8044D558:dword:0x60000000
-0x8044ED1C:dword:0x60000000
-0x8044EF38:dword:0x4800009C
-0x8044F4D4:dword:0x48000088
-0x8044F634:dword:0x60000000
-0x8044F84C:dword:0x48000090
-0x80452C18:dword:0x60000000
-0x804530F4:dword:0x60000000
-0x804537B0:dword:0x4800008C
-0x80453AA0:dword:0x60000000
-0x80453E98:dword:0x60000000
-0x8045405C:dword:0x60000000
-0x80454314:dword:0x60000000
-0x804544C0:dword:0x4800008C
-0x80454668:dword:0x60000000
-0x80455014:dword:0x60000000
-0x80455888:dword:0x60000000
-0x80456B20:dword:0x48000090
-0x80457F90:dword:0x4800008C
-0x80458274:dword:0x60000000
-0x8045B798:dword:0x60000000
-0x8045BC70:dword:0x48000088
-0x8045BE50:dword:0x60000000
-0x8045BFF4:dword:0x60000000
-0x8045C1B8:dword:0x48000088
-0x8045C39C:dword:0x48000098
-0x8045C564:dword:0x48000088
-0x8045C72C:dword:0x48000098
-0x8045C8F8:dword:0x4800008C
-0x8045CAD4:dword:0x4800008C
-0x8045DEF0:dword:0x60000000
-0x80462ACC:dword:0x7C000050
-0x80463BEC:dword:0x4800005C
-0x80463F44:dword:0x48000084
-0x80464264:dword:0x48000090
-0x80469DFC:dword:0x60000000
-0x80469FB8:dword:0x4800009C
-0x8046A47C:dword:0x60000000
-0x8046A87C:dword:0x48000088
-0x8046AEAC:dword:0x60000000
-0x8046B054:dword:0x60000000
-0x8046B6C4:dword:0x60000000
-0x8046C078:dword:0x7CA00050
-0x80473EC4:dword:0x60000000
-0x80474350:dword:0x60000000
-0x8047450C:dword:0x60000000
-0x8047475C:dword:0x60000000
-0x80475294:dword:0x60000000
-0x8047542C:dword:0x60000000
-0x80475978:dword:0x48000080
-0x80475C5C:dword:0x48000088
-0x80476398:dword:0x48000088
-0x80476898:dword:0x48000094
-0x80476A38:dword:0x60000000
-0x80476C44:dword:0x60000000
-0x80476DAC:dword:0x4800007C
-0x804772E4:dword:0x48000094
-0x8047E880:dword:0x48000098
-0x804844DC:dword:0x60000000
-0x80484C2C:dword:0x48000094
-0x80484E40:dword:0x60000000
-0x80484F6C:dword:0x48000088
-0x8048661C:dword:0x48000094
-0x804868EC:dword:0x48000090
-0x80486D24:dword:0x60000000
-0x804875F4:dword:0x60000000
-0x80487764:dword:0x60000000
-0x80487990:dword:0x4800009C
-0x80487C6C:dword:0x48000098
-0x80488094:dword:0x60000000
-0x8048854C:dword:0x60000000
-0x80488658:dword:0x4800008C
-0x80488834:dword:0x4800008C
-0x80488A90:dword:0x48000088
-0x80488CA0:dword:0x7CA00050
-0x804890CC:dword:0x60000000
-0x80489448:dword:0x48000090
-0x8048CF60:dword:0x4800008C
-0x8048D590:dword:0x60000000
-0x8048D8B8:dword:0x48000098
-0x804904B0:dword:0x4800008C
-0x8049081C:dword:0x7C000050
-0x804909EC:dword:0x4800009C
-0x80494408:dword:0x48000090
-0x80494CB4:dword:0x48000098
-0x804951A4:dword:0x60000000
-0x804953C8:dword:0x60000000
-0x80495890:dword:0x48000088
-0x80495AB8:dword:0x48000084
-0x80495CF8:dword:0x48000098
-0x80495E80:dword:0x60000000
-0x80496028:dword:0x60000000
-0x80496AF8:dword:0x60000000
-0x80496B18:dword:0x60000000
-0x80496B38:dword:0x60000000
-0x80496B50:dword:0x7C600050
-0x80496C74:dword:0x48000090
-0x80496E7C:dword:0x4800008C
-0x804A6FB4:dword:0x60000000
-0x804A7420:dword:0x48000098
-0x804A76B4:dword:0x48000098
-0x804A7944:dword:0x60000000
-0x804A7FB8:dword:0x60000000
-0x804A8704:dword:0x60000000
-0x804ADB28:dword:0x60000000
-0x804AE1D0:dword:0x60000000
-0x804AEE30:dword:0x48000094
-0x804AF0CC:dword:0x48000094
-0x804AF59C:dword:0x7C600050
-0x804B0490:dword:0x60000000
-0x804B092C:dword:0x60000000
-0x804B11F4:dword:0x48000094
-0x804B1894:dword:0x60000000
-0x804B2270:dword:0x48000090
-0x804B2680:dword:0x48000080
-0x804B2828:dword:0x48000088
-0x804B29D4:dword:0x48000090
-0x804B2C24:dword:0x60000000
-0x804B7918:dword:0x48000088
-0x804B7C38:dword:0x60000000
-0x804B8370:dword:0x60000000
-0x804C23CC:dword:0x60000000
-0x804C57B0:dword:0x4800008C
-0x804C5990:dword:0x60000000
-0x804C5CA4:dword:0x7C000050
-0x804C6484:dword:0x7C000050
-0x804C6638:dword:0x7C600050
-0x804C6868:dword:0x4800008C
-0x804CB528:dword:0x48000094
-0x804CB850:dword:0x48000094
-0x804CBA24:dword:0x7C000050
-0x804CE9DC:dword:0x60000000
-0x804CEC18:dword:0x7C600050
-0x804CEC2C:dword:0x7C000050
-0x804CF2B8:dword:0x60000000
-0x804CF620:dword:0x7CA00050
-0x804CF6F4:dword:0x60000000
-0x804CF95C:dword:0x7C000050
-0x804CFA58:dword:0x60000000
-0x804CFD08:dword:0x60000000
-0x804CFD30:dword:0x60000000
-0x804CFD54:dword:0x60000000
-0x804D00AC:dword:0x48000080
-0x804D09E4:dword:0x60000000
-0x804D0C50:dword:0x60000000
-0x804D0E4C:dword:0x48000088
-0x804D1074:dword:0x48000084
-0x804D1374:dword:0x60000000
-0x804D156C:dword:0x48000098
-0x804D1C38:dword:0x4800007C
-0x804D1E54:dword:0x60000000
-0x804D287C:dword:0x60000000
-0x804D2CB8:dword:0x4800008C
-0x804D3184:dword:0x60000000
-0x804D6F20:dword:0x48000088
-0x804D9F60:dword:0x48000098
-0x804DA334:dword:0x48000090
-0x804DC6E4:dword:0x60000000
-0x804DCBC0:dword:0x60000000
-0x804DCD58:dword:0x60000000
-0x804DCEF4:dword:0x60000000
-0x804DD0B4:dword:0x48000078
-0x804DD32C:dword:0x60000000
-0x804DD588:dword:0x60000000
-0x804DD7E8:dword:0x60000000
-0x804DDAB8:dword:0x48000094
-0x804DE67C:dword:0x60000000
-0x804DE7F8:dword:0x60000000
-0x804DEB84:dword:0x60000000
-0x804DF5F8:dword:0x48000090
-0x804DF7AC:dword:0x4800008C
-0x804DF94C:dword:0x48000094
-0x804DFAD4:dword:0x60000000
-0x804E0640:dword:0x60000000
-0x804E09C8:dword:0x48000094
-0x804E1774:dword:0x60000000
-0x804E1B50:dword:0x48000090
-0x804E1D2C:dword:0x60000000
-0x804E1E2C:dword:0x60000000
-0x804E1FB0:dword:0x60000000
-0x804E3684:dword:0x60000000
-0x804E41C4:dword:0x7C000050
-0x804ECBA0:dword:0x60000000
-0x804ED298:dword:0x60000000
-0x804EE588:dword:0x60000000
-0x804EE918:dword:0x4800008C
-0x804EEB84:dword:0x60000000
-0x804EFA28:dword:0x4800008C
-0x804EFCD4:dword:0x4800009C
-0x804EFE94:dword:0x60000000
-0x804F009C:dword:0x48000098
-0x804F0B50:dword:0x60000000
-0x804F23F0:dword:0x48000098
-0x804F9E58:dword:0x60000000
-0x804FA03C:dword:0x48000094
-0x804FA540:dword:0x60000000
-0x804FC9E4:dword:0x48000090
-0x804FCB78:dword:0x4800008C
-0x804FD078:dword:0x4800008C
-0x804FD780:dword:0x48000090
-0x804FDAC0:dword:0x48000088
-0x804FFFFC:dword:0x60000000
-0x805001C4:dword:0x60000000
-0x80500364:dword:0x60000000
-0x805056E4:dword:0x60000000
-0x80505B68:dword:0x60000000
-0x80505D00:dword:0x60000000
-0x80507A64:dword:0x60000000
-0x805081A0:dword:0x60000000
-0x80508344:dword:0x60000000
-0x8050962C:dword:0x60000000
-0x805097B4:dword:0x60000000
-0x8050995C:dword:0x60000000
-0x8050A448:dword:0x48000080
-0x8050A5EC:dword:0x48000090
-0x8050B474:dword:0x60000000
-0x8050B610:dword:0x48000098
-0x8050B818:dword:0x4800009C
-0x80510180:dword:0x60000000
-0x805101A4:dword:0x60000000
-0x805102E0:dword:0x60000000
-0x80512734:dword:0x48000090
-0x80512BA0:dword:0x60000000
-0x80555F60:dword:0x48000088
-0x8055622C:dword:0x60000000
-0x805594A8:dword:0x60000000
-0x805594D4:dword:0x60000000
-0x80559500:dword:0x60000000
-0x80559570:dword:0x7C600050
-0x8055DC38:dword:0x60000000
-0x80560FCC:dword:0x48000094
-0x805611D8:dword:0x60000000
-0x80561354:dword:0x60000000
-0x80561520:dword:0x60000000
-0x80561554:dword:0x7CA00050
-0x805639DC:dword:0x4800008C
-0x80567704:dword:0x60000000
-0x805678AC:dword:0x4800008C
-0x80568010:dword:0x60000000
-0x8056C64C:dword:0x60000000
-0x8056CD24:dword:0x60000000
-0x8056CEB8:dword:0x48000094
-0x8056E3D0:dword:0x48000094
-0x8056EB58:dword:0x60000000
-0x8057D4A0:dword:0x60000000
-0x8057D6C0:dword:0x60000000
-0x8057D8A8:dword:0x48000090
-0x8057DA14:dword:0x60000000
-0x8057DED4:dword:0x60000000
-0x8057E150:dword:0x60000000
-0x8057E170:dword:0x60000000
-0x8057E1D4:dword:0x60000000
-0x80581E2C:dword:0x60000000
-0x80581FAC:dword:0x48000094
-0x8058229C:dword:0x60000000
-0x80586B60:dword:0x60000000
-0x80586B88:dword:0x60000000
-0x80586BB4:dword:0x60000000
-0x80586BDC:dword:0x60000000
-0x80586C08:dword:0x60000000
-0x80586C78:dword:0x7C600050
-0x80586D64:dword:0x60000000
-0x805895A8:dword:0x4800009C
-0x80589830:dword:0x60000000
-0x80591320:dword:0x4800008C
-0x805914BC:dword:0x60000000
-0x805914E8:dword:0x60000000
-0x80591514:dword:0x60000000
-0x80591574:dword:0x7C600050
-0x80591D00:dword:0x48000084
-0x80592020:dword:0x48000094
-0x8059755C:dword:0x48000098
-0x8059C6B4:dword:0x48000094
-0x8059C88C:dword:0x60000000
-0x8059C8A8:dword:0x60000000
-0x8059C8CC:dword:0x60000000
-0x8059C9C8:dword:0x48000090
-0x805C0C44:dword:0x60000000
-0x805C1050:dword:0x48000090
-0x805C1460:dword:0x48000094
-0x805C160C:dword:0x60000000
-0x805C1634:dword:0x60000000
-0x805C1650:dword:0x60000000
-0x805C16A0:dword:0x60000000
-0x805C2838:dword:0x48000088
-0x805C4408:dword:0x4800007C
-0x805C4594:dword:0x4800008C
-0x805C477C:dword:0x48000090
-0x805C4C20:dword:0x60000000
-0x805C4DF4:dword:0x48000094
-0x805C6BD0:dword:0x60000000
-0x805C9064:dword:0x60000000
-0x805C9ED8:dword:0x48000094
-0x805CA110:dword:0x60000000
-0x805CA334:dword:0x60000000
-0x805CA520:dword:0x48000098
-0x805CA860:dword:0x48000084
-0x805CA9FC:dword:0x60000000
-0x805CAC1C:dword:0x60000000
-0x805CADC0:dword:0x48000088
-0x805CAFB8:dword:0x60000000
-0x805CB138:dword:0x60000000
-0x805CB300:dword:0x7C000050
-0x805CB4F8:dword:0x48000088
-0x805CB6C4:dword:0x4800008C
-0x805CBA50:dword:0x4800008C
-0x805CCAE4:dword:0x60000000
-0x805CCD74:dword:0x60000000
-0x805CE000:dword:0x48000094
-0x805CE194:dword:0x7C600050
-0x805CE294:dword:0x7C000050
-0x805CE390:dword:0x60000000
-0x805CE574:dword:0x4800008C
-0x805CE7EC:dword:0x60000000
-0x805CED48:dword:0x60000000
-0x805CF0BC:dword:0x60000000
-0x805D2994:dword:0x60000000
-0x805D2FFC:dword:0x60000000
-0x805D3250:dword:0x48000090
-0x805D3624:dword:0x48000090
-0x805D384C:dword:0x48000088
-0x805D3DF8:dword:0x480000A4
-0x805D40B8:dword:0x48000094
-0x805D4400:dword:0x4800008C
-0x805D45D4:dword:0x60000000
-0x805D4788:dword:0x48000084
-0x805D4B94:dword:0x4800008C
-0x805D60D8:dword:0x60000000
-0x805D655C:dword:0x7C800050
-0x805D829C:dword:0x60000000
-0x805DA040:dword:0x48000094
-0x805DA4D8:dword:0x48000090
-0x805DA6C0:dword:0x60000000
-0x805DA7C8:dword:0x60000000
-0x805DBE80:dword:0x48000084
-0x805DC108:dword:0x7C800050
-0x805DC684:dword:0x60000000
-0x805DC7A4:dword:0x60000000
-0x805DC8F4:dword:0x60000000
-0x805DCAA0:dword:0x48000088
-0x805DCC44:dword:0x60000000
-0x805DCFAC:dword:0x48000090
-0x805DE150:dword:0x60000000
-0x805DE380:dword:0x48000090
-0x805DE6AC:dword:0x60000000
-0x805DE8D0:dword:0x48000090
-0x805DEA6C:dword:0x60000000
-0x805DEE50:dword:0x60000000
-0x805DF134:dword:0x48000084
-0x805DF2D8:dword:0x48000084
-0x805DF61C:dword:0x60000000
-0x805EF22C:dword:0x60000000
-0x805EFE40:dword:0x60000000
-0x805F0034:dword:0x60000000
-0x805F03B4:dword:0x60000000
-0x805F0530:dword:0x60000000
-0x805F0724:dword:0x48000094
-0x805F08BC:dword:0x4800009C
-0x805F0A40:dword:0x4800008C
-0x805F0BDC:dword:0x60000000
-0x805F0D70:dword:0x60000000
-0x805F0F04:dword:0x4800007C
-0x805F107C:dword:0x60000000
-0x805F11EC:dword:0x60000000
-0x805F1354:dword:0x60000000
-0x805F14E4:dword:0x60000000
-0x805F1698:dword:0x60000000
-0x805F182C:dword:0x60000000
-0x805F19D0:dword:0x4800008C
-0x805F1B34:dword:0x60000000
-0x805F1CBC:dword:0x60000000
-0x805F1E20:dword:0x60000000
-0x805F1FC0:dword:0x60000000
-0x805F2120:dword:0x60000000
-0x805F22A4:dword:0x480000A0
-0x805F2440:dword:0x4800009C
-0x805F25D0:dword:0x48000098
-0x805F2770:dword:0x480000A0
-0x805F290C:dword:0x60000000
-0x805F2A90:dword:0x60000000
-0x805F2C08:dword:0x48000090
-0x805F2D94:dword:0x48000090
-0x805F2F48:dword:0x60000000
-0x805F30F0:dword:0x60000000
-0x805F327C:dword:0x48000090
-0x805F3410:dword:0x4800008C
-0x805F3594:dword:0x60000000
-0x805F3724:dword:0x48000098
-0x805F38B4:dword:0x4800009C
-0x805F3A3C:dword:0x60000000
-0x805F3BAC:dword:0x60000000
-0x805F3D70:dword:0x60000000
-0x805F3EF4:dword:0x48000088
-0x805F4058:dword:0x60000000
-0x805F41F4:dword:0x48000094
-0x805F4374:dword:0x60000000
-0x805F44FC:dword:0x4800009C
-0x805F46B4:dword:0x60000000
-0x805F4844:dword:0x48000094
-0x805F49EC:dword:0x48000098
-0x805F4B84:dword:0x60000000
-0x805F4D14:dword:0x60000000
-0x805F4EA4:dword:0x48000088
-0x805F503C:dword:0x60000000
-0x805F51AC:dword:0x48000088
-0x805F5358:dword:0x60000000
-0x805F54F8:dword:0x60000000
-0x805F56B0:dword:0x48000098
-0x805F5848:dword:0x60000000
-0x805F59E0:dword:0x4800009C
-0x805F5B80:dword:0x48000090
-0x805F5D14:dword:0x4800009C
-0x805F5EAC:dword:0x60000000
-0x805F6050:dword:0x48000090
-0x805F61F4:dword:0x48000094
-0x805F63AC:dword:0x48000098
-0x805F6560:dword:0x60000000
-0x805F66C4:dword:0x60000000
-0x805F686C:dword:0x60000000
-0x805F69DC:dword:0x60000000
-0x805F6B74:dword:0x60000000
-0x805F6D40:dword:0x4800009C
-0x805F6F00:dword:0x4800008C
-0x805F709C:dword:0x48000090
-0x805F7218:dword:0x48000094
-0x805F73C8:dword:0x60000000
-0x805F7540:dword:0x60000000
-0x805F7704:dword:0x4800008C
-0x805F7884:dword:0x48000084
-0x805F79FC:dword:0x60000000
-0x805F7B70:dword:0x48000090
-0x805F7D08:dword:0x48000090
-0x805F8170:dword:0x60000000
-0x805F8480:dword:0x60000000
-0x805F85C0:dword:0x60000000
-0x805F8834:dword:0x60000000
-0x805F8AAC:dword:0x48000094
-0x805F8C60:dword:0x60000000
-0x805F8DF8:dword:0x60000000
-0x805F9090:dword:0x60000000
-0x805F959C:dword:0x60000000
-0x805F9C54:dword:0x60000000
-0x805F9E10:dword:0x48000084
-0x805F9FB8:dword:0x60000000
-0x805FC5C0:dword:0x60000000
-0x805FC750:dword:0x4800008C
-0x805FD86C:dword:0x48000098
-0x805FD9EC:dword:0x60000000
-0x805FDC94:dword:0x60000000
-0x805FDE7C:dword:0x60000000
-0x805FDFEC:dword:0x60000000
-0x805FE140:dword:0x60000000
-0x805FEC5C:dword:0x48000098
-0x805FF584:dword:0x60000000
-0x805FF710:dword:0x60000000
-0x805FF8A4:dword:0x60000000
-0x805FFD58:dword:0x48000098
-0x806006CC:dword:0x48000088
-0x80600964:dword:0x7C000050
-0x80600BB8:dword:0x60000000
-0x80600D60:dword:0x48000088
-0x8060105C:dword:0x48000098
-0x806011EC:dword:0x60000000
-0x8060139C:dword:0x60000000
-0x80601568:dword:0x4800007C
-0x80601700:dword:0x60000000
-0x80601A94:dword:0x60000000
-0x80601C78:dword:0x4800007C
-0x80602238:dword:0x4800009C
-0x806024AC:dword:0x60000000
-0x806026EC:dword:0x60000000
-0x80602878:dword:0x60000000
-0x80602A8C:dword:0x60000000
-0x80602C3C:dword:0x4800009C
-0x80602DE8:dword:0x60000000
-0x80602F9C:dword:0x48000084
-0x8060313C:dword:0x48000094
-0x806032D8:dword:0x48000094
-0x80603470:dword:0x60000000
-0x80603614:dword:0x48000094
-0x806037C8:dword:0x60000000
-0x806039BC:dword:0x60000000
-0x80604430:dword:0x48000084
-0x8060462C:dword:0x4800009C
-0x80604A6C:dword:0x48000090
-0x80604CF8:dword:0x48000088
-0x80605118:dword:0x48000090
-0x80605314:dword:0x4800008C
-0x80605A00:dword:0x48000088
-0x80605B74:dword:0x4800008C
-0x80605D5C:dword:0x60000000
-0x806062A4:dword:0x48000080
-0x806064A0:dword:0x60000000
-0x806066A0:dword:0x48000088
-0x8060680C:dword:0x4800009C
-0x80606A24:dword:0x48000094
-0x80606C44:dword:0x60000000
-0x80606DFC:dword:0x48000094
-0x80607018:dword:0x60000000
-0x80607280:dword:0x60000000
-0x806082C4:dword:0x4800008C
-0x8060F334:dword:0x48000094
-0x80610EDC:dword:0x60000000
-0x806562B0:dword:0x7C000050
-0x806563B8:dword:0x60000000
-0x80656ED0:dword:0x4800009C
-0x806570BC:dword:0x48000084
-0x80657AA0:dword:0x48000084
-0x80657C10:dword:0x60000000
-0x80657DA8:dword:0x48000090
-0x806581E8:dword:0x60000000
-0x8065861C:dword:0x60000000
-0x80659C50:dword:0x60000000
-0x80659DF4:dword:0x48000084
-0x8065A594:dword:0x60000000
-0x8065A7A4:dword:0x60000000
-0x8065A998:dword:0x60000000
-0x8065AD74:dword:0x48000098
-0x8065AFAC:dword:0x60000000
-0x8065B214:dword:0x60000000
-0x8065B718:dword:0x60000000
-0x8065B888:dword:0x48000090
-0x8065BA74:dword:0x4800009C
-0x8065D98C:dword:0x60000000
-0x8065DC7C:dword:0x48000084
-0x8065DE08:dword:0x60000000
-0x8065E3CC:dword:0x48000090
-0x8065E544:dword:0x48000094
-0x8065E7D0:dword:0x60000000
-0x8065EB1C:dword:0x60000000
-0x8065ECB0:dword:0x60000000
-0x8065EEC8:dword:0x60000000
-0x8065F040:dword:0x60000000
-0x8065F22C:dword:0x60000000
-0x8065F508:dword:0x60000000
-0x8065F6F8:dword:0x60000000
-0x8065F8C8:dword:0x60000000
-0x8065FA4C:dword:0x48000094
-0x8065FBDC:dword:0x4800008C
-0x8065FD80:dword:0x60000000
-0x8066091C:dword:0x60000000
-0x80660B1C:dword:0x60000000
-0x80660CCC:dword:0x60000000
-0x80660E58:dword:0x48000090
-0x80660FE8:dword:0x60000000
-0x806611B0:dword:0x48000088
-0x806613F8:dword:0x48000084
-0x806615D8:dword:0x48000094
-0x80661884:dword:0x60000000
-0x80661B90:dword:0x60000000
-0x80661F08:dword:0x60000000
-0x8066211C:dword:0x60000000
-0x80662824:dword:0x60000000
-0x80662A48:dword:0x60000000
-0x80662BE0:dword:0x60000000
-0x80662DEC:dword:0x48000088
-0x8066302C:dword:0x4800009C
-0x80663264:dword:0x48000090
-0x80663450:dword:0x48000090
-0x80663838:dword:0x60000000
-0x80664530:dword:0x60000000
-0x80664A8C:dword:0x60000000
-0x80664CBC:dword:0x4800007C
-0x80664EA0:dword:0x48000090
-0x806651C8:dword:0x60000000
-0x80665388:dword:0x60000000
-0x80665530:dword:0x48000094
-0x806656D4:dword:0x60000000
-0x80665A74:dword:0x48000094
-0x80665C90:dword:0x48000090
-0x80665E58:dword:0x60000000
-0x80666F0C:dword:0x48000098
-0x806670AC:dword:0x48000084
-0x80667244:dword:0x48000090
-0x806674D0:dword:0x60000000
-0x80667968:dword:0x60000000
-0x80667F50:dword:0x48000084
-0x806682BC:dword:0x48000094
-0x8066847C:dword:0x60000000
-0x806689F0:dword:0x60000000
-0x80668B90:dword:0x60000000
-0x80668BD4:dword:0x60000000
-0x80668C28:dword:0x60000000
-0x80669EC0:dword:0x48000090
-0x8066A150:dword:0x60000000
-0x8066A30C:dword:0x60000000
-0x8066A4C8:dword:0x4800008C
-0x8066A658:dword:0x48000090
-0x8066AA64:dword:0x48000098
-0x8066B0DC:dword:0x60000000
-0x8066BEA8:dword:0x4800008C
-0x8066C860:dword:0x60000000
-0x8066F03C:dword:0x60000000
-0x8066FFCC:dword:0x4800007C
-0x80670178:dword:0x48000094
-0x8067031C:dword:0x48000094
-0x80670514:dword:0x48000084
-0x806707B0:dword:0x60000000
-0x806708E0:dword:0x60000000
-0x80670AD4:dword:0x48000090
-0x80670C94:dword:0x48000090
-0x80670E18:dword:0x60000000
-0x80671000:dword:0x48000094
-0x80670FD4:dword:0x48000024
-0x80671324:dword:0x48000090
-0x806719F4:dword:0x48000084
-0x80672BB4:dword:0x4800007C
-0x80673500:dword:0x60000000
-0x806736E4:dword:0x48000094
-0x80673FE0:dword:0x60000000
-0x806742D8:dword:0x4800009C
-0x80674844:dword:0x60000000
-0x80674C3C:dword:0x48000080
-0x80677134:dword:0x4800008C
-0x806772D0:dword:0x48000088
-0x8067745C:dword:0x60000000
-0x80678924:dword:0x60000000
-0x80678E1C:dword:0x48000090
-0x8067A680:dword:0x60000000
-0x8067AF40:dword:0x60000000
-0x8067B284:dword:0x48000094
-0x8067B470:dword:0x60000000
-0x8067B494:dword:0x60000000
-0x8067B4D0:dword:0x60000000
-0x8067B5D0:dword:0x4800008C
-0x8067B7C8:dword:0x60000000
-0x8067B9EC:dword:0x60000000
-0x8067BA10:dword:0x60000000
-0x8067BA3C:dword:0x60000000
-0x8067BA68:dword:0x60000000
-0x8067BA78:dword:0x60000000
-0x8067BA90:dword:0x7C000050
-0x8067BDF4:dword:0x60000000
-0x8067BF68:dword:0x48000094
-0x8067C110:dword:0x48000080
-0x8067C2E8:dword:0x48000088
-0x8067C528:dword:0x60000000
-0x8067C744:dword:0x48000090
-0x8067C938:dword:0x60000000
-0x8067CAC4:dword:0x48000084
-0x8067CCD8:dword:0x60000000
-0x8067CF20:dword:0x48000094
-0x8067D0C0:dword:0x48000084
-0x8067D258:dword:0x48000098
-0x8067D3F0:dword:0x60000000
-0x8067D5C8:dword:0x60000000
-0x8067D75C:dword:0x4800009C
-0x8067D8F8:dword:0x60000000
-0x8067DA6C:dword:0x60000000
-0x8067DD00:dword:0x4800008C
-0x8067DEAC:dword:0x4800008C
-0x8067E044:dword:0x4800008C
-0x8067E1D8:dword:0x48000094
-0x8067E450:dword:0x60000000
-0x8067E644:dword:0x48000090
-0x8067E964:dword:0x4800007C
-0x8067EB4C:dword:0x60000000
-0x8067ED28:dword:0x7C000050
-0x8067EE1C:dword:0x60000000
-0x8067F014:dword:0x60000000
-0x8067F1C8:dword:0x48000090
-0x8067F35C:dword:0x48000084
-0x8067F5D0:dword:0x60000000
-0x8067F828:dword:0x48000084
-0x8067FE68:dword:0x60000000
-0x8068128C:dword:0x60000000
-0x80681F88:dword:0x480000F0
-0x80682330:dword:0x60000000
-0x80682910:dword:0x480000E8
-0x80683094:dword:0x48000090
-0x80683244:dword:0x48000098
-0x806839D0:dword:0x4800007C
-0x806852D4:dword:0x60000000
-0x806853D8:dword:0x7C000050
-0x806854E0:dword:0x7C600050
-0x806855F0:dword:0x4800008C
-0x80685790:dword:0x48000098
-0x80685924:dword:0x60000000
-0x80685AC8:dword:0x48000088
-0x80685E68:dword:0x60000000
-0x806861E4:dword:0x60000000
-0x80686568:dword:0x60000000
-0x80686724:dword:0x48000098
-0x806868FC:dword:0x48000098
-0x80686B48:dword:0x60000000
-0x8068D5E8:dword:0x60000000
-0x8068D7C4:dword:0x48000088
-0x8068D940:dword:0x7C800050
-0x8068DA64:dword:0x48000090
-0x8068DFA8:dword:0x60000000
-0x8068DFD0:dword:0x60000000
-0x8068DFF8:dword:0x7C800050
-0x8068EC98:dword:0x48000098
-0x8068EEF8:dword:0x60000000
-0x8068F374:dword:0x60000000
-0x8068F510:dword:0x60000000
-0x8068F6E0:dword:0x48000084
-0x8068F850:dword:0x60000000
-0x8069009C:dword:0x60000000
-0x80690BF8:dword:0x60000000
-0x80690C48:dword:0x7C000050
-0x80690DC0:dword:0x48000098
-0x80690FC4:dword:0x60000000
-0x806911F4:dword:0x60000000
-0x806913AC:dword:0x4800008C
-0x80691838:dword:0x7C600050
-0x80691F0C:dword:0x60000000
-0x80692218:dword:0x60000000
-0x806923F4:dword:0x4800008C
-0x80692A60:dword:0x60000000
-0x80692CA0:dword:0x60000000
-0x806992FC:dword:0x48000090
-0x806994E4:dword:0x48000098
-0x8069AD7C:dword:0x60000000
-0x8069B610:dword:0x7C800050
-0x8069BB40:dword:0x4800008C
-0x8069BDF4:dword:0x48000088
-0x8069BFA8:dword:0x60000000
-0x8069C480:dword:0x60000000
-0x8069CD3C:dword:0x60000000
-0x8069CFF0:dword:0x48000090
-0x8069DDDC:dword:0x7C600050
-0x8069DF10:dword:0x60000000
-0x8069E36C:dword:0x60000000
-0x8069E594:dword:0x60000000
-0x806A0A20:dword:0x48000090
-0x806A0BD8:dword:0x60000000
-0x806A0D00:dword:0x48000080
-0x806A0E90:dword:0x48000090
-0x806A1940:dword:0x48000080
-0x806A3624:dword:0x48000090
-0x806A6DA0:dword:0x60000000
-0x806A76D8:dword:0x60000000
-0x806A78A0:dword:0x48000098
-0x806AA664:dword:0x60000000
-0x806ACA10:dword:0x60000000
-0x806AD7AC:dword:0x60000000
-0x806ADB50:dword:0x60000000
-0x806ADC44:dword:0x60000000
-0x806ADEF0:dword:0x60000000
-0x806AE1F8:dword:0x60000000
-0x806AE428:dword:0x60000000
-0x806AF160:dword:0x60000000
-0x806B0C08:dword:0x60000000
-0x806B109C:dword:0x60000000
-0x806B11FC:dword:0x60000000
-0x806B13A0:dword:0x60000000
-0x806B1528:dword:0x48000098
-0x806B16BC:dword:0x7C000050
-0x806B17CC:dword:0x4800009C
-0x806B1AB8:dword:0x60000000
-0x806B2010:dword:0x60000000
-0x806B2408:dword:0x60000000
-0x806B2630:dword:0x60000000
-0x806B2988:dword:0x7C800050
-0x806B3888:dword:0x48000090
-0x806B580C:dword:0x4800008C
-0x806B5A44:dword:0x60000000
-0x806B6680:dword:0x60000000
-0x806B737C:dword:0x48000084
-0x806B7724:dword:0x4800008C
-0x806B7BA4:dword:0x60000000
-0x806B8290:dword:0x48000090
-0x806B8ACC:dword:0x48000088
-0x806B9458:dword:0x60000000
-0x806B9710:dword:0x48000094
-0x806B9DD4:dword:0x60000000
-0x806BA0AC:dword:0x48000094
-0x806BA260:dword:0x60000000
-0x806BA480:dword:0x60000000
-0x806BAC3C:dword:0x60000000
-0x806BAEC8:dword:0x60000000
-0x806BBA68:dword:0x60000000
-0x806BBA84:dword:0x60000000
-0x806BBB14:dword:0x7C000050
-0x806BBB2C:dword:0x7C000050
-0x806BBB44:dword:0x7C800050
-0x806BBB60:dword:0x60000000
-0x806BBB8C:dword:0x60000000
-0x806BBBD0:dword:0x7C600050
-0x806BE1B0:dword:0x7C000050
-0x806C1048:dword:0x48000088
-0x806C1384:dword:0x48000084
-0x806C18B8:dword:0x4800009C
-0x806C1E6C:dword:0x48000090
-0x806C2660:dword:0x4800008C
-0x806C4DCC:dword:0x48000090
-0x806C520C:dword:0x60000000
-0x806C5B30:dword:0x48000094
-0x806C60BC:dword:0x60000000
-0x806C71AC:dword:0x7C800050
-0x806C7DAC:dword:0x60000000
-0x806C7F30:dword:0x60000000
-0x806C81C0:dword:0x60000000
-0x806C83F0:dword:0x60000000
-0x806C8CB8:dword:0x60000000
-0x806C8E28:dword:0x60000000
-0x806C9338:dword:0x4800008C
-0x806C94D4:dword:0x48000094
-0x806C9A4C:dword:0x60000000
-0x806C9C2C:dword:0x48000090
-0x806CA33C:dword:0x60000000
-0x806CA4F8:dword:0x60000000
-0x806CA6AC:dword:0x60000000
-0x806CA8BC:dword:0x48000098
-0x806CAC54:dword:0x60000000
-0x806CAE08:dword:0x4800008C
-0x806CAFD4:dword:0x60000000
-0x806CB29C:dword:0x48000088
-0x806CB944:dword:0x60000000
-0x806CBD64:dword:0x48000094
-0x806CBFE8:dword:0x48000088
-0x806CCE58:dword:0x60000000
-0x806CD03C:dword:0x48000090
-0x806CDD8C:dword:0x60000000
-0x806CDF7C:dword:0x4800007C
-0x806CE0D4:dword:0x60000000
-0x806CF530:dword:0x60000000
-0x806CF63C:dword:0x60000000
-0x806CF5D0:dword:0x48000020
-0x806D0904:dword:0x60000000
-0x806D0FD0:dword:0x48000094
-0x806D1130:dword:0x60000000
-0x806D240C:dword:0x48000080
-0x806D2660:dword:0x48000094
-0x806D2C7C:dword:0x48000090
-0x806D2E24:dword:0x60000000
-0x806D30A4:dword:0x4800008C
-0x806D3268:dword:0x60000000
-0x806D34EC:dword:0x60000000
-0x806D3C2C:dword:0x60000000
-0x806D3DBC:dword:0x60000000
-0x806D3F88:dword:0x60000000
-0x806D44AC:dword:0x60000000
-0x806D4650:dword:0x4800008C
-0x806D4988:dword:0x4800008C
-0x806D55D4:dword:0x60000000
-0x806D6C3C:dword:0x60000000
-0x806D793C:dword:0x60000000
-0x806D8644:dword:0x60000000
-0x806D98AC:dword:0x48000080
-0x806DA4D0:dword:0x48000090
-0x806DA7F8:dword:0x60000000
-0x806DA98C:dword:0x60000000
-0x806DF778:dword:0x60000000
-0x806DFBE0:dword:0x4800008C
-0x806DFDC0:dword:0x48000088
-0x806DFF74:dword:0x48000090
-0x806E0338:dword:0x60000000
-0x806E0588:dword:0x60000000
-0x806E0770:dword:0x7C000050
-0x806E0858:dword:0x48000084
-0x806E0A34:dword:0x4800008C
-0x806E0BFC:dword:0x60000000
-0x806E0E2C:dword:0x60000000
-0x806E4E98:dword:0x7C000050
-0x806E529C:dword:0x48000064
-0x806E57A4:dword:0x60000000
-0x806E591C:dword:0x60000000
-0x806E60C0:dword:0x48000080
-0x806E6354:dword:0x60000000
-0x806E6838:dword:0x48000090
-0x806E6B64:dword:0x48000084
-0x806E7080:dword:0x4800008C
-0x806E76BC:dword:0x60000000
-0x806E7834:dword:0x7C000050
-0x806E7938:dword:0x48000088
-0x806E7CC8:dword:0x7C600050
-0x806E800C:dword:0x7C000050
-0x806E84D0:dword:0x7CA00050
-0x806E84EC:dword:0x7C800050
-0x806E850C:dword:0x7C600050
-0x806E8638:dword:0x60000000
-0x806E8AEC:dword:0x48000094
-0x806E8CD4:dword:0x60000000
-0x806E8E70:dword:0x48000090
-0x806E9258:dword:0x48000088
-0x806E93EC:dword:0x60000000
-0x806EB4F8:dword:0x60000000
-0x806EB6BC:dword:0x48000094
-0x806EB860:dword:0x48000088
-0x806EE734:dword:0x7C000050
-0x806EE74C:dword:0x7C600050
-0x806EE768:dword:0x60000000
-0x806EED48:dword:0x48000094
-0x806F22E0:dword:0x48000090
-0x806F259C:dword:0x48000084
-0x806F2AFC:dword:0x48000060
-0x806F30AC:dword:0x48000098
-0x806F3538:dword:0x48000094
-0x806F3AE4:dword:0x48000098
-0x806F3EFC:dword:0x60000000
-0x806F4238:dword:0x48000064
-0x806F434C:dword:0x60000000
-0x806F4580:dword:0x60000000
-0x806F494C:dword:0x7CC00050
-0x806F4AE8:dword:0x60000000
-0x806F4B30:dword:0x60000000
-0x806F4C34:dword:0x60000000
-0x806F4C74:dword:0x7C000050
-0x806F4CF0:dword:0x60000000
-0x806F4DF8:dword:0x48000094
-0x806F5154:dword:0x60000000
-0x806F524C:dword:0x60000000
-0x806F6FA0:dword:0x48000058
-0x806F75D4:dword:0x48000090
-0x806F789C:dword:0x60000000
-0x806F7B30:dword:0x48000098
-0x806F7E84:dword:0x60000000
-0x806F8098:dword:0x60000000
-0x806F9438:dword:0x60000000
-0x806F9640:dword:0x60000000
-0x806F982C:dword:0x60000000
-0x806F9B78:dword:0x48000090
-0x806F9D20:dword:0x60000000
-0x806F9E18:dword:0x60000000
-0x806FA06C:dword:0x60000000
-0x806FA410:dword:0x48000064
-0x806FA560:dword:0x48000094
-0x806FABBC:dword:0x60000000
-0x806FAEF4:dword:0x48000064
-0x806FB298:dword:0x60000000
-0x806FB61C:dword:0x48000068
-0x806FB7A0:dword:0x60000000
-0x806FB960:dword:0x60000000
-0x806FBA3C:dword:0x60000000
-0x806FBAD8:dword:0x60000000
-0x806FBC84:dword:0x60000000
-0x806FBD94:dword:0x60000000
-0x806FC2AC:dword:0x60000000
-0x806FCA04:dword:0x60000000
-0x806FCBA4:dword:0x60000000
-0x806FCCC0:dword:0x60000000
-0x806FCE44:dword:0x60000000
-0x806FCF6C:dword:0x60000000
-0x806FD12C:dword:0x48000094
-0x806FD554:dword:0x60000000
-0x806FDC58:dword:0x4800008C
-0x806FDDD8:dword:0x48000084
-0x806FE400:dword:0x48000094
-0x806FE740:dword:0x48000094
-0x806FE8B0:dword:0x60000000
-0x806FEA44:dword:0x60000000
-0x806FEBF8:dword:0x60000000
-0x806FED90:dword:0x48000090
-0x806FEF28:dword:0x60000000
-0x806FF308:dword:0x48000098
-0x807005F0:dword:0x60000000
-0x8070071C:dword:0x60000000
-0x80700A38:dword:0x60000000
-0x80700BFC:dword:0x48000080
-0x80701064:dword:0x60000000
-0x807014CC:dword:0x60000000
-0x807026DC:dword:0x60000000
-0x80702C58:dword:0x48000094
-0x80703734:dword:0x48000098
-0x807038BC:dword:0x60000000
-0x80703C44:dword:0x60000000
-0x80704130:dword:0x60000000
-0x80704340:dword:0x48000094
-0x80704874:dword:0x48000080
-0x80704D94:dword:0x48000090
-0x80704F9C:dword:0x60000000
-0x80705C64:dword:0x48000088
-0x80705EE8:dword:0x4800008C
-0x8070605C:dword:0x60000000
-0x80706308:dword:0x60000000
-0x80706668:dword:0x60000000
-0x80706C94:dword:0x48000090
-0x80706E58:dword:0x48000090
-0x8070705C:dword:0x48000094
-0x80670F60:dword:0x60000000
+# SUKJ01 - Hoshi no Kaabii Wii
+
+[OnFrame]
+$Bypass MetaFortress [crediar, ported by container12345]
+0x80175194:dword:0x48000084
+0x8017582C:dword:0x60000000
+0x80175BF4:dword:0x60000000
+0x80175F10:dword:0x48000090
+0x801761E8:dword:0x60000000
+0x801763C4:dword:0x4800008C
+0x801765B4:dword:0x60000000
+0x80176CAC:dword:0x48000088
+0x80176E74:dword:0x48000090
+0x801771A8:dword:0x48000090
+0x80177500:dword:0x4800008C
+0x801789D4:dword:0x60000000
+0x80178D20:dword:0x4800008C
+0x80178E7C:dword:0x4800009C
+0x801790C8:dword:0x48000094
+0x80179250:dword:0x60000000
+0x801793F8:dword:0x4800009C
+0x801795B8:dword:0x48000088
+0x8017975C:dword:0x48000094
+0x801798EC:dword:0x48000084
+0x80179A64:dword:0x60000000
+0x80179BF0:dword:0x60000000
+0x80179E1C:dword:0x4800008C
+0x80179FF0:dword:0x48000088
+0x8017A270:dword:0x60000000
+0x8017A3F4:dword:0x48000094
+0x8017A590:dword:0x60000000
+0x8017A7E4:dword:0x60000000
+0x8017A95C:dword:0x60000000
+0x8017A9F8:dword:0x4800009C
+0x8017A9CC:dword:0x48000020
+0x8017B918:dword:0x60000000
+0x8017BF08:dword:0x4800008C
+0x8017E900:dword:0x60000000
+0x8017EA84:dword:0x60000000
+0x8017F45C:dword:0x60000000
+0x8017F850:dword:0x48000090
+0x8017FAC8:dword:0x48000094
+0x8017FCB0:dword:0x48000098
+0x8017FFFC:dword:0x48000088
+0x801801C4:dword:0x60000000
+0x80180654:dword:0x60000000
+0x801807E8:dword:0x60000000
+0x801808B8:dword:0x60000000
+0x80180874:dword:0x48000024
+0x80180CD8:dword:0x60000000
+0x80180F14:dword:0x48000090
+0x801810F0:dword:0x60000000
+0x801812A8:dword:0x4800009C
+0x80181440:dword:0x60000000
+0x8018F0D0:dword:0x60000000
+0x8018F250:dword:0x4800008C
+0x8018F4C0:dword:0x60000000
+0x8018F5C0:dword:0x4800008C
+0x8018F908:dword:0x4800009C
+0x8018FB48:dword:0x60000000
+0x8018FCA4:dword:0x4800008C
+0x80191678:dword:0x48000080
+0x801A9C80:dword:0x4800008C
+0x801A9EC8:dword:0x4800008C
+0x801AA1F4:dword:0x48000094
+0x801AAFAC:dword:0x48000080
+0x801ACA18:dword:0x60000000
+0x801ACCBC:dword:0x60000000
+0x801ACE8C:dword:0x4800009C
+0x801AD080:dword:0x60000000
+0x801ADAB8:dword:0x7C000050
+0x801AE5C4:dword:0x48000098
+0x801AE8B0:dword:0x60000000
+0x801AFCB8:dword:0x4800008C
+0x801AFE78:dword:0x4800009C
+0x801B04E0:dword:0x60000000
+0x801B06A8:dword:0x60000000
+0x801B0850:dword:0x60000000
+0x801B0AA4:dword:0x60000000
+0x801B17EC:dword:0x48000098
+0x801B1AA0:dword:0x60000000
+0x801B1D20:dword:0x4800009C
+0x801B1F78:dword:0x60000000
+0x801B2388:dword:0x60000000
+0x801B2590:dword:0x48000080
+0x801B3DE4:dword:0x4800007C
+0x801B4268:dword:0x60000000
+0x801B4460:dword:0x60000000
+0x801B497C:dword:0x4800008C
+0x801B4C04:dword:0x48000094
+0x801B4E54:dword:0x60000000
+0x801B4FDC:dword:0x7C600050
+0x801CF6EC:dword:0x60000000
+0x801CF8E4:dword:0x480000A0
+0x801D893C:dword:0x60000000
+0x801D9574:dword:0x60000000
+0x801D9718:dword:0x60000000
+0x801D98A8:dword:0x60000000
+0x801D9A68:dword:0x48000088
+0x801DBC2C:dword:0x60000000
+0x801DC87C:dword:0x60000000
+0x801DCA0C:dword:0x4800008C
+0x801E58E8:dword:0x60000000
+0x801E5BAC:dword:0x48000098
+0x801E677C:dword:0x48000084
+0x801E6908:dword:0x60000000
+0x801E6E74:dword:0x7C000050
+0x801E7B48:dword:0x60000000
+0x801E8108:dword:0x7C600050
+0x801E88BC:dword:0x60000000
+0x801E8A78:dword:0x60000000
+0x801E8C9C:dword:0x60000000
+0x801E8F54:dword:0x7C000050
+0x801E9560:dword:0x60000000
+0x801E9890:dword:0x4800009C
+0x801E9B64:dword:0x48000088
+0x801E9FEC:dword:0x7C000050
+0x801EA6A0:dword:0x48000090
+0x801EB164:dword:0x60000000
+0x801EB4C8:dword:0x48000094
+0x801EB644:dword:0x4800008C
+0x801EB860:dword:0x48000098
+0x801EC00C:dword:0x60000000
+0x801EC1A4:dword:0x7C600050
+0x801EC75C:dword:0x60000000
+0x801ECAD0:dword:0x60000000
+0x801ECE54:dword:0x48000090
+0x801ECFF4:dword:0x48000098
+0x801ED46C:dword:0x48000088
+0x801ED6F8:dword:0x48000084
+0x801ED868:dword:0x48000088
+0x801ED9F4:dword:0x60000000
+0x801EE060:dword:0x60000000
+0x801EE2A4:dword:0x60000000
+0x801EEA70:dword:0x48000094
+0x801EEEAC:dword:0x4800008C
+0x801EF208:dword:0x60000000
+0x801EF3AC:dword:0x60000000
+0x801EF744:dword:0x60000000
+0x801EF8EC:dword:0x60000000
+0x801F0548:dword:0x48000094
+0x801F0AB0:dword:0x60000000
+0x801F0C24:dword:0x60000000
+0x801F0F20:dword:0x48000090
+0x801F13E8:dword:0x60000000
+0x801F1578:dword:0x60000000
+0x801F1774:dword:0x60000000
+0x801F1998:dword:0x48000098
+0x801F2224:dword:0x48000064
+0x801F2370:dword:0x60000000
+0x801F257C:dword:0x60000000
+0x801F31A8:dword:0x7C600050
+0x801F31C0:dword:0x7C000050
+0x801F31E8:dword:0x7C000050
+0x801F3288:dword:0x7C000050
+0x801F33A8:dword:0x60000000
+0x801F3A94:dword:0x60000000
+0x801F5A0C:dword:0x4800008C
+0x801F6098:dword:0x60000000
+0x801F69BC:dword:0x60000000
+0x801F6C18:dword:0x4800008C
+0x801F6D98:dword:0x60000000
+0x801F6F48:dword:0x4800008C
+0x801F7150:dword:0x60000000
+0x801F7834:dword:0x60000000
+0x801F7950:dword:0x60000000
+0x801F7C98:dword:0x60000000
+0x801F8788:dword:0x60000000
+0x801F8928:dword:0x4800008C
+0x801F8CC8:dword:0x60000000
+0x801F8FE4:dword:0x60000000
+0x801FA7D8:dword:0x4800008C
+0x801FD750:dword:0x4800008C
+0x801FD910:dword:0x60000000
+0x801FFCF4:dword:0x48000090
+0x802002B8:dword:0x60000000
+0x802002F0:dword:0x60000000
+0x802003EC:dword:0x48000094
+0x802007F0:dword:0x60000000
+0x80200A44:dword:0x60000000
+0x80200BB8:dword:0x60000000
+0x80200E3C:dword:0x60000000
+0x80200FB4:dword:0x60000000
+0x802012C8:dword:0x60000000
+0x80202FD8:dword:0x4800008C
+0x80203254:dword:0x48000094
+0x802035DC:dword:0x60000000
+0x80203DC4:dword:0x48000094
+0x8020A094:dword:0x60000000
+0x8020A208:dword:0x48000090
+0x8020A3C4:dword:0x60000000
+0x8020A434:dword:0x60000000
+0x8020BB2C:dword:0x48000088
+0x8020BCB0:dword:0x60000000
+0x8020C020:dword:0x60000000
+0x8020C3D0:dword:0x48000098
+0x8020E1E8:dword:0x60000000
+0x8020E470:dword:0x60000000
+0x8020ED7C:dword:0x60000000
+0x8020F0F0:dword:0x48000090
+0x8020F724:dword:0x48000094
+0x8020F928:dword:0x4800008C
+0x8020FDA0:dword:0x60000000
+0x8021491C:dword:0x60000000
+0x80214B10:dword:0x60000000
+0x80214D24:dword:0x7C000050
+0x80214FA4:dword:0x60000000
+0x802151B8:dword:0x48000090
+0x80215F90:dword:0x60000000
+0x80216174:dword:0x48000088
+0x80216708:dword:0x60000000
+0x802168F4:dword:0x60000000
+0x80216D10:dword:0x60000000
+0x80216E98:dword:0x60000000
+0x80217068:dword:0x60000000
+0x802171D4:dword:0x60000000
+0x80217398:dword:0x60000000
+0x802178D8:dword:0x60000000
+0x8021AA14:dword:0x7C800050
+0x8021BF74:dword:0x60000000
+0x8021C394:dword:0x60000000
+0x80221A40:dword:0x48000098
+0x80221E74:dword:0x60000000
+0x80224370:dword:0x60000000
+0x802244E0:dword:0x60000000
+0x80224698:dword:0x60000000
+0x80224930:dword:0x7C000050
+0x80224B68:dword:0x4800007C
+0x802252F8:dword:0x4800009C
+0x8022566C:dword:0x48000094
+0x80225B44:dword:0x60000000
+0x80225D90:dword:0x60000000
+0x80225F04:dword:0x48000090
+0x80226088:dword:0x48000084
+0x802261F8:dword:0x60000000
+0x80226370:dword:0x60000000
+0x80226DE4:dword:0x48000098
+0x802274F4:dword:0x60000000
+0x80227CD4:dword:0x48000094
+0x80228B50:dword:0x4800008C
+0x80228CDC:dword:0x60000000
+0x80228F08:dword:0x60000000
+0x8022911C:dword:0x48000094
+0x802292D0:dword:0x7C000050
+0x80229C78:dword:0x60000000
+0x80229E1C:dword:0x60000000
+0x80229FD4:dword:0x60000000
+0x8022A8F8:dword:0x48000080
+0x8022B2A0:dword:0x48000084
+0x8022B498:dword:0x48000094
+0x8022B6C8:dword:0x48000090
+0x8022B948:dword:0x60000000
+0x8022BB94:dword:0x48000094
+0x8022C07C:dword:0x60000000
+0x8022C22C:dword:0x60000000
+0x8022C6AC:dword:0x48000060
+0x8022CC24:dword:0x60000000
+0x8022CE50:dword:0x4800007C
+0x8022D100:dword:0x60000000
+0x8022D2C8:dword:0x60000000
+0x8022DC50:dword:0x60000000
+0x8022E404:dword:0x60000000
+0x8022FC48:dword:0x48000080
+0x80231564:dword:0x60000000
+0x80233520:dword:0x4800009C
+0x802341D0:dword:0x48000090
+0x80235210:dword:0x60000000
+0x80236018:dword:0x48000084
+0x80236218:dword:0x60000000
+0x8023673C:dword:0x48000060
+0x80238294:dword:0x4800008C
+0x80238414:dword:0x48000094
+0x80239778:dword:0x60000000
+0x802398D0:dword:0x4800008C
+0x80239A84:dword:0x60000000
+0x80239C84:dword:0x60000000
+0x8023E230:dword:0x7C600050
+0x8023E660:dword:0x48000098
+0x8023E8B0:dword:0x60000000
+0x8023EA98:dword:0x48000090
+0x8023EC2C:dword:0x60000000
+0x8023EEB4:dword:0x48000094
+0x8023F03C:dword:0x60000000
+0x8023F1D0:dword:0x60000000
+0x8023F4FC:dword:0x48000090
+0x802407C8:dword:0x60000000
+0x80240DC0:dword:0x4800008C
+0x80241184:dword:0x60000000
+0x8024151C:dword:0x48000094
+0x8024198C:dword:0x48000094
+0x80241B54:dword:0x7C000050
+0x80241B68:dword:0x7C600050
+0x80241DE4:dword:0x48000090
+0x80242014:dword:0x4800008C
+0x80242304:dword:0x4800009C
+0x802424F4:dword:0x48000084
+0x802426A8:dword:0x60000000
+0x80242850:dword:0x60000000
+0x80242980:dword:0x60000000
+0x80242B80:dword:0x60000000
+0x80242DD4:dword:0x4800008C
+0x8024313C:dword:0x48000094
+0x80243350:dword:0x60000000
+0x80243470:dword:0x60000000
+0x80243AFC:dword:0x60000000
+0x80243D9C:dword:0x48000090
+0x80243F58:dword:0x4800009C
+0x80244978:dword:0x60000000
+0x80244DD4:dword:0x60000000
+0x80245424:dword:0x48000088
+0x80245598:dword:0x60000000
+0x80245800:dword:0x60000000
+0x80246118:dword:0x60000000
+0x80246408:dword:0x60000000
+0x8024659C:dword:0x4800007C
+0x802469E0:dword:0x60000000
+0x80246BC4:dword:0x60000000
+0x802C15A0:dword:0x60000000
+0x802C2788:dword:0x60000000
+0x802C2A80:dword:0x48000084
+0x802CE60C:dword:0x60000000
+0x802CE620:dword:0x7C600050
+0x802DCFAC:dword:0x48000098
+0x80327254:dword:0x60000000
+0x80328138:dword:0x60000000
+0x8032856C:dword:0x60000000
+0x80328768:dword:0x48000094
+0x80328F64:dword:0x60000000
+0x803290F4:dword:0x48000090
+0x8032951C:dword:0x60000000
+0x803296EC:dword:0x60000000
+0x80329978:dword:0x60000000
+0x80329B48:dword:0x7C000050
+0x80329CF0:dword:0x48000090
+0x80329EB4:dword:0x4800008C
+0x8032A898:dword:0x4800008C
+0x8032AA68:dword:0x60000000
+0x8032AC3C:dword:0x4800008C
+0x8032AEFC:dword:0x48000094
+0x8032B0A0:dword:0x60000000
+0x8032BC40:dword:0x60000000
+0x8032C084:dword:0x60000000
+0x8032CA20:dword:0x48000088
+0x8032CD28:dword:0x48000090
+0x8032CE90:dword:0x60000000
+0x8032DE5C:dword:0x48000098
+0x8032E2D8:dword:0x60000000
+0x8032E5DC:dword:0x60000000
+0x8032E9EC:dword:0x60000000
+0x8032ED20:dword:0x60000000
+0x8032F1A0:dword:0x60000000
+0x8032F354:dword:0x60000000
+0x8032F624:dword:0x48000088
+0x8032FC54:dword:0x48000094
+0x8032FEC8:dword:0x60000000
+0x80330080:dword:0x48000090
+0x80330694:dword:0x60000000
+0x8033081C:dword:0x60000000
+0x80330974:dword:0x48000090
+0x80330AFC:dword:0x48000094
+0x80331D34:dword:0x60000000
+0x80332D1C:dword:0x60000000
+0x80332E3C:dword:0x48000094
+0x80332FD0:dword:0x48000090
+0x8033316C:dword:0x48000098
+0x8033375C:dword:0x60000000
+0x80333908:dword:0x60000000
+0x80333BA0:dword:0x48000088
+0x80333DA4:dword:0x60000000
+0x80333F34:dword:0x60000000
+0x803340BC:dword:0x48000088
+0x80334234:dword:0x60000000
+0x803343D0:dword:0x60000000
+0x80334554:dword:0x48000088
+0x80334EB4:dword:0x60000000
+0x80335070:dword:0x60000000
+0x80335268:dword:0x60000000
+0x803356F4:dword:0x60000000
+0x80335720:dword:0x60000000
+0x8033598C:dword:0x48000090
+0x80339688:dword:0x4800008C
+0x8033A3D8:dword:0x48000090
+0x80353CE8:dword:0x60000000
+0x803572F4:dword:0x48000090
+0x80357940:dword:0x48000090
+0x80358198:dword:0x60000000
+0x803583B0:dword:0x60000000
+0x80358550:dword:0x4800008C
+0x8035877C:dword:0x60000000
+0x80358948:dword:0x48000090
+0x80358B60:dword:0x48000084
+0x80358D1C:dword:0x60000000
+0x80358EA8:dword:0x48000084
+0x80359054:dword:0x48000090
+0x803591FC:dword:0x48000098
+0x803593B8:dword:0x48000094
+0x80359550:dword:0x60000000
+0x80359798:dword:0x4800009C
+0x80359950:dword:0x60000000
+0x80359AE8:dword:0x48000094
+0x80359D88:dword:0x4800008C
+0x8035A0C4:dword:0x60000000
+0x8035A0E0:dword:0x7C600050
+0x8035B7A8:dword:0x60000000
+0x8035BA04:dword:0x60000000
+0x8035BBDC:dword:0x48000094
+0x8035BD74:dword:0x60000000
+0x8035BF24:dword:0x48000094
+0x8035D0E8:dword:0x60000000
+0x8035D7A0:dword:0x60000000
+0x8035D910:dword:0x60000000
+0x803688B0:dword:0x7C600050
+0x8036C250:dword:0x60000000
+0x8036CB48:dword:0x48000088
+0x8036CCCC:dword:0x48000090
+0x8036CE5C:dword:0x48000098
+0x8037B988:dword:0x4800008C
+0x8037FB48:dword:0x60000000
+0x8043603C:dword:0x4800008C
+0x80442D90:dword:0x60000000
+0x804498EC:dword:0x48000090
+0x8044A3E8:dword:0x60000000
+0x8044D36C:dword:0x48000088
+0x8044D558:dword:0x60000000
+0x8044ED1C:dword:0x60000000
+0x8044EF38:dword:0x4800009C
+0x8044F4D4:dword:0x48000088
+0x8044F634:dword:0x60000000
+0x8044F84C:dword:0x48000090
+0x80452C18:dword:0x60000000
+0x804530F4:dword:0x60000000
+0x804537B0:dword:0x4800008C
+0x80453AA0:dword:0x60000000
+0x80453E98:dword:0x60000000
+0x8045405C:dword:0x60000000
+0x80454314:dword:0x60000000
+0x804544C0:dword:0x4800008C
+0x80454668:dword:0x60000000
+0x80455014:dword:0x60000000
+0x80455888:dword:0x60000000
+0x80456B20:dword:0x48000090
+0x80457F90:dword:0x4800008C
+0x80458274:dword:0x60000000
+0x8045B798:dword:0x60000000
+0x8045BC70:dword:0x48000088
+0x8045BE50:dword:0x60000000
+0x8045BFF4:dword:0x60000000
+0x8045C1B8:dword:0x48000088
+0x8045C39C:dword:0x48000098
+0x8045C564:dword:0x48000088
+0x8045C72C:dword:0x48000098
+0x8045C8F8:dword:0x4800008C
+0x8045CAD4:dword:0x4800008C
+0x8045DEF0:dword:0x60000000
+0x80462ACC:dword:0x7C000050
+0x80463BEC:dword:0x4800005C
+0x80463F44:dword:0x48000084
+0x80464264:dword:0x48000090
+0x80469DFC:dword:0x60000000
+0x80469FB8:dword:0x4800009C
+0x8046A47C:dword:0x60000000
+0x8046A87C:dword:0x48000088
+0x8046AEAC:dword:0x60000000
+0x8046B054:dword:0x60000000
+0x8046B6C4:dword:0x60000000
+0x8046C078:dword:0x7CA00050
+0x80473EC4:dword:0x60000000
+0x80474350:dword:0x60000000
+0x8047450C:dword:0x60000000
+0x8047475C:dword:0x60000000
+0x80475294:dword:0x60000000
+0x8047542C:dword:0x60000000
+0x80475978:dword:0x48000080
+0x80475C5C:dword:0x48000088
+0x80476398:dword:0x48000088
+0x80476898:dword:0x48000094
+0x80476A38:dword:0x60000000
+0x80476C44:dword:0x60000000
+0x80476DAC:dword:0x4800007C
+0x804772E4:dword:0x48000094
+0x8047E880:dword:0x48000098
+0x804844DC:dword:0x60000000
+0x80484C2C:dword:0x48000094
+0x80484E40:dword:0x60000000
+0x80484F6C:dword:0x48000088
+0x8048661C:dword:0x48000094
+0x804868EC:dword:0x48000090
+0x80486D24:dword:0x60000000
+0x804875F4:dword:0x60000000
+0x80487764:dword:0x60000000
+0x80487990:dword:0x4800009C
+0x80487C6C:dword:0x48000098
+0x80488094:dword:0x60000000
+0x8048854C:dword:0x60000000
+0x80488658:dword:0x4800008C
+0x80488834:dword:0x4800008C
+0x80488A90:dword:0x48000088
+0x80488CA0:dword:0x7CA00050
+0x804890CC:dword:0x60000000
+0x80489448:dword:0x48000090
+0x8048CF60:dword:0x4800008C
+0x8048D590:dword:0x60000000
+0x8048D8B8:dword:0x48000098
+0x804904B0:dword:0x4800008C
+0x8049081C:dword:0x7C000050
+0x804909EC:dword:0x4800009C
+0x80494408:dword:0x48000090
+0x80494CB4:dword:0x48000098
+0x804951A4:dword:0x60000000
+0x804953C8:dword:0x60000000
+0x80495890:dword:0x48000088
+0x80495AB8:dword:0x48000084
+0x80495CF8:dword:0x48000098
+0x80495E80:dword:0x60000000
+0x80496028:dword:0x60000000
+0x80496AF8:dword:0x60000000
+0x80496B18:dword:0x60000000
+0x80496B38:dword:0x60000000
+0x80496B50:dword:0x7C600050
+0x80496C74:dword:0x48000090
+0x80496E7C:dword:0x4800008C
+0x804A6FB4:dword:0x60000000
+0x804A7420:dword:0x48000098
+0x804A76B4:dword:0x48000098
+0x804A7944:dword:0x60000000
+0x804A7FB8:dword:0x60000000
+0x804A8704:dword:0x60000000
+0x804ADB28:dword:0x60000000
+0x804AE1D0:dword:0x60000000
+0x804AEE30:dword:0x48000094
+0x804AF0CC:dword:0x48000094
+0x804AF59C:dword:0x7C600050
+0x804B0490:dword:0x60000000
+0x804B092C:dword:0x60000000
+0x804B11F4:dword:0x48000094
+0x804B1894:dword:0x60000000
+0x804B2270:dword:0x48000090
+0x804B2680:dword:0x48000080
+0x804B2828:dword:0x48000088
+0x804B29D4:dword:0x48000090
+0x804B2C24:dword:0x60000000
+0x804B7918:dword:0x48000088
+0x804B7C38:dword:0x60000000
+0x804B8370:dword:0x60000000
+0x804C23CC:dword:0x60000000
+0x804C57B0:dword:0x4800008C
+0x804C5990:dword:0x60000000
+0x804C5CA4:dword:0x7C000050
+0x804C6484:dword:0x7C000050
+0x804C6638:dword:0x7C600050
+0x804C6868:dword:0x4800008C
+0x804CB528:dword:0x48000094
+0x804CB850:dword:0x48000094
+0x804CBA24:dword:0x7C000050
+0x804CE9DC:dword:0x60000000
+0x804CEC18:dword:0x7C600050
+0x804CEC2C:dword:0x7C000050
+0x804CF2B8:dword:0x60000000
+0x804CF620:dword:0x7CA00050
+0x804CF6F4:dword:0x60000000
+0x804CF95C:dword:0x7C000050
+0x804CFA58:dword:0x60000000
+0x804CFD08:dword:0x60000000
+0x804CFD30:dword:0x60000000
+0x804CFD54:dword:0x60000000
+0x804D00AC:dword:0x48000080
+0x804D09E4:dword:0x60000000
+0x804D0C50:dword:0x60000000
+0x804D0E4C:dword:0x48000088
+0x804D1074:dword:0x48000084
+0x804D1374:dword:0x60000000
+0x804D156C:dword:0x48000098
+0x804D1C38:dword:0x4800007C
+0x804D1E54:dword:0x60000000
+0x804D287C:dword:0x60000000
+0x804D2CB8:dword:0x4800008C
+0x804D3184:dword:0x60000000
+0x804D6F20:dword:0x48000088
+0x804D9F60:dword:0x48000098
+0x804DA334:dword:0x48000090
+0x804DC6E4:dword:0x60000000
+0x804DCBC0:dword:0x60000000
+0x804DCD58:dword:0x60000000
+0x804DCEF4:dword:0x60000000
+0x804DD0B4:dword:0x48000078
+0x804DD32C:dword:0x60000000
+0x804DD588:dword:0x60000000
+0x804DD7E8:dword:0x60000000
+0x804DDAB8:dword:0x48000094
+0x804DE67C:dword:0x60000000
+0x804DE7F8:dword:0x60000000
+0x804DEB84:dword:0x60000000
+0x804DF5F8:dword:0x48000090
+0x804DF7AC:dword:0x4800008C
+0x804DF94C:dword:0x48000094
+0x804DFAD4:dword:0x60000000
+0x804E0640:dword:0x60000000
+0x804E09C8:dword:0x48000094
+0x804E1774:dword:0x60000000
+0x804E1B50:dword:0x48000090
+0x804E1D2C:dword:0x60000000
+0x804E1E2C:dword:0x60000000
+0x804E1FB0:dword:0x60000000
+0x804E3684:dword:0x60000000
+0x804E41C4:dword:0x7C000050
+0x804ECBA0:dword:0x60000000
+0x804ED298:dword:0x60000000
+0x804EE588:dword:0x60000000
+0x804EE918:dword:0x4800008C
+0x804EEB84:dword:0x60000000
+0x804EFA28:dword:0x4800008C
+0x804EFCD4:dword:0x4800009C
+0x804EFE94:dword:0x60000000
+0x804F009C:dword:0x48000098
+0x804F0B50:dword:0x60000000
+0x804F23F0:dword:0x48000098
+0x804F9E58:dword:0x60000000
+0x804FA03C:dword:0x48000094
+0x804FA540:dword:0x60000000
+0x804FC9E4:dword:0x48000090
+0x804FCB78:dword:0x4800008C
+0x804FD078:dword:0x4800008C
+0x804FD780:dword:0x48000090
+0x804FDAC0:dword:0x48000088
+0x804FFFFC:dword:0x60000000
+0x805001C4:dword:0x60000000
+0x80500364:dword:0x60000000
+0x805056E4:dword:0x60000000
+0x80505B68:dword:0x60000000
+0x80505D00:dword:0x60000000
+0x80507A64:dword:0x60000000
+0x805081A0:dword:0x60000000
+0x80508344:dword:0x60000000
+0x8050962C:dword:0x60000000
+0x805097B4:dword:0x60000000
+0x8050995C:dword:0x60000000
+0x8050A448:dword:0x48000080
+0x8050A5EC:dword:0x48000090
+0x8050B474:dword:0x60000000
+0x8050B610:dword:0x48000098
+0x8050B818:dword:0x4800009C
+0x80510180:dword:0x60000000
+0x805101A4:dword:0x60000000
+0x805102E0:dword:0x60000000
+0x80512734:dword:0x48000090
+0x80512BA0:dword:0x60000000
+0x80555F60:dword:0x48000088
+0x8055622C:dword:0x60000000
+0x805594A8:dword:0x60000000
+0x805594D4:dword:0x60000000
+0x80559500:dword:0x60000000
+0x80559570:dword:0x7C600050
+0x8055DC38:dword:0x60000000
+0x80560FCC:dword:0x48000094
+0x805611D8:dword:0x60000000
+0x80561354:dword:0x60000000
+0x80561520:dword:0x60000000
+0x80561554:dword:0x7CA00050
+0x805639DC:dword:0x4800008C
+0x80567704:dword:0x60000000
+0x805678AC:dword:0x4800008C
+0x80568010:dword:0x60000000
+0x8056C64C:dword:0x60000000
+0x8056CD24:dword:0x60000000
+0x8056CEB8:dword:0x48000094
+0x8056E3D0:dword:0x48000094
+0x8056EB58:dword:0x60000000
+0x8057D4A0:dword:0x60000000
+0x8057D6C0:dword:0x60000000
+0x8057D8A8:dword:0x48000090
+0x8057DA14:dword:0x60000000
+0x8057DED4:dword:0x60000000
+0x8057E150:dword:0x60000000
+0x8057E170:dword:0x60000000
+0x8057E1D4:dword:0x60000000
+0x80581E2C:dword:0x60000000
+0x80581FAC:dword:0x48000094
+0x8058229C:dword:0x60000000
+0x80586B60:dword:0x60000000
+0x80586B88:dword:0x60000000
+0x80586BB4:dword:0x60000000
+0x80586BDC:dword:0x60000000
+0x80586C08:dword:0x60000000
+0x80586C78:dword:0x7C600050
+0x80586D64:dword:0x60000000
+0x805895A8:dword:0x4800009C
+0x80589830:dword:0x60000000
+0x80591320:dword:0x4800008C
+0x805914BC:dword:0x60000000
+0x805914E8:dword:0x60000000
+0x80591514:dword:0x60000000
+0x80591574:dword:0x7C600050
+0x80591D00:dword:0x48000084
+0x80592020:dword:0x48000094
+0x8059755C:dword:0x48000098
+0x8059C6B4:dword:0x48000094
+0x8059C88C:dword:0x60000000
+0x8059C8A8:dword:0x60000000
+0x8059C8CC:dword:0x60000000
+0x8059C9C8:dword:0x48000090
+0x805C0C44:dword:0x60000000
+0x805C1050:dword:0x48000090
+0x805C1460:dword:0x48000094
+0x805C160C:dword:0x60000000
+0x805C1634:dword:0x60000000
+0x805C1650:dword:0x60000000
+0x805C16A0:dword:0x60000000
+0x805C2838:dword:0x48000088
+0x805C4408:dword:0x4800007C
+0x805C4594:dword:0x4800008C
+0x805C477C:dword:0x48000090
+0x805C4C20:dword:0x60000000
+0x805C4DF4:dword:0x48000094
+0x805C6BD0:dword:0x60000000
+0x805C9064:dword:0x60000000
+0x805C9ED8:dword:0x48000094
+0x805CA110:dword:0x60000000
+0x805CA334:dword:0x60000000
+0x805CA520:dword:0x48000098
+0x805CA860:dword:0x48000084
+0x805CA9FC:dword:0x60000000
+0x805CAC1C:dword:0x60000000
+0x805CADC0:dword:0x48000088
+0x805CAFB8:dword:0x60000000
+0x805CB138:dword:0x60000000
+0x805CB300:dword:0x7C000050
+0x805CB4F8:dword:0x48000088
+0x805CB6C4:dword:0x4800008C
+0x805CBA50:dword:0x4800008C
+0x805CCAE4:dword:0x60000000
+0x805CCD74:dword:0x60000000
+0x805CE000:dword:0x48000094
+0x805CE194:dword:0x7C600050
+0x805CE294:dword:0x7C000050
+0x805CE390:dword:0x60000000
+0x805CE574:dword:0x4800008C
+0x805CE7EC:dword:0x60000000
+0x805CED48:dword:0x60000000
+0x805CF0BC:dword:0x60000000
+0x805D2994:dword:0x60000000
+0x805D2FFC:dword:0x60000000
+0x805D3250:dword:0x48000090
+0x805D3624:dword:0x48000090
+0x805D384C:dword:0x48000088
+0x805D3DF8:dword:0x480000A4
+0x805D40B8:dword:0x48000094
+0x805D4400:dword:0x4800008C
+0x805D45D4:dword:0x60000000
+0x805D4788:dword:0x48000084
+0x805D4B94:dword:0x4800008C
+0x805D60D8:dword:0x60000000
+0x805D655C:dword:0x7C800050
+0x805D829C:dword:0x60000000
+0x805DA040:dword:0x48000094
+0x805DA4D8:dword:0x48000090
+0x805DA6C0:dword:0x60000000
+0x805DA7C8:dword:0x60000000
+0x805DBE80:dword:0x48000084
+0x805DC108:dword:0x7C800050
+0x805DC684:dword:0x60000000
+0x805DC7A4:dword:0x60000000
+0x805DC8F4:dword:0x60000000
+0x805DCAA0:dword:0x48000088
+0x805DCC44:dword:0x60000000
+0x805DCFAC:dword:0x48000090
+0x805DE150:dword:0x60000000
+0x805DE380:dword:0x48000090
+0x805DE6AC:dword:0x60000000
+0x805DE8D0:dword:0x48000090
+0x805DEA6C:dword:0x60000000
+0x805DEE50:dword:0x60000000
+0x805DF134:dword:0x48000084
+0x805DF2D8:dword:0x48000084
+0x805DF61C:dword:0x60000000
+0x805EF22C:dword:0x60000000
+0x805EFE40:dword:0x60000000
+0x805F0034:dword:0x60000000
+0x805F03B4:dword:0x60000000
+0x805F0530:dword:0x60000000
+0x805F0724:dword:0x48000094
+0x805F08BC:dword:0x4800009C
+0x805F0A40:dword:0x4800008C
+0x805F0BDC:dword:0x60000000
+0x805F0D70:dword:0x60000000
+0x805F0F04:dword:0x4800007C
+0x805F107C:dword:0x60000000
+0x805F11EC:dword:0x60000000
+0x805F1354:dword:0x60000000
+0x805F14E4:dword:0x60000000
+0x805F1698:dword:0x60000000
+0x805F182C:dword:0x60000000
+0x805F19D0:dword:0x4800008C
+0x805F1B34:dword:0x60000000
+0x805F1CBC:dword:0x60000000
+0x805F1E20:dword:0x60000000
+0x805F1FC0:dword:0x60000000
+0x805F2120:dword:0x60000000
+0x805F22A4:dword:0x480000A0
+0x805F2440:dword:0x4800009C
+0x805F25D0:dword:0x48000098
+0x805F2770:dword:0x480000A0
+0x805F290C:dword:0x60000000
+0x805F2A90:dword:0x60000000
+0x805F2C08:dword:0x48000090
+0x805F2D94:dword:0x48000090
+0x805F2F48:dword:0x60000000
+0x805F30F0:dword:0x60000000
+0x805F327C:dword:0x48000090
+0x805F3410:dword:0x4800008C
+0x805F3594:dword:0x60000000
+0x805F3724:dword:0x48000098
+0x805F38B4:dword:0x4800009C
+0x805F3A3C:dword:0x60000000
+0x805F3BAC:dword:0x60000000
+0x805F3D70:dword:0x60000000
+0x805F3EF4:dword:0x48000088
+0x805F4058:dword:0x60000000
+0x805F41F4:dword:0x48000094
+0x805F4374:dword:0x60000000
+0x805F44FC:dword:0x4800009C
+0x805F46B4:dword:0x60000000
+0x805F4844:dword:0x48000094
+0x805F49EC:dword:0x48000098
+0x805F4B84:dword:0x60000000
+0x805F4D14:dword:0x60000000
+0x805F4EA4:dword:0x48000088
+0x805F503C:dword:0x60000000
+0x805F51AC:dword:0x48000088
+0x805F5358:dword:0x60000000
+0x805F54F8:dword:0x60000000
+0x805F56B0:dword:0x48000098
+0x805F5848:dword:0x60000000
+0x805F59E0:dword:0x4800009C
+0x805F5B80:dword:0x48000090
+0x805F5D14:dword:0x4800009C
+0x805F5EAC:dword:0x60000000
+0x805F6050:dword:0x48000090
+0x805F61F4:dword:0x48000094
+0x805F63AC:dword:0x48000098
+0x805F6560:dword:0x60000000
+0x805F66C4:dword:0x60000000
+0x805F686C:dword:0x60000000
+0x805F69DC:dword:0x60000000
+0x805F6B74:dword:0x60000000
+0x805F6D40:dword:0x4800009C
+0x805F6F00:dword:0x4800008C
+0x805F709C:dword:0x48000090
+0x805F7218:dword:0x48000094
+0x805F73C8:dword:0x60000000
+0x805F7540:dword:0x60000000
+0x805F7704:dword:0x4800008C
+0x805F7884:dword:0x48000084
+0x805F79FC:dword:0x60000000
+0x805F7B70:dword:0x48000090
+0x805F7D08:dword:0x48000090
+0x805F8170:dword:0x60000000
+0x805F8480:dword:0x60000000
+0x805F85C0:dword:0x60000000
+0x805F8834:dword:0x60000000
+0x805F8AAC:dword:0x48000094
+0x805F8C60:dword:0x60000000
+0x805F8DF8:dword:0x60000000
+0x805F9090:dword:0x60000000
+0x805F959C:dword:0x60000000
+0x805F9C54:dword:0x60000000
+0x805F9E10:dword:0x48000084
+0x805F9FB8:dword:0x60000000
+0x805FC5C0:dword:0x60000000
+0x805FC750:dword:0x4800008C
+0x805FD86C:dword:0x48000098
+0x805FD9EC:dword:0x60000000
+0x805FDC94:dword:0x60000000
+0x805FDE7C:dword:0x60000000
+0x805FDFEC:dword:0x60000000
+0x805FE140:dword:0x60000000
+0x805FEC5C:dword:0x48000098
+0x805FF584:dword:0x60000000
+0x805FF710:dword:0x60000000
+0x805FF8A4:dword:0x60000000
+0x805FFD58:dword:0x48000098
+0x806006CC:dword:0x48000088
+0x80600964:dword:0x7C000050
+0x80600BB8:dword:0x60000000
+0x80600D60:dword:0x48000088
+0x8060105C:dword:0x48000098
+0x806011EC:dword:0x60000000
+0x8060139C:dword:0x60000000
+0x80601568:dword:0x4800007C
+0x80601700:dword:0x60000000
+0x80601A94:dword:0x60000000
+0x80601C78:dword:0x4800007C
+0x80602238:dword:0x4800009C
+0x806024AC:dword:0x60000000
+0x806026EC:dword:0x60000000
+0x80602878:dword:0x60000000
+0x80602A8C:dword:0x60000000
+0x80602C3C:dword:0x4800009C
+0x80602DE8:dword:0x60000000
+0x80602F9C:dword:0x48000084
+0x8060313C:dword:0x48000094
+0x806032D8:dword:0x48000094
+0x80603470:dword:0x60000000
+0x80603614:dword:0x48000094
+0x806037C8:dword:0x60000000
+0x806039BC:dword:0x60000000
+0x80604430:dword:0x48000084
+0x8060462C:dword:0x4800009C
+0x80604A6C:dword:0x48000090
+0x80604CF8:dword:0x48000088
+0x80605118:dword:0x48000090
+0x80605314:dword:0x4800008C
+0x80605A00:dword:0x48000088
+0x80605B74:dword:0x4800008C
+0x80605D5C:dword:0x60000000
+0x806062A4:dword:0x48000080
+0x806064A0:dword:0x60000000
+0x806066A0:dword:0x48000088
+0x8060680C:dword:0x4800009C
+0x80606A24:dword:0x48000094
+0x80606C44:dword:0x60000000
+0x80606DFC:dword:0x48000094
+0x80607018:dword:0x60000000
+0x80607280:dword:0x60000000
+0x806082C4:dword:0x4800008C
+0x8060F334:dword:0x48000094
+0x80610EDC:dword:0x60000000
+0x806562B0:dword:0x7C000050
+0x806563B8:dword:0x60000000
+0x80656ED0:dword:0x4800009C
+0x806570BC:dword:0x48000084
+0x80657AA0:dword:0x48000084
+0x80657C10:dword:0x60000000
+0x80657DA8:dword:0x48000090
+0x806581E8:dword:0x60000000
+0x8065861C:dword:0x60000000
+0x80659C50:dword:0x60000000
+0x80659DF4:dword:0x48000084
+0x8065A594:dword:0x60000000
+0x8065A7A4:dword:0x60000000
+0x8065A998:dword:0x60000000
+0x8065AD74:dword:0x48000098
+0x8065AFAC:dword:0x60000000
+0x8065B214:dword:0x60000000
+0x8065B718:dword:0x60000000
+0x8065B888:dword:0x48000090
+0x8065BA74:dword:0x4800009C
+0x8065D98C:dword:0x60000000
+0x8065DC7C:dword:0x48000084
+0x8065DE08:dword:0x60000000
+0x8065E3CC:dword:0x48000090
+0x8065E544:dword:0x48000094
+0x8065E7D0:dword:0x60000000
+0x8065EB1C:dword:0x60000000
+0x8065ECB0:dword:0x60000000
+0x8065EEC8:dword:0x60000000
+0x8065F040:dword:0x60000000
+0x8065F22C:dword:0x60000000
+0x8065F508:dword:0x60000000
+0x8065F6F8:dword:0x60000000
+0x8065F8C8:dword:0x60000000
+0x8065FA4C:dword:0x48000094
+0x8065FBDC:dword:0x4800008C
+0x8065FD80:dword:0x60000000
+0x8066091C:dword:0x60000000
+0x80660B1C:dword:0x60000000
+0x80660CCC:dword:0x60000000
+0x80660E58:dword:0x48000090
+0x80660FE8:dword:0x60000000
+0x806611B0:dword:0x48000088
+0x806613F8:dword:0x48000084
+0x806615D8:dword:0x48000094
+0x80661884:dword:0x60000000
+0x80661B90:dword:0x60000000
+0x80661F08:dword:0x60000000
+0x8066211C:dword:0x60000000
+0x80662824:dword:0x60000000
+0x80662A48:dword:0x60000000
+0x80662BE0:dword:0x60000000
+0x80662DEC:dword:0x48000088
+0x8066302C:dword:0x4800009C
+0x80663264:dword:0x48000090
+0x80663450:dword:0x48000090
+0x80663838:dword:0x60000000
+0x80664530:dword:0x60000000
+0x80664A8C:dword:0x60000000
+0x80664CBC:dword:0x4800007C
+0x80664EA0:dword:0x48000090
+0x806651C8:dword:0x60000000
+0x80665388:dword:0x60000000
+0x80665530:dword:0x48000094
+0x806656D4:dword:0x60000000
+0x80665A74:dword:0x48000094
+0x80665C90:dword:0x48000090
+0x80665E58:dword:0x60000000
+0x80666F0C:dword:0x48000098
+0x806670AC:dword:0x48000084
+0x80667244:dword:0x48000090
+0x806674D0:dword:0x60000000
+0x80667968:dword:0x60000000
+0x80667F50:dword:0x48000084
+0x806682BC:dword:0x48000094
+0x8066847C:dword:0x60000000
+0x806689F0:dword:0x60000000
+0x80668B90:dword:0x60000000
+0x80668BD4:dword:0x60000000
+0x80668C28:dword:0x60000000
+0x80669EC0:dword:0x48000090
+0x8066A150:dword:0x60000000
+0x8066A30C:dword:0x60000000
+0x8066A4C8:dword:0x4800008C
+0x8066A658:dword:0x48000090
+0x8066AA64:dword:0x48000098
+0x8066B0DC:dword:0x60000000
+0x8066BEA8:dword:0x4800008C
+0x8066C860:dword:0x60000000
+0x8066F03C:dword:0x60000000
+0x8066FFCC:dword:0x4800007C
+0x80670178:dword:0x48000094
+0x8067031C:dword:0x48000094
+0x80670514:dword:0x48000084
+0x806707B0:dword:0x60000000
+0x806708E0:dword:0x60000000
+0x80670AD4:dword:0x48000090
+0x80670C94:dword:0x48000090
+0x80670E18:dword:0x60000000
+0x80671000:dword:0x48000094
+0x80670FD4:dword:0x48000024
+0x80671324:dword:0x48000090
+0x806719F4:dword:0x48000084
+0x80672BB4:dword:0x4800007C
+0x80673500:dword:0x60000000
+0x806736E4:dword:0x48000094
+0x80673FE0:dword:0x60000000
+0x806742D8:dword:0x4800009C
+0x80674844:dword:0x60000000
+0x80674C3C:dword:0x48000080
+0x80677134:dword:0x4800008C
+0x806772D0:dword:0x48000088
+0x8067745C:dword:0x60000000
+0x80678924:dword:0x60000000
+0x80678E1C:dword:0x48000090
+0x8067A680:dword:0x60000000
+0x8067AF40:dword:0x60000000
+0x8067B284:dword:0x48000094
+0x8067B470:dword:0x60000000
+0x8067B494:dword:0x60000000
+0x8067B4D0:dword:0x60000000
+0x8067B5D0:dword:0x4800008C
+0x8067B7C8:dword:0x60000000
+0x8067B9EC:dword:0x60000000
+0x8067BA10:dword:0x60000000
+0x8067BA3C:dword:0x60000000
+0x8067BA68:dword:0x60000000
+0x8067BA78:dword:0x60000000
+0x8067BA90:dword:0x7C000050
+0x8067BDF4:dword:0x60000000
+0x8067BF68:dword:0x48000094
+0x8067C110:dword:0x48000080
+0x8067C2E8:dword:0x48000088
+0x8067C528:dword:0x60000000
+0x8067C744:dword:0x48000090
+0x8067C938:dword:0x60000000
+0x8067CAC4:dword:0x48000084
+0x8067CCD8:dword:0x60000000
+0x8067CF20:dword:0x48000094
+0x8067D0C0:dword:0x48000084
+0x8067D258:dword:0x48000098
+0x8067D3F0:dword:0x60000000
+0x8067D5C8:dword:0x60000000
+0x8067D75C:dword:0x4800009C
+0x8067D8F8:dword:0x60000000
+0x8067DA6C:dword:0x60000000
+0x8067DD00:dword:0x4800008C
+0x8067DEAC:dword:0x4800008C
+0x8067E044:dword:0x4800008C
+0x8067E1D8:dword:0x48000094
+0x8067E450:dword:0x60000000
+0x8067E644:dword:0x48000090
+0x8067E964:dword:0x4800007C
+0x8067EB4C:dword:0x60000000
+0x8067ED28:dword:0x7C000050
+0x8067EE1C:dword:0x60000000
+0x8067F014:dword:0x60000000
+0x8067F1C8:dword:0x48000090
+0x8067F35C:dword:0x48000084
+0x8067F5D0:dword:0x60000000
+0x8067F828:dword:0x48000084
+0x8067FE68:dword:0x60000000
+0x8068128C:dword:0x60000000
+0x80681F88:dword:0x480000F0
+0x80682330:dword:0x60000000
+0x80682910:dword:0x480000E8
+0x80683094:dword:0x48000090
+0x80683244:dword:0x48000098
+0x806839D0:dword:0x4800007C
+0x806852D4:dword:0x60000000
+0x806853D8:dword:0x7C000050
+0x806854E0:dword:0x7C600050
+0x806855F0:dword:0x4800008C
+0x80685790:dword:0x48000098
+0x80685924:dword:0x60000000
+0x80685AC8:dword:0x48000088
+0x80685E68:dword:0x60000000
+0x806861E4:dword:0x60000000
+0x80686568:dword:0x60000000
+0x80686724:dword:0x48000098
+0x806868FC:dword:0x48000098
+0x80686B48:dword:0x60000000
+0x8068D5E8:dword:0x60000000
+0x8068D7C4:dword:0x48000088
+0x8068D940:dword:0x7C800050
+0x8068DA64:dword:0x48000090
+0x8068DFA8:dword:0x60000000
+0x8068DFD0:dword:0x60000000
+0x8068DFF8:dword:0x7C800050
+0x8068EC98:dword:0x48000098
+0x8068EEF8:dword:0x60000000
+0x8068F374:dword:0x60000000
+0x8068F510:dword:0x60000000
+0x8068F6E0:dword:0x48000084
+0x8068F850:dword:0x60000000
+0x8069009C:dword:0x60000000
+0x80690BF8:dword:0x60000000
+0x80690C48:dword:0x7C000050
+0x80690DC0:dword:0x48000098
+0x80690FC4:dword:0x60000000
+0x806911F4:dword:0x60000000
+0x806913AC:dword:0x4800008C
+0x80691838:dword:0x7C600050
+0x80691F0C:dword:0x60000000
+0x80692218:dword:0x60000000
+0x806923F4:dword:0x4800008C
+0x80692A60:dword:0x60000000
+0x80692CA0:dword:0x60000000
+0x806992FC:dword:0x48000090
+0x806994E4:dword:0x48000098
+0x8069AD7C:dword:0x60000000
+0x8069B610:dword:0x7C800050
+0x8069BB40:dword:0x4800008C
+0x8069BDF4:dword:0x48000088
+0x8069BFA8:dword:0x60000000
+0x8069C480:dword:0x60000000
+0x8069CD3C:dword:0x60000000
+0x8069CFF0:dword:0x48000090
+0x8069DDDC:dword:0x7C600050
+0x8069DF10:dword:0x60000000
+0x8069E36C:dword:0x60000000
+0x8069E594:dword:0x60000000
+0x806A0A20:dword:0x48000090
+0x806A0BD8:dword:0x60000000
+0x806A0D00:dword:0x48000080
+0x806A0E90:dword:0x48000090
+0x806A1940:dword:0x48000080
+0x806A3624:dword:0x48000090
+0x806A6DA0:dword:0x60000000
+0x806A76D8:dword:0x60000000
+0x806A78A0:dword:0x48000098
+0x806AA664:dword:0x60000000
+0x806ACA10:dword:0x60000000
+0x806AD7AC:dword:0x60000000
+0x806ADB50:dword:0x60000000
+0x806ADC44:dword:0x60000000
+0x806ADEF0:dword:0x60000000
+0x806AE1F8:dword:0x60000000
+0x806AE428:dword:0x60000000
+0x806AF160:dword:0x60000000
+0x806B0C08:dword:0x60000000
+0x806B109C:dword:0x60000000
+0x806B11FC:dword:0x60000000
+0x806B13A0:dword:0x60000000
+0x806B1528:dword:0x48000098
+0x806B16BC:dword:0x7C000050
+0x806B17CC:dword:0x4800009C
+0x806B1AB8:dword:0x60000000
+0x806B2010:dword:0x60000000
+0x806B2408:dword:0x60000000
+0x806B2630:dword:0x60000000
+0x806B2988:dword:0x7C800050
+0x806B3888:dword:0x48000090
+0x806B580C:dword:0x4800008C
+0x806B5A44:dword:0x60000000
+0x806B6680:dword:0x60000000
+0x806B737C:dword:0x48000084
+0x806B7724:dword:0x4800008C
+0x806B7BA4:dword:0x60000000
+0x806B8290:dword:0x48000090
+0x806B8ACC:dword:0x48000088
+0x806B9458:dword:0x60000000
+0x806B9710:dword:0x48000094
+0x806B9DD4:dword:0x60000000
+0x806BA0AC:dword:0x48000094
+0x806BA260:dword:0x60000000
+0x806BA480:dword:0x60000000
+0x806BAC3C:dword:0x60000000
+0x806BAEC8:dword:0x60000000
+0x806BBA68:dword:0x60000000
+0x806BBA84:dword:0x60000000
+0x806BBB14:dword:0x7C000050
+0x806BBB2C:dword:0x7C000050
+0x806BBB44:dword:0x7C800050
+0x806BBB60:dword:0x60000000
+0x806BBB8C:dword:0x60000000
+0x806BBBD0:dword:0x7C600050
+0x806BE1B0:dword:0x7C000050
+0x806C1048:dword:0x48000088
+0x806C1384:dword:0x48000084
+0x806C18B8:dword:0x4800009C
+0x806C1E6C:dword:0x48000090
+0x806C2660:dword:0x4800008C
+0x806C4DCC:dword:0x48000090
+0x806C520C:dword:0x60000000
+0x806C5B30:dword:0x48000094
+0x806C60BC:dword:0x60000000
+0x806C71AC:dword:0x7C800050
+0x806C7DAC:dword:0x60000000
+0x806C7F30:dword:0x60000000
+0x806C81C0:dword:0x60000000
+0x806C83F0:dword:0x60000000
+0x806C8CB8:dword:0x60000000
+0x806C8E28:dword:0x60000000
+0x806C9338:dword:0x4800008C
+0x806C94D4:dword:0x48000094
+0x806C9A4C:dword:0x60000000
+0x806C9C2C:dword:0x48000090
+0x806CA33C:dword:0x60000000
+0x806CA4F8:dword:0x60000000
+0x806CA6AC:dword:0x60000000
+0x806CA8BC:dword:0x48000098
+0x806CAC54:dword:0x60000000
+0x806CAE08:dword:0x4800008C
+0x806CAFD4:dword:0x60000000
+0x806CB29C:dword:0x48000088
+0x806CB944:dword:0x60000000
+0x806CBD64:dword:0x48000094
+0x806CBFE8:dword:0x48000088
+0x806CCE58:dword:0x60000000
+0x806CD03C:dword:0x48000090
+0x806CDD8C:dword:0x60000000
+0x806CDF7C:dword:0x4800007C
+0x806CE0D4:dword:0x60000000
+0x806CF530:dword:0x60000000
+0x806CF63C:dword:0x60000000
+0x806CF5D0:dword:0x48000020
+0x806D0904:dword:0x60000000
+0x806D0FD0:dword:0x48000094
+0x806D1130:dword:0x60000000
+0x806D240C:dword:0x48000080
+0x806D2660:dword:0x48000094
+0x806D2C7C:dword:0x48000090
+0x806D2E24:dword:0x60000000
+0x806D30A4:dword:0x4800008C
+0x806D3268:dword:0x60000000
+0x806D34EC:dword:0x60000000
+0x806D3C2C:dword:0x60000000
+0x806D3DBC:dword:0x60000000
+0x806D3F88:dword:0x60000000
+0x806D44AC:dword:0x60000000
+0x806D4650:dword:0x4800008C
+0x806D4988:dword:0x4800008C
+0x806D55D4:dword:0x60000000
+0x806D6C3C:dword:0x60000000
+0x806D793C:dword:0x60000000
+0x806D8644:dword:0x60000000
+0x806D98AC:dword:0x48000080
+0x806DA4D0:dword:0x48000090
+0x806DA7F8:dword:0x60000000
+0x806DA98C:dword:0x60000000
+0x806DF778:dword:0x60000000
+0x806DFBE0:dword:0x4800008C
+0x806DFDC0:dword:0x48000088
+0x806DFF74:dword:0x48000090
+0x806E0338:dword:0x60000000
+0x806E0588:dword:0x60000000
+0x806E0770:dword:0x7C000050
+0x806E0858:dword:0x48000084
+0x806E0A34:dword:0x4800008C
+0x806E0BFC:dword:0x60000000
+0x806E0E2C:dword:0x60000000
+0x806E4E98:dword:0x7C000050
+0x806E529C:dword:0x48000064
+0x806E57A4:dword:0x60000000
+0x806E591C:dword:0x60000000
+0x806E60C0:dword:0x48000080
+0x806E6354:dword:0x60000000
+0x806E6838:dword:0x48000090
+0x806E6B64:dword:0x48000084
+0x806E7080:dword:0x4800008C
+0x806E76BC:dword:0x60000000
+0x806E7834:dword:0x7C000050
+0x806E7938:dword:0x48000088
+0x806E7CC8:dword:0x7C600050
+0x806E800C:dword:0x7C000050
+0x806E84D0:dword:0x7CA00050
+0x806E84EC:dword:0x7C800050
+0x806E850C:dword:0x7C600050
+0x806E8638:dword:0x60000000
+0x806E8AEC:dword:0x48000094
+0x806E8CD4:dword:0x60000000
+0x806E8E70:dword:0x48000090
+0x806E9258:dword:0x48000088
+0x806E93EC:dword:0x60000000
+0x806EB4F8:dword:0x60000000
+0x806EB6BC:dword:0x48000094
+0x806EB860:dword:0x48000088
+0x806EE734:dword:0x7C000050
+0x806EE74C:dword:0x7C600050
+0x806EE768:dword:0x60000000
+0x806EED48:dword:0x48000094
+0x806F22E0:dword:0x48000090
+0x806F259C:dword:0x48000084
+0x806F2AFC:dword:0x48000060
+0x806F30AC:dword:0x48000098
+0x806F3538:dword:0x48000094
+0x806F3AE4:dword:0x48000098
+0x806F3EFC:dword:0x60000000
+0x806F4238:dword:0x48000064
+0x806F434C:dword:0x60000000
+0x806F4580:dword:0x60000000
+0x806F494C:dword:0x7CC00050
+0x806F4AE8:dword:0x60000000
+0x806F4B30:dword:0x60000000
+0x806F4C34:dword:0x60000000
+0x806F4C74:dword:0x7C000050
+0x806F4CF0:dword:0x60000000
+0x806F4DF8:dword:0x48000094
+0x806F5154:dword:0x60000000
+0x806F524C:dword:0x60000000
+0x806F6FA0:dword:0x48000058
+0x806F75D4:dword:0x48000090
+0x806F789C:dword:0x60000000
+0x806F7B30:dword:0x48000098
+0x806F7E84:dword:0x60000000
+0x806F8098:dword:0x60000000
+0x806F9438:dword:0x60000000
+0x806F9640:dword:0x60000000
+0x806F982C:dword:0x60000000
+0x806F9B78:dword:0x48000090
+0x806F9D20:dword:0x60000000
+0x806F9E18:dword:0x60000000
+0x806FA06C:dword:0x60000000
+0x806FA410:dword:0x48000064
+0x806FA560:dword:0x48000094
+0x806FABBC:dword:0x60000000
+0x806FAEF4:dword:0x48000064
+0x806FB298:dword:0x60000000
+0x806FB61C:dword:0x48000068
+0x806FB7A0:dword:0x60000000
+0x806FB960:dword:0x60000000
+0x806FBA3C:dword:0x60000000
+0x806FBAD8:dword:0x60000000
+0x806FBC84:dword:0x60000000
+0x806FBD94:dword:0x60000000
+0x806FC2AC:dword:0x60000000
+0x806FCA04:dword:0x60000000
+0x806FCBA4:dword:0x60000000
+0x806FCCC0:dword:0x60000000
+0x806FCE44:dword:0x60000000
+0x806FCF6C:dword:0x60000000
+0x806FD12C:dword:0x48000094
+0x806FD554:dword:0x60000000
+0x806FDC58:dword:0x4800008C
+0x806FDDD8:dword:0x48000084
+0x806FE400:dword:0x48000094
+0x806FE740:dword:0x48000094
+0x806FE8B0:dword:0x60000000
+0x806FEA44:dword:0x60000000
+0x806FEBF8:dword:0x60000000
+0x806FED90:dword:0x48000090
+0x806FEF28:dword:0x60000000
+0x806FF308:dword:0x48000098
+0x807005F0:dword:0x60000000
+0x8070071C:dword:0x60000000
+0x80700A38:dword:0x60000000
+0x80700BFC:dword:0x48000080
+0x80701064:dword:0x60000000
+0x807014CC:dword:0x60000000
+0x807026DC:dword:0x60000000
+0x80702C58:dword:0x48000094
+0x80703734:dword:0x48000098
+0x807038BC:dword:0x60000000
+0x80703C44:dword:0x60000000
+0x80704130:dword:0x60000000
+0x80704340:dword:0x48000094
+0x80704874:dword:0x48000080
+0x80704D94:dword:0x48000090
+0x80704F9C:dword:0x60000000
+0x80705C64:dword:0x48000088
+0x80705EE8:dword:0x4800008C
+0x8070605C:dword:0x60000000
+0x80706308:dword:0x60000000
+0x80706668:dword:0x60000000
+0x80706C94:dword:0x48000090
+0x80706E58:dword:0x48000090
+0x8070705C:dword:0x48000094
+0x80670F60:dword:0x60000000
diff --git a/Data/Sys/GameSettings/SVM.ini b/Data/Sys/GameSettings/SVM.ini
index e4d69ea546de..ea94d7e7abf5 100644
--- a/Data/Sys/GameSettings/SVM.ini
+++ b/Data/Sys/GameSettings/SVM.ini
@@ -1,4 +1,4 @@
-# SVME01, SVMJ01, SVMP01 - super mario collection
+# SVME01, SVMJ01, SVMP01 - Super Mario All-Stars: 25th Anniversary Edition
[Core]
# Values set here will override the main Dolphin settings.
@@ -12,6 +12,8 @@
[ActionReplay]
# Add action replay cheats here.
+[Video_Settings]
+SafeTextureCacheColorSamples = 0
+
[Video_Hacks]
EFBToTextureEnable = False
-
diff --git a/Data/Sys/GameSettings/W2G.ini b/Data/Sys/GameSettings/W2G.ini
index 6b62586c3e34..93984e2fdffb 100644
--- a/Data/Sys/GameSettings/W2G.ini
+++ b/Data/Sys/GameSettings/W2G.ini
@@ -5,4 +5,4 @@
[Video_Hacks]
EFBEmulateFormatChanges = True
[Video_Settings]
-SafeTextureCacheColorSamples = 512
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/W3G.ini b/Data/Sys/GameSettings/W3G.ini
index b1f620613e28..e2efe4daa96c 100644
--- a/Data/Sys/GameSettings/W3G.ini
+++ b/Data/Sys/GameSettings/W3G.ini
@@ -5,4 +5,4 @@
[Video_Hacks]
EFBEmulateFormatChanges = True
[Video_Settings]
-SafeTextureCacheColorSamples = 512
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/WBK.ini b/Data/Sys/GameSettings/WBK.ini
new file mode 100644
index 000000000000..c357c414bec0
--- /dev/null
+++ b/Data/Sys/GameSettings/WBK.ini
@@ -0,0 +1,19 @@
+# WBKJGD, WBKEGD, WBKPGD - Arkanoid Plus!
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Settings]
+# Add any video settings here
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/WD9.ini b/Data/Sys/GameSettings/WD9.ini
index 6b9a7ccea2f5..dd4560752932 100644
--- a/Data/Sys/GameSettings/WD9.ini
+++ b/Data/Sys/GameSettings/WD9.ini
@@ -1,4 +1,4 @@
-# WD9EA4 - Castlevania ReBirth
+# WD9EA4, WD9JA4, WD9PA4 - Castlevania: The Adventure ReBirth
[Core]
# Values set here will override the main Dolphin settings.
@@ -14,4 +14,4 @@ CPUThread = False
# Add action replay cheats here.
[Video_Hacks]
-EFBToTextureEnable = False
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/WGS.ini b/Data/Sys/GameSettings/WGS.ini
index e3dd56e0317a..8c27129cf569 100644
--- a/Data/Sys/GameSettings/WGS.ini
+++ b/Data/Sys/GameSettings/WGS.ini
@@ -8,4 +8,4 @@
[Video_Hacks]
EFBEmulateFormatChanges = True
[Video_Settings]
-SafeTextureCacheColorSamples = 512
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/WIC.ini b/Data/Sys/GameSettings/WIC.ini
new file mode 100644
index 000000000000..e08d4409ea21
--- /dev/null
+++ b/Data/Sys/GameSettings/WIC.ini
@@ -0,0 +1,16 @@
+# WICPKQ, WICEKQ, WICJKQ - NyxQuest: Kindred Spirits
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/WKT.ini b/Data/Sys/GameSettings/WKT.ini
new file mode 100644
index 000000000000..e9c932d8daf3
--- /dev/null
+++ b/Data/Sys/GameSettings/WKT.ini
@@ -0,0 +1,17 @@
+# WKTPA4, WKTEA4, WKTJA4 - Contra ReBirth
+
+[Core]
+# Values set here will override the main Dolphin settings.
+CPUThread = False
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+DeferEFBCopies = False
diff --git a/Data/Sys/GameSettings/WL9.ini b/Data/Sys/GameSettings/WL9.ini
new file mode 100644
index 000000000000..83dae83b5a2d
--- /dev/null
+++ b/Data/Sys/GameSettings/WL9.ini
@@ -0,0 +1,16 @@
+# WL9EYD - Let's Create! Pottery
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/GameSettings/WW2.ini b/Data/Sys/GameSettings/WW2.ini
index edcc72b00d9a..e0c69b08f3af 100644
--- a/Data/Sys/GameSettings/WW2.ini
+++ b/Data/Sys/GameSettings/WW2.ini
@@ -2,3 +2,7 @@
[Video_Settings]
SuggestedAspectRatio = 2
+
+[Video_Hacks]
+XFBToTextureEnable = False
+ImmediateXFBenable = False
diff --git a/Data/Sys/GameSettings/WW3.ini b/Data/Sys/GameSettings/WW3.ini
index d1b95c295fd9..77914a0e28f7 100644
--- a/Data/Sys/GameSettings/WW3.ini
+++ b/Data/Sys/GameSettings/WW3.ini
@@ -2,3 +2,7 @@
[Video_Settings]
SuggestedAspectRatio = 2
+
+[Video_Hacks]
+XFBToTextureEnable = False
+ImmediateXFBenable = False
diff --git a/Data/Sys/GameSettings/WWI.ini b/Data/Sys/GameSettings/WWI.ini
index adcb673844ea..38333161946f 100644
--- a/Data/Sys/GameSettings/WWI.ini
+++ b/Data/Sys/GameSettings/WWI.ini
@@ -2,3 +2,7 @@
[Video_Settings]
SuggestedAspectRatio = 2
+
+[Video_Hacks]
+XFBToTextureEnable = False
+ImmediateXFBenable = False
diff --git a/Data/Sys/GameSettings/XAA.ini b/Data/Sys/GameSettings/XAA.ini
new file mode 100644
index 000000000000..6f412d78b43f
--- /dev/null
+++ b/Data/Sys/GameSettings/XAA.ini
@@ -0,0 +1,5 @@
+# XAAJJ8 - Eggy
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAB.ini b/Data/Sys/GameSettings/XAB.ini
new file mode 100644
index 000000000000..83cb63544637
--- /dev/null
+++ b/Data/Sys/GameSettings/XAB.ini
@@ -0,0 +1,5 @@
+# XABJJ8 - Aleste
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAD.ini b/Data/Sys/GameSettings/XAD.ini
new file mode 100644
index 000000000000..c288b0c7da60
--- /dev/null
+++ b/Data/Sys/GameSettings/XAD.ini
@@ -0,0 +1,5 @@
+# XADJJ8 - Yie-Gah-kōtei no Gyakushū: Yie Ar Kung-Fu 2
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAE.ini b/Data/Sys/GameSettings/XAE.ini
new file mode 100644
index 000000000000..eedd119d6d5e
--- /dev/null
+++ b/Data/Sys/GameSettings/XAE.ini
@@ -0,0 +1,5 @@
+# XAEJJ8 - Space Manbow
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAF.ini b/Data/Sys/GameSettings/XAF.ini
new file mode 100644
index 000000000000..a287fa43994e
--- /dev/null
+++ b/Data/Sys/GameSettings/XAF.ini
@@ -0,0 +1,5 @@
+# XAFJJ8 - Metal Gear (MSX)
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAG.ini b/Data/Sys/GameSettings/XAG.ini
new file mode 100644
index 000000000000..f69982c8b77b
--- /dev/null
+++ b/Data/Sys/GameSettings/XAG.ini
@@ -0,0 +1,5 @@
+# XAGJJ8 - Road Fighter
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAH.ini b/Data/Sys/GameSettings/XAH.ini
new file mode 100644
index 000000000000..cdcee70bd03f
--- /dev/null
+++ b/Data/Sys/GameSettings/XAH.ini
@@ -0,0 +1,5 @@
+# XAHJJ8 - Yumetairiku Adventure
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAI.ini b/Data/Sys/GameSettings/XAI.ini
new file mode 100644
index 000000000000..489ec44dc676
--- /dev/null
+++ b/Data/Sys/GameSettings/XAI.ini
@@ -0,0 +1,5 @@
+# XAIJJ8 - Quarth
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAK.ini b/Data/Sys/GameSettings/XAK.ini
new file mode 100644
index 000000000000..7c3122d79d9a
--- /dev/null
+++ b/Data/Sys/GameSettings/XAK.ini
@@ -0,0 +1,5 @@
+# XAKJJ8 - Parodius: Tako wa Chikyū wo Sukū
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAL.ini b/Data/Sys/GameSettings/XAL.ini
new file mode 100644
index 000000000000..56a231fe6861
--- /dev/null
+++ b/Data/Sys/GameSettings/XAL.ini
@@ -0,0 +1,5 @@
+# XALJJ8 - Contra
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAM.ini b/Data/Sys/GameSettings/XAM.ini
new file mode 100644
index 000000000000..a157ccd9ef29
--- /dev/null
+++ b/Data/Sys/GameSettings/XAM.ini
@@ -0,0 +1,5 @@
+# XAMJJ8 - Knightmare: Majou Densetsu
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAN.ini b/Data/Sys/GameSettings/XAN.ini
new file mode 100644
index 000000000000..48d15b5b1cac
--- /dev/null
+++ b/Data/Sys/GameSettings/XAN.ini
@@ -0,0 +1,5 @@
+# XANJJ8 - Gradius 2 (MSX)
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAO.ini b/Data/Sys/GameSettings/XAO.ini
new file mode 100644
index 000000000000..5493da394147
--- /dev/null
+++ b/Data/Sys/GameSettings/XAO.ini
@@ -0,0 +1,5 @@
+# XAOJJ8 - Gofer no Yabou: Episode II
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAP.ini b/Data/Sys/GameSettings/XAP.ini
new file mode 100644
index 000000000000..2d9301510021
--- /dev/null
+++ b/Data/Sys/GameSettings/XAP.ini
@@ -0,0 +1,5 @@
+# XAPJJ8 - Metal Gear 2: Solid Snake
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XAQ.ini b/Data/Sys/GameSettings/XAQ.ini
new file mode 100644
index 000000000000..fcb2411fec25
--- /dev/null
+++ b/Data/Sys/GameSettings/XAQ.ini
@@ -0,0 +1,5 @@
+# XAQJJ8 - Salamander (MSX)
+
+[Video_Settings]
+# Fixes graphical glitches
+SafeTextureCacheColorSamples = 0
diff --git a/Data/Sys/GameSettings/XHD.ini b/Data/Sys/GameSettings/XHD.ini
new file mode 100644
index 000000000000..6640d67c5c6e
--- /dev/null
+++ b/Data/Sys/GameSettings/XHD.ini
@@ -0,0 +1,16 @@
+# XHDPKQ, XHDEKQ - NyxQuest: Kindred Spirits
+
+[Core]
+# Values set here will override the main Dolphin settings.
+
+[OnLoad]
+# Add memory patches to be loaded once on boot here.
+
+[OnFrame]
+# Add memory patches to be applied every frame here.
+
+[ActionReplay]
+# Add action replay cheats here.
+
+[Video_Hacks]
+EFBToTextureEnable = False
diff --git a/Data/Sys/Profiles/Wiimote/Wii Remote with MotionPlus Pointing.ini b/Data/Sys/Profiles/Wiimote/Wii Remote with MotionPlus Pointing.ini
new file mode 100644
index 000000000000..408c2ed0b403
--- /dev/null
+++ b/Data/Sys/Profiles/Wiimote/Wii Remote with MotionPlus Pointing.ini
@@ -0,0 +1,71 @@
+[Profile]
+Device = Bluetooth/0/Wii Remote
+Buttons/A = `A`
+Buttons/B = `B`
+Buttons/1 = `1`
+Buttons/2 = `2`
+Buttons/- = `-`
+Buttons/+ = `+`
+Buttons/Home = `HOME`
+IMUAccelerometer/Up = `Accel Up`
+IMUAccelerometer/Down = `Accel Down`
+IMUAccelerometer/Left = `Accel Left`
+IMUAccelerometer/Right = `Accel Right`
+IMUAccelerometer/Forward = `Accel Forward`
+IMUAccelerometer/Backward = `Accel Backward`
+IMUGyroscope/Dead Zone = 3
+IMUGyroscope/Pitch Up = `Gyro Pitch Up`
+IMUGyroscope/Pitch Down = `Gyro Pitch Down`
+IMUGyroscope/Roll Left = `Gyro Roll Left`
+IMUGyroscope/Roll Right = `Gyro Roll Right`
+IMUGyroscope/Yaw Left = `Gyro Yaw Left`
+IMUGyroscope/Yaw Right = `Gyro Yaw Right`
+IMUIR/Enabled = True
+Extension/Attach MotionPlus = `Attached MotionPlus`
+Extension = `Attached Extension`
+Nunchuk/Buttons/C = `Nunchuk C`
+Nunchuk/Buttons/Z = `Nunchuk Z`
+Nunchuk/Stick/Up = `Nunchuk Y+`
+Nunchuk/Stick/Down = `Nunchuk Y-`
+Nunchuk/Stick/Left = `Nunchuk X-`
+Nunchuk/Stick/Right = `Nunchuk X+`
+Nunchuk/Stick/Calibration = 100 100 100 100 100 100 100 100
+Nunchuk/IMUAccelerometer/Up = `Nunchuk Accel Up`
+Nunchuk/IMUAccelerometer/Down = `Nunchuk Accel Down`
+Nunchuk/IMUAccelerometer/Left = `Nunchuk Accel Left`
+Nunchuk/IMUAccelerometer/Right = `Nunchuk Accel Right`
+Nunchuk/IMUAccelerometer/Forward = `Nunchuk Accel Forward`
+Nunchuk/IMUAccelerometer/Backward = `Nunchuk Accel Backward`
+Classic/Buttons/A = `Classic A`
+Classic/Buttons/B = `Classic B`
+Classic/Buttons/X = `Classic X`
+Classic/Buttons/Y = `Classic Y`
+Classic/Buttons/ZL = `Classic ZL`
+Classic/Buttons/ZR = `Classic ZR`
+Classic/Buttons/- = `Classic -`
+Classic/Buttons/+ = `Classic +`
+Classic/Buttons/Home = `Classic HOME`
+Classic/Left Stick/Up = `Classic Left Y+`
+Classic/Left Stick/Down = `Classic Left Y-`
+Classic/Left Stick/Left = `Classic Left X-`
+Classic/Left Stick/Right = `Classic Left X+`
+Classic/Left Stick/Calibration = 100 100 100 100 100 100 100 100
+Classic/Right Stick/Up = `Classic Right Y+`
+Classic/Right Stick/Down = `Classic Right Y-`
+Classic/Right Stick/Left = `Classic Right X-`
+Classic/Right Stick/Right = `Classic Right X+`
+Classic/Right Stick/Calibration = 100 100 100 100 100 100 100 100
+Classic/Triggers/L = `Classic L`
+Classic/Triggers/R = `Classic R`
+Classic/Triggers/L-Analog = `Classic L-Analog`
+Classic/Triggers/R-Analog = `Classic R-Analog`
+Classic/D-Pad/Up = `Classic Up`
+Classic/D-Pad/Down = `Classic Down`
+Classic/D-Pad/Left = `Classic Left`
+Classic/D-Pad/Right = `Classic Right`
+Rumble/Motor = `Motor`
+D-Pad/Up = `Up`
+D-Pad/Down = `Down`
+D-Pad/Left = `Left`
+D-Pad/Right = `Right`
+Options/Battery = `Battery`
diff --git a/Data/Sys/Resources/dolphin_logo.png b/Data/Sys/Resources/dolphin_logo.png
index 491d52bc62fc..8ef18c616de4 100644
Binary files a/Data/Sys/Resources/dolphin_logo.png and b/Data/Sys/Resources/dolphin_logo.png differ
diff --git a/Data/Sys/Resources/dolphin_logo@2x.png b/Data/Sys/Resources/dolphin_logo@2x.png
index 3bb6de06039f..f63521d49346 100644
Binary files a/Data/Sys/Resources/dolphin_logo@2x.png and b/Data/Sys/Resources/dolphin_logo@2x.png differ
diff --git a/Data/Sys/Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl b/Data/Sys/Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl
index 315cfb95ad13..c6410c5c19cc 100644
--- a/Data/Sys/Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl
+++ b/Data/Sys/Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl
@@ -7,11 +7,14 @@ void main()
{
float4 c0 = SampleLayer(0);
float4 c1 = SampleLayer(1);
- mat3 l = mat3( 1.062,-0.205, 0.299,
- -0.026, 0.908, 0.068,
- -0.038,-0.173, 0.022);
- mat3 r = mat3(-0.016,-0.123,-0.017,
- 0.006, 0.062, 0.017,
- -0.094,-0.185, 0.991);
- SetOutput(float4(c0.rgb * l + c1.rgb * r, c0.a));
+
+ float3 lr = float3( 1.062,-0.205, 0.299);
+ float3 lg = float3(-0.026, 0.908, 0.068);
+ float3 lb = float3(-0.038,-0.173, 0.022);
+
+ float3 rr = float3(-0.016,-0.123,-0.017);
+ float3 rg = float3( 0.006, 0.062, 0.017);
+ float3 rb = float3(-0.094,-0.185, 0.991);
+
+ SetOutput(float4(dot(lr, c0.rgb) + dot(rr, c1.rgb), dot(lg, c0.rgb) + dot(rg, c1.rgb), dot(lb, c0.rgb) + dot(rb, c1.rgb), c0.a));
}
diff --git a/Data/Sys/Shaders/Anaglyph/dubois-LCD-Green-Magenta.glsl b/Data/Sys/Shaders/Anaglyph/dubois-LCD-Green-Magenta.glsl
index 4c8081389474..bb97bf107b50 100644
--- a/Data/Sys/Shaders/Anaglyph/dubois-LCD-Green-Magenta.glsl
+++ b/Data/Sys/Shaders/Anaglyph/dubois-LCD-Green-Magenta.glsl
@@ -7,11 +7,14 @@ void main()
{
float4 c0 = SampleLayer(0);
float4 c1 = SampleLayer(1);
- mat3 l = mat3(-0.062,-0.158,-0.039,
- 0.284, 0.668, 0.143,
- -0.015,-0.027, 0.021);
- mat3 r = mat3( 0.529, 0.705, 0.024,
- -0.016,-0.015, 0.065,
- 0.009, 0.075, 0.937);
- SetOutput(float4(c0.rgb * l + c1.rgb * r, c0.a));
+
+ float3 lr = float3(-0.062,-0.158,-0.039);
+ float3 lg = float3( 0.284, 0.668, 0.143);
+ float3 lb = float3(-0.015,-0.027, 0.021);
+
+ float3 rr = float3( 0.529, 0.705, 0.024);
+ float3 rg = float3(-0.016,-0.015, 0.065);
+ float3 rb = float3( 0.009, 0.075, 0.937);
+
+ SetOutput(float4(dot(lr, c0.rgb) + dot(rr, c1.rgb), dot(lg, c0.rgb) + dot(rg, c1.rgb), dot(lb, c0.rgb) + dot(rb, c1.rgb), c0.a));
}
diff --git a/Data/Sys/Shaders/Anaglyph/dubois.glsl b/Data/Sys/Shaders/Anaglyph/dubois.glsl
index 66f9e8382fd7..18c714ddbe04 100644
--- a/Data/Sys/Shaders/Anaglyph/dubois.glsl
+++ b/Data/Sys/Shaders/Anaglyph/dubois.glsl
@@ -8,11 +8,14 @@ void main()
{
float4 c0 = SampleLayer(0);
float4 c1 = SampleLayer(1);
- mat3 l = mat3( 0.437, 0.449, 0.164,
- -0.062,-0.062,-0.024,
- -0.048,-0.050,-0.017);
- mat3 r = mat3(-0.011,-0.032,-0.007,
- 0.377, 0.761, 0.009,
- -0.026,-0.093, 1.234);
- SetOutput(float4(c0.rgb * l + c1.rgb * r, c0.a));
+
+ float3 lr = float3( 0.437, 0.449, 0.164);
+ float3 lg = float3(-0.062,-0.062,-0.024);
+ float3 lb = float3(-0.048,-0.050,-0.017);
+
+ float3 rr = float3(-0.011,-0.032,-0.007);
+ float3 rg = float3( 0.377, 0.761, 0.009);
+ float3 rb = float3(-0.026,-0.093, 1.234);
+
+ SetOutput(float4(dot(lr, c0.rgb) + dot(rr, c1.rgb), dot(lg, c0.rgb) + dot(rg, c1.rgb), dot(lb, c0.rgb) + dot(rb, c1.rgb), c0.a));
}
diff --git a/Data/Sys/Shaders/Passive/horizontal.glsl b/Data/Sys/Shaders/Passive/horizontal.glsl
new file mode 100644
index 000000000000..7b2535bbf091
--- /dev/null
+++ b/Data/Sys/Shaders/Passive/horizontal.glsl
@@ -0,0 +1,7 @@
+// Passive (horizontal rows) shader
+
+void main()
+{
+ float screen_row = GetWindowResolution().y * GetCoordinates().y;
+ SetOutput(SampleLayer(int(screen_row) % 2));
+}
diff --git a/Data/Sys/Shaders/asciiart.glsl b/Data/Sys/Shaders/asciiart.glsl
deleted file mode 100644
index 52fec3da6d36..000000000000
--- a/Data/Sys/Shaders/asciiart.glsl
+++ /dev/null
@@ -1,91 +0,0 @@
-const int char_width = 8;
-const int char_height = 13;
-const int char_count = 95;
-const int char_pixels = char_width*char_height;
-const float2 char_dim = float2(char_width, char_height);
-const float2 font_scale = float2(1.0/float(char_width)/float(char_count), 1.0/float(char_height));
-
-void main()
-{
- float2 char_pos = floor(GetCoordinates()*GetResolution()/char_dim);
- float2 pixel_offset = floor(GetCoordinates()*GetResolution()) - char_pos*char_dim;
-
- // just a big number
- float mindiff = float(char_width*char_height) * 100.0;
-
- float minc = 0.0;
- float4 mina = float4(0.0, 0.0, 0.0, 0.0);
- float4 minb = float4(0.0, 0.0, 0.0, 0.0);
-
- for (int i=0; i
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
+
+
+
{8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}
- 10.0.17134.0
-
- StaticLibrary
- v141
- Unicode
-
-
- true
-
-
- false
-
+
-
-
+
-
-
+
+
diff --git a/Externals/FreeSurround/FreeSurround.vcxproj b/Externals/FreeSurround/FreeSurround.vcxproj
index 854b1bd68d6b..cfc29e5dc25b 100644
--- a/Externals/FreeSurround/FreeSurround.vcxproj
+++ b/Externals/FreeSurround/FreeSurround.vcxproj
@@ -1,38 +1,18 @@
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
+
+
+
{8498F2FA-5CA6-4169-9971-DE5B1FE6132C}
- 10.0.17134.0
-
- StaticLibrary
- v141
- Unicode
-
-
- true
-
-
- false
-
+
-
-
+
-
-
+
+
diff --git a/Externals/LZO/COPYING b/Externals/LZO/COPYING
new file mode 100644
index 000000000000..d159169d1050
--- /dev/null
+++ b/Externals/LZO/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/Externals/LZO/LZO.vcxproj b/Externals/LZO/LZO.vcxproj
index 5e69f62f9d61..fd30576fe3d3 100644
--- a/Externals/LZO/LZO.vcxproj
+++ b/Externals/LZO/LZO.vcxproj
@@ -1,38 +1,18 @@
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
+
+
+
{AB993F38-C31D-4897-B139-A620C42BC565}
- 10.0.17134.0
-
- StaticLibrary
- v141
- Unicode
-
-
- true
-
-
- false
-
+
-
-
+
-
-
+
+
diff --git a/Externals/LZO/Makefile b/Externals/LZO/Makefile
new file mode 100644
index 000000000000..ae4d6d4166b6
--- /dev/null
+++ b/Externals/LZO/Makefile
@@ -0,0 +1,100 @@
+#
+# a very simple Makefile for miniLZO
+#
+# Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
+#
+
+PROGRAM = testmini
+SOURCES = testmini.c minilzo.c
+
+default:
+ @echo ""
+ @echo "Welcome to miniLZO. Please choose one of the following 'make' targets:"
+ @echo ""
+ @echo " gcc: gcc"
+ @echo " unix: hpux hpux9"
+ @echo " win32: win32-bc win32-cygwin win32-dm win32-lccwin32"
+ @echo " win32-intelc win32-mingw win32-vc win32-watcomc"
+ @echo " dos32: dos32-djgpp2 dos32-wc"
+ @echo ""
+
+
+# Make sure that minilzo.h, lzoconf.h and lzodefs.h are in the
+# current dircectory. Otherwise you may want to adjust CPPFLAGS.
+CPPFLAGS = -I. -I../include/lzo
+
+GCC_CFLAGS = -s -Wall -O2 -fomit-frame-pointer
+
+
+#
+# gcc (generic)
+#
+
+gcc:
+ gcc $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM) $(SOURCES)
+
+cc:
+ cc $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
+
+
+#
+# UNIX
+#
+
+hpux:
+ cc -Ae $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
+
+hpux9:
+ cc -Aa -D_HPUX_SOURCE $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
+
+
+#
+# Windows (32-bit)
+#
+
+win32-borlandc win32-bc:
+ bcc32 -O2 -d -w -w-aus $(CPPFLAGS) $(SOURCES)
+
+win32-cygwin32 win32-cygwin:
+ gcc -mcygwin $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
+
+win32-digitalmars win32-dm:
+ dmc -mn -o -w- $(CPPFLAGS) $(SOURCES)
+
+win32-intelc win32-ic:
+ icl -nologo -MT -W3 -O2 -GF $(CPPFLAGS) $(SOURCES)
+
+win32-lccwin32:
+ @echo "NOTE: need lcc 2002-07-25 or newer, older versions have bugs"
+ lc -A -unused -O $(CPPFLAGS) $(SOURCES)
+
+win32-mingw32 win32-mingw:
+ gcc -mno-cygwin $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
+
+win32-visualc win32-vc:
+ cl -nologo -MT -W3 -O2 -GF $(CPPFLAGS) $(SOURCES)
+
+win32-watcomc win32-wc:
+ wcl386 -bt=nt -zq -mf -5r -zc -w5 -oneatx $(CPPFLAGS) $(SOURCES)
+
+
+#
+# DOS (32-bit)
+#
+
+dos32-djgpp2 dos32-dj2:
+ gcc $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
+
+dos32-watcomc dos32-wc:
+ wcl386 -zq -mf -bt=dos -l=dos4g -5r -ox -zc $(CPPFLAGS) $(SOURCES)
+
+
+#
+# other targets
+#
+
+clean:
+ rm -f $(PROGRAM) $(PROGRAM).exe $(PROGRAM).map $(PROGRAM).tds
+ rm -f *.err *.o *.obj
+
+.PHONY: default clean
diff --git a/Externals/LZO/README.LZO b/Externals/LZO/README.LZO
index a065efe7fa9b..7d9bea5c987d 100644
--- a/Externals/LZO/README.LZO
+++ b/Externals/LZO/README.LZO
@@ -6,8 +6,8 @@
Author : Markus Franz Xaver Johannes Oberhumer
http://www.oberhumer.com/opensource/lzo/
- Version : 2.04
- Date : 31 Oct 2010
+ Version : 2.10
+ Date : 01 Mar 2017
I've created miniLZO for projects where it is inconvenient to
include (or require) the full LZO source code just because you
@@ -26,8 +26,8 @@
minilzo.c to your Makefile and #include minilzo.h from your program.
Note: you also must distribute this file ('README.LZO') with your project.
- minilzo.o compiles to about 6 kB (using gcc or Visual C on a i386), and
- the sources are about 30 kB when packed with zip - so there's no more
+ minilzo.o compiles to about 6 KiB (using gcc or Visual C on an i386), and
+ the sources are about 30 KiB when packed with zip - so there's no more
excuse that your application doesn't support data compression :-)
For more information, documentation, example programs and other support
@@ -50,14 +50,14 @@
If you are running on a very unusual architecture and lzo_init() fails then
you should first recompile with '-DLZO_DEBUG' to see what causes the failure.
- The most probable case is something like 'sizeof(char *) != sizeof(long)'.
+ The most probable case is something like 'sizeof(void *) != sizeof(size_t)'.
After identifying the problem you can compile by adding some defines
- like '-DSIZEOF_CHAR_P=8' to your Makefile.
+ like '-DSIZEOF_VOID_P=8' to your Makefile.
The best solution is (of course) using Autoconf - if your project uses
Autoconf anyway just add '-DMINILZO_HAVE_CONFIG_H' to your compiler
flags when compiling minilzo.c. See the LZO distribution for an example
- how to set up configure.in.
+ how to set up configure.ac.
Appendix B: list of public functions available in miniLZO
@@ -87,7 +87,7 @@
lzo_memset()
- Appendix C: suggested macros for 'configure.in' when using Autoconf
+ Appendix C: suggested macros for 'configure.ac' when using Autoconf
-------------------------------------------------------------------
Checks for typedefs and structures
AC_CHECK_TYPE(ptrdiff_t,long)
@@ -110,8 +110,8 @@
Appendix D: Copyright
---------------------
- LZO and miniLZO are Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Markus Franz Xaver Oberhumer
+ LZO and miniLZO are Copyright (C) 1996-2017 Markus Franz Xaver Oberhumer
+ All Rights Reserved.
LZO and miniLZO are distributed under the terms of the GNU General
Public License (GPL). See the file COPYING.
diff --git a/Externals/LZO/lzoconf.h b/Externals/LZO/lzoconf.h
index d6125e871471..f9a8bdbee7d2 100644
--- a/Externals/LZO/lzoconf.h
+++ b/Externals/LZO/lzoconf.h
@@ -1,22 +1,8 @@
-/* lzoconf.h -- configuration for the LZO real-time data compression library
+/* lzoconf.h -- configuration of the LZO data compression library
This file is part of the LZO real-time data compression library.
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -43,9 +29,9 @@
#ifndef __LZOCONF_H_INCLUDED
#define __LZOCONF_H_INCLUDED 1
-#define LZO_VERSION 0x2040
-#define LZO_VERSION_STRING "2.04"
-#define LZO_VERSION_DATE "Oct 31 2010"
+#define LZO_VERSION 0x20a0 /* 2.10 */
+#define LZO_VERSION_STRING "2.10"
+#define LZO_VERSION_DATE "Mar 01 2017"
/* internal Autoconf configuration file - only used when building LZO */
#if defined(LZO_HAVE_CONFIG_H)
@@ -62,7 +48,7 @@
#if !defined(CHAR_BIT) || (CHAR_BIT != 8)
# error "invalid CHAR_BIT"
#endif
-#if !defined(UCHAR_MAX) || !defined(UINT_MAX) || !defined(ULONG_MAX)
+#if !defined(UCHAR_MAX) || !defined(USHRT_MAX) || !defined(UINT_MAX) || !defined(ULONG_MAX)
# error "check your compiler installation"
#endif
#if (USHRT_MAX < 1) || (UINT_MAX < 1) || (ULONG_MAX < 1)
@@ -71,7 +57,7 @@
/* get OS and architecture defines */
#ifndef __LZODEFS_H_INCLUDED
-#include "lzodefs.h"
+#include
#endif
@@ -84,14 +70,6 @@ extern "C" {
// some core defines
************************************************************************/
-#if !defined(LZO_UINT32_C)
-# if (UINT_MAX < LZO_0xffffffffL)
-# define LZO_UINT32_C(c) c ## UL
-# else
-# define LZO_UINT32_C(c) ((c) + 0U)
-# endif
-#endif
-
/* memory checkers */
#if !defined(__LZO_CHECKER)
# if defined(__BOUNDS_CHECKING_ON)
@@ -110,28 +88,35 @@ extern "C" {
// integral and pointer types
************************************************************************/
-/* lzo_uint should match size_t */
+/* lzo_uint must match size_t */
#if !defined(LZO_UINT_MAX)
-# if defined(LZO_ABI_LLP64) /* WIN64 */
-# if defined(LZO_OS_WIN64)
+# if (LZO_ABI_LLP64)
+# if (LZO_OS_WIN64)
typedef unsigned __int64 lzo_uint;
typedef __int64 lzo_int;
+# define LZO_TYPEOF_LZO_INT LZO_TYPEOF___INT64
# else
- typedef unsigned long long lzo_uint;
- typedef long long lzo_int;
+ typedef lzo_ullong_t lzo_uint;
+ typedef lzo_llong_t lzo_int;
+# define LZO_TYPEOF_LZO_INT LZO_TYPEOF_LONG_LONG
# endif
+# define LZO_SIZEOF_LZO_INT 8
# define LZO_UINT_MAX 0xffffffffffffffffull
# define LZO_INT_MAX 9223372036854775807LL
# define LZO_INT_MIN (-1LL - LZO_INT_MAX)
-# elif defined(LZO_ABI_IP32L64) /* MIPS R5900 */
+# elif (LZO_ABI_IP32L64) /* MIPS R5900 */
typedef unsigned int lzo_uint;
typedef int lzo_int;
+# define LZO_SIZEOF_LZO_INT LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_INT LZO_TYPEOF_INT
# define LZO_UINT_MAX UINT_MAX
# define LZO_INT_MAX INT_MAX
# define LZO_INT_MIN INT_MIN
# elif (ULONG_MAX >= LZO_0xffffffffL)
typedef unsigned long lzo_uint;
typedef long lzo_int;
+# define LZO_SIZEOF_LZO_INT LZO_SIZEOF_LONG
+# define LZO_TYPEOF_LZO_INT LZO_TYPEOF_LONG
# define LZO_UINT_MAX ULONG_MAX
# define LZO_INT_MAX LONG_MAX
# define LZO_INT_MIN LONG_MIN
@@ -140,42 +125,23 @@ extern "C" {
# endif
#endif
-/* Integral types with 32 bits or more. */
-#if !defined(LZO_UINT32_MAX)
-# if (UINT_MAX >= LZO_0xffffffffL)
- typedef unsigned int lzo_uint32;
- typedef int lzo_int32;
-# define LZO_UINT32_MAX UINT_MAX
-# define LZO_INT32_MAX INT_MAX
-# define LZO_INT32_MIN INT_MIN
-# elif (ULONG_MAX >= LZO_0xffffffffL)
- typedef unsigned long lzo_uint32;
- typedef long lzo_int32;
-# define LZO_UINT32_MAX ULONG_MAX
-# define LZO_INT32_MAX LONG_MAX
-# define LZO_INT32_MIN LONG_MIN
-# else
-# error "lzo_uint32"
-# endif
-#endif
-
-/* The larger type of lzo_uint and lzo_uint32. */
-#if (LZO_UINT_MAX >= LZO_UINT32_MAX)
+/* The larger type of lzo_uint and lzo_uint32_t. */
+#if (LZO_SIZEOF_LZO_INT >= 4)
# define lzo_xint lzo_uint
#else
-# define lzo_xint lzo_uint32
+# define lzo_xint lzo_uint32_t
#endif
-/* Memory model that allows to access memory at offsets of lzo_uint. */
-#if !defined(__LZO_MMODEL)
-# if (LZO_UINT_MAX <= UINT_MAX)
-# define __LZO_MMODEL /*empty*/
-# elif defined(LZO_HAVE_MM_HUGE_PTR)
-# define __LZO_MMODEL_HUGE 1
-# define __LZO_MMODEL __huge
-# else
-# define __LZO_MMODEL /*empty*/
-# endif
+typedef int lzo_bool;
+
+/* sanity checks */
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int) == LZO_SIZEOF_LZO_INT)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == LZO_SIZEOF_LZO_INT)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_xint) >= sizeof(lzo_uint))
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_xint) >= sizeof(lzo_uint32_t))
+
+#ifndef __LZO_MMODEL
+#define __LZO_MMODEL /*empty*/
#endif
/* no typedef here because of const-pointer issues */
@@ -184,17 +150,52 @@ extern "C" {
#define lzo_voidp void __LZO_MMODEL *
#define lzo_shortp short __LZO_MMODEL *
#define lzo_ushortp unsigned short __LZO_MMODEL *
-#define lzo_uint32p lzo_uint32 __LZO_MMODEL *
-#define lzo_int32p lzo_int32 __LZO_MMODEL *
-#define lzo_uintp lzo_uint __LZO_MMODEL *
#define lzo_intp lzo_int __LZO_MMODEL *
+#define lzo_uintp lzo_uint __LZO_MMODEL *
#define lzo_xintp lzo_xint __LZO_MMODEL *
#define lzo_voidpp lzo_voidp __LZO_MMODEL *
#define lzo_bytepp lzo_bytep __LZO_MMODEL *
-/* deprecated - use 'lzo_bytep' instead of 'lzo_byte *' */
-#define lzo_byte unsigned char __LZO_MMODEL
-typedef int lzo_bool;
+#define lzo_int8_tp lzo_int8_t __LZO_MMODEL *
+#define lzo_uint8_tp lzo_uint8_t __LZO_MMODEL *
+#define lzo_int16_tp lzo_int16_t __LZO_MMODEL *
+#define lzo_uint16_tp lzo_uint16_t __LZO_MMODEL *
+#define lzo_int32_tp lzo_int32_t __LZO_MMODEL *
+#define lzo_uint32_tp lzo_uint32_t __LZO_MMODEL *
+#if defined(lzo_int64_t)
+#define lzo_int64_tp lzo_int64_t __LZO_MMODEL *
+#define lzo_uint64_tp lzo_uint64_t __LZO_MMODEL *
+#endif
+
+/* Older LZO versions used to support ancient systems and memory models
+ * such as 16-bit MSDOS with __huge pointers or Cray PVP, but these
+ * obsolete configurations are not supported any longer.
+ */
+#if defined(__LZO_MMODEL_HUGE)
+#error "__LZO_MMODEL_HUGE memory model is unsupported"
+#endif
+#if (LZO_MM_PVP)
+#error "LZO_MM_PVP memory model is unsupported"
+#endif
+#if (LZO_SIZEOF_INT < 4)
+#error "LZO_SIZEOF_INT < 4 is unsupported"
+#endif
+#if (__LZO_UINTPTR_T_IS_POINTER)
+#error "__LZO_UINTPTR_T_IS_POINTER is unsupported"
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) >= 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) >= 4)
+/* Strange configurations where sizeof(lzo_uint) != sizeof(size_t) should
+ * work but have not received much testing lately, so be strict here.
+ */
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(size_t))
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(ptrdiff_t))
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(lzo_uintptr_t))
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(void *) == sizeof(lzo_uintptr_t))
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(char *) == sizeof(lzo_uintptr_t))
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long *) == sizeof(lzo_uintptr_t))
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(void *) == sizeof(lzo_voidp))
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(char *) == sizeof(lzo_bytep))
/***********************************************************************
@@ -225,13 +226,13 @@ typedef int lzo_bool;
/* __cdecl calling convention for public C and assembly functions */
#if !defined(LZO_PUBLIC)
-# define LZO_PUBLIC(_rettype) __LZO_EXPORT1 _rettype __LZO_EXPORT2 __LZO_CDECL
+# define LZO_PUBLIC(r) __LZO_EXPORT1 r __LZO_EXPORT2 __LZO_CDECL
#endif
#if !defined(LZO_EXTERN)
-# define LZO_EXTERN(_rettype) __LZO_EXTERN_C LZO_PUBLIC(_rettype)
+# define LZO_EXTERN(r) __LZO_EXTERN_C LZO_PUBLIC(r)
#endif
#if !defined(LZO_PRIVATE)
-# define LZO_PRIVATE(_rettype) static _rettype __LZO_CDECL
+# define LZO_PRIVATE(r) static r __LZO_CDECL
#endif
/* function types */
@@ -289,7 +290,7 @@ struct lzo_callback_t
/* a progress indicator callback function (set to 0 to disable) */
lzo_progress_func_t nprogress;
- /* NOTE: the first parameter "self" of the nalloc/nfree/nprogress
+ /* INFO: the first parameter "self" of the nalloc/nfree/nprogress
* callbacks points back to this struct, so you are free to store
* some extra info in the following variables. */
lzo_voidp user1;
@@ -308,7 +309,7 @@ struct lzo_callback_t
*/
#define LZO_E_OK 0
#define LZO_E_ERROR (-1)
-#define LZO_E_OUT_OF_MEMORY (-2) /* [not used right now] */
+#define LZO_E_OUT_OF_MEMORY (-2) /* [lzo_alloc_func_t failure] */
#define LZO_E_NOT_COMPRESSIBLE (-3) /* [not used right now] */
#define LZO_E_INPUT_OVERRUN (-4)
#define LZO_E_OUTPUT_OVERRUN (-5)
@@ -316,6 +317,10 @@ struct lzo_callback_t
#define LZO_E_EOF_NOT_FOUND (-7)
#define LZO_E_INPUT_NOT_CONSUMED (-8)
#define LZO_E_NOT_YET_IMPLEMENTED (-9) /* [not used right now] */
+#define LZO_E_INVALID_ARGUMENT (-10)
+#define LZO_E_INVALID_ALIGNMENT (-11) /* pointer argument is not properly aligned */
+#define LZO_E_OUTPUT_NOT_CONSUMED (-12)
+#define LZO_E_INTERNAL_ERROR (-99)
#ifndef lzo_sizeof_dict_t
@@ -329,7 +334,7 @@ struct lzo_callback_t
* compiler's view of various types are consistent.
*/
#define lzo_init() __lzo_init_v2(LZO_VERSION,(int)sizeof(short),(int)sizeof(int),\
- (int)sizeof(long),(int)sizeof(lzo_uint32),(int)sizeof(lzo_uint),\
+ (int)sizeof(long),(int)sizeof(lzo_uint32_t),(int)sizeof(lzo_uint),\
(int)lzo_sizeof_dict_t,(int)sizeof(char *),(int)sizeof(lzo_voidp),\
(int)sizeof(lzo_callback_t))
LZO_EXTERN(int) __lzo_init_v2(unsigned,int,int,int,int,int,int,int,int,int);
@@ -352,18 +357,22 @@ LZO_EXTERN(lzo_voidp)
lzo_memset(lzo_voidp buf, int c, lzo_uint len);
/* checksum functions */
-LZO_EXTERN(lzo_uint32)
- lzo_adler32(lzo_uint32 c, const lzo_bytep buf, lzo_uint len);
-LZO_EXTERN(lzo_uint32)
- lzo_crc32(lzo_uint32 c, const lzo_bytep buf, lzo_uint len);
-LZO_EXTERN(const lzo_uint32p)
+LZO_EXTERN(lzo_uint32_t)
+ lzo_adler32(lzo_uint32_t c, const lzo_bytep buf, lzo_uint len);
+LZO_EXTERN(lzo_uint32_t)
+ lzo_crc32(lzo_uint32_t c, const lzo_bytep buf, lzo_uint len);
+LZO_EXTERN(const lzo_uint32_tp)
lzo_get_crc32_table(void);
/* misc. */
LZO_EXTERN(int) _lzo_config_check(void);
-typedef union { lzo_bytep p; lzo_uint u; } __lzo_pu_u;
-typedef union { lzo_bytep p; lzo_uint32 u32; } __lzo_pu32_u;
-typedef union { void *vp; lzo_bytep bp; lzo_uint u; lzo_uint32 u32; unsigned long l; } lzo_align_t;
+typedef union {
+ lzo_voidp a00; lzo_bytep a01; lzo_uint a02; lzo_xint a03; lzo_uintptr_t a04;
+ void *a05; unsigned char *a06; unsigned long a07; size_t a08; ptrdiff_t a09;
+#if defined(lzo_int64_t)
+ lzo_uint64_t a10;
+#endif
+} lzo_align_t;
/* align a char pointer on a boundary that is a multiple of 'size' */
LZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp p, lzo_uint size);
@@ -372,9 +381,34 @@ LZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp p, lzo_uint size);
/***********************************************************************
-// deprecated macros - only for backward compatibility with LZO v1.xx
+// deprecated macros - only for backward compatibility
************************************************************************/
+/* deprecated - use 'lzo_bytep' instead of 'lzo_byte *' */
+#define lzo_byte unsigned char
+/* deprecated type names */
+#define lzo_int32 lzo_int32_t
+#define lzo_uint32 lzo_uint32_t
+#define lzo_int32p lzo_int32_t __LZO_MMODEL *
+#define lzo_uint32p lzo_uint32_t __LZO_MMODEL *
+#define LZO_INT32_MAX LZO_INT32_C(2147483647)
+#define LZO_UINT32_MAX LZO_UINT32_C(4294967295)
+#if defined(lzo_int64_t)
+#define lzo_int64 lzo_int64_t
+#define lzo_uint64 lzo_uint64_t
+#define lzo_int64p lzo_int64_t __LZO_MMODEL *
+#define lzo_uint64p lzo_uint64_t __LZO_MMODEL *
+#define LZO_INT64_MAX LZO_INT64_C(9223372036854775807)
+#define LZO_UINT64_MAX LZO_UINT64_C(18446744073709551615)
+#endif
+/* deprecated types */
+typedef union { lzo_bytep a; lzo_uint b; } __lzo_pu_u;
+typedef union { lzo_bytep a; lzo_uint32_t b; } __lzo_pu32_u;
+/* deprecated defines */
+#if !defined(LZO_SIZEOF_LZO_UINT)
+# define LZO_SIZEOF_LZO_UINT LZO_SIZEOF_LZO_INT
+#endif
+
#if defined(LZO_CFG_COMPAT)
#define __LZOCONF_H 1
@@ -416,4 +450,4 @@ LZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp p, lzo_uint size);
#endif /* already included */
-/* vim:set ts=4 et: */
+/* vim:set ts=4 sw=4 et: */
diff --git a/Externals/LZO/lzodefs.h b/Externals/LZO/lzodefs.h
index 190013fecf27..c3e2bcf5d837 100644
--- a/Externals/LZO/lzodefs.h
+++ b/Externals/LZO/lzodefs.h
@@ -2,21 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -46,12 +32,6 @@
#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
# define __CYGWIN__ __CYGWIN32__
#endif
-#if defined(__IBMCPP__) && !defined(__IBMC__)
-# define __IBMC__ __IBMCPP__
-#endif
-#if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
-# define __INTEL_COMPILER __ICL
-#endif
#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
# define _ALL_SOURCE 1
#endif
@@ -60,19 +40,57 @@
# define __LONG_MAX__ 9223372036854775807L
# endif
#endif
-#if defined(__INTEL_COMPILER) && defined(__linux__)
-# pragma warning(disable: 193)
+#if 0
+#elif !defined(__LZO_LANG_OVERRIDE)
+#if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__)
+# if (__ASSEMBLER__+0) <= 0
+# error "__ASSEMBLER__"
+# else
+# define LZO_LANG_ASSEMBLER 1
+# endif
+#elif defined(__cplusplus)
+# if (__cplusplus+0) <= 0
+# error "__cplusplus"
+# elif (__cplusplus < 199711L)
+# define LZO_LANG_CXX 1
+# elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1
+# define LZO_LANG_CXX _MSVC_LANG
+# else
+# define LZO_LANG_CXX __cplusplus
+# endif
+# define LZO_LANG_CPLUSPLUS LZO_LANG_CXX
+#else
+# if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L)
+# define LZO_LANG_C __STDC_VERSION__
+# else
+# define LZO_LANG_C 1
+# endif
#endif
-#if defined(__KEIL__) && defined(__C166__)
-# pragma warning disable = 322
-#elif 0 && defined(__C251__)
-# pragma warning disable = 322
#endif
-#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
-# if (_MSC_VER >= 1300)
+#if !defined(LZO_CFG_NO_DISABLE_WUNDEF)
+#if defined(__ARMCC_VERSION)
+# pragma diag_suppress 193
+#elif defined(__clang__) && defined(__clang_minor__)
+# pragma clang diagnostic ignored "-Wundef"
+#elif defined(__INTEL_COMPILER)
+# pragma warning(disable: 193)
+#elif defined(__KEIL__) && defined(__C166__)
+# pragma warning disable = 322
+#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__)
+# if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2))
+# pragma GCC diagnostic ignored "-Wundef"
+# endif
+#elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
+# if ((_MSC_VER-0) >= 1300)
# pragma warning(disable: 4668)
# endif
#endif
+#endif
+#if 0 && defined(__POCC__) && defined(_WIN32)
+# if (__POCC__ >= 400)
+# pragma warn(disable: 2216)
+# endif
+#endif
#if 0 && defined(__WATCOMC__)
# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
# pragma warning 203 9
@@ -81,13 +99,29 @@
#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
# pragma option -h
#endif
+#if !(LZO_CFG_NO_DISABLE_WCRTNONSTDC)
+#ifndef _CRT_NONSTDC_NO_DEPRECATE
+#define _CRT_NONSTDC_NO_DEPRECATE 1
+#endif
+#ifndef _CRT_NONSTDC_NO_WARNINGS
+#define _CRT_NONSTDC_NO_WARNINGS 1
+#endif
+#ifndef _CRT_SECURE_NO_DEPRECATE
+#define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#ifndef _CRT_SECURE_NO_WARNINGS
+#define _CRT_SECURE_NO_WARNINGS 1
+#endif
+#endif
#if 0
-#define LZO_0xffffL 0xfffful
-#define LZO_0xffffffffL 0xfffffffful
+#define LZO_0xffffUL 0xfffful
+#define LZO_0xffffffffUL 0xfffffffful
#else
-#define LZO_0xffffL 65535ul
-#define LZO_0xffffffffL 4294967295ul
+#define LZO_0xffffUL 65535ul
+#define LZO_0xffffffffUL 4294967295ul
#endif
+#define LZO_0xffffL LZO_0xffffUL
+#define LZO_0xffffffffL LZO_0xffffffffUL
#if (LZO_0xffffL == LZO_0xffffffffL)
# error "your preprocessor is broken 1"
#endif
@@ -102,6 +136,13 @@
# error "your preprocessor is broken 4"
#endif
#endif
+#if defined(__COUNTER__)
+# ifndef LZO_CFG_USE_COUNTER
+# define LZO_CFG_USE_COUNTER 1
+# endif
+#else
+# undef LZO_CFG_USE_COUNTER
+#endif
#if (UINT_MAX == LZO_0xffffL)
#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
# if !defined(MSDOS)
@@ -121,10 +162,12 @@
# endif
#endif
#endif
-#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
+#if (UINT_MAX == LZO_0xffffL)
+#if defined(_MSC_VER) && defined(M_I86HM)
# define ptrdiff_t long
# define _PTRDIFF_T_DEFINED 1
#endif
+#endif
#if (UINT_MAX == LZO_0xffffL)
# undef __LZO_RENAME_A
# undef __LZO_RENAME_B
@@ -232,14 +275,31 @@
#endif
#define LZO_PP_STRINGIZE(x) #x
#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x)
+#define LZO_PP_CONCAT0() /*empty*/
+#define LZO_PP_CONCAT1(a) a
#define LZO_PP_CONCAT2(a,b) a ## b
#define LZO_PP_CONCAT3(a,b,c) a ## b ## c
#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d
#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
+#define LZO_PP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f
+#define LZO_PP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g
+#define LZO_PP_ECONCAT0() LZO_PP_CONCAT0()
+#define LZO_PP_ECONCAT1(a) LZO_PP_CONCAT1(a)
#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b)
#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d)
#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e)
+#define LZO_PP_ECONCAT6(a,b,c,d,e,f) LZO_PP_CONCAT6(a,b,c,d,e,f)
+#define LZO_PP_ECONCAT7(a,b,c,d,e,f,g) LZO_PP_CONCAT7(a,b,c,d,e,f,g)
+#define LZO_PP_EMPTY /*empty*/
+#define LZO_PP_EMPTY0() /*empty*/
+#define LZO_PP_EMPTY1(a) /*empty*/
+#define LZO_PP_EMPTY2(a,b) /*empty*/
+#define LZO_PP_EMPTY3(a,b,c) /*empty*/
+#define LZO_PP_EMPTY4(a,b,c,d) /*empty*/
+#define LZO_PP_EMPTY5(a,b,c,d,e) /*empty*/
+#define LZO_PP_EMPTY6(a,b,c,d,e,f) /*empty*/
+#define LZO_PP_EMPTY7(a,b,c,d,e,f,g) /*empty*/
#if 1
#define LZO_CPP_STRINGIZE(x) #x
#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x)
@@ -247,12 +307,16 @@
#define LZO_CPP_CONCAT3(a,b,c) a ## b ## c
#define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d
#define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
+#define LZO_CPP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f
+#define LZO_CPP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g
#define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b)
#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c)
#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d)
#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e)
+#define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f)
+#define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g)
#endif
-#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o))
+#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0))
#if 1 && defined(__cplusplus)
# if !defined(__STDC_CONSTANT_MACROS)
# define __STDC_CONSTANT_MACROS 1
@@ -262,9 +326,13 @@
# endif
#endif
#if defined(__cplusplus)
-# define LZO_EXTERN_C extern "C"
+# define LZO_EXTERN_C extern "C"
+# define LZO_EXTERN_C_BEGIN extern "C" {
+# define LZO_EXTERN_C_END }
#else
-# define LZO_EXTERN_C extern
+# define LZO_EXTERN_C extern
+# define LZO_EXTERN_C_BEGIN /*empty*/
+# define LZO_EXTERN_C_END /*empty*/
#endif
#if !defined(__LZO_OS_OVERRIDE)
#if (LZO_OS_FREESTANDING)
@@ -359,18 +427,18 @@
#elif defined(__TOS__) || defined(__atarist__)
# define LZO_OS_TOS 1
# define LZO_INFO_OS "tos"
-#elif defined(macintosh) && !defined(__ppc__)
+#elif defined(macintosh) && !defined(__arm__) && !defined(__i386__) && !defined(__ppc__) && !defined(__x64_64__)
# define LZO_OS_MACCLASSIC 1
# define LZO_INFO_OS "macclassic"
#elif defined(__VMS)
# define LZO_OS_VMS 1
# define LZO_INFO_OS "vms"
-#elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+#elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)
# define LZO_OS_CONSOLE 1
# define LZO_OS_CONSOLE_PS2 1
# define LZO_INFO_OS "console"
# define LZO_INFO_OS_CONSOLE "ps2"
-#elif (defined(__mips__) && defined(__psp__))
+#elif defined(__mips__) && defined(__psp__)
# define LZO_OS_CONSOLE 1
# define LZO_OS_CONSOLE_PSP 1
# define LZO_INFO_OS "console"
@@ -398,9 +466,18 @@
# elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
# define LZO_OS_POSIX_LINUX 1
# define LZO_INFO_OS_POSIX "linux"
-# elif defined(__APPLE__) || defined(__MACOS__)
-# define LZO_OS_POSIX_MACOSX 1
-# define LZO_INFO_OS_POSIX "macosx"
+# elif defined(__APPLE__) && defined(__MACH__)
+# if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000)
+# define LZO_OS_POSIX_DARWIN 1040
+# define LZO_INFO_OS_POSIX "darwin_iphone"
+# elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040)
+# define LZO_OS_POSIX_DARWIN __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+# define LZO_INFO_OS_POSIX "darwin"
+# else
+# define LZO_OS_POSIX_DARWIN 1
+# define LZO_INFO_OS_POSIX "darwin"
+# endif
+# define LZO_OS_POSIX_MACOSX LZO_OS_POSIX_DARWIN
# elif defined(__minix__) || defined(__minix)
# define LZO_OS_POSIX_MINIX 1
# define LZO_INFO_OS_POSIX "minix"
@@ -435,18 +512,18 @@
#endif
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
# if (UINT_MAX != LZO_0xffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (ULONG_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
#endif
#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (UINT_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (ULONG_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
#endif
#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
@@ -462,59 +539,81 @@
# define LZO_INFO_CC "sdcc"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC)
#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
-# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
+# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0))
# define LZO_INFO_CC "Pathscale C"
# define LZO_INFO_CCVER __PATHSCALE__
-#elif defined(__INTEL_COMPILER)
-# define LZO_CC_INTELC 1
+# if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+# define LZO_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
+# endif
+#elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0)
+# define LZO_CC_INTELC __INTEL_COMPILER
# define LZO_INFO_CC "Intel C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER)
-# if defined(_WIN32) || defined(_WIN64)
-# define LZO_CC_SYNTAX_MSC 1
-# else
-# define LZO_CC_SYNTAX_GNUC 1
+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
+# define LZO_CC_INTELC_MSC _MSC_VER
+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+# define LZO_CC_INTELC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
# endif
#elif defined(__POCC__) && defined(_WIN32)
# define LZO_CC_PELLESC 1
# define LZO_INFO_CC "Pelles C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__)
-#elif defined(__clang__) && defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+#elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
-# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
# else
-# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
# endif
+# define LZO_CC_ARMCC __ARMCC_VERSION
+# define LZO_INFO_CC "ARM C Compiler"
+# define LZO_INFO_CCVER __VERSION__
+#elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER)
+# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
+# define LZO_CC_CLANG_C2 _MSC_VER
+# define LZO_CC_CLANG_VENDOR_MICROSOFT 1
+# define LZO_INFO_CC "clang/c2"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__c2_version__)
+#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__)
# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
-# define LZO_CC_CLANG_CLANG (__clang_major__ * 0x10000L + __clang_minor__ * 0x100 + __clang_patchlevel__)
+# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
# else
-# define LZO_CC_CLANG_CLANG 0x020700L
+# define LZO_CC_CLANG 0x010000L
+# endif
+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
+# define LZO_CC_CLANG_MSC _MSC_VER
+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
+# endif
+# if defined(__APPLE_CC__)
+# define LZO_CC_CLANG_VENDOR_APPLE 1
+# define LZO_INFO_CC "clang/apple"
+# else
+# define LZO_CC_CLANG_VENDOR_LLVM 1
+# define LZO_INFO_CC "clang"
+# endif
+# if defined(__clang_version__)
+# define LZO_INFO_CCVER __clang_version__
+# else
+# define LZO_INFO_CCVER __VERSION__
# endif
-# define LZO_CC_CLANG LZO_CC_CLANG_GNUC
-# define LZO_INFO_CC "clang"
-# define LZO_INFO_CCVER __VERSION__
#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
-# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
# else
-# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
# endif
# define LZO_CC_LLVM LZO_CC_LLVM_GNUC
# define LZO_INFO_CC "llvm-gcc"
# define LZO_INFO_CCVER __VERSION__
-#elif defined(__GNUC__) && defined(__VERSION__)
-# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
-# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
-# elif defined(__GNUC_MINOR__)
-# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
-# else
-# define LZO_CC_GNUC (__GNUC__ * 0x10000L)
-# endif
-# define LZO_INFO_CC "gcc"
-# define LZO_INFO_CCVER __VERSION__
#elif defined(__ACK__) && defined(_ACK)
# define LZO_CC_ACK 1
# define LZO_INFO_CC "Amsterdam Compiler Kit C"
# define LZO_INFO_CCVER "unknown"
+#elif defined(__ARMCC_VERSION) && !defined(__GNUC__)
+# define LZO_CC_ARMCC __ARMCC_VERSION
+# define LZO_CC_ARMCC_ARMCC __ARMCC_VERSION
+# define LZO_INFO_CC "ARM C Compiler"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ARMCC_VERSION)
#elif defined(__AZTEC_C__)
# define LZO_CC_AZTECC 1
# define LZO_INFO_CC "Aztec C"
@@ -539,10 +638,23 @@
# define LZO_CC_DECC 1
# define LZO_INFO_CC "DEC C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC)
+#elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0)
+# define LZO_CC_GHS 1
+# define LZO_INFO_CC "Green Hills C"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER)
+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
+# define LZO_CC_GHS_MSC _MSC_VER
+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+# define LZO_CC_GHS_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
+# endif
#elif defined(__HIGHC__)
# define LZO_CC_HIGHC 1
# define LZO_INFO_CC "MetaWare High C"
# define LZO_INFO_CCVER "unknown"
+#elif defined(__HP_aCC) && ((__HP_aCC-0) > 0)
+# define LZO_CC_HPACC __HP_aCC
+# define LZO_INFO_CC "HP aCC"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__HP_aCC)
#elif defined(__IAR_SYSTEMS_ICC__)
# define LZO_CC_IARC 1
# define LZO_INFO_CC "IAR C"
@@ -551,10 +663,14 @@
# else
# define LZO_INFO_CCVER "unknown"
# endif
-#elif defined(__IBMC__)
-# define LZO_CC_IBMC 1
+#elif defined(__IBMC__) && ((__IBMC__-0) > 0)
+# define LZO_CC_IBMC __IBMC__
# define LZO_INFO_CC "IBM C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__)
+#elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0)
+# define LZO_CC_IBMC __IBMCPP__
+# define LZO_INFO_CC "IBM C"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMCPP__)
#elif defined(__KEIL__) && defined(__C166__)
# define LZO_CC_KEILC 1
# define LZO_INFO_CC "Keil C"
@@ -571,16 +687,8 @@
# else
# define LZO_INFO_CCVER "unknown"
# endif
-#elif defined(_MSC_VER)
-# define LZO_CC_MSC 1
-# define LZO_INFO_CC "Microsoft C"
-# if defined(_MSC_FULL_VER)
-# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
-# else
-# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
-# endif
-#elif defined(__MWERKS__)
-# define LZO_CC_MWERKS 1
+#elif defined(__MWERKS__) && ((__MWERKS__-0) > 0)
+# define LZO_CC_MWERKS __MWERKS__
# define LZO_INFO_CC "Metrowerks C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__)
#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
@@ -591,6 +699,15 @@
# define LZO_CC_PACIFICC 1
# define LZO_INFO_CC "Pacific C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__)
+#elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0))
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) "." LZO_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__)
+# else
+# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100)
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0"
+# endif
+# define LZO_INFO_CC "Portland Group PGI C"
#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
# define LZO_CC_PGI 1
# define LZO_INFO_CC "Portland Group PGI C"
@@ -605,7 +722,7 @@
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__)
#elif defined(__SUNPRO_C)
# define LZO_INFO_CC "SunPro C"
-# if ((__SUNPRO_C)+0 > 0)
+# if ((__SUNPRO_C-0) > 0)
# define LZO_CC_SUNPROC __SUNPRO_C
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C)
# else
@@ -614,7 +731,7 @@
# endif
#elif defined(__SUNPRO_CC)
# define LZO_INFO_CC "SunPro C"
-# if ((__SUNPRO_CC)+0 > 0)
+# if ((__SUNPRO_CC-0) > 0)
# define LZO_CC_SUNPROC __SUNPRO_CC
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC)
# else
@@ -640,16 +757,46 @@
#elif defined(__ZTC__)
# define LZO_CC_ZORTECHC 1
# define LZO_INFO_CC "Zortech C"
-# if (__ZTC__ == 0x310)
+# if ((__ZTC__-0) == 0x310)
# define LZO_INFO_CCVER "0x310"
# else
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__)
# endif
+#elif defined(__GNUC__) && defined(__VERSION__)
+# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
+# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
+# elif defined(__GNUC_MINOR__)
+# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
+# else
+# define LZO_CC_GNUC (__GNUC__ * 0x10000L)
+# endif
+# define LZO_INFO_CC "gcc"
+# define LZO_INFO_CCVER __VERSION__
+#elif defined(_MSC_VER) && ((_MSC_VER-0) > 0)
+# define LZO_CC_MSC _MSC_VER
+# define LZO_INFO_CC "Microsoft C"
+# if defined(_MSC_FULL_VER)
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
+# else
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
+# endif
#else
# define LZO_CC_UNKNOWN 1
# define LZO_INFO_CC "unknown"
# define LZO_INFO_CCVER "unknown"
#endif
+#if (LZO_CC_GNUC) && defined(__OPEN64__)
+# if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__)
+# define LZO_CC_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0))
+# define LZO_CC_OPEN64_GNUC LZO_CC_GNUC
+# endif
+#endif
+#if (LZO_CC_GNUC) && defined(__PCC__)
+# if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__)
+# define LZO_CC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0))
+# define LZO_CC_PCC_GNUC LZO_CC_GNUC
+# endif
+#endif
#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
# error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
#endif
@@ -667,8 +814,10 @@
# define LZO_INFO_ARCH "generic"
#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
# define LZO_ARCH_I086 1
-# define LZO_ARCH_IA16 1
# define LZO_INFO_ARCH "i086"
+#elif defined(__aarch64__) || defined(_M_ARM64)
+# define LZO_ARCH_ARM64 1
+# define LZO_INFO_ARCH "arm64"
#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
# define LZO_ARCH_ALPHA 1
# define LZO_INFO_ARCH "alpha"
@@ -678,22 +827,11 @@
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
# define LZO_ARCH_AMD64 1
# define LZO_INFO_ARCH "amd64"
-#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
+#elif defined(__arm__) || defined(_M_ARM)
# define LZO_ARCH_ARM 1
-# define LZO_ARCH_ARM_THUMB 1
-# define LZO_INFO_ARCH "arm_thumb"
+# define LZO_INFO_ARCH "arm"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
# define LZO_ARCH_ARM 1
-# if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
-# define LZO_ARCH_ARM_THUMB 1
-# define LZO_INFO_ARCH "arm_thumb"
-# elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
-# define LZO_INFO_ARCH "arm"
-# else
-# define LZO_INFO_ARCH "arm"
-# endif
-#elif defined(__arm__) || defined(_M_ARM)
-# define LZO_ARCH_ARM 1
# define LZO_INFO_ARCH "arm"
#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__)
# define LZO_ARCH_AVR 1
@@ -767,6 +905,15 @@
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
# define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc"
+#elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__)
+# define LZO_ARCH_POWERPC 1
+# define LZO_INFO_ARCH "powerpc"
+#elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__)
+# define LZO_ARCH_POWERPC 1
+# define LZO_INFO_ARCH "powerpc"
+#elif defined(__riscv)
+# define LZO_ARCH_RISCV 1
+# define LZO_INFO_ARCH "riscv"
#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
# define LZO_ARCH_S390 1
# define LZO_INFO_ARCH "s390"
@@ -801,57 +948,171 @@
# define LZO_INFO_ARCH "unknown"
#endif
#endif
+#if !defined(LZO_ARCH_ARM_THUMB2)
+#if (LZO_ARCH_ARM)
+# if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB)
+# if defined(__thumb2__)
+# define LZO_ARCH_ARM_THUMB2 1
+# elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
+# define LZO_ARCH_ARM_THUMB2 1
+# elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7)
+# define LZO_ARCH_ARM_THUMB2 1
+# endif
+# endif
+#endif
+#endif
+#if (LZO_ARCH_ARM_THUMB2)
+# undef LZO_INFO_ARCH
+# define LZO_INFO_ARCH "arm_thumb2"
+#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
# error "FIXME - missing define for CPU architecture"
#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32)
-# error "FIXME - missing WIN32 define for CPU architecture"
+# error "FIXME - missing LZO_OS_WIN32 define for CPU architecture"
#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64)
-# error "FIXME - missing WIN64 define for CPU architecture"
+# error "FIXME - missing LZO_OS_WIN64 define for CPU architecture"
#endif
#if (LZO_OS_OS216 || LZO_OS_WIN16)
# define LZO_ARCH_I086PM 1
-# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && defined(BLX286))
# define LZO_ARCH_I086PM 1
-# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
# define LZO_ARCH_I086PM 1
-# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__))
# define LZO_ARCH_I086PM 1
-# define LZO_ARCH_IA16PM 1
#endif
-#if (LZO_ARCH_ARM_THUMB) && !(LZO_ARCH_ARM)
-# error "this should not happen"
+#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64)
+# define LZO_ARCH_X64 1
+#elif (!LZO_ARCH_AMD64 && LZO_ARCH_X64) && defined(__LZO_ARCH_OVERRIDE)
+# define LZO_ARCH_AMD64 1
+#endif
+#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64)
+# define LZO_ARCH_AARCH64 1
+#elif (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) && defined(__LZO_ARCH_OVERRIDE)
+# define LZO_ARCH_ARM64 1
+#endif
+#if (LZO_ARCH_I386 && !LZO_ARCH_X86)
+# define LZO_ARCH_X86 1
+#elif (!LZO_ARCH_I386 && LZO_ARCH_X86) && defined(__LZO_ARCH_OVERRIDE)
+# define LZO_ARCH_I386 1
+#endif
+#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) || (!LZO_ARCH_AMD64 && LZO_ARCH_X64)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) || (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_I386 && !LZO_ARCH_X86) || (!LZO_ARCH_I386 && LZO_ARCH_X86)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_ARM_THUMB1 && !LZO_ARCH_ARM)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_ARM_THUMB2 && !LZO_ARCH_ARM)
+# error "unexpected configuration - check your compiler defines"
#endif
-#if (LZO_ARCH_I086PM) && !(LZO_ARCH_I086)
-# error "this should not happen"
+#if (LZO_ARCH_ARM_THUMB1 && LZO_ARCH_ARM_THUMB2)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_I086PM && !LZO_ARCH_I086)
+# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_ARCH_I086)
# if (UINT_MAX != LZO_0xffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (ULONG_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
#endif
#if (LZO_ARCH_I386)
# if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (ULONG_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
+# endif
+#endif
+#if (LZO_ARCH_AMD64 || LZO_ARCH_I386)
+# if !defined(LZO_TARGET_FEATURE_SSE2)
+# if defined(__SSE2__)
+# define LZO_TARGET_FEATURE_SSE2 1
+# elif defined(_MSC_VER) && (defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2))
+# define LZO_TARGET_FEATURE_SSE2 1
+# elif (LZO_CC_INTELC_MSC || LZO_CC_MSC) && defined(_M_AMD64)
+# define LZO_TARGET_FEATURE_SSE2 1
+# endif
+# endif
+# if !defined(LZO_TARGET_FEATURE_SSSE3)
+# if (LZO_TARGET_FEATURE_SSE2)
+# if defined(__SSSE3__)
+# define LZO_TARGET_FEATURE_SSSE3 1
+# elif defined(_MSC_VER) && defined(__AVX__)
+# define LZO_TARGET_FEATURE_SSSE3 1
+# endif
+# endif
+# endif
+# if !defined(LZO_TARGET_FEATURE_SSE4_2)
+# if (LZO_TARGET_FEATURE_SSSE3)
+# if defined(__SSE4_2__)
+# define LZO_TARGET_FEATURE_SSE4_2 1
+# endif
+# endif
+# endif
+# if !defined(LZO_TARGET_FEATURE_AVX)
+# if (LZO_TARGET_FEATURE_SSSE3)
+# if defined(__AVX__)
+# define LZO_TARGET_FEATURE_AVX 1
+# endif
+# endif
+# endif
+# if !defined(LZO_TARGET_FEATURE_AVX2)
+# if (LZO_TARGET_FEATURE_AVX)
+# if defined(__AVX2__)
+# define LZO_TARGET_FEATURE_AVX2 1
+# endif
+# endif
+# endif
+#endif
+#if (LZO_TARGET_FEATURE_SSSE3 && !(LZO_TARGET_FEATURE_SSE2))
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_TARGET_FEATURE_SSE4_2 && !(LZO_TARGET_FEATURE_SSSE3))
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_TARGET_FEATURE_AVX && !(LZO_TARGET_FEATURE_SSSE3))
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_TARGET_FEATURE_AVX2 && !(LZO_TARGET_FEATURE_AVX))
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_ARM)
+# if !defined(LZO_TARGET_FEATURE_NEON)
+# if defined(__ARM_NEON) && ((__ARM_NEON)+0)
+# define LZO_TARGET_FEATURE_NEON 1
+# elif 1 && defined(__ARM_NEON__) && ((__ARM_NEON__)+0)
+# define LZO_TARGET_FEATURE_NEON 1
+# elif 1 && defined(__TARGET_FEATURE_NEON) && ((__TARGET_FEATURE_NEON)+0)
+# define LZO_TARGET_FEATURE_NEON 1
+# endif
+# endif
+#elif (LZO_ARCH_ARM64)
+# if !defined(LZO_TARGET_FEATURE_NEON)
+# if 1
+# define LZO_TARGET_FEATURE_NEON 1
+# endif
# endif
#endif
-#if !defined(__LZO_MM_OVERRIDE)
+#if 0
+#elif !defined(__LZO_MM_OVERRIDE)
#if (LZO_ARCH_I086)
#if (UINT_MAX != LZO_0xffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
#endif
#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
# define LZO_MM_TINY 1
@@ -878,7 +1139,7 @@
#elif (LZO_CC_ZORTECHC && defined(__VCM__))
# define LZO_MM_LARGE 1
#else
-# error "unknown memory model"
+# error "unknown LZO_ARCH_I086 memory model"
#endif
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
#define LZO_HAVE_MM_HUGE_PTR 1
@@ -901,13 +1162,13 @@
#endif
#if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR)
# if (LZO_OS_DOS16)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# elif (LZO_CC_ZORTECHC)
# else
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
#endif
-#ifdef __cplusplus
+#if defined(__cplusplus)
extern "C" {
#endif
#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
@@ -930,13 +1191,13 @@ extern "C" {
#else
# error "FIXME - implement LZO_MM_AHSHIFT"
#endif
-#ifdef __cplusplus
+#if defined(__cplusplus)
}
#endif
#endif
#elif (LZO_ARCH_C166)
#if !defined(__MODEL__)
-# error "FIXME - C166 __MODEL__"
+# error "FIXME - LZO_ARCH_C166 __MODEL__"
#elif ((__MODEL__) == 0)
# define LZO_MM_SMALL 1
#elif ((__MODEL__) == 1)
@@ -950,11 +1211,11 @@ extern "C" {
#elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1
#else
-# error "FIXME - C166 __MODEL__"
+# error "FIXME - LZO_ARCH_C166 __MODEL__"
#endif
#elif (LZO_ARCH_MCS251)
#if !defined(__MODEL__)
-# error "FIXME - MCS251 __MODEL__"
+# error "FIXME - LZO_ARCH_MCS251 __MODEL__"
#elif ((__MODEL__) == 0)
# define LZO_MM_SMALL 1
#elif ((__MODEL__) == 2)
@@ -966,11 +1227,11 @@ extern "C" {
#elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1
#else
-# error "FIXME - MCS251 __MODEL__"
+# error "FIXME - LZO_ARCH_MCS251 __MODEL__"
#endif
#elif (LZO_ARCH_MCS51)
#if !defined(__MODEL__)
-# error "FIXME - MCS51 __MODEL__"
+# error "FIXME - LZO_ARCH_MCS51 __MODEL__"
#elif ((__MODEL__) == 1)
# define LZO_MM_SMALL 1
#elif ((__MODEL__) == 2)
@@ -982,7 +1243,7 @@ extern "C" {
#elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1
#else
-# error "FIXME - MCS51 __MODEL__"
+# error "FIXME - LZO_ARCH_MCS51 __MODEL__"
#endif
#elif (LZO_ARCH_CRAY_PVP)
# define LZO_MM_PVP 1
@@ -1009,462 +1270,314 @@ extern "C" {
# error "unknown memory model"
#endif
#endif
-#if defined(SIZEOF_SHORT)
-# define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
+#if !defined(__lzo_gnuc_extension__)
+#if (LZO_CC_GNUC >= 0x020800ul)
+# define __lzo_gnuc_extension__ __extension__
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define __lzo_gnuc_extension__ __extension__
+#elif (LZO_CC_IBMC >= 600)
+# define __lzo_gnuc_extension__ __extension__
#endif
-#if defined(SIZEOF_INT)
-# define LZO_SIZEOF_INT (SIZEOF_INT)
#endif
-#if defined(SIZEOF_LONG)
-# define LZO_SIZEOF_LONG (SIZEOF_LONG)
+#if !defined(__lzo_gnuc_extension__)
+# define __lzo_gnuc_extension__ /*empty*/
#endif
-#if defined(SIZEOF_LONG_LONG)
-# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG)
+#if !defined(lzo_has_builtin)
+#if (LZO_CC_CLANG) && defined(__has_builtin)
+# define lzo_has_builtin __has_builtin
#endif
-#if defined(SIZEOF___INT16)
-# define LZO_SIZEOF___INT16 (SIZEOF___INT16)
#endif
-#if defined(SIZEOF___INT32)
-# define LZO_SIZEOF___INT32 (SIZEOF___INT32)
+#if !defined(lzo_has_builtin)
+# define lzo_has_builtin(x) 0
#endif
-#if defined(SIZEOF___INT64)
-# define LZO_SIZEOF___INT64 (SIZEOF___INT64)
+#if !defined(lzo_has_attribute)
+#if (LZO_CC_CLANG) && defined(__has_attribute)
+# define lzo_has_attribute __has_attribute
#endif
-#if defined(SIZEOF_VOID_P)
-# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P)
#endif
-#if defined(SIZEOF_SIZE_T)
-# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T)
+#if !defined(lzo_has_attribute)
+# define lzo_has_attribute(x) 0
#endif
-#if defined(SIZEOF_PTRDIFF_T)
-# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T)
+#if !defined(lzo_has_declspec_attribute)
+#if (LZO_CC_CLANG) && defined(__has_declspec_attribute)
+# define lzo_has_declspec_attribute __has_declspec_attribute
#endif
-#define __LZO_LSR(x,b) (((x)+0ul) >> (b))
-#if !defined(LZO_SIZEOF_SHORT)
-# if (LZO_ARCH_CRAY_PVP)
-# define LZO_SIZEOF_SHORT 8
-# elif (USHRT_MAX == LZO_0xffffL)
-# define LZO_SIZEOF_SHORT 2
-# elif (__LZO_LSR(USHRT_MAX,7) == 1)
-# define LZO_SIZEOF_SHORT 1
-# elif (__LZO_LSR(USHRT_MAX,15) == 1)
-# define LZO_SIZEOF_SHORT 2
-# elif (__LZO_LSR(USHRT_MAX,31) == 1)
-# define LZO_SIZEOF_SHORT 4
-# elif (__LZO_LSR(USHRT_MAX,63) == 1)
-# define LZO_SIZEOF_SHORT 8
-# elif (__LZO_LSR(USHRT_MAX,127) == 1)
-# define LZO_SIZEOF_SHORT 16
+#endif
+#if !defined(lzo_has_declspec_attribute)
+# define lzo_has_declspec_attribute(x) 0
+#endif
+#if !defined(lzo_has_feature)
+#if (LZO_CC_CLANG) && defined(__has_feature)
+# define lzo_has_feature __has_feature
+#endif
+#endif
+#if !defined(lzo_has_feature)
+# define lzo_has_feature(x) 0
+#endif
+#if !defined(lzo_has_extension)
+#if (LZO_CC_CLANG) && defined(__has_extension)
+# define lzo_has_extension __has_extension
+#elif (LZO_CC_CLANG) && defined(__has_feature)
+# define lzo_has_extension __has_feature
+#endif
+#endif
+#if !defined(lzo_has_extension)
+# define lzo_has_extension(x) 0
+#endif
+#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0
+# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul))
+# define LZO_CFG_USE_NEW_STYLE_CASTS 0
+# elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1200))
+# define LZO_CFG_USE_NEW_STYLE_CASTS 0
# else
-# error "LZO_SIZEOF_SHORT"
+# define LZO_CFG_USE_NEW_STYLE_CASTS 1
# endif
#endif
-#if !defined(LZO_SIZEOF_INT)
-# if (LZO_ARCH_CRAY_PVP)
-# define LZO_SIZEOF_INT 8
-# elif (UINT_MAX == LZO_0xffffL)
-# define LZO_SIZEOF_INT 2
-# elif (UINT_MAX == LZO_0xffffffffL)
-# define LZO_SIZEOF_INT 4
-# elif (__LZO_LSR(UINT_MAX,7) == 1)
-# define LZO_SIZEOF_INT 1
-# elif (__LZO_LSR(UINT_MAX,15) == 1)
-# define LZO_SIZEOF_INT 2
-# elif (__LZO_LSR(UINT_MAX,31) == 1)
-# define LZO_SIZEOF_INT 4
-# elif (__LZO_LSR(UINT_MAX,63) == 1)
-# define LZO_SIZEOF_INT 8
-# elif (__LZO_LSR(UINT_MAX,127) == 1)
-# define LZO_SIZEOF_INT 16
-# else
-# error "LZO_SIZEOF_INT"
+#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_CFG_USE_NEW_STYLE_CASTS 0
+#endif
+#if !defined(__cplusplus)
+# if defined(LZO_CFG_USE_NEW_STYLE_CASTS)
+# undef LZO_CFG_USE_NEW_STYLE_CASTS
# endif
+# define LZO_CFG_USE_NEW_STYLE_CASTS 0
#endif
-#if !defined(LZO_SIZEOF_LONG)
-# if (ULONG_MAX == LZO_0xffffffffL)
-# define LZO_SIZEOF_LONG 4
-# elif (__LZO_LSR(ULONG_MAX,7) == 1)
-# define LZO_SIZEOF_LONG 1
-# elif (__LZO_LSR(ULONG_MAX,15) == 1)
-# define LZO_SIZEOF_LONG 2
-# elif (__LZO_LSR(ULONG_MAX,31) == 1)
-# define LZO_SIZEOF_LONG 4
-# elif (__LZO_LSR(ULONG_MAX,63) == 1)
-# define LZO_SIZEOF_LONG 8
-# elif (__LZO_LSR(ULONG_MAX,127) == 1)
-# define LZO_SIZEOF_LONG 16
-# else
-# error "LZO_SIZEOF_LONG"
+#if !defined(LZO_REINTERPRET_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_REINTERPRET_CAST(t,e) (reinterpret_cast (e))
# endif
#endif
-#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
-#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
-# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
-# if (LZO_CC_GNUC >= 0x030300ul)
-# if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
-# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
-# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
-# define LZO_SIZEOF_LONG_LONG 4
-# endif
-# endif
+#if !defined(LZO_REINTERPRET_CAST)
+# define LZO_REINTERPRET_CAST(t,e) ((t) (e))
+#endif
+#if !defined(LZO_STATIC_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_STATIC_CAST(t,e) (static_cast (e))
# endif
#endif
+#if !defined(LZO_STATIC_CAST)
+# define LZO_STATIC_CAST(t,e) ((t) (e))
#endif
-#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
-#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
-#if (LZO_ARCH_I086 && LZO_CC_DMC)
-#elif (LZO_CC_CILLY) && defined(__GNUC__)
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define LZO_SIZEOF_LONG_LONG 8
-#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_OS_WIN64 || defined(_WIN64))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
-# define LZO_SIZEOF___INT64 8
-#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
-#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-# define LZO_SIZEOF_LONG_LONG 8
+#if !defined(LZO_STATIC_CAST2)
+# define LZO_STATIC_CAST2(t1,t2,e) LZO_STATIC_CAST(t1, LZO_STATIC_CAST(t2, e))
#endif
-#endif
-#endif
-#if defined(__cplusplus) && (LZO_CC_GNUC)
-# if (LZO_CC_GNUC < 0x020800ul)
-# undef LZO_SIZEOF_LONG_LONG
+#if !defined(LZO_UNCONST_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_UNCONST_CAST(t,e) (const_cast (e))
+# elif (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_UNCONST_CAST(t,e) ((t) (e))
+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((const void *) (e)))))
# endif
#endif
-#if (LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG)
-# undef LZO_SIZEOF_LONG_LONG
+#if !defined(LZO_UNCONST_CAST)
+# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((const void *) (e))))
#endif
-#if !defined(LZO_SIZEOF_VOID_P)
-#if (LZO_ARCH_I086)
-# define __LZO_WORDSIZE 2
-# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
-# define LZO_SIZEOF_VOID_P 2
-# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
-# define LZO_SIZEOF_VOID_P 4
-# else
-# error "LZO_MM"
-# endif
-#elif (LZO_ARCH_AVR || LZO_ARCH_Z80)
-# define __LZO_WORDSIZE 1
-# define LZO_SIZEOF_VOID_P 2
-#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
-# define LZO_SIZEOF_VOID_P 2
-#elif (LZO_ARCH_H8300)
-# if defined(__NORMAL_MODE__)
-# define __LZO_WORDSIZE 4
-# define LZO_SIZEOF_VOID_P 2
-# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
-# define __LZO_WORDSIZE 4
-# define LZO_SIZEOF_VOID_P 4
-# else
-# define __LZO_WORDSIZE 2
-# define LZO_SIZEOF_VOID_P 2
+#if !defined(LZO_UNCONST_VOLATILE_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_UNCONST_VOLATILE_CAST(t,e) (const_cast (e))
+# elif (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) (e))
+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((lzo_uintptr_t) ((volatile const void *) (e)))))
# endif
-# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT
-# endif
-#elif (LZO_ARCH_M16C)
-# define __LZO_WORDSIZE 2
-# if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
-# define LZO_SIZEOF_VOID_P 4
-# else
-# define LZO_SIZEOF_VOID_P 2
-# endif
-#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
-# define __LZO_WORDSIZE 8
-# define LZO_SIZEOF_VOID_P 4
-#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
-# define __LZO_WORDSIZE 8
-# define LZO_SIZEOF_VOID_P 8
-#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
-# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
-#elif (LZO_OS_OS400 || defined(__OS400__))
-# define __LZO_WORDSIZE LZO_SIZEOF_LONG
-# define LZO_SIZEOF_VOID_P 16
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
-#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
-# define LZO_SIZEOF_VOID_P 8
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
-#elif (LZO_ARCH_SPU)
-# if 0
-# define __LZO_WORDSIZE 16
-# endif
-# define LZO_SIZEOF_VOID_P 4
-#else
-# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
#endif
+#if !defined(LZO_UNCONST_VOLATILE_CAST)
+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((volatile const void *) (e))))
#endif
-#if !defined(LZO_WORDSIZE)
-# if defined(__LZO_WORDSIZE)
-# define LZO_WORDSIZE __LZO_WORDSIZE
-# else
-# define LZO_WORDSIZE LZO_SIZEOF_VOID_P
+#if !defined(LZO_UNVOLATILE_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_UNVOLATILE_CAST(t,e) (const_cast (e))
+# elif (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_UNVOLATILE_CAST(t,e) ((t) (e))
+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((volatile void *) (e)))))
# endif
#endif
-#if !defined(LZO_SIZEOF_SIZE_T)
-#if (LZO_ARCH_I086 || LZO_ARCH_M16C)
-# define LZO_SIZEOF_SIZE_T 2
-#else
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P
-#endif
+#if !defined(LZO_UNVOLATILE_CAST)
+# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((volatile void *) (e))))
#endif
-#if !defined(LZO_SIZEOF_PTRDIFF_T)
-#if (LZO_ARCH_I086)
-# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P
-# elif (LZO_MM_COMPACT || LZO_MM_LARGE)
-# if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
-# define LZO_SIZEOF_PTRDIFF_T 4
-# else
-# define LZO_SIZEOF_PTRDIFF_T 2
-# endif
-# else
-# error "LZO_MM"
+#if !defined(LZO_UNVOLATILE_CONST_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_UNVOLATILE_CONST_CAST(t,e) (const_cast (e))
+# elif (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) (e))
+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((lzo_uintptr_t) ((volatile const void *) (e)))))
# endif
-#else
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
#endif
+#if !defined(LZO_UNVOLATILE_CONST_CAST)
+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((volatile const void *) (e))))
#endif
-#if (LZO_ABI_NEUTRAL_ENDIAN)
-# undef LZO_ABI_BIG_ENDIAN
-# undef LZO_ABI_LITTLE_ENDIAN
-#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN)
-#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
-# if (__LITTLE_ENDIAN__ == 1)
-# define LZO_ABI_LITTLE_ENDIAN 1
-# else
-# define LZO_ABI_BIG_ENDIAN 1
+#if !defined(LZO_PCAST)
+# if (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_PCAST(t,e) ((t) (e))
# endif
-#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#endif
-#endif
-#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN)
-# error "this should not happen"
#endif
-#if (LZO_ABI_BIG_ENDIAN)
-# define LZO_INFO_ABI_ENDIAN "be"
-#elif (LZO_ABI_LITTLE_ENDIAN)
-# define LZO_INFO_ABI_ENDIAN "le"
-#elif (LZO_ABI_NEUTRAL_ENDIAN)
-# define LZO_INFO_ABI_ENDIAN "neutral"
-#endif
-#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
-# define LZO_ABI_I8LP16 1
-# define LZO_INFO_ABI_PM "i8lp16"
-#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
-# define LZO_ABI_ILP16 1
-# define LZO_INFO_ABI_PM "ilp16"
-#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
-# define LZO_ABI_ILP32 1
-# define LZO_INFO_ABI_PM "ilp32"
-#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
-# define LZO_ABI_LLP64 1
-# define LZO_INFO_ABI_PM "llp64"
-#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
-# define LZO_ABI_LP64 1
-# define LZO_INFO_ABI_PM "lp64"
-#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
-# define LZO_ABI_ILP64 1
-# define LZO_INFO_ABI_PM "ilp64"
-#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
-# define LZO_ABI_IP32L64 1
-# define LZO_INFO_ABI_PM "ip32l64"
+#if !defined(LZO_PCAST)
+# define LZO_PCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(void *, e))
#endif
-#if !defined(__LZO_LIBC_OVERRIDE)
-#if (LZO_LIBC_NAKED)
-# define LZO_INFO_LIBC "naked"
-#elif (LZO_LIBC_FREESTANDING)
-# define LZO_INFO_LIBC "freestanding"
-#elif (LZO_LIBC_MOSTLY_FREESTANDING)
-# define LZO_INFO_LIBC "mfreestanding"
-#elif (LZO_LIBC_ISOC90)
-# define LZO_INFO_LIBC "isoc90"
-#elif (LZO_LIBC_ISOC99)
-# define LZO_INFO_LIBC "isoc99"
-#elif defined(__dietlibc__)
-# define LZO_LIBC_DIETLIBC 1
-# define LZO_INFO_LIBC "dietlibc"
-#elif defined(_NEWLIB_VERSION)
-# define LZO_LIBC_NEWLIB 1
-# define LZO_INFO_LIBC "newlib"
-#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
-# if defined(__UCLIBC_SUBLEVEL__)
-# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
-# else
-# define LZO_LIBC_UCLIBC 0x00090bL
+#if !defined(LZO_CCAST)
+# if (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_CCAST(t,e) ((t) (e))
# endif
-# define LZO_INFO_LIBC "uclibc"
-#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
-# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
-# define LZO_INFO_LIBC "glibc"
-#elif (LZO_CC_MWERKS) && defined(__MSL__)
-# define LZO_LIBC_MSL __MSL__
-# define LZO_INFO_LIBC "msl"
-#elif 1 && defined(__IAR_SYSTEMS_ICC__)
-# define LZO_LIBC_ISOC90 1
-# define LZO_INFO_LIBC "isoc90"
-#else
-# define LZO_LIBC_DEFAULT 1
-# define LZO_INFO_LIBC "default"
-#endif
-#endif
-#if !defined(__lzo_gnuc_extension__)
-#if (LZO_CC_GNUC >= 0x020800ul)
-# define __lzo_gnuc_extension__ __extension__
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define __lzo_gnuc_extension__ __extension__
-#else
-# define __lzo_gnuc_extension__ /*empty*/
#endif
+#if !defined(LZO_CCAST)
+# define LZO_CCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(const void *, e))
#endif
-#if !defined(__lzo_ua_volatile)
-# define __lzo_ua_volatile volatile
+#if !defined(LZO_ICONV)
+# define LZO_ICONV(t,e) LZO_STATIC_CAST(t, e)
#endif
-#if !defined(__lzo_alignof)
-#if (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
-# define __lzo_alignof(e) __alignof__(e)
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
-# define __lzo_alignof(e) __alignof__(e)
-#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
-# define __lzo_alignof(e) __alignof(e)
-#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
-# define __lzo_alignof(e) __alignof__(e)
+#if !defined(LZO_ICAST)
+# define LZO_ICAST(t,e) LZO_STATIC_CAST(t, e)
#endif
+#if !defined(LZO_ITRUNC)
+# define LZO_ITRUNC(t,e) LZO_STATIC_CAST(t, e)
#endif
-#if defined(__lzo_alignof)
-# define __lzo_HAVE_alignof 1
+#if !defined(__lzo_cte)
+# if (LZO_CC_MSC || LZO_CC_WATCOMC)
+# define __lzo_cte(e) ((void)0,(e))
+# elif 1
+# define __lzo_cte(e) ((void)0,(e))
+# endif
#endif
-#if !defined(__lzo_constructor)
-#if (LZO_CC_GNUC >= 0x030400ul)
-# define __lzo_constructor __attribute__((__constructor__,__used__))
-#elif (LZO_CC_GNUC >= 0x020700ul)
-# define __lzo_constructor __attribute__((__constructor__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define __lzo_constructor __attribute__((__constructor__))
+#if !defined(__lzo_cte)
+# define __lzo_cte(e) (e)
#endif
+#if !defined(LZO_BLOCK_BEGIN)
+# define LZO_BLOCK_BEGIN do {
+# define LZO_BLOCK_END } while __lzo_cte(0)
#endif
-#if defined(__lzo_constructor)
-# define __lzo_HAVE_constructor 1
+#if !defined(LZO_UNUSED)
+# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
+# define LZO_UNUSED(var) ((void) &var)
+# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
+# define LZO_UNUSED(var) if (&var) ; else
+# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030200ul))
+# define LZO_UNUSED(var) ((void) &var)
+# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNUSED(var) ((void) var)
+# elif (LZO_CC_MSC && (_MSC_VER < 900))
+# define LZO_UNUSED(var) if (&var) ; else
+# elif (LZO_CC_KEILC)
+# define LZO_UNUSED(var) {extern int lzo_unused__[1-2*!(sizeof(var)>0)]; (void)lzo_unused__;}
+# elif (LZO_CC_PACIFICC)
+# define LZO_UNUSED(var) ((void) sizeof(var))
+# elif (LZO_CC_WATCOMC) && defined(__cplusplus)
+# define LZO_UNUSED(var) ((void) var)
+# else
+# define LZO_UNUSED(var) ((void) &var)
+# endif
#endif
-#if !defined(__lzo_destructor)
-#if (LZO_CC_GNUC >= 0x030400ul)
-# define __lzo_destructor __attribute__((__destructor__,__used__))
-#elif (LZO_CC_GNUC >= 0x020700ul)
-# define __lzo_destructor __attribute__((__destructor__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define __lzo_destructor __attribute__((__destructor__))
+#if !defined(LZO_UNUSED_RESULT)
+# define LZO_UNUSED_RESULT(var) LZO_UNUSED(var)
#endif
+#if !defined(LZO_UNUSED_FUNC)
+# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
+# define LZO_UNUSED_FUNC(func) ((void) func)
+# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
+# define LZO_UNUSED_FUNC(func) if (func) ; else
+# elif (LZO_CC_CLANG || LZO_CC_LLVM)
+# define LZO_UNUSED_FUNC(func) ((void) &func)
+# elif (LZO_CC_MSC && (_MSC_VER < 900))
+# define LZO_UNUSED_FUNC(func) if (func) ; else
+# elif (LZO_CC_MSC)
+# define LZO_UNUSED_FUNC(func) ((void) &func)
+# elif (LZO_CC_KEILC || LZO_CC_PELLESC)
+# define LZO_UNUSED_FUNC(func) {extern int lzo_unused__[1-2*!(sizeof((int)func)>0)]; (void)lzo_unused__;}
+# else
+# define LZO_UNUSED_FUNC(func) ((void) func)
+# endif
#endif
-#if defined(__lzo_destructor)
-# define __lzo_HAVE_destructor 1
+#if !defined(LZO_UNUSED_LABEL)
+# if (LZO_CC_CLANG >= 0x020800ul)
+# define LZO_UNUSED_LABEL(l) (__lzo_gnuc_extension__ ((void) ((const void *) &&l)))
+# elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC)
+# define LZO_UNUSED_LABEL(l) if __lzo_cte(0) goto l
+# else
+# define LZO_UNUSED_LABEL(l) switch (0) case 1:goto l
+# endif
#endif
-#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor)
-# error "this should not happen"
+#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
+# if 0
+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
+# elif 0 && (LZO_CC_GNUC)
+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
+# else
+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
+# endif
#endif
#if !defined(__lzo_inline)
#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
#elif defined(__cplusplus)
# define __lzo_inline inline
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
+# define __lzo_inline inline
#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
# define __lzo_inline __inline
-#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
# define __lzo_inline __inline__
#elif (LZO_CC_DMC)
# define __lzo_inline __inline
+#elif (LZO_CC_GHS)
+# define __lzo_inline __inline__
+#elif (LZO_CC_IBMC >= 600)
+# define __lzo_inline __inline__
#elif (LZO_CC_INTELC)
# define __lzo_inline __inline
#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
# define __lzo_inline __inline
#elif (LZO_CC_MSC && (_MSC_VER >= 900))
# define __lzo_inline __inline
-#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_inline __inline__
-#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-# define __lzo_inline inline
#endif
#endif
#if defined(__lzo_inline)
+# ifndef __lzo_HAVE_inline
# define __lzo_HAVE_inline 1
+# endif
#else
# define __lzo_inline /*empty*/
#endif
#if !defined(__lzo_forceinline)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
# define __lzo_forceinline __forceinline
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_forceinline __forceinline
-#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#elif (LZO_CC_PGI >= 0x0d0a00ul)
+# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#endif
#endif
#if defined(__lzo_forceinline)
+# ifndef __lzo_HAVE_forceinline
# define __lzo_HAVE_forceinline 1
+# endif
#else
-# define __lzo_forceinline /*empty*/
+# define __lzo_forceinline __lzo_inline
#endif
#if !defined(__lzo_noinline)
#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul)
# define __lzo_noinline __attribute__((__noinline__,__used__))
#elif (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_noinline __attribute__((__noinline__))
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC)
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_noinline __attribute__((__noinline__))
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
# define __lzo_noinline __declspec(noinline)
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
# define __lzo_noinline __attribute__((__noinline__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_noinline __declspec(noinline)
@@ -1473,179 +1586,433 @@ extern "C" {
# else
# define __lzo_noinline __declspec(noinline)
# endif
-#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#elif (LZO_CC_PGI >= 0x0d0a00ul)
+# define __lzo_noinline __attribute__((__noinline__))
+#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_noinline __attribute__((__noinline__))
#endif
#endif
#if defined(__lzo_noinline)
+# ifndef __lzo_HAVE_noinline
# define __lzo_HAVE_noinline 1
+# endif
#else
# define __lzo_noinline /*empty*/
#endif
#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if !defined(__lzo_static_inline)
+#if (LZO_CC_IBMC)
+# define __lzo_static_inline __lzo_gnuc_extension__ static __lzo_inline
+#endif
+#endif
+#if !defined(__lzo_static_inline)
+# define __lzo_static_inline static __lzo_inline
+#endif
+#if !defined(__lzo_static_forceinline)
+#if (LZO_CC_IBMC)
+# define __lzo_static_forceinline __lzo_gnuc_extension__ static __lzo_forceinline
+#endif
+#endif
+#if !defined(__lzo_static_forceinline)
+# define __lzo_static_forceinline static __lzo_forceinline
+#endif
+#if !defined(__lzo_static_noinline)
+#if (LZO_CC_IBMC)
+# define __lzo_static_noinline __lzo_gnuc_extension__ static __lzo_noinline
+#endif
+#endif
+#if !defined(__lzo_static_noinline)
+# define __lzo_static_noinline static __lzo_noinline
+#endif
+#if !defined(__lzo_c99_extern_inline)
+#if defined(__GNUC_GNU_INLINE__)
+# define __lzo_c99_extern_inline __lzo_inline
+#elif defined(__GNUC_STDC_INLINE__)
+# define __lzo_c99_extern_inline extern __lzo_inline
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
+# define __lzo_c99_extern_inline extern __lzo_inline
+#endif
+#if !defined(__lzo_c99_extern_inline) && (__lzo_HAVE_inline)
+# define __lzo_c99_extern_inline __lzo_inline
+#endif
+#endif
+#if defined(__lzo_c99_extern_inline)
+# ifndef __lzo_HAVE_c99_extern_inline
+# define __lzo_HAVE_c99_extern_inline 1
+# endif
+#else
+# define __lzo_c99_extern_inline /*empty*/
+#endif
+#if !defined(__lzo_may_alias)
+#if (LZO_CC_GNUC >= 0x030400ul)
+# define __lzo_may_alias __attribute__((__may_alias__))
+#elif (LZO_CC_CLANG >= 0x020900ul)
+# define __lzo_may_alias __attribute__((__may_alias__))
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0
+# define __lzo_may_alias __attribute__((__may_alias__))
+#elif (LZO_CC_PGI >= 0x0d0a00ul) && 0
+# define __lzo_may_alias __attribute__((__may_alias__))
+#endif
+#endif
+#if defined(__lzo_may_alias)
+# ifndef __lzo_HAVE_may_alias
+# define __lzo_HAVE_may_alias 1
+# endif
+#else
+# define __lzo_may_alias /*empty*/
#endif
#if !defined(__lzo_noreturn)
#if (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_noreturn __attribute__((__noreturn__))
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_noreturn __attribute__((__noreturn__))
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
# define __lzo_noreturn __declspec(noreturn)
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
# define __lzo_noreturn __attribute__((__noreturn__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_noreturn __declspec(noreturn)
+#elif (LZO_CC_PGI >= 0x0d0a00ul)
+# define __lzo_noreturn __attribute__((__noreturn__))
#endif
#endif
#if defined(__lzo_noreturn)
+# ifndef __lzo_HAVE_noreturn
# define __lzo_HAVE_noreturn 1
+# endif
#else
# define __lzo_noreturn /*empty*/
#endif
#if !defined(__lzo_nothrow)
#if (LZO_CC_GNUC >= 0x030300ul)
# define __lzo_nothrow __attribute__((__nothrow__))
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus)
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 900) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900))
# define __lzo_nothrow __attribute__((__nothrow__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#endif
#endif
#if defined(__lzo_nothrow)
+# ifndef __lzo_HAVE_nothrow
# define __lzo_HAVE_nothrow 1
+# endif
#else
# define __lzo_nothrow /*empty*/
#endif
#if !defined(__lzo_restrict)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_restrict __restrict__
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_IBMC >= 800) && !defined(__cplusplus)
# define __lzo_restrict __restrict__
-#elif (LZO_CC_CLANG || LZO_CC_LLVM)
+#elif (LZO_CC_IBMC >= 1210)
+# define __lzo_restrict __restrict__
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
+# define __lzo_restrict __restrict__
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM)
# define __lzo_restrict __restrict__
#elif (LZO_CC_MSC && (_MSC_VER >= 1400))
# define __lzo_restrict __restrict
+#elif (LZO_CC_PGI >= 0x0d0a00ul)
+# define __lzo_restrict __restrict__
#endif
#endif
#if defined(__lzo_restrict)
+# ifndef __lzo_HAVE_restrict
# define __lzo_HAVE_restrict 1
+# endif
#else
# define __lzo_restrict /*empty*/
#endif
+#if !defined(__lzo_alignof)
+#if (LZO_CC_ARMCC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+# define __lzo_alignof(e) __alignof__(e)
+#elif (LZO_CC_GHS) && !defined(__cplusplus)
+# define __lzo_alignof(e) __alignof__(e)
+#elif (LZO_CC_IBMC >= 600)
+# define __lzo_alignof(e) (__lzo_gnuc_extension__ __alignof__(e))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
+# define __lzo_alignof(e) __alignof__(e)
+#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
+# define __lzo_alignof(e) __alignof(e)
+#elif (LZO_CC_SUNPROC >= 0x5100)
+# define __lzo_alignof(e) __alignof__(e)
+#endif
+#endif
+#if defined(__lzo_alignof)
+# ifndef __lzo_HAVE_alignof
+# define __lzo_HAVE_alignof 1
+# endif
+#endif
+#if !defined(__lzo_struct_packed)
+#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul))
+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul))
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
+#elif (LZO_CC_GNUC >= 0x030400ul) && !(LZO_CC_PCC_GNUC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
+# define __lzo_struct_packed(s) struct s {
+# define __lzo_struct_packed_end() } __attribute__((__gcc_struct__,__packed__));
+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__gcc_struct__,__packed__));
+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100))
+# define __lzo_struct_packed(s) struct s {
+# define __lzo_struct_packed_end() } __attribute__((__packed__));
+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__));
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_struct_packed(s) __lzo_gnuc_extension__ struct s {
+# define __lzo_struct_packed_end() } __attribute__((__packed__));
+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__));
+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
+# define __lzo_struct_packed(s) __pragma(pack(push,1)) struct s {
+# define __lzo_struct_packed_end() } __pragma(pack(pop));
+#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900))
+# define __lzo_struct_packed(s) _Packed struct s {
+# define __lzo_struct_packed_end() };
+#endif
+#endif
+#if defined(__lzo_struct_packed) && !defined(__lzo_struct_packed_ma)
+# define __lzo_struct_packed_ma(s) __lzo_struct_packed(s)
+#endif
+#if defined(__lzo_struct_packed_end) && !defined(__lzo_struct_packed_ma_end)
+# define __lzo_struct_packed_ma_end() __lzo_struct_packed_end()
+#endif
+#if !defined(__lzo_byte_struct)
+#if defined(__lzo_struct_packed)
+# define __lzo_byte_struct(s,n) __lzo_struct_packed(s) unsigned char a[n]; __lzo_struct_packed_end()
+# define __lzo_byte_struct_ma(s,n) __lzo_struct_packed_ma(s) unsigned char a[n]; __lzo_struct_packed_ma_end()
+#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_PGI || (LZO_CC_SUNPROC >= 0x5100))
+# define __lzo_byte_struct(s,n) struct s { unsigned char a[n]; } __attribute__((__packed__));
+# define __lzo_byte_struct_ma(s,n) struct s { unsigned char a[n]; } __lzo_may_alias __attribute__((__packed__));
+#endif
+#endif
+#if defined(__lzo_byte_struct) && !defined(__lzo_byte_struct_ma)
+# define __lzo_byte_struct_ma(s,n) __lzo_byte_struct(s,n)
+#endif
+#if !defined(__lzo_struct_align16) && (__lzo_HAVE_alignof)
+#if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul))
+#elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_CILLY || LZO_CC_PCC)
+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
+# define __lzo_struct_align16(s) struct __declspec(align(16)) s {
+# define __lzo_struct_align16_end() };
+# define __lzo_struct_align32(s) struct __declspec(align(32)) s {
+# define __lzo_struct_align32_end() };
+# define __lzo_struct_align64(s) struct __declspec(align(64)) s {
+# define __lzo_struct_align64_end() };
+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || (LZO_CC_IBMC >= 700) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define __lzo_struct_align16(s) struct s {
+# define __lzo_struct_align16_end() } __attribute__((__aligned__(16)));
+# define __lzo_struct_align32(s) struct s {
+# define __lzo_struct_align32_end() } __attribute__((__aligned__(32)));
+# define __lzo_struct_align64(s) struct s {
+# define __lzo_struct_align64_end() } __attribute__((__aligned__(64)));
+#endif
+#endif
+#if !defined(__lzo_union_um)
+#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul))
+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER < 810))
+#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul))
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100))
+# define __lzo_union_am(s) union s {
+# define __lzo_union_am_end() } __lzo_may_alias;
+# define __lzo_union_um(s) union s {
+# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__));
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_union_am(s) __lzo_gnuc_extension__ union s {
+# define __lzo_union_am_end() } __lzo_may_alias;
+# define __lzo_union_um(s) __lzo_gnuc_extension__ union s {
+# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__));
+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
+# define __lzo_union_um(s) __pragma(pack(push,1)) union s {
+# define __lzo_union_um_end() } __pragma(pack(pop));
+#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900))
+# define __lzo_union_um(s) _Packed union s {
+# define __lzo_union_um_end() };
+#endif
+#endif
+#if !defined(__lzo_union_am)
+# define __lzo_union_am(s) union s {
+# define __lzo_union_am_end() };
+#endif
+#if !defined(__lzo_constructor)
+#if (LZO_CC_GNUC >= 0x030400ul)
+# define __lzo_constructor __attribute__((__constructor__,__used__))
+#elif (LZO_CC_GNUC >= 0x020700ul)
+# define __lzo_constructor __attribute__((__constructor__))
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
+# define __lzo_constructor __attribute__((__constructor__,__used__))
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define __lzo_constructor __attribute__((__constructor__))
+#endif
+#endif
+#if defined(__lzo_constructor)
+# ifndef __lzo_HAVE_constructor
+# define __lzo_HAVE_constructor 1
+# endif
+#endif
+#if !defined(__lzo_destructor)
+#if (LZO_CC_GNUC >= 0x030400ul)
+# define __lzo_destructor __attribute__((__destructor__,__used__))
+#elif (LZO_CC_GNUC >= 0x020700ul)
+# define __lzo_destructor __attribute__((__destructor__))
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
+# define __lzo_destructor __attribute__((__destructor__,__used__))
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define __lzo_destructor __attribute__((__destructor__))
+#endif
+#endif
+#if defined(__lzo_destructor)
+# ifndef __lzo_HAVE_destructor
+# define __lzo_HAVE_destructor 1
+# endif
+#endif
+#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor)
+# error "unexpected configuration - check your compiler defines"
+#endif
#if !defined(__lzo_likely) && !defined(__lzo_unlikely)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
+#elif (LZO_CC_IBMC >= 1010)
+# define __lzo_likely(e) (__builtin_expect(!!(e),1))
+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_CLANG && LZO_CC_CLANG_C2)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#endif
#endif
#if defined(__lzo_likely)
+# ifndef __lzo_HAVE_likely
# define __lzo_HAVE_likely 1
+# endif
+#else
+# define __lzo_likely(e) (e)
+#endif
+#if defined(__lzo_very_likely)
+# ifndef __lzo_HAVE_very_likely
+# define __lzo_HAVE_very_likely 1
+# endif
#else
-# define __lzo_likely(e) (e)
+# define __lzo_very_likely(e) __lzo_likely(e)
#endif
#if defined(__lzo_unlikely)
+# ifndef __lzo_HAVE_unlikely
# define __lzo_HAVE_unlikely 1
+# endif
#else
-# define __lzo_unlikely(e) (e)
+# define __lzo_unlikely(e) (e)
#endif
-#if !defined(LZO_UNUSED)
-# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
-# define LZO_UNUSED(var) ((void) &var)
-# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
-# define LZO_UNUSED(var) if (&var) ; else
-# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define LZO_UNUSED(var) ((void) var)
-# elif (LZO_CC_MSC && (_MSC_VER < 900))
-# define LZO_UNUSED(var) if (&var) ; else
-# elif (LZO_CC_KEILC)
-# define LZO_UNUSED(var) {extern int __lzo_unused[1-2*!(sizeof(var)>0)];}
-# elif (LZO_CC_PACIFICC)
-# define LZO_UNUSED(var) ((void) sizeof(var))
-# elif (LZO_CC_WATCOMC) && defined(__cplusplus)
-# define LZO_UNUSED(var) ((void) var)
-# else
-# define LZO_UNUSED(var) ((void) &var)
+#if defined(__lzo_very_unlikely)
+# ifndef __lzo_HAVE_very_unlikely
+# define __lzo_HAVE_very_unlikely 1
# endif
+#else
+# define __lzo_very_unlikely(e) __lzo_unlikely(e)
#endif
-#if !defined(LZO_UNUSED_FUNC)
-# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
-# define LZO_UNUSED_FUNC(func) ((void) func)
-# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
-# define LZO_UNUSED_FUNC(func) if (func) ; else
-# elif (LZO_CC_CLANG || LZO_CC_LLVM)
-# define LZO_UNUSED_FUNC(func) ((void) &func)
-# elif (LZO_CC_MSC && (_MSC_VER < 900))
-# define LZO_UNUSED_FUNC(func) if (func) ; else
-# elif (LZO_CC_MSC)
-# define LZO_UNUSED_FUNC(func) ((void) &func)
-# elif (LZO_CC_KEILC || LZO_CC_PELLESC)
-# define LZO_UNUSED_FUNC(func) {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];}
+#if !defined(__lzo_loop_forever)
+# if (LZO_CC_IBMC)
+# define __lzo_loop_forever() LZO_BLOCK_BEGIN for (;;) { ; } LZO_BLOCK_END
# else
-# define LZO_UNUSED_FUNC(func) ((void) func)
+# define __lzo_loop_forever() do { ; } while __lzo_cte(1)
# endif
#endif
-#if !defined(LZO_UNUSED_LABEL)
-# if (LZO_CC_WATCOMC) && defined(__cplusplus)
-# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
-# elif (LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC)
-# define LZO_UNUSED_LABEL(l) if (0) goto l
-# else
-# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
-# endif
+#if !defined(__lzo_unreachable)
+#if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x020800ul)) && lzo_has_builtin(__builtin_unreachable)
+# define __lzo_unreachable() __builtin_unreachable();
+#elif (LZO_CC_GNUC >= 0x040500ul)
+# define __lzo_unreachable() __builtin_unreachable();
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1
+# define __lzo_unreachable() __builtin_unreachable();
#endif
-#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
+#endif
+#if defined(__lzo_unreachable)
+# ifndef __lzo_HAVE_unreachable
+# define __lzo_HAVE_unreachable 1
+# endif
+#else
# if 0
-# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
-# elif 0 && (LZO_CC_GNUC)
-# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
+# define __lzo_unreachable() ((void)0);
# else
-# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
+# define __lzo_unreachable() __lzo_loop_forever();
# endif
#endif
-#if !defined(LZO_UNCONST_CAST)
-# if 0 && defined(__cplusplus)
-# define LZO_UNCONST_CAST(t,e) (const_cast (e))
-# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((char *) ((lzo_uintptr_t) ((const void *) (e))))))
+#if !defined(lzo_unused_funcs_impl)
+# if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+# define lzo_unused_funcs_impl(r,f) static r __attribute__((__unused__)) f
+# elif 1 && (LZO_CC_BORLANDC || LZO_CC_GNUC)
+# define lzo_unused_funcs_impl(r,f) static r f
# else
-# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((char *) ((const void *) (e)))))
+# define lzo_unused_funcs_impl(r,f) __lzo_static_forceinline r f
# endif
#endif
+#ifndef __LZO_CTA_NAME
+#if (LZO_CFG_USE_COUNTER)
+# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__COUNTER__)
+#else
+# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__LINE__)
+#endif
+#endif
#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
-# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
-# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1u-2*!(e)];
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1u-2*!(e)]; LZO_EXTERN_C_END
# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
-# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END
+# elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020900ul)) && defined(__cplusplus)
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN int __LZO_CTA_NAME(lzo_cta_f__)(int [1-2*!(e)]); LZO_EXTERN_C_END
+# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__)); LZO_EXTERN_C_END
# else
-# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-2*!(e)];
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-2*!(e)]; LZO_EXTERN_C_END
# endif
#endif
#if !defined(LZO_COMPILE_TIME_ASSERT)
# if (LZO_CC_AZTECC)
-# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-!(e)];}
+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-!(e)];}
+# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030000ul))
+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));}
# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
+# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
+# define LZO_COMPILE_TIME_ASSERT(e) {(void) (0/!!(e));}
+# elif (LZO_CC_GNUC >= 0x040700ul) && (LZO_CFG_USE_COUNTER) && defined(__cplusplus)
+# define LZO_COMPILE_TIME_ASSERT(e) {enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__));}
+# elif (LZO_CC_GNUC >= 0x040700ul)
+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));}
# elif (LZO_CC_MSC && (_MSC_VER < 900))
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# else
-# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-2*!(e)];}
+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];}
# endif
#endif
+#if (LZO_LANG_ASSEMBLER)
+# undef LZO_COMPILE_TIME_ASSERT_HEADER
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) /*empty*/
+#else
+LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1)
+#if defined(__cplusplus)
+extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) }
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3)
+#endif
#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
@@ -1680,98 +2047,708 @@ extern "C" {
# elif defined(_MT)
# define __lzo_cdecl_sighandler _far _cdecl
# else
-# define __lzo_cdecl_sighandler _cdecl
+# define __lzo_cdecl_sighandler _cdecl
+# endif
+# else
+# define __lzo_cdecl_sighandler __cdecl
+# endif
+#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
+# define __lzo_cdecl __cdecl
+#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
+# define __lzo_cdecl cdecl
+#endif
+#if !defined(__lzo_cdecl)
+# define __lzo_cdecl /*empty*/
+#endif
+#if !defined(__lzo_cdecl_atexit)
+# define __lzo_cdecl_atexit /*empty*/
+#endif
+#if !defined(__lzo_cdecl_main)
+# define __lzo_cdecl_main /*empty*/
+#endif
+#if !defined(__lzo_cdecl_qsort)
+# define __lzo_cdecl_qsort /*empty*/
+#endif
+#if !defined(__lzo_cdecl_sighandler)
+# define __lzo_cdecl_sighandler /*empty*/
+#endif
+#if !defined(__lzo_cdecl_va)
+# define __lzo_cdecl_va __lzo_cdecl
+#endif
+#if !(LZO_CFG_NO_WINDOWS_H)
+#if !defined(LZO_HAVE_WINDOWS_H)
+#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
+# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
+# elif ((LZO_OS_WIN32 && defined(__PW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul)))
+# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
+# else
+# define LZO_HAVE_WINDOWS_H 1
+# endif
+#endif
+#endif
+#endif
+#define LZO_SIZEOF_CHAR 1
+#ifndef LZO_SIZEOF_SHORT
+#if defined(SIZEOF_SHORT)
+# define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
+#elif defined(__SIZEOF_SHORT__)
+# define LZO_SIZEOF_SHORT (__SIZEOF_SHORT__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_INT
+#if defined(SIZEOF_INT)
+# define LZO_SIZEOF_INT (SIZEOF_INT)
+#elif defined(__SIZEOF_INT__)
+# define LZO_SIZEOF_INT (__SIZEOF_INT__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_LONG
+#if defined(SIZEOF_LONG)
+# define LZO_SIZEOF_LONG (SIZEOF_LONG)
+#elif defined(__SIZEOF_LONG__)
+# define LZO_SIZEOF_LONG (__SIZEOF_LONG__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_LONG_LONG
+#if defined(SIZEOF_LONG_LONG)
+# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG)
+#elif defined(__SIZEOF_LONG_LONG__)
+# define LZO_SIZEOF_LONG_LONG (__SIZEOF_LONG_LONG__)
+#endif
+#endif
+#ifndef LZO_SIZEOF___INT16
+#if defined(SIZEOF___INT16)
+# define LZO_SIZEOF___INT16 (SIZEOF___INT16)
+#endif
+#endif
+#ifndef LZO_SIZEOF___INT32
+#if defined(SIZEOF___INT32)
+# define LZO_SIZEOF___INT32 (SIZEOF___INT32)
+#endif
+#endif
+#ifndef LZO_SIZEOF___INT64
+#if defined(SIZEOF___INT64)
+# define LZO_SIZEOF___INT64 (SIZEOF___INT64)
+#endif
+#endif
+#ifndef LZO_SIZEOF_VOID_P
+#if defined(SIZEOF_VOID_P)
+# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P)
+#elif defined(__SIZEOF_POINTER__)
+# define LZO_SIZEOF_VOID_P (__SIZEOF_POINTER__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_SIZE_T
+#if defined(SIZEOF_SIZE_T)
+# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T)
+#elif defined(__SIZEOF_SIZE_T__)
+# define LZO_SIZEOF_SIZE_T (__SIZEOF_SIZE_T__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_PTRDIFF_T
+#if defined(SIZEOF_PTRDIFF_T)
+# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T)
+#elif defined(__SIZEOF_PTRDIFF_T__)
+# define LZO_SIZEOF_PTRDIFF_T (__SIZEOF_PTRDIFF_T__)
+#endif
+#endif
+#define __LZO_LSR(x,b) (((x)+0ul) >> (b))
+#if !defined(LZO_SIZEOF_SHORT)
+# if (LZO_ARCH_CRAY_PVP)
+# define LZO_SIZEOF_SHORT 8
+# elif (USHRT_MAX == LZO_0xffffL)
+# define LZO_SIZEOF_SHORT 2
+# elif (__LZO_LSR(USHRT_MAX,7) == 1)
+# define LZO_SIZEOF_SHORT 1
+# elif (__LZO_LSR(USHRT_MAX,15) == 1)
+# define LZO_SIZEOF_SHORT 2
+# elif (__LZO_LSR(USHRT_MAX,31) == 1)
+# define LZO_SIZEOF_SHORT 4
+# elif (__LZO_LSR(USHRT_MAX,63) == 1)
+# define LZO_SIZEOF_SHORT 8
+# elif (__LZO_LSR(USHRT_MAX,127) == 1)
+# define LZO_SIZEOF_SHORT 16
+# else
+# error "LZO_SIZEOF_SHORT"
+# endif
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SHORT == sizeof(short))
+#if !defined(LZO_SIZEOF_INT)
+# if (LZO_ARCH_CRAY_PVP)
+# define LZO_SIZEOF_INT 8
+# elif (UINT_MAX == LZO_0xffffL)
+# define LZO_SIZEOF_INT 2
+# elif (UINT_MAX == LZO_0xffffffffL)
+# define LZO_SIZEOF_INT 4
+# elif (__LZO_LSR(UINT_MAX,7) == 1)
+# define LZO_SIZEOF_INT 1
+# elif (__LZO_LSR(UINT_MAX,15) == 1)
+# define LZO_SIZEOF_INT 2
+# elif (__LZO_LSR(UINT_MAX,31) == 1)
+# define LZO_SIZEOF_INT 4
+# elif (__LZO_LSR(UINT_MAX,63) == 1)
+# define LZO_SIZEOF_INT 8
+# elif (__LZO_LSR(UINT_MAX,127) == 1)
+# define LZO_SIZEOF_INT 16
+# else
+# error "LZO_SIZEOF_INT"
+# endif
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_INT == sizeof(int))
+#if !defined(LZO_SIZEOF_LONG)
+# if (ULONG_MAX == LZO_0xffffffffL)
+# define LZO_SIZEOF_LONG 4
+# elif (__LZO_LSR(ULONG_MAX,7) == 1)
+# define LZO_SIZEOF_LONG 1
+# elif (__LZO_LSR(ULONG_MAX,15) == 1)
+# define LZO_SIZEOF_LONG 2
+# elif (__LZO_LSR(ULONG_MAX,31) == 1)
+# define LZO_SIZEOF_LONG 4
+# elif (__LZO_LSR(ULONG_MAX,39) == 1)
+# define LZO_SIZEOF_LONG 5
+# elif (__LZO_LSR(ULONG_MAX,63) == 1)
+# define LZO_SIZEOF_LONG 8
+# elif (__LZO_LSR(ULONG_MAX,127) == 1)
+# define LZO_SIZEOF_LONG 16
+# else
+# error "LZO_SIZEOF_LONG"
+# endif
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long))
+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
+# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
+# if (LZO_CC_GNUC >= 0x030300ul)
+# if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0))
+# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
+# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
+# define LZO_SIZEOF_LONG_LONG 4
+# endif
+# endif
+# endif
+#endif
+#endif
+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
+#if (LZO_ARCH_I086 && LZO_CC_DMC)
+#elif (LZO_CC_CILLY) && defined(__GNUC__)
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_SIZEOF_LONG_LONG 8
+#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_OS_WIN64 || defined(_WIN64))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
+# define LZO_SIZEOF___INT64 8
+#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64)
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
+#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+# define LZO_SIZEOF_LONG_LONG 8
+#endif
+#endif
+#endif
+#if defined(__cplusplus) && (LZO_CC_GNUC)
+# if (LZO_CC_GNUC < 0x020800ul)
+# undef LZO_SIZEOF_LONG_LONG
+# endif
+#endif
+#if (LZO_CFG_NO_LONG_LONG)
+# undef LZO_SIZEOF_LONG_LONG
+#elif defined(__NO_LONG_LONG)
+# undef LZO_SIZEOF_LONG_LONG
+#elif defined(_NO_LONGLONG)
+# undef LZO_SIZEOF_LONG_LONG
+#endif
+#if !defined(LZO_WORDSIZE)
+#if (LZO_ARCH_ALPHA)
+# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_AMD64)
+# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_ARM64)
+# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_AVR)
+# define LZO_WORDSIZE 1
+#elif (LZO_ARCH_H8300)
+# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+# define LZO_WORDSIZE 4
+# else
+# define LZO_WORDSIZE 2
+# endif
+#elif (LZO_ARCH_I086)
+# define LZO_WORDSIZE 2
+#elif (LZO_ARCH_IA64)
+# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_M16C)
+# define LZO_WORDSIZE 2
+#elif (LZO_ARCH_SPU)
+# define LZO_WORDSIZE 4
+#elif (LZO_ARCH_Z80)
+# define LZO_WORDSIZE 1
+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+# define LZO_WORDSIZE 8
+#elif (LZO_OS_OS400 || defined(__OS400__))
+# define LZO_WORDSIZE 8
+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
+# define LZO_WORDSIZE 8
+#endif
+#endif
+#if !defined(LZO_SIZEOF_VOID_P)
+#if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
+# define LZO_SIZEOF_VOID_P 4
+#elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
+# define LZO_SIZEOF_VOID_P 8
+#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
+# define LZO_SIZEOF_VOID_P 8
+#elif defined(__LP64__) || defined(__LP64) || defined(_LP64)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
+# define LZO_SIZEOF_VOID_P 8
+#elif (LZO_ARCH_AVR)
+# define LZO_SIZEOF_VOID_P 2
+#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
+# define LZO_SIZEOF_VOID_P 2
+#elif (LZO_ARCH_H8300)
+# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 4)
+# if defined(__NORMAL_MODE__)
+# define LZO_SIZEOF_VOID_P 2
+# else
+# define LZO_SIZEOF_VOID_P 4
+# endif
+# else
+ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 2)
+# define LZO_SIZEOF_VOID_P 2
+# endif
+# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT
+# endif
+#elif (LZO_ARCH_I086)
+# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
+# define LZO_SIZEOF_VOID_P 2
+# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
+# define LZO_SIZEOF_VOID_P 4
+# else
+# error "invalid LZO_ARCH_I086 memory model"
+# endif
+#elif (LZO_ARCH_M16C)
+# if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
+# define LZO_SIZEOF_VOID_P 4
+# else
+# define LZO_SIZEOF_VOID_P 2
+# endif
+#elif (LZO_ARCH_SPU)
+# define LZO_SIZEOF_VOID_P 4
+#elif (LZO_ARCH_Z80)
+# define LZO_SIZEOF_VOID_P 2
+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+# define LZO_SIZEOF_VOID_P 4
+#elif (LZO_OS_OS400 || defined(__OS400__))
+# if defined(__LLP64_IFC__)
+# define LZO_SIZEOF_VOID_P 8
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
+# else
+# define LZO_SIZEOF_VOID_P 16
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
+# endif
+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
+# define LZO_SIZEOF_VOID_P 8
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
+#endif
+#endif
+#if !defined(LZO_SIZEOF_VOID_P)
+# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_VOID_P == sizeof(void *))
+#if !defined(LZO_SIZEOF_SIZE_T)
+#if (LZO_ARCH_I086 || LZO_ARCH_M16C)
+# define LZO_SIZEOF_SIZE_T 2
+#endif
+#endif
+#if !defined(LZO_SIZEOF_SIZE_T)
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P
+#endif
+#if defined(offsetof)
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SIZE_T == sizeof(size_t))
+#endif
+#if !defined(LZO_SIZEOF_PTRDIFF_T)
+#if (LZO_ARCH_I086)
+# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P
+# elif (LZO_MM_COMPACT || LZO_MM_LARGE)
+# if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
+# define LZO_SIZEOF_PTRDIFF_T 4
+# else
+# define LZO_SIZEOF_PTRDIFF_T 2
# endif
# else
-# define __lzo_cdecl_sighandler __cdecl
+# error "invalid LZO_ARCH_I086 memory model"
# endif
-#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
-# define __lzo_cdecl __cdecl
-#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
-# define __lzo_cdecl cdecl
#endif
-#if !defined(__lzo_cdecl)
-# define __lzo_cdecl /*empty*/
#endif
-#if !defined(__lzo_cdecl_atexit)
-# define __lzo_cdecl_atexit /*empty*/
+#if !defined(LZO_SIZEOF_PTRDIFF_T)
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
#endif
-#if !defined(__lzo_cdecl_main)
-# define __lzo_cdecl_main /*empty*/
+#if defined(offsetof)
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
#endif
-#if !defined(__lzo_cdecl_qsort)
-# define __lzo_cdecl_qsort /*empty*/
+#if !defined(LZO_WORDSIZE)
+# define LZO_WORDSIZE LZO_SIZEOF_VOID_P
#endif
-#if !defined(__lzo_cdecl_sighandler)
-# define __lzo_cdecl_sighandler /*empty*/
+#if (LZO_ABI_NEUTRAL_ENDIAN)
+# undef LZO_ABI_BIG_ENDIAN
+# undef LZO_ABI_LITTLE_ENDIAN
+#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN)
+#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430 || LZO_ARCH_RISCV)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
+# if (__LITTLE_ENDIAN__ == 1)
+# define LZO_ABI_LITTLE_ENDIAN 1
+# else
+# define LZO_ABI_BIG_ENDIAN 1
+# endif
+#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC)
+# if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
+# error "unexpected configuration - check your compiler defines"
+# elif defined(__BIG_ENDIAN)
+# define LZO_ABI_BIG_ENDIAN 1
+# else
+# define LZO_ABI_LITTLE_ENDIAN 1
+# endif
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
+# define LZO_ABI_LITTLE_ENDIAN 1
#endif
-#if !defined(__lzo_cdecl_va)
-# define __lzo_cdecl_va __lzo_cdecl
#endif
-#if !(LZO_CFG_NO_WINDOWS_H)
-#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
-# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
-# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
-# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
+#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ABI_BIG_ENDIAN)
+# define LZO_INFO_ABI_ENDIAN "be"
+#elif (LZO_ABI_LITTLE_ENDIAN)
+# define LZO_INFO_ABI_ENDIAN "le"
+#elif (LZO_ABI_NEUTRAL_ENDIAN)
+# define LZO_INFO_ABI_ENDIAN "neutral"
+#endif
+#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
+# define LZO_ABI_I8LP16 1
+# define LZO_INFO_ABI_PM "i8lp16"
+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
+# define LZO_ABI_ILP16 1
+# define LZO_INFO_ABI_PM "ilp16"
+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
+# define LZO_ABI_LP32 1
+# define LZO_INFO_ABI_PM "lp32"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
+# define LZO_ABI_ILP32 1
+# define LZO_INFO_ABI_PM "ilp32"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
+# define LZO_ABI_LLP64 1
+# define LZO_INFO_ABI_PM "llp64"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
+# define LZO_ABI_LP64 1
+# define LZO_INFO_ABI_PM "lp64"
+#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
+# define LZO_ABI_ILP64 1
+# define LZO_INFO_ABI_PM "ilp64"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
+# define LZO_ABI_IP32L64 1
+# define LZO_INFO_ABI_PM "ip32l64"
+#endif
+#if (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_VOID_P == 4 && LZO_WORDSIZE == 8)
+# define LZO_ABI_IP32W64 1
+# ifndef LZO_INFO_ABI_PM
+# define LZO_INFO_ABI_PM "ip32w64"
+# endif
+#endif
+#if 0
+#elif !defined(__LZO_LIBC_OVERRIDE)
+#if (LZO_LIBC_NAKED)
+# define LZO_INFO_LIBC "naked"
+#elif (LZO_LIBC_FREESTANDING)
+# define LZO_INFO_LIBC "freestanding"
+#elif (LZO_LIBC_MOSTLY_FREESTANDING)
+# define LZO_INFO_LIBC "mfreestanding"
+#elif (LZO_LIBC_ISOC90)
+# define LZO_INFO_LIBC "isoc90"
+#elif (LZO_LIBC_ISOC99)
+# define LZO_INFO_LIBC "isoc99"
+#elif (LZO_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION)
+# define LZO_LIBC_ISOC90 1
+# define LZO_INFO_LIBC "isoc90"
+#elif defined(__dietlibc__)
+# define LZO_LIBC_DIETLIBC 1
+# define LZO_INFO_LIBC "dietlibc"
+#elif defined(_NEWLIB_VERSION)
+# define LZO_LIBC_NEWLIB 1
+# define LZO_INFO_LIBC "newlib"
+#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
+# if defined(__UCLIBC_SUBLEVEL__)
+# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0))
# else
-# define LZO_HAVE_WINDOWS_H 1
+# define LZO_LIBC_UCLIBC 0x00090bL
# endif
+# define LZO_INFO_LIBC "uc" "libc"
+#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
+# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100)
+# define LZO_INFO_LIBC "glibc"
+#elif (LZO_CC_MWERKS) && defined(__MSL__)
+# define LZO_LIBC_MSL __MSL__
+# define LZO_INFO_LIBC "msl"
+#elif 1 && defined(__IAR_SYSTEMS_ICC__)
+# define LZO_LIBC_ISOC90 1
+# define LZO_INFO_LIBC "isoc90"
+#else
+# define LZO_LIBC_DEFAULT 1
+# define LZO_INFO_LIBC "default"
+#endif
+#endif
+#if (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
+# define LZO_ASM_SYNTAX_MSC 1
+#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
+#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul))
+#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
+# define LZO_ASM_SYNTAX_GNUC 1
+#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
+# define LZO_ASM_SYNTAX_GNUC 1
+#elif (LZO_CC_GNUC)
+# define LZO_ASM_SYNTAX_GNUC 1
+#endif
+#if (LZO_ASM_SYNTAX_GNUC)
+#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
+# define __LZO_ASM_CLOBBER "ax"
+# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/
+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY /*empty*/
+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1000))
+# define __LZO_ASM_CLOBBER "memory"
+# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/
+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "memory"
+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
+#else
+# define __LZO_ASM_CLOBBER "cc", "memory"
+# define __LZO_ASM_CLOBBER_LIST_CC : "cc"
+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "cc", "memory"
+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
#endif
#endif
#if (LZO_ARCH_ALPHA)
-# define LZO_OPT_AVOID_UINT_INDEX 1
-# define LZO_OPT_AVOID_SHORT 1
-# define LZO_OPT_AVOID_USHORT 1
+# define LZO_OPT_AVOID_UINT_INDEX 1
#elif (LZO_ARCH_AMD64)
-# define LZO_OPT_AVOID_INT_INDEX 1
-# define LZO_OPT_AVOID_UINT_INDEX 1
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
-# define LZO_OPT_UNALIGNED64 1
-#elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB)
+# define LZO_OPT_AVOID_INT_INDEX 1
+# define LZO_OPT_AVOID_UINT_INDEX 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
#elif (LZO_ARCH_ARM)
-# define LZO_OPT_AVOID_SHORT 1
-# define LZO_OPT_AVOID_USHORT 1
+# if defined(__ARM_FEATURE_UNALIGNED)
+# if ((__ARM_FEATURE_UNALIGNED)+0)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# endif
+# elif 1 && (LZO_ARCH_ARM_THUMB2)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# elif 1 && defined(__ARM_ARCH) && ((__ARM_ARCH)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 6) && (defined(__TARGET_PROFILE_A) || defined(__TARGET_PROFILE_R))
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# endif
+#elif (LZO_ARCH_ARM64)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
#elif (LZO_ARCH_CRIS)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
#elif (LZO_ARCH_I386)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
#elif (LZO_ARCH_IA64)
-# define LZO_OPT_AVOID_INT_INDEX 1
-# define LZO_OPT_AVOID_UINT_INDEX 1
-# define LZO_OPT_PREFER_POSTINC 1
+# define LZO_OPT_AVOID_INT_INDEX 1
+# define LZO_OPT_AVOID_UINT_INDEX 1
+# define LZO_OPT_PREFER_POSTINC 1
#elif (LZO_ARCH_M68K)
-# define LZO_OPT_PREFER_POSTINC 1
-# define LZO_OPT_PREFER_PREDEC 1
+# define LZO_OPT_PREFER_POSTINC 1
+# define LZO_OPT_PREFER_PREDEC 1
# if defined(__mc68020__) && !defined(__mcoldfire__)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
# endif
#elif (LZO_ARCH_MIPS)
-# define LZO_OPT_AVOID_UINT_INDEX 1
+# define LZO_OPT_AVOID_UINT_INDEX 1
#elif (LZO_ARCH_POWERPC)
-# define LZO_OPT_PREFER_PREINC 1
-# define LZO_OPT_PREFER_PREDEC 1
-# if (LZO_ABI_BIG_ENDIAN)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
+# define LZO_OPT_PREFER_PREINC 1
+# define LZO_OPT_PREFER_PREDEC 1
+# if (LZO_ABI_BIG_ENDIAN) || (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# if (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
+# endif
+# endif
+#elif (LZO_ARCH_RISCV)
+# define LZO_OPT_AVOID_UINT_INDEX 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# if (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
# endif
#elif (LZO_ARCH_S390)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
-# if (LZO_SIZEOF_SIZE_T == 8)
-# define LZO_OPT_UNALIGNED64 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# if (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
# endif
#elif (LZO_ARCH_SH)
-# define LZO_OPT_PREFER_POSTINC 1
-# define LZO_OPT_PREFER_PREDEC 1
+# define LZO_OPT_PREFER_POSTINC 1
+# define LZO_OPT_PREFER_PREDEC 1
#endif
#ifndef LZO_CFG_NO_INLINE_ASM
-#if (LZO_CC_LLVM)
+#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC)
# define LZO_CFG_NO_INLINE_ASM 1
+#elif (LZO_CC_LLVM)
+# define LZO_CFG_NO_INLINE_ASM 1
+#endif
#endif
+#if (LZO_CFG_NO_INLINE_ASM)
+# undef LZO_ASM_SYNTAX_MSC
+# undef LZO_ASM_SYNTAX_GNUC
+# undef __LZO_ASM_CLOBBER
+# undef __LZO_ASM_CLOBBER_LIST_CC
+# undef __LZO_ASM_CLOBBER_LIST_CC_MEMORY
+# undef __LZO_ASM_CLOBBER_LIST_EMPTY
#endif
#ifndef LZO_CFG_NO_UNALIGNED
#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC)
@@ -1783,25 +2760,6 @@ extern "C" {
# undef LZO_OPT_UNALIGNED32
# undef LZO_OPT_UNALIGNED64
#endif
-#if (LZO_CFG_NO_INLINE_ASM)
-#elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
-# define LZO_ASM_SYNTAX_MSC 1
-#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
-#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul))
-#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
-# define LZO_ASM_SYNTAX_GNUC 1
-#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
-# define LZO_ASM_SYNTAX_GNUC 1
-#endif
-#if (LZO_ASM_SYNTAX_GNUC)
-#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
-# define __LZO_ASM_CLOBBER "ax"
-#elif (LZO_CC_INTELC)
-# define __LZO_ASM_CLOBBER "memory"
-#else
-# define __LZO_ASM_CLOBBER "cc", "memory"
-#endif
-#endif
#if defined(__LZO_INFOSTR_MM)
#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM))
# define __LZO_INFOSTR_MM ""
@@ -1845,7 +2803,466 @@ extern "C" {
#define LZO_INFO_STRING \
LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \
" " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER
+#if !(LZO_CFG_SKIP_LZO_TYPES)
+#if (!(LZO_SIZEOF_SHORT+0 > 0 && LZO_SIZEOF_INT+0 > 0 && LZO_SIZEOF_LONG+0 > 0))
+# error "missing defines for sizes"
+#endif
+#if (!(LZO_SIZEOF_PTRDIFF_T+0 > 0 && LZO_SIZEOF_SIZE_T+0 > 0 && LZO_SIZEOF_VOID_P+0 > 0))
+# error "missing defines for sizes"
+#endif
+#define LZO_TYPEOF_CHAR 1u
+#define LZO_TYPEOF_SHORT 2u
+#define LZO_TYPEOF_INT 3u
+#define LZO_TYPEOF_LONG 4u
+#define LZO_TYPEOF_LONG_LONG 5u
+#define LZO_TYPEOF___INT8 17u
+#define LZO_TYPEOF___INT16 18u
+#define LZO_TYPEOF___INT32 19u
+#define LZO_TYPEOF___INT64 20u
+#define LZO_TYPEOF___INT128 21u
+#define LZO_TYPEOF___INT256 22u
+#define LZO_TYPEOF___MODE_QI 33u
+#define LZO_TYPEOF___MODE_HI 34u
+#define LZO_TYPEOF___MODE_SI 35u
+#define LZO_TYPEOF___MODE_DI 36u
+#define LZO_TYPEOF___MODE_TI 37u
+#define LZO_TYPEOF_CHAR_P 129u
+#if !defined(lzo_llong_t)
+#if (LZO_SIZEOF_LONG_LONG+0 > 0)
+# if !(LZO_LANG_ASSEMBLER)
+ __lzo_gnuc_extension__ typedef long long lzo_llong_t__;
+ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
+# endif
+# define lzo_llong_t lzo_llong_t__
+# define lzo_ullong_t lzo_ullong_t__
+#endif
+#endif
+#if !defined(lzo_int16e_t)
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) && (LZO_SIZEOF_SHORT != 2)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T
+#endif
+#if (LZO_SIZEOF_LONG == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT)
+# define lzo_int16e_t long
+# define lzo_uint16e_t unsigned long
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_LONG
+#elif (LZO_SIZEOF_INT == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT)
+# define lzo_int16e_t int
+# define lzo_uint16e_t unsigned int
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_SHORT == 2)
+# define lzo_int16e_t short int
+# define lzo_uint16e_t unsigned short int
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_SHORT
+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM)
+# if !(LZO_LANG_ASSEMBLER)
+ typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__)));
+ typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
+# endif
+# define lzo_int16e_t lzo_int16e_hi_t__
+# define lzo_uint16e_t lzo_uint16e_hi_t__
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___MODE_HI
+#elif (LZO_SIZEOF___INT16 == 2)
+# define lzo_int16e_t __int16
+# define lzo_uint16e_t unsigned __int16
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___INT16
+#else
+#endif
+#endif
+#if defined(lzo_int16e_t)
+# define LZO_SIZEOF_LZO_INT16E_T 2
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == 2)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T)
+#endif
+#if !defined(lzo_int32e_t)
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) && (LZO_SIZEOF_INT != 4)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T
+#endif
+#if (LZO_SIZEOF_LONG == 4) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT)
+# define lzo_int32e_t long int
+# define lzo_uint32e_t unsigned long int
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG
+#elif (LZO_SIZEOF_INT == 4)
+# define lzo_int32e_t int
+# define lzo_uint32e_t unsigned int
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_SHORT == 4)
+# define lzo_int32e_t short int
+# define lzo_uint32e_t unsigned short int
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_SHORT
+#elif (LZO_SIZEOF_LONG_LONG == 4)
+# define lzo_int32e_t lzo_llong_t
+# define lzo_uint32e_t lzo_ullong_t
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG_LONG
+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
+# if !(LZO_LANG_ASSEMBLER)
+ typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
+ typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
+# endif
+# define lzo_int32e_t lzo_int32e_si_t__
+# define lzo_uint32e_t lzo_uint32e_si_t__
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI
+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
+# if !(LZO_LANG_ASSEMBLER)
+ typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
+ typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
+# endif
+# define lzo_int32e_t lzo_int32e_si_t__
+# define lzo_uint32e_t lzo_uint32e_si_t__
+# define LZO_INT32_C(c) (c##LL)
+# define LZO_UINT32_C(c) (c##ULL)
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI
+#elif (LZO_SIZEOF___INT32 == 4)
+# define lzo_int32e_t __int32
+# define lzo_uint32e_t unsigned __int32
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___INT32
+#else
+#endif
+#endif
+#if defined(lzo_int32e_t)
+# define LZO_SIZEOF_LZO_INT32E_T 4
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == 4)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_T)
+#endif
+#if !defined(lzo_int64e_t)
+#if (LZO_SIZEOF___INT64 == 8)
+# if (LZO_CC_BORLANDC) && !defined(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T)
+# define LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T LZO_TYPEOF___INT64
+# endif
+#endif
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && (LZO_SIZEOF_LONG_LONG != 8)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
+#endif
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) && (LZO_SIZEOF___INT64 != 8)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
+#endif
+#if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
+# define lzo_int64e_t int
+# define lzo_uint64e_t unsigned int
+# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
+# define lzo_int64e_t long int
+# define lzo_uint64e_t unsigned long int
+# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG
+#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
+# define lzo_int64e_t lzo_llong_t
+# define lzo_uint64e_t lzo_ullong_t
+# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG_LONG
+# if (LZO_CC_BORLANDC)
+# define LZO_INT64_C(c) ((c) + 0ll)
+# define LZO_UINT64_C(c) ((c) + 0ull)
+# elif 0
+# define LZO_INT64_C(c) (__lzo_gnuc_extension__ (c##LL))
+# define LZO_UINT64_C(c) (__lzo_gnuc_extension__ (c##ULL))
+# else
+# define LZO_INT64_C(c) (c##LL)
+# define LZO_UINT64_C(c) (c##ULL)
+# endif
+#elif (LZO_SIZEOF___INT64 == 8)
+# define lzo_int64e_t __int64
+# define lzo_uint64e_t unsigned __int64
+# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF___INT64
+# if (LZO_CC_BORLANDC)
+# define LZO_INT64_C(c) ((c) + 0i64)
+# define LZO_UINT64_C(c) ((c) + 0ui64)
+# else
+# define LZO_INT64_C(c) (c##i64)
+# define LZO_UINT64_C(c) (c##ui64)
+# endif
+#else
+#endif
+#endif
+#if defined(lzo_int64e_t)
+# define LZO_SIZEOF_LZO_INT64E_T 8
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == 8)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_T)
+#endif
+#if !defined(lzo_int32l_t)
+#if defined(lzo_int32e_t)
+# define lzo_int32l_t lzo_int32e_t
+# define lzo_uint32l_t lzo_uint32e_t
+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LZO_INT32E_T
+# define LZO_TYPEOF_LZO_INT32L_T LZO_TYPEOF_LZO_INT32E_T
+#elif (LZO_SIZEOF_INT >= 4) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
+# define lzo_int32l_t int
+# define lzo_uint32l_t unsigned int
+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_INT
+#elif (LZO_SIZEOF_LONG >= 4)
+# define lzo_int32l_t long int
+# define lzo_uint32l_t unsigned long int
+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LONG
+# define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_LONG
+#else
+# error "lzo_int32l_t"
+#endif
+#endif
+#if 1
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) >= 4)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_T)
+#endif
+#if !defined(lzo_int64l_t)
+#if defined(lzo_int64e_t)
+# define lzo_int64l_t lzo_int64e_t
+# define lzo_uint64l_t lzo_uint64e_t
+# define LZO_SIZEOF_LZO_INT64L_T LZO_SIZEOF_LZO_INT64E_T
+# define LZO_TYPEOF_LZO_INT64L_T LZO_TYPEOF_LZO_INT64E_T
+#else
+#endif
+#endif
+#if defined(lzo_int64l_t)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) >= 8)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_T)
+#endif
+#if !defined(lzo_int32f_t)
+#if (LZO_SIZEOF_SIZE_T >= 8)
+# define lzo_int32f_t lzo_int64l_t
+# define lzo_uint32f_t lzo_uint64l_t
+# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT64L_T
+# define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT64L_T
+#else
+# define lzo_int32f_t lzo_int32l_t
+# define lzo_uint32f_t lzo_uint32l_t
+# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT32L_T
+# define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT32L_T
+#endif
+#endif
+#if 1
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) >= 4)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_T)
+#endif
+#if !defined(lzo_int64f_t)
+#if defined(lzo_int64l_t)
+# define lzo_int64f_t lzo_int64l_t
+# define lzo_uint64f_t lzo_uint64l_t
+# define LZO_SIZEOF_LZO_INT64F_T LZO_SIZEOF_LZO_INT64L_T
+# define LZO_TYPEOF_LZO_INT64F_T LZO_TYPEOF_LZO_INT64L_T
+#else
+#endif
+#endif
+#if defined(lzo_int64f_t)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) >= 8)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_T)
+#endif
+#if !defined(lzo_intptr_t)
+#if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16))
+# define __LZO_INTPTR_T_IS_POINTER 1
+# if !(LZO_LANG_ASSEMBLER)
+ typedef char * lzo_intptr_t;
+ typedef char * lzo_uintptr_t;
+# endif
+# define lzo_intptr_t lzo_intptr_t
+# define lzo_uintptr_t lzo_uintptr_t
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_CHAR_P
+#elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4))
+# if !(LZO_LANG_ASSEMBLER)
+ typedef __w64 int lzo_intptr_t;
+ typedef __w64 unsigned int lzo_uintptr_t;
+# endif
+# define lzo_intptr_t lzo_intptr_t
+# define lzo_uintptr_t lzo_uintptr_t
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_SHORT == LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT > LZO_SIZEOF_VOID_P)
+# define lzo_intptr_t short
+# define lzo_uintptr_t unsigned short
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_SHORT
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_SHORT
+#elif (LZO_SIZEOF_INT >= LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
+# define lzo_intptr_t int
+# define lzo_uintptr_t unsigned int
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_LONG >= LZO_SIZEOF_VOID_P)
+# define lzo_intptr_t long
+# define lzo_uintptr_t unsigned long
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LONG
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LONG
+#elif (LZO_SIZEOF_LZO_INT64L_T >= LZO_SIZEOF_VOID_P)
+# define lzo_intptr_t lzo_int64l_t
+# define lzo_uintptr_t lzo_uint64l_t
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LZO_INT64L_T
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LZO_INT64L_T
+#else
+# error "lzo_intptr_t"
+#endif
+#endif
+#if 1
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) >= sizeof(void *))
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t))
+#endif
+#if !defined(lzo_word_t)
+#if defined(LZO_WORDSIZE) && (LZO_WORDSIZE+0 > 0)
+#if (LZO_WORDSIZE == LZO_SIZEOF_LZO_INTPTR_T) && !(__LZO_INTPTR_T_IS_POINTER)
+# define lzo_word_t lzo_uintptr_t
+# define lzo_sword_t lzo_intptr_t
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INTPTR_T
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LZO_INTPTR_T
+#elif (LZO_WORDSIZE == LZO_SIZEOF_LONG)
+# define lzo_word_t unsigned long
+# define lzo_sword_t long
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LONG
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LONG
+#elif (LZO_WORDSIZE == LZO_SIZEOF_INT)
+# define lzo_word_t unsigned int
+# define lzo_sword_t int
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_INT
+#elif (LZO_WORDSIZE == LZO_SIZEOF_SHORT)
+# define lzo_word_t unsigned short
+# define lzo_sword_t short
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_SHORT
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_SHORT
+#elif (LZO_WORDSIZE == 1)
+# define lzo_word_t unsigned char
+# define lzo_sword_t signed char
+# define LZO_SIZEOF_LZO_WORD_T 1
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_CHAR
+#elif (LZO_WORDSIZE == LZO_SIZEOF_LZO_INT64L_T)
+# define lzo_word_t lzo_uint64l_t
+# define lzo_sword_t lzo_int64l_t
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T
+# define LZO_TYPEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T
+#elif (LZO_ARCH_SPU) && (LZO_CC_GNUC)
+#if 0
+# if !(LZO_LANG_ASSEMBLER)
+ typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__)));
+ typedef int lzo_sword_t __attribute__((__mode__(__V16QI__)));
+# endif
+# define lzo_word_t lzo_word_t
+# define lzo_sword_t lzo_sword_t
+# define LZO_SIZEOF_LZO_WORD_T 16
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF___MODE_V16QI
+#endif
+#else
+# error "lzo_word_t"
+#endif
+#endif
+#endif
+#if 1 && defined(lzo_word_t)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_word_t) == LZO_WORDSIZE)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_sword_t) == LZO_WORDSIZE)
+#endif
+#if 1
+#define lzo_int8_t signed char
+#define lzo_uint8_t unsigned char
+#define LZO_SIZEOF_LZO_INT8_T 1
+#define LZO_TYPEOF_LZO_INT8_T LZO_TYPEOF_CHAR
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t))
+#endif
+#if defined(lzo_int16e_t)
+#define lzo_int16_t lzo_int16e_t
+#define lzo_uint16_t lzo_uint16e_t
+#define LZO_SIZEOF_LZO_INT16_T LZO_SIZEOF_LZO_INT16E_T
+#define LZO_TYPEOF_LZO_INT16_T LZO_TYPEOF_LZO_INT16E_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == sizeof(lzo_uint16_t))
+#endif
+#if defined(lzo_int32e_t)
+#define lzo_int32_t lzo_int32e_t
+#define lzo_uint32_t lzo_uint32e_t
+#define LZO_SIZEOF_LZO_INT32_T LZO_SIZEOF_LZO_INT32E_T
+#define LZO_TYPEOF_LZO_INT32_T LZO_TYPEOF_LZO_INT32E_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == sizeof(lzo_uint32_t))
+#endif
+#if defined(lzo_int64e_t)
+#define lzo_int64_t lzo_int64e_t
+#define lzo_uint64_t lzo_uint64e_t
+#define LZO_SIZEOF_LZO_INT64_T LZO_SIZEOF_LZO_INT64E_T
+#define LZO_TYPEOF_LZO_INT64_T LZO_TYPEOF_LZO_INT64E_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == sizeof(lzo_uint64_t))
+#endif
+#if 1
+#define lzo_int_least32_t lzo_int32l_t
+#define lzo_uint_least32_t lzo_uint32l_t
+#define LZO_SIZEOF_LZO_INT_LEAST32_T LZO_SIZEOF_LZO_INT32L_T
+#define LZO_TYPEOF_LZO_INT_LEAST32_T LZO_TYPEOF_LZO_INT32L_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) >= 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) == sizeof(lzo_uint_least32_t))
+#endif
+#if defined(lzo_int64l_t)
+#define lzo_int_least64_t lzo_int64l_t
+#define lzo_uint_least64_t lzo_uint64l_t
+#define LZO_SIZEOF_LZO_INT_LEAST64_T LZO_SIZEOF_LZO_INT64L_T
+#define LZO_TYPEOF_LZO_INT_LEAST64_T LZO_TYPEOF_LZO_INT64L_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) >= 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) == sizeof(lzo_uint_least64_t))
+#endif
+#if 1
+#define lzo_int_fast32_t lzo_int32f_t
+#define lzo_uint_fast32_t lzo_uint32f_t
+#define LZO_SIZEOF_LZO_INT_FAST32_T LZO_SIZEOF_LZO_INT32F_T
+#define LZO_TYPEOF_LZO_INT_FAST32_T LZO_TYPEOF_LZO_INT32F_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) >= 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) == sizeof(lzo_uint_fast32_t))
+#endif
+#if defined(lzo_int64f_t)
+#define lzo_int_fast64_t lzo_int64f_t
+#define lzo_uint_fast64_t lzo_uint64f_t
+#define LZO_SIZEOF_LZO_INT_FAST64_T LZO_SIZEOF_LZO_INT64F_T
+#define LZO_TYPEOF_LZO_INT_FAST64_T LZO_TYPEOF_LZO_INT64F_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) >= 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast64_t))
+#endif
+#if !defined(LZO_INT16_C)
+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 2)
+# define LZO_INT16_C(c) ((c) + 0)
+# define LZO_UINT16_C(c) ((c) + 0U)
+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 2)
+# define LZO_INT16_C(c) ((c) + 0L)
+# define LZO_UINT16_C(c) ((c) + 0UL)
+# elif (LZO_SIZEOF_INT >= 2)
+# define LZO_INT16_C(c) (c)
+# define LZO_UINT16_C(c) (c##U)
+# elif (LZO_SIZEOF_LONG >= 2)
+# define LZO_INT16_C(c) (c##L)
+# define LZO_UINT16_C(c) (c##UL)
+# else
+# error "LZO_INT16_C"
+# endif
+#endif
+#if !defined(LZO_INT32_C)
+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 4)
+# define LZO_INT32_C(c) ((c) + 0)
+# define LZO_UINT32_C(c) ((c) + 0U)
+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 4)
+# define LZO_INT32_C(c) ((c) + 0L)
+# define LZO_UINT32_C(c) ((c) + 0UL)
+# elif (LZO_SIZEOF_INT >= 4)
+# define LZO_INT32_C(c) (c)
+# define LZO_UINT32_C(c) (c##U)
+# elif (LZO_SIZEOF_LONG >= 4)
+# define LZO_INT32_C(c) (c##L)
+# define LZO_UINT32_C(c) (c##UL)
+# elif (LZO_SIZEOF_LONG_LONG >= 4)
+# define LZO_INT32_C(c) (c##LL)
+# define LZO_UINT32_C(c) (c##ULL)
+# else
+# error "LZO_INT32_C"
+# endif
+#endif
+#if !defined(LZO_INT64_C) && defined(lzo_int64l_t)
+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 8)
+# define LZO_INT64_C(c) ((c) + 0)
+# define LZO_UINT64_C(c) ((c) + 0U)
+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 8)
+# define LZO_INT64_C(c) ((c) + 0L)
+# define LZO_UINT64_C(c) ((c) + 0UL)
+# elif (LZO_SIZEOF_INT >= 8)
+# define LZO_INT64_C(c) (c)
+# define LZO_UINT64_C(c) (c##U)
+# elif (LZO_SIZEOF_LONG >= 8)
+# define LZO_INT64_C(c) (c##L)
+# define LZO_UINT64_C(c) (c##UL)
+# else
+# error "LZO_INT64_C"
+# endif
+#endif
+#endif
#endif /* already included */
-/* vim:set ts=4 et: */
+/* vim:set ts=4 sw=4 et: */
diff --git a/Externals/LZO/minilzo.c b/Externals/LZO/minilzo.c
index 6ae8d73537e3..8fd866450afa 100644
--- a/Externals/LZO/minilzo.c
+++ b/Externals/LZO/minilzo.c
@@ -2,21 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -66,12 +52,6 @@
#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
# define __CYGWIN__ __CYGWIN32__
#endif
-#if defined(__IBMCPP__) && !defined(__IBMC__)
-# define __IBMC__ __IBMCPP__
-#endif
-#if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
-# define __INTEL_COMPILER __ICL
-#endif
#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
# define _ALL_SOURCE 1
#endif
@@ -80,19 +60,57 @@
# define __LONG_MAX__ 9223372036854775807L
# endif
#endif
-#if defined(__INTEL_COMPILER) && defined(__linux__)
-# pragma warning(disable: 193)
+#if 0
+#elif !defined(__LZO_LANG_OVERRIDE)
+#if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__)
+# if (__ASSEMBLER__+0) <= 0
+# error "__ASSEMBLER__"
+# else
+# define LZO_LANG_ASSEMBLER 1
+# endif
+#elif defined(__cplusplus)
+# if (__cplusplus+0) <= 0
+# error "__cplusplus"
+# elif (__cplusplus < 199711L)
+# define LZO_LANG_CXX 1
+# elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1
+# define LZO_LANG_CXX _MSVC_LANG
+# else
+# define LZO_LANG_CXX __cplusplus
+# endif
+# define LZO_LANG_CPLUSPLUS LZO_LANG_CXX
+#else
+# if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L)
+# define LZO_LANG_C __STDC_VERSION__
+# else
+# define LZO_LANG_C 1
+# endif
#endif
-#if defined(__KEIL__) && defined(__C166__)
-# pragma warning disable = 322
-#elif 0 && defined(__C251__)
-# pragma warning disable = 322
#endif
-#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
-# if (_MSC_VER >= 1300)
+#if !defined(LZO_CFG_NO_DISABLE_WUNDEF)
+#if defined(__ARMCC_VERSION)
+# pragma diag_suppress 193
+#elif defined(__clang__) && defined(__clang_minor__)
+# pragma clang diagnostic ignored "-Wundef"
+#elif defined(__INTEL_COMPILER)
+# pragma warning(disable: 193)
+#elif defined(__KEIL__) && defined(__C166__)
+# pragma warning disable = 322
+#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__)
+# if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2))
+# pragma GCC diagnostic ignored "-Wundef"
+# endif
+#elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
+# if ((_MSC_VER-0) >= 1300)
# pragma warning(disable: 4668)
# endif
#endif
+#endif
+#if 0 && defined(__POCC__) && defined(_WIN32)
+# if (__POCC__ >= 400)
+# pragma warn(disable: 2216)
+# endif
+#endif
#if 0 && defined(__WATCOMC__)
# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
# pragma warning 203 9
@@ -101,13 +119,29 @@
#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
# pragma option -h
#endif
+#if !(LZO_CFG_NO_DISABLE_WCRTNONSTDC)
+#ifndef _CRT_NONSTDC_NO_DEPRECATE
+#define _CRT_NONSTDC_NO_DEPRECATE 1
+#endif
+#ifndef _CRT_NONSTDC_NO_WARNINGS
+#define _CRT_NONSTDC_NO_WARNINGS 1
+#endif
+#ifndef _CRT_SECURE_NO_DEPRECATE
+#define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#ifndef _CRT_SECURE_NO_WARNINGS
+#define _CRT_SECURE_NO_WARNINGS 1
+#endif
+#endif
#if 0
-#define LZO_0xffffL 0xfffful
-#define LZO_0xffffffffL 0xfffffffful
+#define LZO_0xffffUL 0xfffful
+#define LZO_0xffffffffUL 0xfffffffful
#else
-#define LZO_0xffffL 65535ul
-#define LZO_0xffffffffL 4294967295ul
+#define LZO_0xffffUL 65535ul
+#define LZO_0xffffffffUL 4294967295ul
#endif
+#define LZO_0xffffL LZO_0xffffUL
+#define LZO_0xffffffffL LZO_0xffffffffUL
#if (LZO_0xffffL == LZO_0xffffffffL)
# error "your preprocessor is broken 1"
#endif
@@ -122,6 +156,13 @@
# error "your preprocessor is broken 4"
#endif
#endif
+#if defined(__COUNTER__)
+# ifndef LZO_CFG_USE_COUNTER
+# define LZO_CFG_USE_COUNTER 1
+# endif
+#else
+# undef LZO_CFG_USE_COUNTER
+#endif
#if (UINT_MAX == LZO_0xffffL)
#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
# if !defined(MSDOS)
@@ -141,10 +182,12 @@
# endif
#endif
#endif
-#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
+#if (UINT_MAX == LZO_0xffffL)
+#if defined(_MSC_VER) && defined(M_I86HM)
# define ptrdiff_t long
# define _PTRDIFF_T_DEFINED 1
#endif
+#endif
#if (UINT_MAX == LZO_0xffffL)
# undef __LZO_RENAME_A
# undef __LZO_RENAME_B
@@ -252,14 +295,31 @@
#endif
#define LZO_PP_STRINGIZE(x) #x
#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x)
+#define LZO_PP_CONCAT0() /*empty*/
+#define LZO_PP_CONCAT1(a) a
#define LZO_PP_CONCAT2(a,b) a ## b
#define LZO_PP_CONCAT3(a,b,c) a ## b ## c
#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d
#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
+#define LZO_PP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f
+#define LZO_PP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g
+#define LZO_PP_ECONCAT0() LZO_PP_CONCAT0()
+#define LZO_PP_ECONCAT1(a) LZO_PP_CONCAT1(a)
#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b)
#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d)
#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e)
+#define LZO_PP_ECONCAT6(a,b,c,d,e,f) LZO_PP_CONCAT6(a,b,c,d,e,f)
+#define LZO_PP_ECONCAT7(a,b,c,d,e,f,g) LZO_PP_CONCAT7(a,b,c,d,e,f,g)
+#define LZO_PP_EMPTY /*empty*/
+#define LZO_PP_EMPTY0() /*empty*/
+#define LZO_PP_EMPTY1(a) /*empty*/
+#define LZO_PP_EMPTY2(a,b) /*empty*/
+#define LZO_PP_EMPTY3(a,b,c) /*empty*/
+#define LZO_PP_EMPTY4(a,b,c,d) /*empty*/
+#define LZO_PP_EMPTY5(a,b,c,d,e) /*empty*/
+#define LZO_PP_EMPTY6(a,b,c,d,e,f) /*empty*/
+#define LZO_PP_EMPTY7(a,b,c,d,e,f,g) /*empty*/
#if 1
#define LZO_CPP_STRINGIZE(x) #x
#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x)
@@ -267,12 +327,16 @@
#define LZO_CPP_CONCAT3(a,b,c) a ## b ## c
#define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d
#define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
+#define LZO_CPP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f
+#define LZO_CPP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g
#define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b)
#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c)
#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d)
#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e)
+#define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f)
+#define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g)
#endif
-#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o))
+#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0))
#if 1 && defined(__cplusplus)
# if !defined(__STDC_CONSTANT_MACROS)
# define __STDC_CONSTANT_MACROS 1
@@ -282,9 +346,13 @@
# endif
#endif
#if defined(__cplusplus)
-# define LZO_EXTERN_C extern "C"
+# define LZO_EXTERN_C extern "C"
+# define LZO_EXTERN_C_BEGIN extern "C" {
+# define LZO_EXTERN_C_END }
#else
-# define LZO_EXTERN_C extern
+# define LZO_EXTERN_C extern
+# define LZO_EXTERN_C_BEGIN /*empty*/
+# define LZO_EXTERN_C_END /*empty*/
#endif
#if !defined(__LZO_OS_OVERRIDE)
#if (LZO_OS_FREESTANDING)
@@ -379,18 +447,18 @@
#elif defined(__TOS__) || defined(__atarist__)
# define LZO_OS_TOS 1
# define LZO_INFO_OS "tos"
-#elif defined(macintosh) && !defined(__ppc__)
+#elif defined(macintosh) && !defined(__arm__) && !defined(__i386__) && !defined(__ppc__) && !defined(__x64_64__)
# define LZO_OS_MACCLASSIC 1
# define LZO_INFO_OS "macclassic"
#elif defined(__VMS)
# define LZO_OS_VMS 1
# define LZO_INFO_OS "vms"
-#elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+#elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)
# define LZO_OS_CONSOLE 1
# define LZO_OS_CONSOLE_PS2 1
# define LZO_INFO_OS "console"
# define LZO_INFO_OS_CONSOLE "ps2"
-#elif (defined(__mips__) && defined(__psp__))
+#elif defined(__mips__) && defined(__psp__)
# define LZO_OS_CONSOLE 1
# define LZO_OS_CONSOLE_PSP 1
# define LZO_INFO_OS "console"
@@ -418,9 +486,18 @@
# elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
# define LZO_OS_POSIX_LINUX 1
# define LZO_INFO_OS_POSIX "linux"
-# elif defined(__APPLE__) || defined(__MACOS__)
-# define LZO_OS_POSIX_MACOSX 1
-# define LZO_INFO_OS_POSIX "macosx"
+# elif defined(__APPLE__) && defined(__MACH__)
+# if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000)
+# define LZO_OS_POSIX_DARWIN 1040
+# define LZO_INFO_OS_POSIX "darwin_iphone"
+# elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040)
+# define LZO_OS_POSIX_DARWIN __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+# define LZO_INFO_OS_POSIX "darwin"
+# else
+# define LZO_OS_POSIX_DARWIN 1
+# define LZO_INFO_OS_POSIX "darwin"
+# endif
+# define LZO_OS_POSIX_MACOSX LZO_OS_POSIX_DARWIN
# elif defined(__minix__) || defined(__minix)
# define LZO_OS_POSIX_MINIX 1
# define LZO_INFO_OS_POSIX "minix"
@@ -455,18 +532,18 @@
#endif
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
# if (UINT_MAX != LZO_0xffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (ULONG_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
#endif
#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (UINT_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (ULONG_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
#endif
#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
@@ -482,59 +559,81 @@
# define LZO_INFO_CC "sdcc"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC)
#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
-# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
+# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0))
# define LZO_INFO_CC "Pathscale C"
# define LZO_INFO_CCVER __PATHSCALE__
-#elif defined(__INTEL_COMPILER)
-# define LZO_CC_INTELC 1
+# if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+# define LZO_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
+# endif
+#elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0)
+# define LZO_CC_INTELC __INTEL_COMPILER
# define LZO_INFO_CC "Intel C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER)
-# if defined(_WIN32) || defined(_WIN64)
-# define LZO_CC_SYNTAX_MSC 1
-# else
-# define LZO_CC_SYNTAX_GNUC 1
+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
+# define LZO_CC_INTELC_MSC _MSC_VER
+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+# define LZO_CC_INTELC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
# endif
#elif defined(__POCC__) && defined(_WIN32)
# define LZO_CC_PELLESC 1
# define LZO_INFO_CC "Pelles C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__)
-#elif defined(__clang__) && defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+#elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
-# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
# else
-# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
# endif
+# define LZO_CC_ARMCC __ARMCC_VERSION
+# define LZO_INFO_CC "ARM C Compiler"
+# define LZO_INFO_CCVER __VERSION__
+#elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER)
+# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
+# define LZO_CC_CLANG_C2 _MSC_VER
+# define LZO_CC_CLANG_VENDOR_MICROSOFT 1
+# define LZO_INFO_CC "clang/c2"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__c2_version__)
+#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__)
# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
-# define LZO_CC_CLANG_CLANG (__clang_major__ * 0x10000L + __clang_minor__ * 0x100 + __clang_patchlevel__)
+# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
# else
-# define LZO_CC_CLANG_CLANG 0x020700L
+# define LZO_CC_CLANG 0x010000L
+# endif
+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
+# define LZO_CC_CLANG_MSC _MSC_VER
+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
+# endif
+# if defined(__APPLE_CC__)
+# define LZO_CC_CLANG_VENDOR_APPLE 1
+# define LZO_INFO_CC "clang/apple"
+# else
+# define LZO_CC_CLANG_VENDOR_LLVM 1
+# define LZO_INFO_CC "clang"
+# endif
+# if defined(__clang_version__)
+# define LZO_INFO_CCVER __clang_version__
+# else
+# define LZO_INFO_CCVER __VERSION__
# endif
-# define LZO_CC_CLANG LZO_CC_CLANG_GNUC
-# define LZO_INFO_CC "clang"
-# define LZO_INFO_CCVER __VERSION__
#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
-# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
# else
-# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
# endif
# define LZO_CC_LLVM LZO_CC_LLVM_GNUC
# define LZO_INFO_CC "llvm-gcc"
# define LZO_INFO_CCVER __VERSION__
-#elif defined(__GNUC__) && defined(__VERSION__)
-# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
-# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
-# elif defined(__GNUC_MINOR__)
-# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
-# else
-# define LZO_CC_GNUC (__GNUC__ * 0x10000L)
-# endif
-# define LZO_INFO_CC "gcc"
-# define LZO_INFO_CCVER __VERSION__
#elif defined(__ACK__) && defined(_ACK)
# define LZO_CC_ACK 1
# define LZO_INFO_CC "Amsterdam Compiler Kit C"
# define LZO_INFO_CCVER "unknown"
+#elif defined(__ARMCC_VERSION) && !defined(__GNUC__)
+# define LZO_CC_ARMCC __ARMCC_VERSION
+# define LZO_CC_ARMCC_ARMCC __ARMCC_VERSION
+# define LZO_INFO_CC "ARM C Compiler"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ARMCC_VERSION)
#elif defined(__AZTEC_C__)
# define LZO_CC_AZTECC 1
# define LZO_INFO_CC "Aztec C"
@@ -559,10 +658,23 @@
# define LZO_CC_DECC 1
# define LZO_INFO_CC "DEC C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC)
+#elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0)
+# define LZO_CC_GHS 1
+# define LZO_INFO_CC "Green Hills C"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER)
+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
+# define LZO_CC_GHS_MSC _MSC_VER
+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+# define LZO_CC_GHS_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
+# endif
#elif defined(__HIGHC__)
# define LZO_CC_HIGHC 1
# define LZO_INFO_CC "MetaWare High C"
# define LZO_INFO_CCVER "unknown"
+#elif defined(__HP_aCC) && ((__HP_aCC-0) > 0)
+# define LZO_CC_HPACC __HP_aCC
+# define LZO_INFO_CC "HP aCC"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__HP_aCC)
#elif defined(__IAR_SYSTEMS_ICC__)
# define LZO_CC_IARC 1
# define LZO_INFO_CC "IAR C"
@@ -571,10 +683,14 @@
# else
# define LZO_INFO_CCVER "unknown"
# endif
-#elif defined(__IBMC__)
-# define LZO_CC_IBMC 1
+#elif defined(__IBMC__) && ((__IBMC__-0) > 0)
+# define LZO_CC_IBMC __IBMC__
# define LZO_INFO_CC "IBM C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__)
+#elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0)
+# define LZO_CC_IBMC __IBMCPP__
+# define LZO_INFO_CC "IBM C"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMCPP__)
#elif defined(__KEIL__) && defined(__C166__)
# define LZO_CC_KEILC 1
# define LZO_INFO_CC "Keil C"
@@ -591,16 +707,8 @@
# else
# define LZO_INFO_CCVER "unknown"
# endif
-#elif defined(_MSC_VER)
-# define LZO_CC_MSC 1
-# define LZO_INFO_CC "Microsoft C"
-# if defined(_MSC_FULL_VER)
-# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
-# else
-# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
-# endif
-#elif defined(__MWERKS__)
-# define LZO_CC_MWERKS 1
+#elif defined(__MWERKS__) && ((__MWERKS__-0) > 0)
+# define LZO_CC_MWERKS __MWERKS__
# define LZO_INFO_CC "Metrowerks C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__)
#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
@@ -611,6 +719,15 @@
# define LZO_CC_PACIFICC 1
# define LZO_INFO_CC "Pacific C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__)
+#elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0))
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) "." LZO_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__)
+# else
+# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100)
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0"
+# endif
+# define LZO_INFO_CC "Portland Group PGI C"
#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
# define LZO_CC_PGI 1
# define LZO_INFO_CC "Portland Group PGI C"
@@ -625,7 +742,7 @@
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__)
#elif defined(__SUNPRO_C)
# define LZO_INFO_CC "SunPro C"
-# if ((__SUNPRO_C)+0 > 0)
+# if ((__SUNPRO_C-0) > 0)
# define LZO_CC_SUNPROC __SUNPRO_C
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C)
# else
@@ -634,7 +751,7 @@
# endif
#elif defined(__SUNPRO_CC)
# define LZO_INFO_CC "SunPro C"
-# if ((__SUNPRO_CC)+0 > 0)
+# if ((__SUNPRO_CC-0) > 0)
# define LZO_CC_SUNPROC __SUNPRO_CC
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC)
# else
@@ -660,16 +777,46 @@
#elif defined(__ZTC__)
# define LZO_CC_ZORTECHC 1
# define LZO_INFO_CC "Zortech C"
-# if (__ZTC__ == 0x310)
+# if ((__ZTC__-0) == 0x310)
# define LZO_INFO_CCVER "0x310"
# else
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__)
# endif
+#elif defined(__GNUC__) && defined(__VERSION__)
+# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
+# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
+# elif defined(__GNUC_MINOR__)
+# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
+# else
+# define LZO_CC_GNUC (__GNUC__ * 0x10000L)
+# endif
+# define LZO_INFO_CC "gcc"
+# define LZO_INFO_CCVER __VERSION__
+#elif defined(_MSC_VER) && ((_MSC_VER-0) > 0)
+# define LZO_CC_MSC _MSC_VER
+# define LZO_INFO_CC "Microsoft C"
+# if defined(_MSC_FULL_VER)
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
+# else
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
+# endif
#else
# define LZO_CC_UNKNOWN 1
# define LZO_INFO_CC "unknown"
# define LZO_INFO_CCVER "unknown"
#endif
+#if (LZO_CC_GNUC) && defined(__OPEN64__)
+# if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__)
+# define LZO_CC_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0))
+# define LZO_CC_OPEN64_GNUC LZO_CC_GNUC
+# endif
+#endif
+#if (LZO_CC_GNUC) && defined(__PCC__)
+# if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__)
+# define LZO_CC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0))
+# define LZO_CC_PCC_GNUC LZO_CC_GNUC
+# endif
+#endif
#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
# error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
#endif
@@ -687,8 +834,10 @@
# define LZO_INFO_ARCH "generic"
#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
# define LZO_ARCH_I086 1
-# define LZO_ARCH_IA16 1
# define LZO_INFO_ARCH "i086"
+#elif defined(__aarch64__) || defined(_M_ARM64)
+# define LZO_ARCH_ARM64 1
+# define LZO_INFO_ARCH "arm64"
#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
# define LZO_ARCH_ALPHA 1
# define LZO_INFO_ARCH "alpha"
@@ -698,22 +847,11 @@
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
# define LZO_ARCH_AMD64 1
# define LZO_INFO_ARCH "amd64"
-#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
+#elif defined(__arm__) || defined(_M_ARM)
# define LZO_ARCH_ARM 1
-# define LZO_ARCH_ARM_THUMB 1
-# define LZO_INFO_ARCH "arm_thumb"
+# define LZO_INFO_ARCH "arm"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
# define LZO_ARCH_ARM 1
-# if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
-# define LZO_ARCH_ARM_THUMB 1
-# define LZO_INFO_ARCH "arm_thumb"
-# elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
-# define LZO_INFO_ARCH "arm"
-# else
-# define LZO_INFO_ARCH "arm"
-# endif
-#elif defined(__arm__) || defined(_M_ARM)
-# define LZO_ARCH_ARM 1
# define LZO_INFO_ARCH "arm"
#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__)
# define LZO_ARCH_AVR 1
@@ -787,6 +925,15 @@
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
# define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc"
+#elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__)
+# define LZO_ARCH_POWERPC 1
+# define LZO_INFO_ARCH "powerpc"
+#elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__)
+# define LZO_ARCH_POWERPC 1
+# define LZO_INFO_ARCH "powerpc"
+#elif defined(__riscv)
+# define LZO_ARCH_RISCV 1
+# define LZO_INFO_ARCH "riscv"
#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
# define LZO_ARCH_S390 1
# define LZO_INFO_ARCH "s390"
@@ -821,57 +968,171 @@
# define LZO_INFO_ARCH "unknown"
#endif
#endif
+#if !defined(LZO_ARCH_ARM_THUMB2)
+#if (LZO_ARCH_ARM)
+# if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB)
+# if defined(__thumb2__)
+# define LZO_ARCH_ARM_THUMB2 1
+# elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
+# define LZO_ARCH_ARM_THUMB2 1
+# elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7)
+# define LZO_ARCH_ARM_THUMB2 1
+# endif
+# endif
+#endif
+#endif
+#if (LZO_ARCH_ARM_THUMB2)
+# undef LZO_INFO_ARCH
+# define LZO_INFO_ARCH "arm_thumb2"
+#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
# error "FIXME - missing define for CPU architecture"
#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32)
-# error "FIXME - missing WIN32 define for CPU architecture"
+# error "FIXME - missing LZO_OS_WIN32 define for CPU architecture"
#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64)
-# error "FIXME - missing WIN64 define for CPU architecture"
+# error "FIXME - missing LZO_OS_WIN64 define for CPU architecture"
#endif
#if (LZO_OS_OS216 || LZO_OS_WIN16)
# define LZO_ARCH_I086PM 1
-# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && defined(BLX286))
# define LZO_ARCH_I086PM 1
-# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
# define LZO_ARCH_I086PM 1
-# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__))
# define LZO_ARCH_I086PM 1
-# define LZO_ARCH_IA16PM 1
#endif
-#if (LZO_ARCH_ARM_THUMB) && !(LZO_ARCH_ARM)
-# error "this should not happen"
+#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64)
+# define LZO_ARCH_X64 1
+#elif (!LZO_ARCH_AMD64 && LZO_ARCH_X64) && defined(__LZO_ARCH_OVERRIDE)
+# define LZO_ARCH_AMD64 1
+#endif
+#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64)
+# define LZO_ARCH_AARCH64 1
+#elif (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) && defined(__LZO_ARCH_OVERRIDE)
+# define LZO_ARCH_ARM64 1
+#endif
+#if (LZO_ARCH_I386 && !LZO_ARCH_X86)
+# define LZO_ARCH_X86 1
+#elif (!LZO_ARCH_I386 && LZO_ARCH_X86) && defined(__LZO_ARCH_OVERRIDE)
+# define LZO_ARCH_I386 1
+#endif
+#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) || (!LZO_ARCH_AMD64 && LZO_ARCH_X64)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) || (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_I386 && !LZO_ARCH_X86) || (!LZO_ARCH_I386 && LZO_ARCH_X86)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_ARM_THUMB1 && !LZO_ARCH_ARM)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_ARM_THUMB2 && !LZO_ARCH_ARM)
+# error "unexpected configuration - check your compiler defines"
#endif
-#if (LZO_ARCH_I086PM) && !(LZO_ARCH_I086)
-# error "this should not happen"
+#if (LZO_ARCH_ARM_THUMB1 && LZO_ARCH_ARM_THUMB2)
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_I086PM && !LZO_ARCH_I086)
+# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_ARCH_I086)
# if (UINT_MAX != LZO_0xffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (ULONG_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
#endif
#if (LZO_ARCH_I386)
# if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
# if (ULONG_MAX != LZO_0xffffffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
+# endif
+#endif
+#if (LZO_ARCH_AMD64 || LZO_ARCH_I386)
+# if !defined(LZO_TARGET_FEATURE_SSE2)
+# if defined(__SSE2__)
+# define LZO_TARGET_FEATURE_SSE2 1
+# elif defined(_MSC_VER) && (defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2))
+# define LZO_TARGET_FEATURE_SSE2 1
+# elif (LZO_CC_INTELC_MSC || LZO_CC_MSC) && defined(_M_AMD64)
+# define LZO_TARGET_FEATURE_SSE2 1
+# endif
+# endif
+# if !defined(LZO_TARGET_FEATURE_SSSE3)
+# if (LZO_TARGET_FEATURE_SSE2)
+# if defined(__SSSE3__)
+# define LZO_TARGET_FEATURE_SSSE3 1
+# elif defined(_MSC_VER) && defined(__AVX__)
+# define LZO_TARGET_FEATURE_SSSE3 1
+# endif
+# endif
+# endif
+# if !defined(LZO_TARGET_FEATURE_SSE4_2)
+# if (LZO_TARGET_FEATURE_SSSE3)
+# if defined(__SSE4_2__)
+# define LZO_TARGET_FEATURE_SSE4_2 1
+# endif
+# endif
+# endif
+# if !defined(LZO_TARGET_FEATURE_AVX)
+# if (LZO_TARGET_FEATURE_SSSE3)
+# if defined(__AVX__)
+# define LZO_TARGET_FEATURE_AVX 1
+# endif
+# endif
+# endif
+# if !defined(LZO_TARGET_FEATURE_AVX2)
+# if (LZO_TARGET_FEATURE_AVX)
+# if defined(__AVX2__)
+# define LZO_TARGET_FEATURE_AVX2 1
+# endif
+# endif
+# endif
+#endif
+#if (LZO_TARGET_FEATURE_SSSE3 && !(LZO_TARGET_FEATURE_SSE2))
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_TARGET_FEATURE_SSE4_2 && !(LZO_TARGET_FEATURE_SSSE3))
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_TARGET_FEATURE_AVX && !(LZO_TARGET_FEATURE_SSSE3))
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_TARGET_FEATURE_AVX2 && !(LZO_TARGET_FEATURE_AVX))
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if (LZO_ARCH_ARM)
+# if !defined(LZO_TARGET_FEATURE_NEON)
+# if defined(__ARM_NEON) && ((__ARM_NEON)+0)
+# define LZO_TARGET_FEATURE_NEON 1
+# elif 1 && defined(__ARM_NEON__) && ((__ARM_NEON__)+0)
+# define LZO_TARGET_FEATURE_NEON 1
+# elif 1 && defined(__TARGET_FEATURE_NEON) && ((__TARGET_FEATURE_NEON)+0)
+# define LZO_TARGET_FEATURE_NEON 1
+# endif
+# endif
+#elif (LZO_ARCH_ARM64)
+# if !defined(LZO_TARGET_FEATURE_NEON)
+# if 1
+# define LZO_TARGET_FEATURE_NEON 1
+# endif
# endif
#endif
-#if !defined(__LZO_MM_OVERRIDE)
+#if 0
+#elif !defined(__LZO_MM_OVERRIDE)
#if (LZO_ARCH_I086)
#if (UINT_MAX != LZO_0xffffL)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
#endif
#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
# define LZO_MM_TINY 1
@@ -898,7 +1159,7 @@
#elif (LZO_CC_ZORTECHC && defined(__VCM__))
# define LZO_MM_LARGE 1
#else
-# error "unknown memory model"
+# error "unknown LZO_ARCH_I086 memory model"
#endif
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
#define LZO_HAVE_MM_HUGE_PTR 1
@@ -921,13 +1182,13 @@
#endif
#if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR)
# if (LZO_OS_DOS16)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# elif (LZO_CC_ZORTECHC)
# else
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
# endif
#endif
-#ifdef __cplusplus
+#if defined(__cplusplus)
extern "C" {
#endif
#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
@@ -950,13 +1211,13 @@ extern "C" {
#else
# error "FIXME - implement LZO_MM_AHSHIFT"
#endif
-#ifdef __cplusplus
+#if defined(__cplusplus)
}
#endif
#endif
#elif (LZO_ARCH_C166)
#if !defined(__MODEL__)
-# error "FIXME - C166 __MODEL__"
+# error "FIXME - LZO_ARCH_C166 __MODEL__"
#elif ((__MODEL__) == 0)
# define LZO_MM_SMALL 1
#elif ((__MODEL__) == 1)
@@ -970,11 +1231,11 @@ extern "C" {
#elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1
#else
-# error "FIXME - C166 __MODEL__"
+# error "FIXME - LZO_ARCH_C166 __MODEL__"
#endif
#elif (LZO_ARCH_MCS251)
#if !defined(__MODEL__)
-# error "FIXME - MCS251 __MODEL__"
+# error "FIXME - LZO_ARCH_MCS251 __MODEL__"
#elif ((__MODEL__) == 0)
# define LZO_MM_SMALL 1
#elif ((__MODEL__) == 2)
@@ -986,11 +1247,11 @@ extern "C" {
#elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1
#else
-# error "FIXME - MCS251 __MODEL__"
+# error "FIXME - LZO_ARCH_MCS251 __MODEL__"
#endif
#elif (LZO_ARCH_MCS51)
#if !defined(__MODEL__)
-# error "FIXME - MCS51 __MODEL__"
+# error "FIXME - LZO_ARCH_MCS51 __MODEL__"
#elif ((__MODEL__) == 1)
# define LZO_MM_SMALL 1
#elif ((__MODEL__) == 2)
@@ -1002,7 +1263,7 @@ extern "C" {
#elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1
#else
-# error "FIXME - MCS51 __MODEL__"
+# error "FIXME - LZO_ARCH_MCS51 __MODEL__"
#endif
#elif (LZO_ARCH_CRAY_PVP)
# define LZO_MM_PVP 1
@@ -1029,462 +1290,314 @@ extern "C" {
# error "unknown memory model"
#endif
#endif
-#if defined(SIZEOF_SHORT)
-# define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
+#if !defined(__lzo_gnuc_extension__)
+#if (LZO_CC_GNUC >= 0x020800ul)
+# define __lzo_gnuc_extension__ __extension__
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define __lzo_gnuc_extension__ __extension__
+#elif (LZO_CC_IBMC >= 600)
+# define __lzo_gnuc_extension__ __extension__
#endif
-#if defined(SIZEOF_INT)
-# define LZO_SIZEOF_INT (SIZEOF_INT)
#endif
-#if defined(SIZEOF_LONG)
-# define LZO_SIZEOF_LONG (SIZEOF_LONG)
+#if !defined(__lzo_gnuc_extension__)
+# define __lzo_gnuc_extension__ /*empty*/
#endif
-#if defined(SIZEOF_LONG_LONG)
-# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG)
+#if !defined(lzo_has_builtin)
+#if (LZO_CC_CLANG) && defined(__has_builtin)
+# define lzo_has_builtin __has_builtin
#endif
-#if defined(SIZEOF___INT16)
-# define LZO_SIZEOF___INT16 (SIZEOF___INT16)
#endif
-#if defined(SIZEOF___INT32)
-# define LZO_SIZEOF___INT32 (SIZEOF___INT32)
+#if !defined(lzo_has_builtin)
+# define lzo_has_builtin(x) 0
#endif
-#if defined(SIZEOF___INT64)
-# define LZO_SIZEOF___INT64 (SIZEOF___INT64)
+#if !defined(lzo_has_attribute)
+#if (LZO_CC_CLANG) && defined(__has_attribute)
+# define lzo_has_attribute __has_attribute
#endif
-#if defined(SIZEOF_VOID_P)
-# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P)
#endif
-#if defined(SIZEOF_SIZE_T)
-# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T)
+#if !defined(lzo_has_attribute)
+# define lzo_has_attribute(x) 0
#endif
-#if defined(SIZEOF_PTRDIFF_T)
-# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T)
+#if !defined(lzo_has_declspec_attribute)
+#if (LZO_CC_CLANG) && defined(__has_declspec_attribute)
+# define lzo_has_declspec_attribute __has_declspec_attribute
#endif
-#define __LZO_LSR(x,b) (((x)+0ul) >> (b))
-#if !defined(LZO_SIZEOF_SHORT)
-# if (LZO_ARCH_CRAY_PVP)
-# define LZO_SIZEOF_SHORT 8
-# elif (USHRT_MAX == LZO_0xffffL)
-# define LZO_SIZEOF_SHORT 2
-# elif (__LZO_LSR(USHRT_MAX,7) == 1)
-# define LZO_SIZEOF_SHORT 1
-# elif (__LZO_LSR(USHRT_MAX,15) == 1)
-# define LZO_SIZEOF_SHORT 2
-# elif (__LZO_LSR(USHRT_MAX,31) == 1)
-# define LZO_SIZEOF_SHORT 4
-# elif (__LZO_LSR(USHRT_MAX,63) == 1)
-# define LZO_SIZEOF_SHORT 8
-# elif (__LZO_LSR(USHRT_MAX,127) == 1)
-# define LZO_SIZEOF_SHORT 16
+#endif
+#if !defined(lzo_has_declspec_attribute)
+# define lzo_has_declspec_attribute(x) 0
+#endif
+#if !defined(lzo_has_feature)
+#if (LZO_CC_CLANG) && defined(__has_feature)
+# define lzo_has_feature __has_feature
+#endif
+#endif
+#if !defined(lzo_has_feature)
+# define lzo_has_feature(x) 0
+#endif
+#if !defined(lzo_has_extension)
+#if (LZO_CC_CLANG) && defined(__has_extension)
+# define lzo_has_extension __has_extension
+#elif (LZO_CC_CLANG) && defined(__has_feature)
+# define lzo_has_extension __has_feature
+#endif
+#endif
+#if !defined(lzo_has_extension)
+# define lzo_has_extension(x) 0
+#endif
+#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0
+# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul))
+# define LZO_CFG_USE_NEW_STYLE_CASTS 0
+# elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1200))
+# define LZO_CFG_USE_NEW_STYLE_CASTS 0
# else
-# error "LZO_SIZEOF_SHORT"
+# define LZO_CFG_USE_NEW_STYLE_CASTS 1
# endif
#endif
-#if !defined(LZO_SIZEOF_INT)
-# if (LZO_ARCH_CRAY_PVP)
-# define LZO_SIZEOF_INT 8
-# elif (UINT_MAX == LZO_0xffffL)
-# define LZO_SIZEOF_INT 2
-# elif (UINT_MAX == LZO_0xffffffffL)
-# define LZO_SIZEOF_INT 4
-# elif (__LZO_LSR(UINT_MAX,7) == 1)
-# define LZO_SIZEOF_INT 1
-# elif (__LZO_LSR(UINT_MAX,15) == 1)
-# define LZO_SIZEOF_INT 2
-# elif (__LZO_LSR(UINT_MAX,31) == 1)
-# define LZO_SIZEOF_INT 4
-# elif (__LZO_LSR(UINT_MAX,63) == 1)
-# define LZO_SIZEOF_INT 8
-# elif (__LZO_LSR(UINT_MAX,127) == 1)
-# define LZO_SIZEOF_INT 16
-# else
-# error "LZO_SIZEOF_INT"
+#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_CFG_USE_NEW_STYLE_CASTS 0
+#endif
+#if !defined(__cplusplus)
+# if defined(LZO_CFG_USE_NEW_STYLE_CASTS)
+# undef LZO_CFG_USE_NEW_STYLE_CASTS
# endif
+# define LZO_CFG_USE_NEW_STYLE_CASTS 0
#endif
-#if !defined(LZO_SIZEOF_LONG)
-# if (ULONG_MAX == LZO_0xffffffffL)
-# define LZO_SIZEOF_LONG 4
-# elif (__LZO_LSR(ULONG_MAX,7) == 1)
-# define LZO_SIZEOF_LONG 1
-# elif (__LZO_LSR(ULONG_MAX,15) == 1)
-# define LZO_SIZEOF_LONG 2
-# elif (__LZO_LSR(ULONG_MAX,31) == 1)
-# define LZO_SIZEOF_LONG 4
-# elif (__LZO_LSR(ULONG_MAX,63) == 1)
-# define LZO_SIZEOF_LONG 8
-# elif (__LZO_LSR(ULONG_MAX,127) == 1)
-# define LZO_SIZEOF_LONG 16
-# else
-# error "LZO_SIZEOF_LONG"
+#if !defined(LZO_REINTERPRET_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_REINTERPRET_CAST(t,e) (reinterpret_cast (e))
# endif
#endif
-#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
-#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
-# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
-# if (LZO_CC_GNUC >= 0x030300ul)
-# if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
-# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
-# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
-# define LZO_SIZEOF_LONG_LONG 4
-# endif
-# endif
+#if !defined(LZO_REINTERPRET_CAST)
+# define LZO_REINTERPRET_CAST(t,e) ((t) (e))
+#endif
+#if !defined(LZO_STATIC_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_STATIC_CAST(t,e) (static_cast (e))
# endif
#endif
+#if !defined(LZO_STATIC_CAST)
+# define LZO_STATIC_CAST(t,e) ((t) (e))
#endif
-#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
-#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
-#if (LZO_ARCH_I086 && LZO_CC_DMC)
-#elif (LZO_CC_CILLY) && defined(__GNUC__)
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define LZO_SIZEOF_LONG_LONG 8
-#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_OS_WIN64 || defined(_WIN64))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
-# define LZO_SIZEOF___INT64 8
-#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
-# define LZO_SIZEOF___INT64 8
-#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
-# define LZO_SIZEOF_LONG_LONG 8
-#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
-#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-# define LZO_SIZEOF_LONG_LONG 8
-#endif
+#if !defined(LZO_STATIC_CAST2)
+# define LZO_STATIC_CAST2(t1,t2,e) LZO_STATIC_CAST(t1, LZO_STATIC_CAST(t2, e))
#endif
-#endif
-#if defined(__cplusplus) && (LZO_CC_GNUC)
-# if (LZO_CC_GNUC < 0x020800ul)
-# undef LZO_SIZEOF_LONG_LONG
+#if !defined(LZO_UNCONST_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_UNCONST_CAST(t,e) (const_cast (e))
+# elif (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_UNCONST_CAST(t,e) ((t) (e))
+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((const void *) (e)))))
# endif
#endif
-#if (LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG)
-# undef LZO_SIZEOF_LONG_LONG
-#endif
-#if !defined(LZO_SIZEOF_VOID_P)
-#if (LZO_ARCH_I086)
-# define __LZO_WORDSIZE 2
-# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
-# define LZO_SIZEOF_VOID_P 2
-# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
-# define LZO_SIZEOF_VOID_P 4
-# else
-# error "LZO_MM"
-# endif
-#elif (LZO_ARCH_AVR || LZO_ARCH_Z80)
-# define __LZO_WORDSIZE 1
-# define LZO_SIZEOF_VOID_P 2
-#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
-# define LZO_SIZEOF_VOID_P 2
-#elif (LZO_ARCH_H8300)
-# if defined(__NORMAL_MODE__)
-# define __LZO_WORDSIZE 4
-# define LZO_SIZEOF_VOID_P 2
-# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
-# define __LZO_WORDSIZE 4
-# define LZO_SIZEOF_VOID_P 4
-# else
-# define __LZO_WORDSIZE 2
-# define LZO_SIZEOF_VOID_P 2
-# endif
-# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT
-# endif
-#elif (LZO_ARCH_M16C)
-# define __LZO_WORDSIZE 2
-# if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
-# define LZO_SIZEOF_VOID_P 4
-# else
-# define LZO_SIZEOF_VOID_P 2
+#if !defined(LZO_UNCONST_CAST)
+# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((const void *) (e))))
+#endif
+#if !defined(LZO_UNCONST_VOLATILE_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_UNCONST_VOLATILE_CAST(t,e) (const_cast (e))
+# elif (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) (e))
+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((lzo_uintptr_t) ((volatile const void *) (e)))))
# endif
-#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
-# define __LZO_WORDSIZE 8
-# define LZO_SIZEOF_VOID_P 4
-#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
-# define __LZO_WORDSIZE 8
-# define LZO_SIZEOF_VOID_P 8
-#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
-# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
-#elif (LZO_OS_OS400 || defined(__OS400__))
-# define __LZO_WORDSIZE LZO_SIZEOF_LONG
-# define LZO_SIZEOF_VOID_P 16
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
-#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
-# define LZO_SIZEOF_VOID_P 8
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
-#elif (LZO_ARCH_SPU)
-# if 0
-# define __LZO_WORDSIZE 16
-# endif
-# define LZO_SIZEOF_VOID_P 4
-#else
-# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
#endif
+#if !defined(LZO_UNCONST_VOLATILE_CAST)
+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((volatile const void *) (e))))
#endif
-#if !defined(LZO_WORDSIZE)
-# if defined(__LZO_WORDSIZE)
-# define LZO_WORDSIZE __LZO_WORDSIZE
-# else
-# define LZO_WORDSIZE LZO_SIZEOF_VOID_P
+#if !defined(LZO_UNVOLATILE_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_UNVOLATILE_CAST(t,e) (const_cast (e))
+# elif (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_UNVOLATILE_CAST(t,e) ((t) (e))
+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((volatile void *) (e)))))
# endif
#endif
-#if !defined(LZO_SIZEOF_SIZE_T)
-#if (LZO_ARCH_I086 || LZO_ARCH_M16C)
-# define LZO_SIZEOF_SIZE_T 2
-#else
-# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P
-#endif
+#if !defined(LZO_UNVOLATILE_CAST)
+# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((volatile void *) (e))))
#endif
-#if !defined(LZO_SIZEOF_PTRDIFF_T)
-#if (LZO_ARCH_I086)
-# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P
-# elif (LZO_MM_COMPACT || LZO_MM_LARGE)
-# if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
-# define LZO_SIZEOF_PTRDIFF_T 4
-# else
-# define LZO_SIZEOF_PTRDIFF_T 2
-# endif
-# else
-# error "LZO_MM"
+#if !defined(LZO_UNVOLATILE_CONST_CAST)
+# if (LZO_CFG_USE_NEW_STYLE_CASTS)
+# define LZO_UNVOLATILE_CONST_CAST(t,e) (const_cast (e))
+# elif (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) (e))
+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((lzo_uintptr_t) ((volatile const void *) (e)))))
# endif
-#else
-# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
#endif
+#if !defined(LZO_UNVOLATILE_CONST_CAST)
+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((volatile const void *) (e))))
#endif
-#if (LZO_ABI_NEUTRAL_ENDIAN)
-# undef LZO_ABI_BIG_ENDIAN
-# undef LZO_ABI_LITTLE_ENDIAN
-#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN)
-#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
-# if (__LITTLE_ENDIAN__ == 1)
-# define LZO_ABI_LITTLE_ENDIAN 1
-# else
-# define LZO_ABI_BIG_ENDIAN 1
+#if !defined(LZO_PCAST)
+# if (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_PCAST(t,e) ((t) (e))
# endif
-#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
-# define LZO_ABI_BIG_ENDIAN 1
-#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
-# define LZO_ABI_LITTLE_ENDIAN 1
-#endif
-#endif
-#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN)
-# error "this should not happen"
-#endif
-#if (LZO_ABI_BIG_ENDIAN)
-# define LZO_INFO_ABI_ENDIAN "be"
-#elif (LZO_ABI_LITTLE_ENDIAN)
-# define LZO_INFO_ABI_ENDIAN "le"
-#elif (LZO_ABI_NEUTRAL_ENDIAN)
-# define LZO_INFO_ABI_ENDIAN "neutral"
#endif
-#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
-# define LZO_ABI_I8LP16 1
-# define LZO_INFO_ABI_PM "i8lp16"
-#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
-# define LZO_ABI_ILP16 1
-# define LZO_INFO_ABI_PM "ilp16"
-#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
-# define LZO_ABI_ILP32 1
-# define LZO_INFO_ABI_PM "ilp32"
-#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
-# define LZO_ABI_LLP64 1
-# define LZO_INFO_ABI_PM "llp64"
-#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
-# define LZO_ABI_LP64 1
-# define LZO_INFO_ABI_PM "lp64"
-#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
-# define LZO_ABI_ILP64 1
-# define LZO_INFO_ABI_PM "ilp64"
-#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
-# define LZO_ABI_IP32L64 1
-# define LZO_INFO_ABI_PM "ip32l64"
+#if !defined(LZO_PCAST)
+# define LZO_PCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(void *, e))
#endif
-#if !defined(__LZO_LIBC_OVERRIDE)
-#if (LZO_LIBC_NAKED)
-# define LZO_INFO_LIBC "naked"
-#elif (LZO_LIBC_FREESTANDING)
-# define LZO_INFO_LIBC "freestanding"
-#elif (LZO_LIBC_MOSTLY_FREESTANDING)
-# define LZO_INFO_LIBC "mfreestanding"
-#elif (LZO_LIBC_ISOC90)
-# define LZO_INFO_LIBC "isoc90"
-#elif (LZO_LIBC_ISOC99)
-# define LZO_INFO_LIBC "isoc99"
-#elif defined(__dietlibc__)
-# define LZO_LIBC_DIETLIBC 1
-# define LZO_INFO_LIBC "dietlibc"
-#elif defined(_NEWLIB_VERSION)
-# define LZO_LIBC_NEWLIB 1
-# define LZO_INFO_LIBC "newlib"
-#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
-# if defined(__UCLIBC_SUBLEVEL__)
-# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
-# else
-# define LZO_LIBC_UCLIBC 0x00090bL
+#if !defined(LZO_CCAST)
+# if (LZO_HAVE_MM_HUGE_PTR)
+# define LZO_CCAST(t,e) ((t) (e))
# endif
-# define LZO_INFO_LIBC "uclibc"
-#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
-# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
-# define LZO_INFO_LIBC "glibc"
-#elif (LZO_CC_MWERKS) && defined(__MSL__)
-# define LZO_LIBC_MSL __MSL__
-# define LZO_INFO_LIBC "msl"
-#elif 1 && defined(__IAR_SYSTEMS_ICC__)
-# define LZO_LIBC_ISOC90 1
-# define LZO_INFO_LIBC "isoc90"
-#else
-# define LZO_LIBC_DEFAULT 1
-# define LZO_INFO_LIBC "default"
-#endif
-#endif
-#if !defined(__lzo_gnuc_extension__)
-#if (LZO_CC_GNUC >= 0x020800ul)
-# define __lzo_gnuc_extension__ __extension__
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define __lzo_gnuc_extension__ __extension__
-#else
-# define __lzo_gnuc_extension__ /*empty*/
#endif
+#if !defined(LZO_CCAST)
+# define LZO_CCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(const void *, e))
#endif
-#if !defined(__lzo_ua_volatile)
-# define __lzo_ua_volatile volatile
+#if !defined(LZO_ICONV)
+# define LZO_ICONV(t,e) LZO_STATIC_CAST(t, e)
#endif
-#if !defined(__lzo_alignof)
-#if (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
-# define __lzo_alignof(e) __alignof__(e)
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
-# define __lzo_alignof(e) __alignof__(e)
-#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
-# define __lzo_alignof(e) __alignof(e)
-#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
-# define __lzo_alignof(e) __alignof__(e)
+#if !defined(LZO_ICAST)
+# define LZO_ICAST(t,e) LZO_STATIC_CAST(t, e)
#endif
+#if !defined(LZO_ITRUNC)
+# define LZO_ITRUNC(t,e) LZO_STATIC_CAST(t, e)
#endif
-#if defined(__lzo_alignof)
-# define __lzo_HAVE_alignof 1
+#if !defined(__lzo_cte)
+# if (LZO_CC_MSC || LZO_CC_WATCOMC)
+# define __lzo_cte(e) ((void)0,(e))
+# elif 1
+# define __lzo_cte(e) ((void)0,(e))
+# endif
#endif
-#if !defined(__lzo_constructor)
-#if (LZO_CC_GNUC >= 0x030400ul)
-# define __lzo_constructor __attribute__((__constructor__,__used__))
-#elif (LZO_CC_GNUC >= 0x020700ul)
-# define __lzo_constructor __attribute__((__constructor__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define __lzo_constructor __attribute__((__constructor__))
+#if !defined(__lzo_cte)
+# define __lzo_cte(e) (e)
#endif
+#if !defined(LZO_BLOCK_BEGIN)
+# define LZO_BLOCK_BEGIN do {
+# define LZO_BLOCK_END } while __lzo_cte(0)
#endif
-#if defined(__lzo_constructor)
-# define __lzo_HAVE_constructor 1
+#if !defined(LZO_UNUSED)
+# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
+# define LZO_UNUSED(var) ((void) &var)
+# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
+# define LZO_UNUSED(var) if (&var) ; else
+# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030200ul))
+# define LZO_UNUSED(var) ((void) &var)
+# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_UNUSED(var) ((void) var)
+# elif (LZO_CC_MSC && (_MSC_VER < 900))
+# define LZO_UNUSED(var) if (&var) ; else
+# elif (LZO_CC_KEILC)
+# define LZO_UNUSED(var) {extern int lzo_unused__[1-2*!(sizeof(var)>0)]; (void)lzo_unused__;}
+# elif (LZO_CC_PACIFICC)
+# define LZO_UNUSED(var) ((void) sizeof(var))
+# elif (LZO_CC_WATCOMC) && defined(__cplusplus)
+# define LZO_UNUSED(var) ((void) var)
+# else
+# define LZO_UNUSED(var) ((void) &var)
+# endif
#endif
-#if !defined(__lzo_destructor)
-#if (LZO_CC_GNUC >= 0x030400ul)
-# define __lzo_destructor __attribute__((__destructor__,__used__))
-#elif (LZO_CC_GNUC >= 0x020700ul)
-# define __lzo_destructor __attribute__((__destructor__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define __lzo_destructor __attribute__((__destructor__))
+#if !defined(LZO_UNUSED_RESULT)
+# define LZO_UNUSED_RESULT(var) LZO_UNUSED(var)
#endif
+#if !defined(LZO_UNUSED_FUNC)
+# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
+# define LZO_UNUSED_FUNC(func) ((void) func)
+# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
+# define LZO_UNUSED_FUNC(func) if (func) ; else
+# elif (LZO_CC_CLANG || LZO_CC_LLVM)
+# define LZO_UNUSED_FUNC(func) ((void) &func)
+# elif (LZO_CC_MSC && (_MSC_VER < 900))
+# define LZO_UNUSED_FUNC(func) if (func) ; else
+# elif (LZO_CC_MSC)
+# define LZO_UNUSED_FUNC(func) ((void) &func)
+# elif (LZO_CC_KEILC || LZO_CC_PELLESC)
+# define LZO_UNUSED_FUNC(func) {extern int lzo_unused__[1-2*!(sizeof((int)func)>0)]; (void)lzo_unused__;}
+# else
+# define LZO_UNUSED_FUNC(func) ((void) func)
+# endif
#endif
-#if defined(__lzo_destructor)
-# define __lzo_HAVE_destructor 1
+#if !defined(LZO_UNUSED_LABEL)
+# if (LZO_CC_CLANG >= 0x020800ul)
+# define LZO_UNUSED_LABEL(l) (__lzo_gnuc_extension__ ((void) ((const void *) &&l)))
+# elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC)
+# define LZO_UNUSED_LABEL(l) if __lzo_cte(0) goto l
+# else
+# define LZO_UNUSED_LABEL(l) switch (0) case 1:goto l
+# endif
#endif
-#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor)
-# error "this should not happen"
+#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
+# if 0
+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
+# elif 0 && (LZO_CC_GNUC)
+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
+# else
+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
+# endif
#endif
#if !defined(__lzo_inline)
#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
#elif defined(__cplusplus)
# define __lzo_inline inline
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
+# define __lzo_inline inline
#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
# define __lzo_inline __inline
-#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
# define __lzo_inline __inline__
#elif (LZO_CC_DMC)
# define __lzo_inline __inline
+#elif (LZO_CC_GHS)
+# define __lzo_inline __inline__
+#elif (LZO_CC_IBMC >= 600)
+# define __lzo_inline __inline__
#elif (LZO_CC_INTELC)
# define __lzo_inline __inline
#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
# define __lzo_inline __inline
#elif (LZO_CC_MSC && (_MSC_VER >= 900))
# define __lzo_inline __inline
-#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_inline __inline__
-#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-# define __lzo_inline inline
#endif
#endif
#if defined(__lzo_inline)
+# ifndef __lzo_HAVE_inline
# define __lzo_HAVE_inline 1
+# endif
#else
# define __lzo_inline /*empty*/
#endif
#if !defined(__lzo_forceinline)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
# define __lzo_forceinline __forceinline
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_forceinline __forceinline
-#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#elif (LZO_CC_PGI >= 0x0d0a00ul)
+# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#endif
#endif
#if defined(__lzo_forceinline)
+# ifndef __lzo_HAVE_forceinline
# define __lzo_HAVE_forceinline 1
+# endif
#else
-# define __lzo_forceinline /*empty*/
+# define __lzo_forceinline __lzo_inline
#endif
#if !defined(__lzo_noinline)
#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul)
# define __lzo_noinline __attribute__((__noinline__,__used__))
#elif (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_noinline __attribute__((__noinline__))
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC)
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_noinline __attribute__((__noinline__))
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
# define __lzo_noinline __declspec(noinline)
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
# define __lzo_noinline __attribute__((__noinline__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_noinline __declspec(noinline)
@@ -1493,334 +1606,1179 @@ extern "C" {
# else
# define __lzo_noinline __declspec(noinline)
# endif
-#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#elif (LZO_CC_PGI >= 0x0d0a00ul)
+# define __lzo_noinline __attribute__((__noinline__))
+#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_noinline __attribute__((__noinline__))
#endif
#endif
#if defined(__lzo_noinline)
+# ifndef __lzo_HAVE_noinline
# define __lzo_HAVE_noinline 1
+# endif
#else
# define __lzo_noinline /*empty*/
#endif
#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline)
-# error "this should not happen"
+# error "unexpected configuration - check your compiler defines"
+#endif
+#if !defined(__lzo_static_inline)
+#if (LZO_CC_IBMC)
+# define __lzo_static_inline __lzo_gnuc_extension__ static __lzo_inline
+#endif
+#endif
+#if !defined(__lzo_static_inline)
+# define __lzo_static_inline static __lzo_inline
+#endif
+#if !defined(__lzo_static_forceinline)
+#if (LZO_CC_IBMC)
+# define __lzo_static_forceinline __lzo_gnuc_extension__ static __lzo_forceinline
+#endif
+#endif
+#if !defined(__lzo_static_forceinline)
+# define __lzo_static_forceinline static __lzo_forceinline
+#endif
+#if !defined(__lzo_static_noinline)
+#if (LZO_CC_IBMC)
+# define __lzo_static_noinline __lzo_gnuc_extension__ static __lzo_noinline
+#endif
+#endif
+#if !defined(__lzo_static_noinline)
+# define __lzo_static_noinline static __lzo_noinline
+#endif
+#if !defined(__lzo_c99_extern_inline)
+#if defined(__GNUC_GNU_INLINE__)
+# define __lzo_c99_extern_inline __lzo_inline
+#elif defined(__GNUC_STDC_INLINE__)
+# define __lzo_c99_extern_inline extern __lzo_inline
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
+# define __lzo_c99_extern_inline extern __lzo_inline
+#endif
+#if !defined(__lzo_c99_extern_inline) && (__lzo_HAVE_inline)
+# define __lzo_c99_extern_inline __lzo_inline
+#endif
+#endif
+#if defined(__lzo_c99_extern_inline)
+# ifndef __lzo_HAVE_c99_extern_inline
+# define __lzo_HAVE_c99_extern_inline 1
+# endif
+#else
+# define __lzo_c99_extern_inline /*empty*/
+#endif
+#if !defined(__lzo_may_alias)
+#if (LZO_CC_GNUC >= 0x030400ul)
+# define __lzo_may_alias __attribute__((__may_alias__))
+#elif (LZO_CC_CLANG >= 0x020900ul)
+# define __lzo_may_alias __attribute__((__may_alias__))
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0
+# define __lzo_may_alias __attribute__((__may_alias__))
+#elif (LZO_CC_PGI >= 0x0d0a00ul) && 0
+# define __lzo_may_alias __attribute__((__may_alias__))
+#endif
+#endif
+#if defined(__lzo_may_alias)
+# ifndef __lzo_HAVE_may_alias
+# define __lzo_HAVE_may_alias 1
+# endif
+#else
+# define __lzo_may_alias /*empty*/
#endif
#if !defined(__lzo_noreturn)
#if (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_noreturn __attribute__((__noreturn__))
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_noreturn __attribute__((__noreturn__))
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
# define __lzo_noreturn __declspec(noreturn)
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
# define __lzo_noreturn __attribute__((__noreturn__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_noreturn __declspec(noreturn)
+#elif (LZO_CC_PGI >= 0x0d0a00ul)
+# define __lzo_noreturn __attribute__((__noreturn__))
#endif
#endif
#if defined(__lzo_noreturn)
+# ifndef __lzo_HAVE_noreturn
# define __lzo_HAVE_noreturn 1
+# endif
#else
# define __lzo_noreturn /*empty*/
#endif
#if !defined(__lzo_nothrow)
#if (LZO_CC_GNUC >= 0x030300ul)
# define __lzo_nothrow __attribute__((__nothrow__))
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus)
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 900) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900))
# define __lzo_nothrow __attribute__((__nothrow__))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#endif
#endif
#if defined(__lzo_nothrow)
+# ifndef __lzo_HAVE_nothrow
# define __lzo_HAVE_nothrow 1
+# endif
#else
# define __lzo_nothrow /*empty*/
#endif
#if !defined(__lzo_restrict)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_restrict __restrict__
-#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
+#elif (LZO_CC_IBMC >= 800) && !defined(__cplusplus)
+# define __lzo_restrict __restrict__
+#elif (LZO_CC_IBMC >= 1210)
# define __lzo_restrict __restrict__
-#elif (LZO_CC_CLANG || LZO_CC_LLVM)
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
+# define __lzo_restrict __restrict__
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM)
# define __lzo_restrict __restrict__
#elif (LZO_CC_MSC && (_MSC_VER >= 1400))
# define __lzo_restrict __restrict
+#elif (LZO_CC_PGI >= 0x0d0a00ul)
+# define __lzo_restrict __restrict__
#endif
#endif
#if defined(__lzo_restrict)
+# ifndef __lzo_HAVE_restrict
# define __lzo_HAVE_restrict 1
+# endif
#else
# define __lzo_restrict /*empty*/
#endif
+#if !defined(__lzo_alignof)
+#if (LZO_CC_ARMCC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+# define __lzo_alignof(e) __alignof__(e)
+#elif (LZO_CC_GHS) && !defined(__cplusplus)
+# define __lzo_alignof(e) __alignof__(e)
+#elif (LZO_CC_IBMC >= 600)
+# define __lzo_alignof(e) (__lzo_gnuc_extension__ __alignof__(e))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
+# define __lzo_alignof(e) __alignof__(e)
+#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
+# define __lzo_alignof(e) __alignof(e)
+#elif (LZO_CC_SUNPROC >= 0x5100)
+# define __lzo_alignof(e) __alignof__(e)
+#endif
+#endif
+#if defined(__lzo_alignof)
+# ifndef __lzo_HAVE_alignof
+# define __lzo_HAVE_alignof 1
+# endif
+#endif
+#if !defined(__lzo_struct_packed)
+#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul))
+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul))
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
+#elif (LZO_CC_GNUC >= 0x030400ul) && !(LZO_CC_PCC_GNUC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
+# define __lzo_struct_packed(s) struct s {
+# define __lzo_struct_packed_end() } __attribute__((__gcc_struct__,__packed__));
+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__gcc_struct__,__packed__));
+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100))
+# define __lzo_struct_packed(s) struct s {
+# define __lzo_struct_packed_end() } __attribute__((__packed__));
+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__));
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_struct_packed(s) __lzo_gnuc_extension__ struct s {
+# define __lzo_struct_packed_end() } __attribute__((__packed__));
+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__));
+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
+# define __lzo_struct_packed(s) __pragma(pack(push,1)) struct s {
+# define __lzo_struct_packed_end() } __pragma(pack(pop));
+#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900))
+# define __lzo_struct_packed(s) _Packed struct s {
+# define __lzo_struct_packed_end() };
+#endif
+#endif
+#if defined(__lzo_struct_packed) && !defined(__lzo_struct_packed_ma)
+# define __lzo_struct_packed_ma(s) __lzo_struct_packed(s)
+#endif
+#if defined(__lzo_struct_packed_end) && !defined(__lzo_struct_packed_ma_end)
+# define __lzo_struct_packed_ma_end() __lzo_struct_packed_end()
+#endif
+#if !defined(__lzo_byte_struct)
+#if defined(__lzo_struct_packed)
+# define __lzo_byte_struct(s,n) __lzo_struct_packed(s) unsigned char a[n]; __lzo_struct_packed_end()
+# define __lzo_byte_struct_ma(s,n) __lzo_struct_packed_ma(s) unsigned char a[n]; __lzo_struct_packed_ma_end()
+#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_PGI || (LZO_CC_SUNPROC >= 0x5100))
+# define __lzo_byte_struct(s,n) struct s { unsigned char a[n]; } __attribute__((__packed__));
+# define __lzo_byte_struct_ma(s,n) struct s { unsigned char a[n]; } __lzo_may_alias __attribute__((__packed__));
+#endif
+#endif
+#if defined(__lzo_byte_struct) && !defined(__lzo_byte_struct_ma)
+# define __lzo_byte_struct_ma(s,n) __lzo_byte_struct(s,n)
+#endif
+#if !defined(__lzo_struct_align16) && (__lzo_HAVE_alignof)
+#if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul))
+#elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_CILLY || LZO_CC_PCC)
+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
+# define __lzo_struct_align16(s) struct __declspec(align(16)) s {
+# define __lzo_struct_align16_end() };
+# define __lzo_struct_align32(s) struct __declspec(align(32)) s {
+# define __lzo_struct_align32_end() };
+# define __lzo_struct_align64(s) struct __declspec(align(64)) s {
+# define __lzo_struct_align64_end() };
+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || (LZO_CC_IBMC >= 700) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define __lzo_struct_align16(s) struct s {
+# define __lzo_struct_align16_end() } __attribute__((__aligned__(16)));
+# define __lzo_struct_align32(s) struct s {
+# define __lzo_struct_align32_end() } __attribute__((__aligned__(32)));
+# define __lzo_struct_align64(s) struct s {
+# define __lzo_struct_align64_end() } __attribute__((__aligned__(64)));
+#endif
+#endif
+#if !defined(__lzo_union_um)
+#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul))
+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER < 810))
+#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul))
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100))
+# define __lzo_union_am(s) union s {
+# define __lzo_union_am_end() } __lzo_may_alias;
+# define __lzo_union_um(s) union s {
+# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__));
+#elif (LZO_CC_IBMC >= 700)
+# define __lzo_union_am(s) __lzo_gnuc_extension__ union s {
+# define __lzo_union_am_end() } __lzo_may_alias;
+# define __lzo_union_um(s) __lzo_gnuc_extension__ union s {
+# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__));
+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
+# define __lzo_union_um(s) __pragma(pack(push,1)) union s {
+# define __lzo_union_um_end() } __pragma(pack(pop));
+#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900))
+# define __lzo_union_um(s) _Packed union s {
+# define __lzo_union_um_end() };
+#endif
+#endif
+#if !defined(__lzo_union_am)
+# define __lzo_union_am(s) union s {
+# define __lzo_union_am_end() };
+#endif
+#if !defined(__lzo_constructor)
+#if (LZO_CC_GNUC >= 0x030400ul)
+# define __lzo_constructor __attribute__((__constructor__,__used__))
+#elif (LZO_CC_GNUC >= 0x020700ul)
+# define __lzo_constructor __attribute__((__constructor__))
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
+# define __lzo_constructor __attribute__((__constructor__,__used__))
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define __lzo_constructor __attribute__((__constructor__))
+#endif
+#endif
+#if defined(__lzo_constructor)
+# ifndef __lzo_HAVE_constructor
+# define __lzo_HAVE_constructor 1
+# endif
+#endif
+#if !defined(__lzo_destructor)
+#if (LZO_CC_GNUC >= 0x030400ul)
+# define __lzo_destructor __attribute__((__destructor__,__used__))
+#elif (LZO_CC_GNUC >= 0x020700ul)
+# define __lzo_destructor __attribute__((__destructor__))
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
+# define __lzo_destructor __attribute__((__destructor__,__used__))
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define __lzo_destructor __attribute__((__destructor__))
+#endif
+#endif
+#if defined(__lzo_destructor)
+# ifndef __lzo_HAVE_destructor
+# define __lzo_HAVE_destructor 1
+# endif
+#endif
+#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor)
+# error "unexpected configuration - check your compiler defines"
+#endif
#if !defined(__lzo_likely) && !defined(__lzo_unlikely)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
+#elif (LZO_CC_IBMC >= 1010)
+# define __lzo_likely(e) (__builtin_expect(!!(e),1))
+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
-#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#elif (LZO_CC_CLANG && LZO_CC_CLANG_C2)
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#endif
#endif
#if defined(__lzo_likely)
+# ifndef __lzo_HAVE_likely
# define __lzo_HAVE_likely 1
+# endif
#else
-# define __lzo_likely(e) (e)
+# define __lzo_likely(e) (e)
+#endif
+#if defined(__lzo_very_likely)
+# ifndef __lzo_HAVE_very_likely
+# define __lzo_HAVE_very_likely 1
+# endif
+#else
+# define __lzo_very_likely(e) __lzo_likely(e)
#endif
#if defined(__lzo_unlikely)
+# ifndef __lzo_HAVE_unlikely
# define __lzo_HAVE_unlikely 1
+# endif
#else
-# define __lzo_unlikely(e) (e)
+# define __lzo_unlikely(e) (e)
#endif
-#if !defined(LZO_UNUSED)
-# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
-# define LZO_UNUSED(var) ((void) &var)
-# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
-# define LZO_UNUSED(var) if (&var) ; else
-# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define LZO_UNUSED(var) ((void) var)
-# elif (LZO_CC_MSC && (_MSC_VER < 900))
-# define LZO_UNUSED(var) if (&var) ; else
-# elif (LZO_CC_KEILC)
-# define LZO_UNUSED(var) {extern int __lzo_unused[1-2*!(sizeof(var)>0)];}
-# elif (LZO_CC_PACIFICC)
-# define LZO_UNUSED(var) ((void) sizeof(var))
-# elif (LZO_CC_WATCOMC) && defined(__cplusplus)
-# define LZO_UNUSED(var) ((void) var)
+#if defined(__lzo_very_unlikely)
+# ifndef __lzo_HAVE_very_unlikely
+# define __lzo_HAVE_very_unlikely 1
+# endif
+#else
+# define __lzo_very_unlikely(e) __lzo_unlikely(e)
+#endif
+#if !defined(__lzo_loop_forever)
+# if (LZO_CC_IBMC)
+# define __lzo_loop_forever() LZO_BLOCK_BEGIN for (;;) { ; } LZO_BLOCK_END
# else
-# define LZO_UNUSED(var) ((void) &var)
+# define __lzo_loop_forever() do { ; } while __lzo_cte(1)
# endif
#endif
-#if !defined(LZO_UNUSED_FUNC)
-# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
-# define LZO_UNUSED_FUNC(func) ((void) func)
-# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
-# define LZO_UNUSED_FUNC(func) if (func) ; else
-# elif (LZO_CC_CLANG || LZO_CC_LLVM)
-# define LZO_UNUSED_FUNC(func) ((void) &func)
+#if !defined(__lzo_unreachable)
+#if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x020800ul)) && lzo_has_builtin(__builtin_unreachable)
+# define __lzo_unreachable() __builtin_unreachable();
+#elif (LZO_CC_GNUC >= 0x040500ul)
+# define __lzo_unreachable() __builtin_unreachable();
+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1
+# define __lzo_unreachable() __builtin_unreachable();
+#endif
+#endif
+#if defined(__lzo_unreachable)
+# ifndef __lzo_HAVE_unreachable
+# define __lzo_HAVE_unreachable 1
+# endif
+#else
+# if 0
+# define __lzo_unreachable() ((void)0);
+# else
+# define __lzo_unreachable() __lzo_loop_forever();
+# endif
+#endif
+#if !defined(lzo_unused_funcs_impl)
+# if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+# define lzo_unused_funcs_impl(r,f) static r __attribute__((__unused__)) f
+# elif 1 && (LZO_CC_BORLANDC || LZO_CC_GNUC)
+# define lzo_unused_funcs_impl(r,f) static r f
+# else
+# define lzo_unused_funcs_impl(r,f) __lzo_static_forceinline r f
+# endif
+#endif
+#ifndef __LZO_CTA_NAME
+#if (LZO_CFG_USE_COUNTER)
+# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__COUNTER__)
+#else
+# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__LINE__)
+#endif
+#endif
+#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
+# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END
+# elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1u-2*!(e)]; LZO_EXTERN_C_END
+# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END
+# elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020900ul)) && defined(__cplusplus)
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN int __LZO_CTA_NAME(lzo_cta_f__)(int [1-2*!(e)]); LZO_EXTERN_C_END
+# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__)); LZO_EXTERN_C_END
+# else
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-2*!(e)]; LZO_EXTERN_C_END
+# endif
+#endif
+#if !defined(LZO_COMPILE_TIME_ASSERT)
+# if (LZO_CC_AZTECC)
+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-!(e)];}
+# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030000ul))
+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));}
+# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
+# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
+# define LZO_COMPILE_TIME_ASSERT(e) {(void) (0/!!(e));}
+# elif (LZO_CC_GNUC >= 0x040700ul) && (LZO_CFG_USE_COUNTER) && defined(__cplusplus)
+# define LZO_COMPILE_TIME_ASSERT(e) {enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__));}
+# elif (LZO_CC_GNUC >= 0x040700ul)
+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));}
# elif (LZO_CC_MSC && (_MSC_VER < 900))
-# define LZO_UNUSED_FUNC(func) if (func) ; else
-# elif (LZO_CC_MSC)
-# define LZO_UNUSED_FUNC(func) ((void) &func)
-# elif (LZO_CC_KEILC || LZO_CC_PELLESC)
-# define LZO_UNUSED_FUNC(func) {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];}
+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
+# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# else
-# define LZO_UNUSED_FUNC(func) ((void) func)
+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];}
# endif
#endif
-#if !defined(LZO_UNUSED_LABEL)
-# if (LZO_CC_WATCOMC) && defined(__cplusplus)
-# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
-# elif (LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC)
-# define LZO_UNUSED_LABEL(l) if (0) goto l
+#if (LZO_LANG_ASSEMBLER)
+# undef LZO_COMPILE_TIME_ASSERT_HEADER
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) /*empty*/
+#else
+LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1)
+#if defined(__cplusplus)
+extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) }
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3)
+#endif
+#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
+# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
+# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
+# define __lzo_cdecl __cdecl
+# define __lzo_cdecl_atexit /*empty*/
+# define __lzo_cdecl_main __cdecl
+# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
+# define __lzo_cdecl_qsort __pascal
+# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
+# define __lzo_cdecl_qsort _stdcall
+# else
+# define __lzo_cdecl_qsort __cdecl
+# endif
+# elif (LZO_CC_WATCOMC)
+# define __lzo_cdecl __cdecl
+# else
+# define __lzo_cdecl __cdecl
+# define __lzo_cdecl_atexit __cdecl
+# define __lzo_cdecl_main __cdecl
+# define __lzo_cdecl_qsort __cdecl
+# endif
+# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC)
+# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
+# define __lzo_cdecl_sighandler __pascal
+# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
+# define __lzo_cdecl_sighandler _stdcall
+# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
+# define __lzo_cdecl_sighandler __clrcall
+# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
+# if defined(_DLL)
+# define __lzo_cdecl_sighandler _far _cdecl _loadds
+# elif defined(_MT)
+# define __lzo_cdecl_sighandler _far _cdecl
+# else
+# define __lzo_cdecl_sighandler _cdecl
+# endif
+# else
+# define __lzo_cdecl_sighandler __cdecl
+# endif
+#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
+# define __lzo_cdecl __cdecl
+#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
+# define __lzo_cdecl cdecl
+#endif
+#if !defined(__lzo_cdecl)
+# define __lzo_cdecl /*empty*/
+#endif
+#if !defined(__lzo_cdecl_atexit)
+# define __lzo_cdecl_atexit /*empty*/
+#endif
+#if !defined(__lzo_cdecl_main)
+# define __lzo_cdecl_main /*empty*/
+#endif
+#if !defined(__lzo_cdecl_qsort)
+# define __lzo_cdecl_qsort /*empty*/
+#endif
+#if !defined(__lzo_cdecl_sighandler)
+# define __lzo_cdecl_sighandler /*empty*/
+#endif
+#if !defined(__lzo_cdecl_va)
+# define __lzo_cdecl_va __lzo_cdecl
+#endif
+#if !(LZO_CFG_NO_WINDOWS_H)
+#if !defined(LZO_HAVE_WINDOWS_H)
+#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
+# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
+# elif ((LZO_OS_WIN32 && defined(__PW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul)))
+# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
+# else
+# define LZO_HAVE_WINDOWS_H 1
+# endif
+#endif
+#endif
+#endif
+#define LZO_SIZEOF_CHAR 1
+#ifndef LZO_SIZEOF_SHORT
+#if defined(SIZEOF_SHORT)
+# define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
+#elif defined(__SIZEOF_SHORT__)
+# define LZO_SIZEOF_SHORT (__SIZEOF_SHORT__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_INT
+#if defined(SIZEOF_INT)
+# define LZO_SIZEOF_INT (SIZEOF_INT)
+#elif defined(__SIZEOF_INT__)
+# define LZO_SIZEOF_INT (__SIZEOF_INT__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_LONG
+#if defined(SIZEOF_LONG)
+# define LZO_SIZEOF_LONG (SIZEOF_LONG)
+#elif defined(__SIZEOF_LONG__)
+# define LZO_SIZEOF_LONG (__SIZEOF_LONG__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_LONG_LONG
+#if defined(SIZEOF_LONG_LONG)
+# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG)
+#elif defined(__SIZEOF_LONG_LONG__)
+# define LZO_SIZEOF_LONG_LONG (__SIZEOF_LONG_LONG__)
+#endif
+#endif
+#ifndef LZO_SIZEOF___INT16
+#if defined(SIZEOF___INT16)
+# define LZO_SIZEOF___INT16 (SIZEOF___INT16)
+#endif
+#endif
+#ifndef LZO_SIZEOF___INT32
+#if defined(SIZEOF___INT32)
+# define LZO_SIZEOF___INT32 (SIZEOF___INT32)
+#endif
+#endif
+#ifndef LZO_SIZEOF___INT64
+#if defined(SIZEOF___INT64)
+# define LZO_SIZEOF___INT64 (SIZEOF___INT64)
+#endif
+#endif
+#ifndef LZO_SIZEOF_VOID_P
+#if defined(SIZEOF_VOID_P)
+# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P)
+#elif defined(__SIZEOF_POINTER__)
+# define LZO_SIZEOF_VOID_P (__SIZEOF_POINTER__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_SIZE_T
+#if defined(SIZEOF_SIZE_T)
+# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T)
+#elif defined(__SIZEOF_SIZE_T__)
+# define LZO_SIZEOF_SIZE_T (__SIZEOF_SIZE_T__)
+#endif
+#endif
+#ifndef LZO_SIZEOF_PTRDIFF_T
+#if defined(SIZEOF_PTRDIFF_T)
+# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T)
+#elif defined(__SIZEOF_PTRDIFF_T__)
+# define LZO_SIZEOF_PTRDIFF_T (__SIZEOF_PTRDIFF_T__)
+#endif
+#endif
+#define __LZO_LSR(x,b) (((x)+0ul) >> (b))
+#if !defined(LZO_SIZEOF_SHORT)
+# if (LZO_ARCH_CRAY_PVP)
+# define LZO_SIZEOF_SHORT 8
+# elif (USHRT_MAX == LZO_0xffffL)
+# define LZO_SIZEOF_SHORT 2
+# elif (__LZO_LSR(USHRT_MAX,7) == 1)
+# define LZO_SIZEOF_SHORT 1
+# elif (__LZO_LSR(USHRT_MAX,15) == 1)
+# define LZO_SIZEOF_SHORT 2
+# elif (__LZO_LSR(USHRT_MAX,31) == 1)
+# define LZO_SIZEOF_SHORT 4
+# elif (__LZO_LSR(USHRT_MAX,63) == 1)
+# define LZO_SIZEOF_SHORT 8
+# elif (__LZO_LSR(USHRT_MAX,127) == 1)
+# define LZO_SIZEOF_SHORT 16
+# else
+# error "LZO_SIZEOF_SHORT"
+# endif
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SHORT == sizeof(short))
+#if !defined(LZO_SIZEOF_INT)
+# if (LZO_ARCH_CRAY_PVP)
+# define LZO_SIZEOF_INT 8
+# elif (UINT_MAX == LZO_0xffffL)
+# define LZO_SIZEOF_INT 2
+# elif (UINT_MAX == LZO_0xffffffffL)
+# define LZO_SIZEOF_INT 4
+# elif (__LZO_LSR(UINT_MAX,7) == 1)
+# define LZO_SIZEOF_INT 1
+# elif (__LZO_LSR(UINT_MAX,15) == 1)
+# define LZO_SIZEOF_INT 2
+# elif (__LZO_LSR(UINT_MAX,31) == 1)
+# define LZO_SIZEOF_INT 4
+# elif (__LZO_LSR(UINT_MAX,63) == 1)
+# define LZO_SIZEOF_INT 8
+# elif (__LZO_LSR(UINT_MAX,127) == 1)
+# define LZO_SIZEOF_INT 16
+# else
+# error "LZO_SIZEOF_INT"
+# endif
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_INT == sizeof(int))
+#if !defined(LZO_SIZEOF_LONG)
+# if (ULONG_MAX == LZO_0xffffffffL)
+# define LZO_SIZEOF_LONG 4
+# elif (__LZO_LSR(ULONG_MAX,7) == 1)
+# define LZO_SIZEOF_LONG 1
+# elif (__LZO_LSR(ULONG_MAX,15) == 1)
+# define LZO_SIZEOF_LONG 2
+# elif (__LZO_LSR(ULONG_MAX,31) == 1)
+# define LZO_SIZEOF_LONG 4
+# elif (__LZO_LSR(ULONG_MAX,39) == 1)
+# define LZO_SIZEOF_LONG 5
+# elif (__LZO_LSR(ULONG_MAX,63) == 1)
+# define LZO_SIZEOF_LONG 8
+# elif (__LZO_LSR(ULONG_MAX,127) == 1)
+# define LZO_SIZEOF_LONG 16
+# else
+# error "LZO_SIZEOF_LONG"
+# endif
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long))
+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
+# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
+# if (LZO_CC_GNUC >= 0x030300ul)
+# if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0))
+# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
+# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
+# define LZO_SIZEOF_LONG_LONG 4
+# endif
+# endif
+# endif
+#endif
+#endif
+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
+#if (LZO_ARCH_I086 && LZO_CC_DMC)
+#elif (LZO_CC_CILLY) && defined(__GNUC__)
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+# define LZO_SIZEOF_LONG_LONG 8
+#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_OS_WIN64 || defined(_WIN64))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
+# define LZO_SIZEOF___INT64 8
+#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64))
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64))
+# define LZO_SIZEOF___INT64 8
+#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64)
+# define LZO_SIZEOF_LONG_LONG 8
+#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
+#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+# define LZO_SIZEOF_LONG_LONG 8
+#endif
+#endif
+#endif
+#if defined(__cplusplus) && (LZO_CC_GNUC)
+# if (LZO_CC_GNUC < 0x020800ul)
+# undef LZO_SIZEOF_LONG_LONG
+# endif
+#endif
+#if (LZO_CFG_NO_LONG_LONG)
+# undef LZO_SIZEOF_LONG_LONG
+#elif defined(__NO_LONG_LONG)
+# undef LZO_SIZEOF_LONG_LONG
+#elif defined(_NO_LONGLONG)
+# undef LZO_SIZEOF_LONG_LONG
+#endif
+#if !defined(LZO_WORDSIZE)
+#if (LZO_ARCH_ALPHA)
+# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_AMD64)
+# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_ARM64)
+# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_AVR)
+# define LZO_WORDSIZE 1
+#elif (LZO_ARCH_H8300)
+# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+# define LZO_WORDSIZE 4
+# else
+# define LZO_WORDSIZE 2
+# endif
+#elif (LZO_ARCH_I086)
+# define LZO_WORDSIZE 2
+#elif (LZO_ARCH_IA64)
+# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_M16C)
+# define LZO_WORDSIZE 2
+#elif (LZO_ARCH_SPU)
+# define LZO_WORDSIZE 4
+#elif (LZO_ARCH_Z80)
+# define LZO_WORDSIZE 1
+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+# define LZO_WORDSIZE 8
+#elif (LZO_OS_OS400 || defined(__OS400__))
+# define LZO_WORDSIZE 8
+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
+# define LZO_WORDSIZE 8
+#endif
+#endif
+#if !defined(LZO_SIZEOF_VOID_P)
+#if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
+# define LZO_SIZEOF_VOID_P 4
+#elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
+# define LZO_SIZEOF_VOID_P 8
+#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
+# define LZO_SIZEOF_VOID_P 8
+#elif defined(__LP64__) || defined(__LP64) || defined(_LP64)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
+# define LZO_SIZEOF_VOID_P 8
+#elif (LZO_ARCH_AVR)
+# define LZO_SIZEOF_VOID_P 2
+#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
+# define LZO_SIZEOF_VOID_P 2
+#elif (LZO_ARCH_H8300)
+# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 4)
+# if defined(__NORMAL_MODE__)
+# define LZO_SIZEOF_VOID_P 2
+# else
+# define LZO_SIZEOF_VOID_P 4
+# endif
+# else
+ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 2)
+# define LZO_SIZEOF_VOID_P 2
+# endif
+# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT
+# endif
+#elif (LZO_ARCH_I086)
+# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
+# define LZO_SIZEOF_VOID_P 2
+# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
+# define LZO_SIZEOF_VOID_P 4
+# else
+# error "invalid LZO_ARCH_I086 memory model"
+# endif
+#elif (LZO_ARCH_M16C)
+# if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
+# define LZO_SIZEOF_VOID_P 4
+# else
+# define LZO_SIZEOF_VOID_P 2
+# endif
+#elif (LZO_ARCH_SPU)
+# define LZO_SIZEOF_VOID_P 4
+#elif (LZO_ARCH_Z80)
+# define LZO_SIZEOF_VOID_P 2
+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+# define LZO_SIZEOF_VOID_P 4
+#elif (LZO_OS_OS400 || defined(__OS400__))
+# if defined(__LLP64_IFC__)
+# define LZO_SIZEOF_VOID_P 8
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
+# else
+# define LZO_SIZEOF_VOID_P 16
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
+# endif
+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
+# define LZO_SIZEOF_VOID_P 8
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
+#endif
+#endif
+#if !defined(LZO_SIZEOF_VOID_P)
+# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_VOID_P == sizeof(void *))
+#if !defined(LZO_SIZEOF_SIZE_T)
+#if (LZO_ARCH_I086 || LZO_ARCH_M16C)
+# define LZO_SIZEOF_SIZE_T 2
+#endif
+#endif
+#if !defined(LZO_SIZEOF_SIZE_T)
+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P
+#endif
+#if defined(offsetof)
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SIZE_T == sizeof(size_t))
+#endif
+#if !defined(LZO_SIZEOF_PTRDIFF_T)
+#if (LZO_ARCH_I086)
+# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P
+# elif (LZO_MM_COMPACT || LZO_MM_LARGE)
+# if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
+# define LZO_SIZEOF_PTRDIFF_T 4
+# else
+# define LZO_SIZEOF_PTRDIFF_T 2
+# endif
# else
-# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
+# error "invalid LZO_ARCH_I086 memory model"
# endif
#endif
-#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
-# if 0
-# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
-# elif 0 && (LZO_CC_GNUC)
-# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
-# else
-# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
-# endif
#endif
-#if !defined(LZO_UNCONST_CAST)
-# if 0 && defined(__cplusplus)
-# define LZO_UNCONST_CAST(t,e) (const_cast (e))
-# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
-# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((char *) ((lzo_uintptr_t) ((const void *) (e))))))
-# else
-# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((char *) ((const void *) (e)))))
-# endif
+#if !defined(LZO_SIZEOF_PTRDIFF_T)
+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
#endif
-#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
-# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
-# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
-# elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
-# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1u-2*!(e)];
-# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
-# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
-# else
-# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-2*!(e)];
-# endif
+#if defined(offsetof)
+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
#endif
-#if !defined(LZO_COMPILE_TIME_ASSERT)
-# if (LZO_CC_AZTECC)
-# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-!(e)];}
-# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
-# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
-# elif (LZO_CC_MSC && (_MSC_VER < 900))
-# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
-# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
-# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
-# else
-# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-2*!(e)];}
-# endif
+#if !defined(LZO_WORDSIZE)
+# define LZO_WORDSIZE LZO_SIZEOF_VOID_P
#endif
-#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
-# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
-# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
-# define __lzo_cdecl __cdecl
-# define __lzo_cdecl_atexit /*empty*/
-# define __lzo_cdecl_main __cdecl
-# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
-# define __lzo_cdecl_qsort __pascal
-# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
-# define __lzo_cdecl_qsort _stdcall
-# else
-# define __lzo_cdecl_qsort __cdecl
-# endif
-# elif (LZO_CC_WATCOMC)
-# define __lzo_cdecl __cdecl
+#if (LZO_ABI_NEUTRAL_ENDIAN)
+# undef LZO_ABI_BIG_ENDIAN
+# undef LZO_ABI_LITTLE_ENDIAN
+#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN)
+#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430 || LZO_ARCH_RISCV)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
+# if (__LITTLE_ENDIAN__ == 1)
+# define LZO_ABI_LITTLE_ENDIAN 1
# else
-# define __lzo_cdecl __cdecl
-# define __lzo_cdecl_atexit __cdecl
-# define __lzo_cdecl_main __cdecl
-# define __lzo_cdecl_qsort __cdecl
+# define LZO_ABI_BIG_ENDIAN 1
# endif
-# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC)
-# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
-# define __lzo_cdecl_sighandler __pascal
-# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
-# define __lzo_cdecl_sighandler _stdcall
-# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
-# define __lzo_cdecl_sighandler __clrcall
-# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
-# if defined(_DLL)
-# define __lzo_cdecl_sighandler _far _cdecl _loadds
-# elif defined(_MT)
-# define __lzo_cdecl_sighandler _far _cdecl
-# else
-# define __lzo_cdecl_sighandler _cdecl
-# endif
+#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC)
+# if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
+# error "unexpected configuration - check your compiler defines"
+# elif defined(__BIG_ENDIAN)
+# define LZO_ABI_BIG_ENDIAN 1
# else
-# define __lzo_cdecl_sighandler __cdecl
+# define LZO_ABI_LITTLE_ENDIAN 1
# endif
-#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
-# define __lzo_cdecl __cdecl
-#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
-# define __lzo_cdecl cdecl
-#endif
-#if !defined(__lzo_cdecl)
-# define __lzo_cdecl /*empty*/
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32)
+# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
+# define LZO_ABI_BIG_ENDIAN 1
+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
+# define LZO_ABI_LITTLE_ENDIAN 1
#endif
-#if !defined(__lzo_cdecl_atexit)
-# define __lzo_cdecl_atexit /*empty*/
#endif
-#if !defined(__lzo_cdecl_main)
-# define __lzo_cdecl_main /*empty*/
+#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN)
+# error "unexpected configuration - check your compiler defines"
#endif
-#if !defined(__lzo_cdecl_qsort)
-# define __lzo_cdecl_qsort /*empty*/
+#if (LZO_ABI_BIG_ENDIAN)
+# define LZO_INFO_ABI_ENDIAN "be"
+#elif (LZO_ABI_LITTLE_ENDIAN)
+# define LZO_INFO_ABI_ENDIAN "le"
+#elif (LZO_ABI_NEUTRAL_ENDIAN)
+# define LZO_INFO_ABI_ENDIAN "neutral"
#endif
-#if !defined(__lzo_cdecl_sighandler)
-# define __lzo_cdecl_sighandler /*empty*/
+#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
+# define LZO_ABI_I8LP16 1
+# define LZO_INFO_ABI_PM "i8lp16"
+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
+# define LZO_ABI_ILP16 1
+# define LZO_INFO_ABI_PM "ilp16"
+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
+# define LZO_ABI_LP32 1
+# define LZO_INFO_ABI_PM "lp32"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
+# define LZO_ABI_ILP32 1
+# define LZO_INFO_ABI_PM "ilp32"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
+# define LZO_ABI_LLP64 1
+# define LZO_INFO_ABI_PM "llp64"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
+# define LZO_ABI_LP64 1
+# define LZO_INFO_ABI_PM "lp64"
+#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
+# define LZO_ABI_ILP64 1
+# define LZO_INFO_ABI_PM "ilp64"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
+# define LZO_ABI_IP32L64 1
+# define LZO_INFO_ABI_PM "ip32l64"
#endif
-#if !defined(__lzo_cdecl_va)
-# define __lzo_cdecl_va __lzo_cdecl
+#if (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_VOID_P == 4 && LZO_WORDSIZE == 8)
+# define LZO_ABI_IP32W64 1
+# ifndef LZO_INFO_ABI_PM
+# define LZO_INFO_ABI_PM "ip32w64"
+# endif
#endif
-#if !(LZO_CFG_NO_WINDOWS_H)
-#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
-# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
-# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
-# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
+#if 0
+#elif !defined(__LZO_LIBC_OVERRIDE)
+#if (LZO_LIBC_NAKED)
+# define LZO_INFO_LIBC "naked"
+#elif (LZO_LIBC_FREESTANDING)
+# define LZO_INFO_LIBC "freestanding"
+#elif (LZO_LIBC_MOSTLY_FREESTANDING)
+# define LZO_INFO_LIBC "mfreestanding"
+#elif (LZO_LIBC_ISOC90)
+# define LZO_INFO_LIBC "isoc90"
+#elif (LZO_LIBC_ISOC99)
+# define LZO_INFO_LIBC "isoc99"
+#elif (LZO_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION)
+# define LZO_LIBC_ISOC90 1
+# define LZO_INFO_LIBC "isoc90"
+#elif defined(__dietlibc__)
+# define LZO_LIBC_DIETLIBC 1
+# define LZO_INFO_LIBC "dietlibc"
+#elif defined(_NEWLIB_VERSION)
+# define LZO_LIBC_NEWLIB 1
+# define LZO_INFO_LIBC "newlib"
+#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
+# if defined(__UCLIBC_SUBLEVEL__)
+# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0))
# else
-# define LZO_HAVE_WINDOWS_H 1
+# define LZO_LIBC_UCLIBC 0x00090bL
# endif
+# define LZO_INFO_LIBC "uc" "libc"
+#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
+# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100)
+# define LZO_INFO_LIBC "glibc"
+#elif (LZO_CC_MWERKS) && defined(__MSL__)
+# define LZO_LIBC_MSL __MSL__
+# define LZO_INFO_LIBC "msl"
+#elif 1 && defined(__IAR_SYSTEMS_ICC__)
+# define LZO_LIBC_ISOC90 1
+# define LZO_INFO_LIBC "isoc90"
+#else
+# define LZO_LIBC_DEFAULT 1
+# define LZO_INFO_LIBC "default"
+#endif
+#endif
+#if (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
+# define LZO_ASM_SYNTAX_MSC 1
+#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
+#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul))
+#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
+# define LZO_ASM_SYNTAX_GNUC 1
+#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
+# define LZO_ASM_SYNTAX_GNUC 1
+#elif (LZO_CC_GNUC)
+# define LZO_ASM_SYNTAX_GNUC 1
+#endif
+#if (LZO_ASM_SYNTAX_GNUC)
+#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
+# define __LZO_ASM_CLOBBER "ax"
+# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/
+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY /*empty*/
+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1000))
+# define __LZO_ASM_CLOBBER "memory"
+# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/
+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "memory"
+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
+#else
+# define __LZO_ASM_CLOBBER "cc", "memory"
+# define __LZO_ASM_CLOBBER_LIST_CC : "cc"
+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "cc", "memory"
+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
#endif
#endif
#if (LZO_ARCH_ALPHA)
-# define LZO_OPT_AVOID_UINT_INDEX 1
-# define LZO_OPT_AVOID_SHORT 1
-# define LZO_OPT_AVOID_USHORT 1
+# define LZO_OPT_AVOID_UINT_INDEX 1
#elif (LZO_ARCH_AMD64)
-# define LZO_OPT_AVOID_INT_INDEX 1
-# define LZO_OPT_AVOID_UINT_INDEX 1
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
-# define LZO_OPT_UNALIGNED64 1
-#elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB)
+# define LZO_OPT_AVOID_INT_INDEX 1
+# define LZO_OPT_AVOID_UINT_INDEX 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
#elif (LZO_ARCH_ARM)
-# define LZO_OPT_AVOID_SHORT 1
-# define LZO_OPT_AVOID_USHORT 1
+# if defined(__ARM_FEATURE_UNALIGNED)
+# if ((__ARM_FEATURE_UNALIGNED)+0)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# endif
+# elif 1 && (LZO_ARCH_ARM_THUMB2)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# elif 1 && defined(__ARM_ARCH) && ((__ARM_ARCH)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 6) && (defined(__TARGET_PROFILE_A) || defined(__TARGET_PROFILE_R))
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# endif
+#elif (LZO_ARCH_ARM64)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
#elif (LZO_ARCH_CRIS)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
#elif (LZO_ARCH_I386)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
#elif (LZO_ARCH_IA64)
-# define LZO_OPT_AVOID_INT_INDEX 1
-# define LZO_OPT_AVOID_UINT_INDEX 1
-# define LZO_OPT_PREFER_POSTINC 1
+# define LZO_OPT_AVOID_INT_INDEX 1
+# define LZO_OPT_AVOID_UINT_INDEX 1
+# define LZO_OPT_PREFER_POSTINC 1
#elif (LZO_ARCH_M68K)
-# define LZO_OPT_PREFER_POSTINC 1
-# define LZO_OPT_PREFER_PREDEC 1
+# define LZO_OPT_PREFER_POSTINC 1
+# define LZO_OPT_PREFER_PREDEC 1
# if defined(__mc68020__) && !defined(__mcoldfire__)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
# endif
#elif (LZO_ARCH_MIPS)
-# define LZO_OPT_AVOID_UINT_INDEX 1
+# define LZO_OPT_AVOID_UINT_INDEX 1
#elif (LZO_ARCH_POWERPC)
-# define LZO_OPT_PREFER_PREINC 1
-# define LZO_OPT_PREFER_PREDEC 1
-# if (LZO_ABI_BIG_ENDIAN)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
+# define LZO_OPT_PREFER_PREINC 1
+# define LZO_OPT_PREFER_PREDEC 1
+# if (LZO_ABI_BIG_ENDIAN) || (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# if (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
+# endif
+# endif
+#elif (LZO_ARCH_RISCV)
+# define LZO_OPT_AVOID_UINT_INDEX 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# if (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
# endif
#elif (LZO_ARCH_S390)
-# define LZO_OPT_UNALIGNED16 1
-# define LZO_OPT_UNALIGNED32 1
-# if (LZO_SIZEOF_SIZE_T == 8)
-# define LZO_OPT_UNALIGNED64 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# if (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
# endif
#elif (LZO_ARCH_SH)
-# define LZO_OPT_PREFER_POSTINC 1
-# define LZO_OPT_PREFER_PREDEC 1
+# define LZO_OPT_PREFER_POSTINC 1
+# define LZO_OPT_PREFER_PREDEC 1
#endif
#ifndef LZO_CFG_NO_INLINE_ASM
-#if (LZO_CC_LLVM)
-# define LZO_CFG_NO_INLINE_ASM 1
-#endif
-#endif
-#ifndef LZO_CFG_NO_UNALIGNED
#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC)
-# define LZO_CFG_NO_UNALIGNED 1
-#endif
-#endif
-#if (LZO_CFG_NO_UNALIGNED)
-# undef LZO_OPT_UNALIGNED16
-# undef LZO_OPT_UNALIGNED32
-# undef LZO_OPT_UNALIGNED64
+# define LZO_CFG_NO_INLINE_ASM 1
+#elif (LZO_CC_LLVM)
+# define LZO_CFG_NO_INLINE_ASM 1
#endif
-#if (LZO_CFG_NO_INLINE_ASM)
-#elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
-# define LZO_ASM_SYNTAX_MSC 1
-#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
-#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul))
-#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
-# define LZO_ASM_SYNTAX_GNUC 1
-#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
-# define LZO_ASM_SYNTAX_GNUC 1
#endif
-#if (LZO_ASM_SYNTAX_GNUC)
-#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
-# define __LZO_ASM_CLOBBER "ax"
-#elif (LZO_CC_INTELC)
-# define __LZO_ASM_CLOBBER "memory"
-#else
-# define __LZO_ASM_CLOBBER "cc", "memory"
+#if (LZO_CFG_NO_INLINE_ASM)
+# undef LZO_ASM_SYNTAX_MSC
+# undef LZO_ASM_SYNTAX_GNUC
+# undef __LZO_ASM_CLOBBER
+# undef __LZO_ASM_CLOBBER_LIST_CC
+# undef __LZO_ASM_CLOBBER_LIST_CC_MEMORY
+# undef __LZO_ASM_CLOBBER_LIST_EMPTY
+#endif
+#ifndef LZO_CFG_NO_UNALIGNED
+#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC)
+# define LZO_CFG_NO_UNALIGNED 1
+#endif
#endif
+#if (LZO_CFG_NO_UNALIGNED)
+# undef LZO_OPT_UNALIGNED16
+# undef LZO_OPT_UNALIGNED32
+# undef LZO_OPT_UNALIGNED64
#endif
#if defined(__LZO_INFOSTR_MM)
#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM))
@@ -1865,6 +2823,465 @@ extern "C" {
#define LZO_INFO_STRING \
LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \
" " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER
+#if !(LZO_CFG_SKIP_LZO_TYPES)
+#if (!(LZO_SIZEOF_SHORT+0 > 0 && LZO_SIZEOF_INT+0 > 0 && LZO_SIZEOF_LONG+0 > 0))
+# error "missing defines for sizes"
+#endif
+#if (!(LZO_SIZEOF_PTRDIFF_T+0 > 0 && LZO_SIZEOF_SIZE_T+0 > 0 && LZO_SIZEOF_VOID_P+0 > 0))
+# error "missing defines for sizes"
+#endif
+#define LZO_TYPEOF_CHAR 1u
+#define LZO_TYPEOF_SHORT 2u
+#define LZO_TYPEOF_INT 3u
+#define LZO_TYPEOF_LONG 4u
+#define LZO_TYPEOF_LONG_LONG 5u
+#define LZO_TYPEOF___INT8 17u
+#define LZO_TYPEOF___INT16 18u
+#define LZO_TYPEOF___INT32 19u
+#define LZO_TYPEOF___INT64 20u
+#define LZO_TYPEOF___INT128 21u
+#define LZO_TYPEOF___INT256 22u
+#define LZO_TYPEOF___MODE_QI 33u
+#define LZO_TYPEOF___MODE_HI 34u
+#define LZO_TYPEOF___MODE_SI 35u
+#define LZO_TYPEOF___MODE_DI 36u
+#define LZO_TYPEOF___MODE_TI 37u
+#define LZO_TYPEOF_CHAR_P 129u
+#if !defined(lzo_llong_t)
+#if (LZO_SIZEOF_LONG_LONG+0 > 0)
+# if !(LZO_LANG_ASSEMBLER)
+ __lzo_gnuc_extension__ typedef long long lzo_llong_t__;
+ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
+# endif
+# define lzo_llong_t lzo_llong_t__
+# define lzo_ullong_t lzo_ullong_t__
+#endif
+#endif
+#if !defined(lzo_int16e_t)
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) && (LZO_SIZEOF_SHORT != 2)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T
+#endif
+#if (LZO_SIZEOF_LONG == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT)
+# define lzo_int16e_t long
+# define lzo_uint16e_t unsigned long
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_LONG
+#elif (LZO_SIZEOF_INT == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT)
+# define lzo_int16e_t int
+# define lzo_uint16e_t unsigned int
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_SHORT == 2)
+# define lzo_int16e_t short int
+# define lzo_uint16e_t unsigned short int
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_SHORT
+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM)
+# if !(LZO_LANG_ASSEMBLER)
+ typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__)));
+ typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
+# endif
+# define lzo_int16e_t lzo_int16e_hi_t__
+# define lzo_uint16e_t lzo_uint16e_hi_t__
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___MODE_HI
+#elif (LZO_SIZEOF___INT16 == 2)
+# define lzo_int16e_t __int16
+# define lzo_uint16e_t unsigned __int16
+# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___INT16
+#else
+#endif
+#endif
+#if defined(lzo_int16e_t)
+# define LZO_SIZEOF_LZO_INT16E_T 2
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == 2)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T)
+#endif
+#if !defined(lzo_int32e_t)
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) && (LZO_SIZEOF_INT != 4)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T
+#endif
+#if (LZO_SIZEOF_LONG == 4) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT)
+# define lzo_int32e_t long int
+# define lzo_uint32e_t unsigned long int
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG
+#elif (LZO_SIZEOF_INT == 4)
+# define lzo_int32e_t int
+# define lzo_uint32e_t unsigned int
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_SHORT == 4)
+# define lzo_int32e_t short int
+# define lzo_uint32e_t unsigned short int
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_SHORT
+#elif (LZO_SIZEOF_LONG_LONG == 4)
+# define lzo_int32e_t lzo_llong_t
+# define lzo_uint32e_t lzo_ullong_t
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG_LONG
+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
+# if !(LZO_LANG_ASSEMBLER)
+ typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
+ typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
+# endif
+# define lzo_int32e_t lzo_int32e_si_t__
+# define lzo_uint32e_t lzo_uint32e_si_t__
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI
+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
+# if !(LZO_LANG_ASSEMBLER)
+ typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
+ typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
+# endif
+# define lzo_int32e_t lzo_int32e_si_t__
+# define lzo_uint32e_t lzo_uint32e_si_t__
+# define LZO_INT32_C(c) (c##LL)
+# define LZO_UINT32_C(c) (c##ULL)
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI
+#elif (LZO_SIZEOF___INT32 == 4)
+# define lzo_int32e_t __int32
+# define lzo_uint32e_t unsigned __int32
+# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___INT32
+#else
+#endif
+#endif
+#if defined(lzo_int32e_t)
+# define LZO_SIZEOF_LZO_INT32E_T 4
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == 4)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_T)
+#endif
+#if !defined(lzo_int64e_t)
+#if (LZO_SIZEOF___INT64 == 8)
+# if (LZO_CC_BORLANDC) && !defined(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T)
+# define LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T LZO_TYPEOF___INT64
+# endif
+#endif
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && (LZO_SIZEOF_LONG_LONG != 8)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
+#endif
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) && (LZO_SIZEOF___INT64 != 8)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
+#endif
+#if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
+# define lzo_int64e_t int
+# define lzo_uint64e_t unsigned int
+# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
+# define lzo_int64e_t long int
+# define lzo_uint64e_t unsigned long int
+# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG
+#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
+# define lzo_int64e_t lzo_llong_t
+# define lzo_uint64e_t lzo_ullong_t
+# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG_LONG
+# if (LZO_CC_BORLANDC)
+# define LZO_INT64_C(c) ((c) + 0ll)
+# define LZO_UINT64_C(c) ((c) + 0ull)
+# elif 0
+# define LZO_INT64_C(c) (__lzo_gnuc_extension__ (c##LL))
+# define LZO_UINT64_C(c) (__lzo_gnuc_extension__ (c##ULL))
+# else
+# define LZO_INT64_C(c) (c##LL)
+# define LZO_UINT64_C(c) (c##ULL)
+# endif
+#elif (LZO_SIZEOF___INT64 == 8)
+# define lzo_int64e_t __int64
+# define lzo_uint64e_t unsigned __int64
+# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF___INT64
+# if (LZO_CC_BORLANDC)
+# define LZO_INT64_C(c) ((c) + 0i64)
+# define LZO_UINT64_C(c) ((c) + 0ui64)
+# else
+# define LZO_INT64_C(c) (c##i64)
+# define LZO_UINT64_C(c) (c##ui64)
+# endif
+#else
+#endif
+#endif
+#if defined(lzo_int64e_t)
+# define LZO_SIZEOF_LZO_INT64E_T 8
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == 8)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_T)
+#endif
+#if !defined(lzo_int32l_t)
+#if defined(lzo_int32e_t)
+# define lzo_int32l_t lzo_int32e_t
+# define lzo_uint32l_t lzo_uint32e_t
+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LZO_INT32E_T
+# define LZO_TYPEOF_LZO_INT32L_T LZO_TYPEOF_LZO_INT32E_T
+#elif (LZO_SIZEOF_INT >= 4) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
+# define lzo_int32l_t int
+# define lzo_uint32l_t unsigned int
+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_INT
+#elif (LZO_SIZEOF_LONG >= 4)
+# define lzo_int32l_t long int
+# define lzo_uint32l_t unsigned long int
+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LONG
+# define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_LONG
+#else
+# error "lzo_int32l_t"
+#endif
+#endif
+#if 1
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) >= 4)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_T)
+#endif
+#if !defined(lzo_int64l_t)
+#if defined(lzo_int64e_t)
+# define lzo_int64l_t lzo_int64e_t
+# define lzo_uint64l_t lzo_uint64e_t
+# define LZO_SIZEOF_LZO_INT64L_T LZO_SIZEOF_LZO_INT64E_T
+# define LZO_TYPEOF_LZO_INT64L_T LZO_TYPEOF_LZO_INT64E_T
+#else
+#endif
+#endif
+#if defined(lzo_int64l_t)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) >= 8)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_T)
+#endif
+#if !defined(lzo_int32f_t)
+#if (LZO_SIZEOF_SIZE_T >= 8)
+# define lzo_int32f_t lzo_int64l_t
+# define lzo_uint32f_t lzo_uint64l_t
+# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT64L_T
+# define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT64L_T
+#else
+# define lzo_int32f_t lzo_int32l_t
+# define lzo_uint32f_t lzo_uint32l_t
+# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT32L_T
+# define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT32L_T
+#endif
+#endif
+#if 1
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) >= 4)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_T)
+#endif
+#if !defined(lzo_int64f_t)
+#if defined(lzo_int64l_t)
+# define lzo_int64f_t lzo_int64l_t
+# define lzo_uint64f_t lzo_uint64l_t
+# define LZO_SIZEOF_LZO_INT64F_T LZO_SIZEOF_LZO_INT64L_T
+# define LZO_TYPEOF_LZO_INT64F_T LZO_TYPEOF_LZO_INT64L_T
+#else
+#endif
+#endif
+#if defined(lzo_int64f_t)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) >= 8)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_T)
+#endif
+#if !defined(lzo_intptr_t)
+#if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16))
+# define __LZO_INTPTR_T_IS_POINTER 1
+# if !(LZO_LANG_ASSEMBLER)
+ typedef char * lzo_intptr_t;
+ typedef char * lzo_uintptr_t;
+# endif
+# define lzo_intptr_t lzo_intptr_t
+# define lzo_uintptr_t lzo_uintptr_t
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_CHAR_P
+#elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4))
+# if !(LZO_LANG_ASSEMBLER)
+ typedef __w64 int lzo_intptr_t;
+ typedef __w64 unsigned int lzo_uintptr_t;
+# endif
+# define lzo_intptr_t lzo_intptr_t
+# define lzo_uintptr_t lzo_uintptr_t
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_SHORT == LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT > LZO_SIZEOF_VOID_P)
+# define lzo_intptr_t short
+# define lzo_uintptr_t unsigned short
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_SHORT
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_SHORT
+#elif (LZO_SIZEOF_INT >= LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
+# define lzo_intptr_t int
+# define lzo_uintptr_t unsigned int
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT
+#elif (LZO_SIZEOF_LONG >= LZO_SIZEOF_VOID_P)
+# define lzo_intptr_t long
+# define lzo_uintptr_t unsigned long
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LONG
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LONG
+#elif (LZO_SIZEOF_LZO_INT64L_T >= LZO_SIZEOF_VOID_P)
+# define lzo_intptr_t lzo_int64l_t
+# define lzo_uintptr_t lzo_uint64l_t
+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LZO_INT64L_T
+# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LZO_INT64L_T
+#else
+# error "lzo_intptr_t"
+#endif
+#endif
+#if 1
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) >= sizeof(void *))
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t))
+#endif
+#if !defined(lzo_word_t)
+#if defined(LZO_WORDSIZE) && (LZO_WORDSIZE+0 > 0)
+#if (LZO_WORDSIZE == LZO_SIZEOF_LZO_INTPTR_T) && !(__LZO_INTPTR_T_IS_POINTER)
+# define lzo_word_t lzo_uintptr_t
+# define lzo_sword_t lzo_intptr_t
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INTPTR_T
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LZO_INTPTR_T
+#elif (LZO_WORDSIZE == LZO_SIZEOF_LONG)
+# define lzo_word_t unsigned long
+# define lzo_sword_t long
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LONG
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LONG
+#elif (LZO_WORDSIZE == LZO_SIZEOF_INT)
+# define lzo_word_t unsigned int
+# define lzo_sword_t int
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_INT
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_INT
+#elif (LZO_WORDSIZE == LZO_SIZEOF_SHORT)
+# define lzo_word_t unsigned short
+# define lzo_sword_t short
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_SHORT
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_SHORT
+#elif (LZO_WORDSIZE == 1)
+# define lzo_word_t unsigned char
+# define lzo_sword_t signed char
+# define LZO_SIZEOF_LZO_WORD_T 1
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_CHAR
+#elif (LZO_WORDSIZE == LZO_SIZEOF_LZO_INT64L_T)
+# define lzo_word_t lzo_uint64l_t
+# define lzo_sword_t lzo_int64l_t
+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T
+# define LZO_TYPEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T
+#elif (LZO_ARCH_SPU) && (LZO_CC_GNUC)
+#if 0
+# if !(LZO_LANG_ASSEMBLER)
+ typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__)));
+ typedef int lzo_sword_t __attribute__((__mode__(__V16QI__)));
+# endif
+# define lzo_word_t lzo_word_t
+# define lzo_sword_t lzo_sword_t
+# define LZO_SIZEOF_LZO_WORD_T 16
+# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF___MODE_V16QI
+#endif
+#else
+# error "lzo_word_t"
+#endif
+#endif
+#endif
+#if 1 && defined(lzo_word_t)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_word_t) == LZO_WORDSIZE)
+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_sword_t) == LZO_WORDSIZE)
+#endif
+#if 1
+#define lzo_int8_t signed char
+#define lzo_uint8_t unsigned char
+#define LZO_SIZEOF_LZO_INT8_T 1
+#define LZO_TYPEOF_LZO_INT8_T LZO_TYPEOF_CHAR
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t))
+#endif
+#if defined(lzo_int16e_t)
+#define lzo_int16_t lzo_int16e_t
+#define lzo_uint16_t lzo_uint16e_t
+#define LZO_SIZEOF_LZO_INT16_T LZO_SIZEOF_LZO_INT16E_T
+#define LZO_TYPEOF_LZO_INT16_T LZO_TYPEOF_LZO_INT16E_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == sizeof(lzo_uint16_t))
+#endif
+#if defined(lzo_int32e_t)
+#define lzo_int32_t lzo_int32e_t
+#define lzo_uint32_t lzo_uint32e_t
+#define LZO_SIZEOF_LZO_INT32_T LZO_SIZEOF_LZO_INT32E_T
+#define LZO_TYPEOF_LZO_INT32_T LZO_TYPEOF_LZO_INT32E_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == sizeof(lzo_uint32_t))
+#endif
+#if defined(lzo_int64e_t)
+#define lzo_int64_t lzo_int64e_t
+#define lzo_uint64_t lzo_uint64e_t
+#define LZO_SIZEOF_LZO_INT64_T LZO_SIZEOF_LZO_INT64E_T
+#define LZO_TYPEOF_LZO_INT64_T LZO_TYPEOF_LZO_INT64E_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == sizeof(lzo_uint64_t))
+#endif
+#if 1
+#define lzo_int_least32_t lzo_int32l_t
+#define lzo_uint_least32_t lzo_uint32l_t
+#define LZO_SIZEOF_LZO_INT_LEAST32_T LZO_SIZEOF_LZO_INT32L_T
+#define LZO_TYPEOF_LZO_INT_LEAST32_T LZO_TYPEOF_LZO_INT32L_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) >= 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) == sizeof(lzo_uint_least32_t))
+#endif
+#if defined(lzo_int64l_t)
+#define lzo_int_least64_t lzo_int64l_t
+#define lzo_uint_least64_t lzo_uint64l_t
+#define LZO_SIZEOF_LZO_INT_LEAST64_T LZO_SIZEOF_LZO_INT64L_T
+#define LZO_TYPEOF_LZO_INT_LEAST64_T LZO_TYPEOF_LZO_INT64L_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) >= 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) == sizeof(lzo_uint_least64_t))
+#endif
+#if 1
+#define lzo_int_fast32_t lzo_int32f_t
+#define lzo_uint_fast32_t lzo_uint32f_t
+#define LZO_SIZEOF_LZO_INT_FAST32_T LZO_SIZEOF_LZO_INT32F_T
+#define LZO_TYPEOF_LZO_INT_FAST32_T LZO_TYPEOF_LZO_INT32F_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) >= 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) == sizeof(lzo_uint_fast32_t))
+#endif
+#if defined(lzo_int64f_t)
+#define lzo_int_fast64_t lzo_int64f_t
+#define lzo_uint_fast64_t lzo_uint64f_t
+#define LZO_SIZEOF_LZO_INT_FAST64_T LZO_SIZEOF_LZO_INT64F_T
+#define LZO_TYPEOF_LZO_INT_FAST64_T LZO_TYPEOF_LZO_INT64F_T
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) >= 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast64_t))
+#endif
+#if !defined(LZO_INT16_C)
+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 2)
+# define LZO_INT16_C(c) ((c) + 0)
+# define LZO_UINT16_C(c) ((c) + 0U)
+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 2)
+# define LZO_INT16_C(c) ((c) + 0L)
+# define LZO_UINT16_C(c) ((c) + 0UL)
+# elif (LZO_SIZEOF_INT >= 2)
+# define LZO_INT16_C(c) (c)
+# define LZO_UINT16_C(c) (c##U)
+# elif (LZO_SIZEOF_LONG >= 2)
+# define LZO_INT16_C(c) (c##L)
+# define LZO_UINT16_C(c) (c##UL)
+# else
+# error "LZO_INT16_C"
+# endif
+#endif
+#if !defined(LZO_INT32_C)
+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 4)
+# define LZO_INT32_C(c) ((c) + 0)
+# define LZO_UINT32_C(c) ((c) + 0U)
+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 4)
+# define LZO_INT32_C(c) ((c) + 0L)
+# define LZO_UINT32_C(c) ((c) + 0UL)
+# elif (LZO_SIZEOF_INT >= 4)
+# define LZO_INT32_C(c) (c)
+# define LZO_UINT32_C(c) (c##U)
+# elif (LZO_SIZEOF_LONG >= 4)
+# define LZO_INT32_C(c) (c##L)
+# define LZO_UINT32_C(c) (c##UL)
+# elif (LZO_SIZEOF_LONG_LONG >= 4)
+# define LZO_INT32_C(c) (c##LL)
+# define LZO_UINT32_C(c) (c##ULL)
+# else
+# error "LZO_INT32_C"
+# endif
+#endif
+#if !defined(LZO_INT64_C) && defined(lzo_int64l_t)
+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 8)
+# define LZO_INT64_C(c) ((c) + 0)
+# define LZO_UINT64_C(c) ((c) + 0U)
+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 8)
+# define LZO_INT64_C(c) ((c) + 0L)
+# define LZO_UINT64_C(c) ((c) + 0UL)
+# elif (LZO_SIZEOF_INT >= 8)
+# define LZO_INT64_C(c) (c)
+# define LZO_UINT64_C(c) (c##U)
+# elif (LZO_SIZEOF_LONG >= 8)
+# define LZO_INT64_C(c) (c##L)
+# define LZO_UINT64_C(c) (c##UL)
+# else
+# error "LZO_INT64_C"
+# endif
+#endif
+#endif
#endif
@@ -1873,7 +3290,7 @@ extern "C" {
#undef LZO_HAVE_CONFIG_H
#include "minilzo.h"
-#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2040)
+#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x20a0)
# error "version mismatch in miniLZO source files"
#endif
@@ -1885,23 +3302,9 @@ extern "C" {
#define __LZO_CONF_H 1
#if !defined(__LZO_IN_MINILZO)
-#if (LZO_CFG_FREESTANDING)
+#if defined(LZO_CFG_FREESTANDING) && (LZO_CFG_FREESTANDING)
# define LZO_LIBC_FREESTANDING 1
# define LZO_OS_FREESTANDING 1
-# define ACC_LIBC_FREESTANDING 1
-# define ACC_OS_FREESTANDING 1
-#endif
-#if (LZO_CFG_NO_UNALIGNED)
-# define ACC_CFG_NO_UNALIGNED 1
-#endif
-#if (LZO_ARCH_GENERIC)
-# define ACC_ARCH_GENERIC 1
-#endif
-#if (LZO_ABI_NEUTRAL_ENDIAN)
-# define ACC_ABI_NEUTRAL_ENDIAN 1
-#endif
-#if (LZO_HAVE_CONFIG_H)
-# define ACC_CONFIG_NO_HEADER 1
#endif
#if defined(LZO_CFG_EXTRA_CONFIG_HEADER)
# include LZO_CFG_EXTRA_CONFIG_HEADER
@@ -1909,23 +3312,41 @@ extern "C" {
#if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED)
# error "include this file first"
#endif
-#include "lzo/lzoconf.h"
+#if defined(LZO_CFG_BUILD_DLL) && (LZO_CFG_BUILD_DLL+0) && !defined(__LZO_EXPORT1) && !defined(__LZO_EXPORT2) && 0
+#ifndef __LZODEFS_H_INCLUDED
+#if defined(LZO_HAVE_CONFIG_H)
+# include
+#endif
+#include
+#include
+#include
+#endif
+#endif
+#include
+#if defined(LZO_CFG_EXTRA_CONFIG_HEADER2)
+# include LZO_CFG_EXTRA_CONFIG_HEADER2
+#endif
#endif
-#if (LZO_VERSION < 0x02000) || !defined(__LZOCONF_H_INCLUDED)
+#if !defined(__LZOCONF_H_INCLUDED) || (LZO_VERSION+0 != 0x20a0)
# error "version mismatch"
#endif
-#if (LZO_CC_BORLANDC && LZO_ARCH_I086)
-# pragma option -h
+#if (LZO_CC_MSC && (_MSC_VER >= 1000 && _MSC_VER < 1100))
+# pragma warning(disable: 4702)
#endif
-
#if (LZO_CC_MSC && (_MSC_VER >= 1000))
# pragma warning(disable: 4127 4701)
+# pragma warning(disable: 4514 4710 4711)
#endif
#if (LZO_CC_MSC && (_MSC_VER >= 1300))
# pragma warning(disable: 4820)
-# pragma warning(disable: 4514 4710 4711)
+#endif
+#if (LZO_CC_MSC && (_MSC_VER >= 1800))
+# pragma warning(disable: 4746)
+#endif
+#if (LZO_CC_INTELC && (__INTEL_COMPILER >= 900))
+# pragma warning(disable: 1684)
#endif
#if (LZO_CC_SUNPROC)
@@ -1936,48 +3357,41 @@ extern "C" {
#endif
#endif
-#if (__LZO_MMODEL_HUGE) && !(LZO_HAVE_MM_HUGE_PTR)
-# error "this should not happen - check defines for __huge"
+#if !defined(__LZO_NOEXPORT1)
+# define __LZO_NOEXPORT1 /*empty*/
+#endif
+#if !defined(__LZO_NOEXPORT2)
+# define __LZO_NOEXPORT2 /*empty*/
#endif
-#if defined(__LZO_IN_MINILZO) || defined(LZO_CFG_FREESTANDING)
-#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
-# define ACC_WANT_ACC_INCD_H 1
-# define ACC_WANT_ACC_INCE_H 1
-# define ACC_WANT_ACC_INCI_H 1
+#if 1
+# define LZO_PUBLIC_DECL(r) LZO_EXTERN(r)
+#endif
+#if 1
+# define LZO_PUBLIC_IMPL(r) LZO_PUBLIC(r)
+#endif
+#if !defined(LZO_LOCAL_DECL)
+# define LZO_LOCAL_DECL(r) __LZO_EXTERN_C LZO_LOCAL_IMPL(r)
+#endif
+#if !defined(LZO_LOCAL_IMPL)
+# define LZO_LOCAL_IMPL(r) __LZO_NOEXPORT1 r __LZO_NOEXPORT2 __LZO_CDECL
+#endif
+#if 1
+# define LZO_STATIC_DECL(r) LZO_PRIVATE(r)
+#endif
+#if 1
+# define LZO_STATIC_IMPL(r) LZO_PRIVATE(r)
+#endif
+
+#if defined(__LZO_IN_MINILZO) || (LZO_CFG_FREESTANDING)
#elif 1
# include
#else
-# define ACC_WANT_ACC_INCD_H 1
+# define LZO_WANT_ACC_INCD_H 1
#endif
-
-#if (LZO_ARCH_I086)
-# define ACC_MM_AHSHIFT LZO_MM_AHSHIFT
-# define ACC_PTR_FP_OFF(x) (((const unsigned __far*)&(x))[0])
-# define ACC_PTR_FP_SEG(x) (((const unsigned __far*)&(x))[1])
-# define ACC_PTR_MK_FP(s,o) ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
-#endif
-
-#if !defined(lzo_uintptr_t)
-# if defined(__LZO_MMODEL_HUGE)
-# define lzo_uintptr_t unsigned long
-# elif 1 && defined(LZO_OS_OS400) && (LZO_SIZEOF_VOID_P == 16)
-# define __LZO_UINTPTR_T_IS_POINTER 1
- typedef char* lzo_uintptr_t;
-# define lzo_uintptr_t lzo_uintptr_t
-# elif (LZO_SIZEOF_SIZE_T == LZO_SIZEOF_VOID_P)
-# define lzo_uintptr_t size_t
-# elif (LZO_SIZEOF_LONG == LZO_SIZEOF_VOID_P)
-# define lzo_uintptr_t unsigned long
-# elif (LZO_SIZEOF_INT == LZO_SIZEOF_VOID_P)
-# define lzo_uintptr_t unsigned int
-# elif (LZO_SIZEOF_LONG_LONG == LZO_SIZEOF_VOID_P)
-# define lzo_uintptr_t unsigned long long
-# else
-# define lzo_uintptr_t size_t
-# endif
+#if defined(LZO_HAVE_CONFIG_H)
+# define LZO_CFG_NO_CONFIG_HEADER 1
#endif
-LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
#if 1 && !defined(LZO_CFG_FREESTANDING)
#if 1 && !defined(HAVE_STRING_H)
@@ -2001,6 +3415,23 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
#include
#endif
+#if 1 || defined(lzo_int8_t) || defined(lzo_uint8_t)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint8_t) == 1)
+#endif
+#if 1 || defined(lzo_int16_t) || defined(lzo_uint16_t)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint16_t) == 2)
+#endif
+#if 1 || defined(lzo_int32_t) || defined(lzo_uint32_t)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32_t) == 4)
+#endif
+#if defined(lzo_int64_t) || defined(lzo_uint64_t)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint64_t) == 8)
+#endif
+
#if (LZO_CFG_FREESTANDING)
# undef HAVE_MEMCMP
# undef HAVE_MEMCPY
@@ -2011,28 +3442,28 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
#if !(HAVE_MEMCMP)
# undef memcmp
# define memcmp(a,b,c) lzo_memcmp(a,b,c)
-#elif !(__LZO_MMODEL_HUGE)
+#else
# undef lzo_memcmp
# define lzo_memcmp(a,b,c) memcmp(a,b,c)
#endif
#if !(HAVE_MEMCPY)
# undef memcpy
# define memcpy(a,b,c) lzo_memcpy(a,b,c)
-#elif !(__LZO_MMODEL_HUGE)
+#else
# undef lzo_memcpy
# define lzo_memcpy(a,b,c) memcpy(a,b,c)
#endif
#if !(HAVE_MEMMOVE)
# undef memmove
# define memmove(a,b,c) lzo_memmove(a,b,c)
-#elif !(__LZO_MMODEL_HUGE)
+#else
# undef lzo_memmove
# define lzo_memmove(a,b,c) memmove(a,b,c)
#endif
#if !(HAVE_MEMSET)
# undef memset
# define memset(a,b,c) lzo_memset(a,b,c)
-#elif !(__LZO_MMODEL_HUGE)
+#else
# undef lzo_memset
# define lzo_memset(a,b,c) memset(a,b,c)
#endif
@@ -2057,87 +3488,585 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
# define BOUNDS_CHECKING_OFF_IN_EXPR(expr) (expr)
#endif
-#if !defined(__lzo_inline)
-# define __lzo_inline /*empty*/
+#if (LZO_CFG_PGO)
+# undef __lzo_likely
+# undef __lzo_unlikely
+# define __lzo_likely(e) (e)
+# define __lzo_unlikely(e) (e)
#endif
-#if !defined(__lzo_forceinline)
-# define __lzo_forceinline /*empty*/
+
+#undef _
+#undef __
+#undef ___
+#undef ____
+#undef _p0
+#undef _p1
+#undef _p2
+#undef _p3
+#undef _p4
+#undef _s0
+#undef _s1
+#undef _s2
+#undef _s3
+#undef _s4
+#undef _ww
+
+#if 1
+# define LZO_BYTE(x) ((unsigned char) (x))
+#else
+# define LZO_BYTE(x) ((unsigned char) ((x) & 0xff))
+#endif
+
+#define LZO_MAX(a,b) ((a) >= (b) ? (a) : (b))
+#define LZO_MIN(a,b) ((a) <= (b) ? (a) : (b))
+#define LZO_MAX3(a,b,c) ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c))
+#define LZO_MIN3(a,b,c) ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c))
+
+#define lzo_sizeof(type) ((lzo_uint) (sizeof(type)))
+
+#define LZO_HIGH(array) ((lzo_uint) (sizeof(array)/sizeof(*(array))))
+
+#define LZO_SIZE(bits) (1u << (bits))
+#define LZO_MASK(bits) (LZO_SIZE(bits) - 1)
+
+#define LZO_USIZE(bits) ((lzo_uint) 1 << (bits))
+#define LZO_UMASK(bits) (LZO_USIZE(bits) - 1)
+
+#if !defined(DMUL)
+#if 0
+
+# define DMUL(a,b) ((lzo_xint) ((lzo_uint32_t)(a) * (lzo_uint32_t)(b)))
+#else
+# define DMUL(a,b) ((lzo_xint) ((a) * (b)))
+#endif
+#endif
+
+#ifndef __LZO_FUNC_H
+#define __LZO_FUNC_H 1
+
+#if !defined(LZO_BITOPS_USE_ASM_BITSCAN) && !defined(LZO_BITOPS_USE_GNUC_BITSCAN) && !defined(LZO_BITOPS_USE_MSC_BITSCAN)
+#if 1 && (LZO_ARCH_AMD64) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_ASM_SYNTAX_GNUC)
+#define LZO_BITOPS_USE_ASM_BITSCAN 1
+#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul))))
+#define LZO_BITOPS_USE_GNUC_BITSCAN 1
+#elif (LZO_OS_WIN32 || LZO_OS_WIN64) && ((LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 1010)) || (LZO_CC_MSC && (_MSC_VER >= 1400)))
+#define LZO_BITOPS_USE_MSC_BITSCAN 1
+#if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
+#include
+#endif
+#if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
+#pragma intrinsic(_BitScanReverse)
+#pragma intrinsic(_BitScanForward)
+#endif
+#if (LZO_CC_MSC) && (LZO_ARCH_AMD64)
+#pragma intrinsic(_BitScanReverse64)
+#pragma intrinsic(_BitScanForward64)
+#endif
+#endif
+#endif
+
+__lzo_static_forceinline unsigned lzo_bitops_ctlz32_func(lzo_uint32_t v)
+{
+#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
+ unsigned long r; (void) _BitScanReverse(&r, v); return (unsigned) r ^ 31;
+#define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v)
+#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC)
+ lzo_uint32_t r;
+ __asm__("bsr %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
+ return (unsigned) r ^ 31;
+#define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v)
+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT == 4)
+ unsigned r; r = (unsigned) __builtin_clz(v); return r;
+#define lzo_bitops_ctlz32(v) ((unsigned) __builtin_clz(v))
+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >= 8)
+ unsigned r; r = (unsigned) __builtin_clzl(v); return r ^ 32;
+#define lzo_bitops_ctlz32(v) (((unsigned) __builtin_clzl(v)) ^ 32)
+#else
+ LZO_UNUSED(v); return 0;
+#endif
+}
+
+#if defined(lzo_uint64_t)
+__lzo_static_forceinline unsigned lzo_bitops_ctlz64_func(lzo_uint64_t v)
+{
+#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64)
+ unsigned long r; (void) _BitScanReverse64(&r, v); return (unsigned) r ^ 63;
+#define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v)
+#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC)
+ lzo_uint64_t r;
+ __asm__("bsr %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
+ return (unsigned) r ^ 63;
+#define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v)
+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >= 8)
+ unsigned r; r = (unsigned) __builtin_clzl(v); return r;
+#define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzl(v))
+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG == 8) && (LZO_WORDSIZE >= 8)
+ unsigned r; r = (unsigned) __builtin_clzll(v); return r;
+#define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzll(v))
+#else
+ LZO_UNUSED(v); return 0;
+#endif
+}
+#endif
+
+__lzo_static_forceinline unsigned lzo_bitops_cttz32_func(lzo_uint32_t v)
+{
+#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
+ unsigned long r; (void) _BitScanForward(&r, v); return (unsigned) r;
+#define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v)
+#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC)
+ lzo_uint32_t r;
+ __asm__("bsf %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
+ return (unsigned) r;
+#define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v)
+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT >= 4)
+ unsigned r; r = (unsigned) __builtin_ctz(v); return r;
+#define lzo_bitops_cttz32(v) ((unsigned) __builtin_ctz(v))
+#else
+ LZO_UNUSED(v); return 0;
+#endif
+}
+
+#if defined(lzo_uint64_t)
+__lzo_static_forceinline unsigned lzo_bitops_cttz64_func(lzo_uint64_t v)
+{
+#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64)
+ unsigned long r; (void) _BitScanForward64(&r, v); return (unsigned) r;
+#define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v)
+#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC)
+ lzo_uint64_t r;
+ __asm__("bsf %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
+ return (unsigned) r;
+#define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v)
+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG >= 8) && (LZO_WORDSIZE >= 8)
+ unsigned r; r = (unsigned) __builtin_ctzl(v); return r;
+#define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzl(v))
+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG >= 8) && (LZO_WORDSIZE >= 8)
+ unsigned r; r = (unsigned) __builtin_ctzll(v); return r;
+#define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzll(v))
+#else
+ LZO_UNUSED(v); return 0;
+#endif
+}
+#endif
+
+lzo_unused_funcs_impl(void, lzo_bitops_unused_funcs)(void)
+{
+ LZO_UNUSED_FUNC(lzo_bitops_unused_funcs);
+ LZO_UNUSED_FUNC(lzo_bitops_ctlz32_func);
+ LZO_UNUSED_FUNC(lzo_bitops_cttz32_func);
+#if defined(lzo_uint64_t)
+ LZO_UNUSED_FUNC(lzo_bitops_ctlz64_func);
+ LZO_UNUSED_FUNC(lzo_bitops_cttz64_func);
+#endif
+}
+
+#if defined(__lzo_alignof) && !(LZO_CFG_NO_UNALIGNED)
+#if !defined(lzo_memops_tcheck__) && 0
+#define lzo_memops_tcheck__(t,a,b) ((void)0, sizeof(t) == (a) && __lzo_alignof(t) == (b))
+#endif
+#endif
+#ifndef lzo_memops_TU0p
+#define lzo_memops_TU0p void __LZO_MMODEL *
+#endif
+#ifndef lzo_memops_TU1p
+#define lzo_memops_TU1p unsigned char __LZO_MMODEL *
+#endif
+#ifndef lzo_memops_TU2p
+#if (LZO_OPT_UNALIGNED16)
+typedef lzo_uint16_t __lzo_may_alias lzo_memops_TU2;
+#define lzo_memops_TU2p volatile lzo_memops_TU2 *
+#elif defined(__lzo_byte_struct)
+__lzo_byte_struct(lzo_memops_TU2_struct,2)
+typedef struct lzo_memops_TU2_struct lzo_memops_TU2;
+#else
+struct lzo_memops_TU2_struct { unsigned char a[2]; } __lzo_may_alias;
+typedef struct lzo_memops_TU2_struct lzo_memops_TU2;
+#endif
+#ifndef lzo_memops_TU2p
+#define lzo_memops_TU2p lzo_memops_TU2 *
+#endif
+#endif
+#ifndef lzo_memops_TU4p
+#if (LZO_OPT_UNALIGNED32)
+typedef lzo_uint32_t __lzo_may_alias lzo_memops_TU4;
+#define lzo_memops_TU4p volatile lzo_memops_TU4 __LZO_MMODEL *
+#elif defined(__lzo_byte_struct)
+__lzo_byte_struct(lzo_memops_TU4_struct,4)
+typedef struct lzo_memops_TU4_struct lzo_memops_TU4;
+#else
+struct lzo_memops_TU4_struct { unsigned char a[4]; } __lzo_may_alias;
+typedef struct lzo_memops_TU4_struct lzo_memops_TU4;
+#endif
+#ifndef lzo_memops_TU4p
+#define lzo_memops_TU4p lzo_memops_TU4 __LZO_MMODEL *
+#endif
+#endif
+#ifndef lzo_memops_TU8p
+#if (LZO_OPT_UNALIGNED64)
+typedef lzo_uint64_t __lzo_may_alias lzo_memops_TU8;
+#define lzo_memops_TU8p volatile lzo_memops_TU8 __LZO_MMODEL *
+#elif defined(__lzo_byte_struct)
+__lzo_byte_struct(lzo_memops_TU8_struct,8)
+typedef struct lzo_memops_TU8_struct lzo_memops_TU8;
+#else
+struct lzo_memops_TU8_struct { unsigned char a[8]; } __lzo_may_alias;
+typedef struct lzo_memops_TU8_struct lzo_memops_TU8;
+#endif
+#ifndef lzo_memops_TU8p
+#define lzo_memops_TU8p lzo_memops_TU8 __LZO_MMODEL *
+#endif
+#endif
+#ifndef lzo_memops_set_TU1p
+#define lzo_memops_set_TU1p volatile lzo_memops_TU1p
+#endif
+#ifndef lzo_memops_move_TU1p
+#define lzo_memops_move_TU1p lzo_memops_TU1p
+#endif
+#define LZO_MEMOPS_SET1(dd,cc) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_set_TU1p d__1 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \
+ d__1[0] = LZO_BYTE(cc); \
+ LZO_BLOCK_END
+#define LZO_MEMOPS_SET2(dd,cc) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_set_TU1p d__2 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \
+ d__2[0] = LZO_BYTE(cc); d__2[1] = LZO_BYTE(cc); \
+ LZO_BLOCK_END
+#define LZO_MEMOPS_SET3(dd,cc) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_set_TU1p d__3 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \
+ d__3[0] = LZO_BYTE(cc); d__3[1] = LZO_BYTE(cc); d__3[2] = LZO_BYTE(cc); \
+ LZO_BLOCK_END
+#define LZO_MEMOPS_SET4(dd,cc) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_set_TU1p d__4 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \
+ d__4[0] = LZO_BYTE(cc); d__4[1] = LZO_BYTE(cc); d__4[2] = LZO_BYTE(cc); d__4[3] = LZO_BYTE(cc); \
+ LZO_BLOCK_END
+#define LZO_MEMOPS_MOVE1(dd,ss) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_move_TU1p d__1 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
+ const lzo_memops_move_TU1p s__1 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \
+ d__1[0] = s__1[0]; \
+ LZO_BLOCK_END
+#define LZO_MEMOPS_MOVE2(dd,ss) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_move_TU1p d__2 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
+ const lzo_memops_move_TU1p s__2 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \
+ d__2[0] = s__2[0]; d__2[1] = s__2[1]; \
+ LZO_BLOCK_END
+#define LZO_MEMOPS_MOVE3(dd,ss) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_move_TU1p d__3 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
+ const lzo_memops_move_TU1p s__3 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \
+ d__3[0] = s__3[0]; d__3[1] = s__3[1]; d__3[2] = s__3[2]; \
+ LZO_BLOCK_END
+#define LZO_MEMOPS_MOVE4(dd,ss) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_move_TU1p d__4 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
+ const lzo_memops_move_TU1p s__4 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \
+ d__4[0] = s__4[0]; d__4[1] = s__4[1]; d__4[2] = s__4[2]; d__4[3] = s__4[3]; \
+ LZO_BLOCK_END
+#define LZO_MEMOPS_MOVE8(dd,ss) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_move_TU1p d__8 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
+ const lzo_memops_move_TU1p s__8 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \
+ d__8[0] = s__8[0]; d__8[1] = s__8[1]; d__8[2] = s__8[2]; d__8[3] = s__8[3]; \
+ d__8[4] = s__8[4]; d__8[5] = s__8[5]; d__8[6] = s__8[6]; d__8[7] = s__8[7]; \
+ LZO_BLOCK_END
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU1p)0)==1)
+#define LZO_MEMOPS_COPY1(dd,ss) LZO_MEMOPS_MOVE1(dd,ss)
+#if (LZO_OPT_UNALIGNED16)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU2p)0)==2)
+#define LZO_MEMOPS_COPY2(dd,ss) \
+ * (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss)
+#elif defined(lzo_memops_tcheck__)
+#define LZO_MEMOPS_COPY2(dd,ss) \
+ LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU2,2,1)) { \
+ * (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss); \
+ } else { LZO_MEMOPS_MOVE2(dd,ss); } LZO_BLOCK_END
+#else
+#define LZO_MEMOPS_COPY2(dd,ss) LZO_MEMOPS_MOVE2(dd,ss)
+#endif
+#if (LZO_OPT_UNALIGNED32)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU4p)0)==4)
+#define LZO_MEMOPS_COPY4(dd,ss) \
+ * (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss)
+#elif defined(lzo_memops_tcheck__)
+#define LZO_MEMOPS_COPY4(dd,ss) \
+ LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU4,4,1)) { \
+ * (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss); \
+ } else { LZO_MEMOPS_MOVE4(dd,ss); } LZO_BLOCK_END
+#else
+#define LZO_MEMOPS_COPY4(dd,ss) LZO_MEMOPS_MOVE4(dd,ss)
+#endif
+#if (LZO_WORDSIZE != 8)
+#define LZO_MEMOPS_COPY8(dd,ss) \
+ LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZO_BLOCK_END
+#else
+#if (LZO_OPT_UNALIGNED64)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
+#define LZO_MEMOPS_COPY8(dd,ss) \
+ * (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss)
+#elif (LZO_OPT_UNALIGNED32)
+#define LZO_MEMOPS_COPY8(dd,ss) \
+ LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZO_BLOCK_END
+#elif defined(lzo_memops_tcheck__)
+#define LZO_MEMOPS_COPY8(dd,ss) \
+ LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU8,8,1)) { \
+ * (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss); \
+ } else { LZO_MEMOPS_MOVE8(dd,ss); } LZO_BLOCK_END
+#else
+#define LZO_MEMOPS_COPY8(dd,ss) LZO_MEMOPS_MOVE8(dd,ss)
+#endif
+#endif
+#define LZO_MEMOPS_COPYN(dd,ss,nn) \
+ LZO_BLOCK_BEGIN \
+ lzo_memops_TU1p d__n = (lzo_memops_TU1p) (lzo_memops_TU0p) (dd); \
+ const lzo_memops_TU1p s__n = (const lzo_memops_TU1p) (const lzo_memops_TU0p) (ss); \
+ lzo_uint n__n = (nn); \
+ while ((void)0, n__n >= 8) { LZO_MEMOPS_COPY8(d__n, s__n); d__n += 8; s__n += 8; n__n -= 8; } \
+ if ((void)0, n__n >= 4) { LZO_MEMOPS_COPY4(d__n, s__n); d__n += 4; s__n += 4; n__n -= 4; } \
+ if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \
+ LZO_BLOCK_END
+
+__lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss)
+{
+ lzo_uint16_t v;
+#if (LZO_ABI_LITTLE_ENDIAN)
+ LZO_MEMOPS_COPY2(&v, ss);
+#elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC)
+ const lzo_memops_TU2p s = (const lzo_memops_TU2p) ss;
+ unsigned long vv;
+ __asm__("lhbrx %0,0,%1" : "=r" (vv) : "r" (s), "m" (*s));
+ v = (lzo_uint16_t) vv;
+#else
+ const lzo_memops_TU1p s = (const lzo_memops_TU1p) ss;
+ v = (lzo_uint16_t) (((lzo_uint16_t)s[0]) | ((lzo_uint16_t)s[1] << 8));
+#endif
+ return v;
+}
+#if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
+#define LZO_MEMOPS_GET_LE16(ss) (* (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss))
+#else
+#define LZO_MEMOPS_GET_LE16(ss) lzo_memops_get_le16(ss)
+#endif
+
+__lzo_static_forceinline lzo_uint32_t lzo_memops_get_le32(const lzo_voidp ss)
+{
+ lzo_uint32_t v;
+#if (LZO_ABI_LITTLE_ENDIAN)
+ LZO_MEMOPS_COPY4(&v, ss);
+#elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC)
+ const lzo_memops_TU4p s = (const lzo_memops_TU4p) ss;
+ unsigned long vv;
+ __asm__("lwbrx %0,0,%1" : "=r" (vv) : "r" (s), "m" (*s));
+ v = (lzo_uint32_t) vv;
+#else
+ const lzo_memops_TU1p s = (const lzo_memops_TU1p) ss;
+ v = (lzo_uint32_t) (((lzo_uint32_t)s[0]) | ((lzo_uint32_t)s[1] << 8) | ((lzo_uint32_t)s[2] << 16) | ((lzo_uint32_t)s[3] << 24));
+#endif
+ return v;
+}
+#if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN)
+#define LZO_MEMOPS_GET_LE32(ss) (* (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss))
+#else
+#define LZO_MEMOPS_GET_LE32(ss) lzo_memops_get_le32(ss)
+#endif
+
+#if (LZO_OPT_UNALIGNED64) && (LZO_ABI_LITTLE_ENDIAN)
+#define LZO_MEMOPS_GET_LE64(ss) (* (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss))
+#endif
+
+__lzo_static_forceinline lzo_uint16_t lzo_memops_get_ne16(const lzo_voidp ss)
+{
+ lzo_uint16_t v;
+ LZO_MEMOPS_COPY2(&v, ss);
+ return v;
+}
+#if (LZO_OPT_UNALIGNED16)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU2p)0)==2)
+#define LZO_MEMOPS_GET_NE16(ss) (* (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss))
+#else
+#define LZO_MEMOPS_GET_NE16(ss) lzo_memops_get_ne16(ss)
+#endif
+
+__lzo_static_forceinline lzo_uint32_t lzo_memops_get_ne32(const lzo_voidp ss)
+{
+ lzo_uint32_t v;
+ LZO_MEMOPS_COPY4(&v, ss);
+ return v;
+}
+#if (LZO_OPT_UNALIGNED32)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU4p)0)==4)
+#define LZO_MEMOPS_GET_NE32(ss) (* (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss))
+#else
+#define LZO_MEMOPS_GET_NE32(ss) lzo_memops_get_ne32(ss)
+#endif
+
+#if (LZO_OPT_UNALIGNED64)
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
+#define LZO_MEMOPS_GET_NE64(ss) (* (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss))
+#endif
+
+__lzo_static_forceinline void lzo_memops_put_le16(lzo_voidp dd, lzo_uint16_t vv)
+{
+#if (LZO_ABI_LITTLE_ENDIAN)
+ LZO_MEMOPS_COPY2(dd, &vv);
+#elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC)
+ lzo_memops_TU2p d = (lzo_memops_TU2p) dd;
+ unsigned long v = vv;
+ __asm__("sthbrx %2,0,%1" : "=m" (*d) : "r" (d), "r" (v));
+#else
+ lzo_memops_TU1p d = (lzo_memops_TU1p) dd;
+ d[0] = LZO_BYTE((vv ) & 0xff);
+ d[1] = LZO_BYTE((vv >> 8) & 0xff);
+#endif
+}
+#if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
+#define LZO_MEMOPS_PUT_LE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = (vv))
+#else
+#define LZO_MEMOPS_PUT_LE16(dd,vv) lzo_memops_put_le16(dd,vv)
+#endif
+
+__lzo_static_forceinline void lzo_memops_put_le32(lzo_voidp dd, lzo_uint32_t vv)
+{
+#if (LZO_ABI_LITTLE_ENDIAN)
+ LZO_MEMOPS_COPY4(dd, &vv);
+#elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC)
+ lzo_memops_TU4p d = (lzo_memops_TU4p) dd;
+ unsigned long v = vv;
+ __asm__("stwbrx %2,0,%1" : "=m" (*d) : "r" (d), "r" (v));
+#else
+ lzo_memops_TU1p d = (lzo_memops_TU1p) dd;
+ d[0] = LZO_BYTE((vv ) & 0xff);
+ d[1] = LZO_BYTE((vv >> 8) & 0xff);
+ d[2] = LZO_BYTE((vv >> 16) & 0xff);
+ d[3] = LZO_BYTE((vv >> 24) & 0xff);
#endif
-#if !defined(__lzo_noinline)
-# define __lzo_noinline /*empty*/
+}
+#if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN)
+#define LZO_MEMOPS_PUT_LE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = (vv))
+#else
+#define LZO_MEMOPS_PUT_LE32(dd,vv) lzo_memops_put_le32(dd,vv)
#endif
-#if (LZO_CFG_PGO)
-# undef __acc_likely
-# undef __acc_unlikely
-# undef __lzo_likely
-# undef __lzo_unlikely
-# define __acc_likely(e) (e)
-# define __acc_unlikely(e) (e)
-# define __lzo_likely(e) (e)
-# define __lzo_unlikely(e) (e)
+__lzo_static_forceinline void lzo_memops_put_ne16(lzo_voidp dd, lzo_uint16_t vv)
+{
+ LZO_MEMOPS_COPY2(dd, &vv);
+}
+#if (LZO_OPT_UNALIGNED16)
+#define LZO_MEMOPS_PUT_NE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = (vv))
+#else
+#define LZO_MEMOPS_PUT_NE16(dd,vv) lzo_memops_put_ne16(dd,vv)
#endif
-#if 1
-# define LZO_BYTE(x) ((unsigned char) (x))
+__lzo_static_forceinline void lzo_memops_put_ne32(lzo_voidp dd, lzo_uint32_t vv)
+{
+ LZO_MEMOPS_COPY4(dd, &vv);
+}
+#if (LZO_OPT_UNALIGNED32)
+#define LZO_MEMOPS_PUT_NE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = (vv))
#else
-# define LZO_BYTE(x) ((unsigned char) ((x) & 0xff))
+#define LZO_MEMOPS_PUT_NE32(dd,vv) lzo_memops_put_ne32(dd,vv)
#endif
-#define LZO_MAX(a,b) ((a) >= (b) ? (a) : (b))
-#define LZO_MIN(a,b) ((a) <= (b) ? (a) : (b))
-#define LZO_MAX3(a,b,c) ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c))
-#define LZO_MIN3(a,b,c) ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c))
-
-#define lzo_sizeof(type) ((lzo_uint) (sizeof(type)))
-
-#define LZO_HIGH(array) ((lzo_uint) (sizeof(array)/sizeof(*(array))))
-
-#define LZO_SIZE(bits) (1u << (bits))
-#define LZO_MASK(bits) (LZO_SIZE(bits) - 1)
-
-#define LZO_LSIZE(bits) (1ul << (bits))
-#define LZO_LMASK(bits) (LZO_LSIZE(bits) - 1)
-
-#define LZO_USIZE(bits) ((lzo_uint) 1 << (bits))
-#define LZO_UMASK(bits) (LZO_USIZE(bits) - 1)
+lzo_unused_funcs_impl(void, lzo_memops_unused_funcs)(void)
+{
+ LZO_UNUSED_FUNC(lzo_memops_unused_funcs);
+ LZO_UNUSED_FUNC(lzo_memops_get_le16);
+ LZO_UNUSED_FUNC(lzo_memops_get_le32);
+ LZO_UNUSED_FUNC(lzo_memops_get_ne16);
+ LZO_UNUSED_FUNC(lzo_memops_get_ne32);
+ LZO_UNUSED_FUNC(lzo_memops_put_le16);
+ LZO_UNUSED_FUNC(lzo_memops_put_le32);
+ LZO_UNUSED_FUNC(lzo_memops_put_ne16);
+ LZO_UNUSED_FUNC(lzo_memops_put_ne32);
+}
-#if !defined(DMUL)
-#if 0
+#endif
-# define DMUL(a,b) ((lzo_xint) ((lzo_uint32)(a) * (lzo_uint32)(b)))
-#else
-# define DMUL(a,b) ((lzo_xint) ((a) * (b)))
+#ifndef UA_SET1
+#define UA_SET1 LZO_MEMOPS_SET1
#endif
+#ifndef UA_SET2
+#define UA_SET2 LZO_MEMOPS_SET2
#endif
-
-#if 1 && !(LZO_CFG_NO_UNALIGNED)
-#if 1 && (LZO_ARCH_AMD64 || LZO_ARCH_I386 || LZO_ARCH_POWERPC)
-# if (LZO_SIZEOF_SHORT == 2)
-# define LZO_UNALIGNED_OK_2 1
-# endif
-# if (LZO_SIZEOF_INT == 4)
-# define LZO_UNALIGNED_OK_4 1
-# endif
+#ifndef UA_SET3
+#define UA_SET3 LZO_MEMOPS_SET3
#endif
+#ifndef UA_SET4
+#define UA_SET4 LZO_MEMOPS_SET4
#endif
-
-#if defined(LZO_UNALIGNED_OK_2)
- LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(short) == 2)
+#ifndef UA_MOVE1
+#define UA_MOVE1 LZO_MEMOPS_MOVE1
#endif
-#if defined(LZO_UNALIGNED_OK_4)
- LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32) == 4)
-#elif defined(LZO_ALIGNED_OK_4)
- LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32) == 4)
+#ifndef UA_MOVE2
+#define UA_MOVE2 LZO_MEMOPS_MOVE2
#endif
-
-#undef COPY4
-#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
-# if 1 && defined(ACC_UA_COPY32)
-# define COPY4(d,s) ACC_UA_COPY32(d,s)
-# else
-# define COPY4(d,s) (* (__lzo_ua_volatile lzo_uint32p)(__lzo_ua_volatile lzo_voidp)(d) = * (__lzo_ua_volatile const lzo_uint32p)(__lzo_ua_volatile const lzo_voidp)(s))
-# endif
+#ifndef UA_MOVE3
+#define UA_MOVE3 LZO_MEMOPS_MOVE3
+#endif
+#ifndef UA_MOVE4
+#define UA_MOVE4 LZO_MEMOPS_MOVE4
+#endif
+#ifndef UA_MOVE8
+#define UA_MOVE8 LZO_MEMOPS_MOVE8
+#endif
+#ifndef UA_COPY1
+#define UA_COPY1 LZO_MEMOPS_COPY1
+#endif
+#ifndef UA_COPY2
+#define UA_COPY2 LZO_MEMOPS_COPY2
+#endif
+#ifndef UA_COPY3
+#define UA_COPY3 LZO_MEMOPS_COPY3
+#endif
+#ifndef UA_COPY4
+#define UA_COPY4 LZO_MEMOPS_COPY4
+#endif
+#ifndef UA_COPY8
+#define UA_COPY8 LZO_MEMOPS_COPY8
+#endif
+#ifndef UA_COPYN
+#define UA_COPYN LZO_MEMOPS_COPYN
+#endif
+#ifndef UA_COPYN_X
+#define UA_COPYN_X LZO_MEMOPS_COPYN
+#endif
+#ifndef UA_GET_LE16
+#define UA_GET_LE16 LZO_MEMOPS_GET_LE16
+#endif
+#ifndef UA_GET_LE32
+#define UA_GET_LE32 LZO_MEMOPS_GET_LE32
+#endif
+#ifdef LZO_MEMOPS_GET_LE64
+#ifndef UA_GET_LE64
+#define UA_GET_LE64 LZO_MEMOPS_GET_LE64
+#endif
+#endif
+#ifndef UA_GET_NE16
+#define UA_GET_NE16 LZO_MEMOPS_GET_NE16
+#endif
+#ifndef UA_GET_NE32
+#define UA_GET_NE32 LZO_MEMOPS_GET_NE32
+#endif
+#ifdef LZO_MEMOPS_GET_NE64
+#ifndef UA_GET_NE64
+#define UA_GET_NE64 LZO_MEMOPS_GET_NE64
+#endif
+#endif
+#ifndef UA_PUT_LE16
+#define UA_PUT_LE16 LZO_MEMOPS_PUT_LE16
+#endif
+#ifndef UA_PUT_LE32
+#define UA_PUT_LE32 LZO_MEMOPS_PUT_LE32
+#endif
+#ifndef UA_PUT_NE16
+#define UA_PUT_NE16 LZO_MEMOPS_PUT_NE16
+#endif
+#ifndef UA_PUT_NE32
+#define UA_PUT_NE32 LZO_MEMOPS_PUT_NE32
#endif
#define MEMCPY8_DS(dest,src,len) \
@@ -2158,25 +4087,10 @@ LZO_EXTERN(const lzo_bytep) lzo_copyright(void);
extern "C" {
#endif
-#if !defined(lzo_uintptr_t)
-# if (__LZO_MMODEL_HUGE)
-# define lzo_uintptr_t unsigned long
-# else
-# define lzo_uintptr_t acc_uintptr_t
-# ifdef __ACC_INTPTR_T_IS_POINTER
-# define __LZO_UINTPTR_T_IS_POINTER 1
-# endif
-# endif
-#endif
-
#if (LZO_ARCH_I086)
-#define PTR(a) ((lzo_bytep) (a))
-#define PTR_ALIGNED_4(a) ((ACC_PTR_FP_OFF(a) & 3) == 0)
-#define PTR_ALIGNED2_4(a,b) (((ACC_PTR_FP_OFF(a) | ACC_PTR_FP_OFF(b)) & 3) == 0)
+#error "LZO_ARCH_I086 is unsupported"
#elif (LZO_MM_PVP)
-#define PTR(a) ((lzo_bytep) (a))
-#define PTR_ALIGNED_8(a) ((((lzo_uintptr_t)(a)) >> 61) == 0)
-#define PTR_ALIGNED2_8(a,b) ((((lzo_uintptr_t)(a)|(lzo_uintptr_t)(b)) >> 61) == 0)
+#error "LZO_MM_PVP is unsupported"
#else
#define PTR(a) ((lzo_uintptr_t) (a))
#define PTR_LINEAR(a) PTR(a)
@@ -2206,20 +4120,28 @@ typedef union
unsigned long a_ulong;
lzo_int a_lzo_int;
lzo_uint a_lzo_uint;
- lzo_int32 a_lzo_int32;
- lzo_uint32 a_lzo_uint32;
+ lzo_xint a_lzo_xint;
+ lzo_int16_t a_lzo_int16_t;
+ lzo_uint16_t a_lzo_uint16_t;
+ lzo_int32_t a_lzo_int32_t;
+ lzo_uint32_t a_lzo_uint32_t;
+#if defined(lzo_uint64_t)
+ lzo_int64_t a_lzo_int64_t;
+ lzo_uint64_t a_lzo_uint64_t;
+#endif
+ size_t a_size_t;
ptrdiff_t a_ptrdiff_t;
lzo_uintptr_t a_lzo_uintptr_t;
- lzo_voidp a_lzo_voidp;
void * a_void_p;
- lzo_bytep a_lzo_bytep;
- lzo_bytepp a_lzo_bytepp;
- lzo_uintp a_lzo_uintp;
- lzo_uint * a_lzo_uint_p;
- lzo_uint32p a_lzo_uint32p;
- lzo_uint32 * a_lzo_uint32_p;
- unsigned char * a_uchar_p;
char * a_char_p;
+ unsigned char * a_uchar_p;
+ const void * a_c_void_p;
+ const char * a_c_char_p;
+ const unsigned char * a_c_uchar_p;
+ lzo_voidp a_lzo_voidp;
+ lzo_bytep a_lzo_bytep;
+ const lzo_voidp a_c_lzo_voidp;
+ const lzo_bytep a_c_lzo_bytep;
}
lzo_full_align_t;
@@ -2229,19 +4151,20 @@ lzo_full_align_t;
#endif
+#ifndef LZO_DETERMINISTIC
#define LZO_DETERMINISTIC 1
+#endif
+#ifndef LZO_DICT_USE_PTR
#define LZO_DICT_USE_PTR 1
-#if 0 && (LZO_ARCH_I086)
-# undef LZO_DICT_USE_PTR
#endif
#if (LZO_DICT_USE_PTR)
# define lzo_dict_t const lzo_bytep
-# define lzo_dict_p lzo_dict_t __LZO_MMODEL *
+# define lzo_dict_p lzo_dict_t *
#else
# define lzo_dict_t lzo_uint
-# define lzo_dict_p lzo_dict_t __LZO_MMODEL *
+# define lzo_dict_p lzo_dict_t *
#endif
#endif
@@ -2254,10 +4177,9 @@ __lzo_ptr_linear(const lzo_voidp ptr)
lzo_uintptr_t p;
#if (LZO_ARCH_I086)
- p = (((lzo_uintptr_t)(ACC_PTR_FP_SEG(ptr))) << (16 - ACC_MM_AHSHIFT)) + (ACC_PTR_FP_OFF(ptr));
+#error "LZO_ARCH_I086 is unsupported"
#elif (LZO_MM_PVP)
- p = (lzo_uintptr_t) (ptr);
- p = (p << 3) | (p >> 61);
+#error "LZO_MM_PVP is unsupported"
#else
p = (lzo_uintptr_t) PTR_LINEAR(ptr);
#endif
@@ -2268,16 +4190,20 @@ __lzo_ptr_linear(const lzo_voidp ptr)
LZO_PUBLIC(unsigned)
__lzo_align_gap(const lzo_voidp ptr, lzo_uint size)
{
-#if defined(__LZO_UINTPTR_T_IS_POINTER)
- size_t n = (size_t) ptr;
- n = (((n + size - 1) / size) * size) - n;
+#if (__LZO_UINTPTR_T_IS_POINTER)
+#error "__LZO_UINTPTR_T_IS_POINTER is unsupported"
#else
lzo_uintptr_t p, n;
+ if (size < 2) return 0;
p = __lzo_ptr_linear(ptr);
+#if 0
n = (((p + size - 1) / size) * size) - p;
+#else
+ if ((size & (size - 1)) != 0)
+ return 0;
+ n = size; n = ((p + n - 1) & ~(n - 1)) - p;
+#endif
#endif
-
- assert(size > 0);
assert((long)n >= 0);
assert(n <= size);
return (unsigned)n;
@@ -2290,27 +4216,25 @@ __lzo_align_gap(const lzo_voidp ptr, lzo_uint size)
* keep this copyright string in the executable of your product.
*/
-static const char __lzo_copyright[] =
+static const char lzo_copyright_[] =
#if !defined(__LZO_IN_MINLZO)
LZO_VERSION_STRING;
#else
"\r\n\n"
"LZO data compression library.\n"
- "$Copyright: LZO Copyright (C) 1996-2010 Markus Franz Xaver Johannes Oberhumer\n"
+ "$Copyright: LZO Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\n"
"\n"
"http://www.oberhumer.com $\n\n"
"$Id: LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE " $\n"
"$Info: " LZO_INFO_STRING " $\n";
#endif
+static const char lzo_version_string_[] = LZO_VERSION_STRING;
+static const char lzo_version_date_[] = LZO_VERSION_DATE;
LZO_PUBLIC(const lzo_bytep)
lzo_copyright(void)
{
-#if (LZO_OS_DOS16 && LZO_CC_TURBOC)
- return (lzo_voidp) __lzo_copyright;
-#else
- return (const lzo_bytep) __lzo_copyright;
-#endif
+ return (const lzo_bytep) lzo_copyright_;
}
LZO_PUBLIC(unsigned)
@@ -2322,41 +4246,41 @@ lzo_version(void)
LZO_PUBLIC(const char *)
lzo_version_string(void)
{
- return LZO_VERSION_STRING;
+ return lzo_version_string_;
}
LZO_PUBLIC(const char *)
lzo_version_date(void)
{
- return LZO_VERSION_DATE;
+ return lzo_version_date_;
}
LZO_PUBLIC(const lzo_charp)
_lzo_version_string(void)
{
- return LZO_VERSION_STRING;
+ return lzo_version_string_;
}
LZO_PUBLIC(const lzo_charp)
_lzo_version_date(void)
{
- return LZO_VERSION_DATE;
+ return lzo_version_date_;
}
#define LZO_BASE 65521u
#define LZO_NMAX 5552
#define LZO_DO1(buf,i) s1 += buf[i]; s2 += s1
-#define LZO_DO2(buf,i) LZO_DO1(buf,i); LZO_DO1(buf,i+1);
-#define LZO_DO4(buf,i) LZO_DO2(buf,i); LZO_DO2(buf,i+2);
-#define LZO_DO8(buf,i) LZO_DO4(buf,i); LZO_DO4(buf,i+4);
-#define LZO_DO16(buf,i) LZO_DO8(buf,i); LZO_DO8(buf,i+8);
+#define LZO_DO2(buf,i) LZO_DO1(buf,i); LZO_DO1(buf,i+1)
+#define LZO_DO4(buf,i) LZO_DO2(buf,i); LZO_DO2(buf,i+2)
+#define LZO_DO8(buf,i) LZO_DO4(buf,i); LZO_DO4(buf,i+4)
+#define LZO_DO16(buf,i) LZO_DO8(buf,i); LZO_DO8(buf,i+8)
-LZO_PUBLIC(lzo_uint32)
-lzo_adler32(lzo_uint32 adler, const lzo_bytep buf, lzo_uint len)
+LZO_PUBLIC(lzo_uint32_t)
+lzo_adler32(lzo_uint32_t adler, const lzo_bytep buf, lzo_uint len)
{
- lzo_uint32 s1 = adler & 0xffff;
- lzo_uint32 s2 = (adler >> 16) & 0xffff;
+ lzo_uint32_t s1 = adler & 0xffff;
+ lzo_uint32_t s2 = (adler >> 16) & 0xffff;
unsigned k;
if (buf == NULL)
@@ -2413,8 +4337,8 @@ lzo_adler32(lzo_uint32 adler, const lzo_bytep buf, lzo_uint len)
LZOLIB_PUBLIC(int, lzo_hmemcmp) (const lzo_hvoid_p s1, const lzo_hvoid_p s2, lzo_hsize_t len)
{
#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP)
- const lzo_hbyte_p p1 = (const lzo_hbyte_p) s1;
- const lzo_hbyte_p p2 = (const lzo_hbyte_p) s2;
+ const lzo_hbyte_p p1 = LZO_STATIC_CAST(const lzo_hbyte_p, s1);
+ const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, s2);
if __lzo_likely(len > 0) do
{
int d = *p1 - *p2;
@@ -2430,8 +4354,8 @@ LZOLIB_PUBLIC(int, lzo_hmemcmp) (const lzo_hvoid_p s1, const lzo_hvoid_p s2, lzo
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len)
{
#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY)
- lzo_hbyte_p p1 = (lzo_hbyte_p) dest;
- const lzo_hbyte_p p2 = (const lzo_hbyte_p) src;
+ lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest);
+ const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src);
if (!(len > 0) || p1 == p2)
return dest;
do
@@ -2445,8 +4369,8 @@ LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len)
{
#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE)
- lzo_hbyte_p p1 = (lzo_hbyte_p) dest;
- const lzo_hbyte_p p2 = (const lzo_hbyte_p) src;
+ lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest);
+ const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src);
if (!(len > 0) || p1 == p2)
return dest;
if (p1 < p2)
@@ -2468,16 +4392,17 @@ LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p sr
return memmove(dest, src, len);
#endif
}
-LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int c, lzo_hsize_t len)
+LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int cc, lzo_hsize_t len)
{
#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET)
- lzo_hbyte_p p = (lzo_hbyte_p) s;
+ lzo_hbyte_p p = LZO_STATIC_CAST(lzo_hbyte_p, s);
+ unsigned char c = LZO_ITRUNC(unsigned char, cc);
if __lzo_likely(len > 0) do
- *p++ = (unsigned char) c;
+ *p++ = c;
while __lzo_likely(--len > 0);
return s;
#else
- return memset(s, c, len);
+ return memset(s, cc, len);
#endif
}
#undef LZOLIB_PUBLIC
@@ -2486,29 +4411,28 @@ LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int c, lzo_hsize_t len)
#if !defined(__LZO_IN_MINILZO)
-#define ACC_WANT_ACC_CHK_CH 1
-#undef ACCCHK_ASSERT
+#define LZO_WANT_ACC_CHK_CH 1
+#undef LZOCHK_ASSERT
- ACCCHK_ASSERT_IS_SIGNED_T(lzo_int)
- ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint)
-
- ACCCHK_ASSERT_IS_SIGNED_T(lzo_int32)
- ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32)
- ACCCHK_ASSERT((LZO_UINT32_C(1) << (int)(8*sizeof(LZO_UINT32_C(1))-1)) > 0)
- ACCCHK_ASSERT(sizeof(lzo_uint32) >= 4)
-
-#if !defined(__LZO_UINTPTR_T_IS_POINTER)
- ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t)
+ LZOCHK_ASSERT((LZO_UINT32_C(1) << (int)(8*sizeof(LZO_UINT32_C(1))-1)) > 0)
+ LZOCHK_ASSERT_IS_SIGNED_T(lzo_int)
+ LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint)
+#if !(__LZO_UINTPTR_T_IS_POINTER)
+ LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t)
#endif
- ACCCHK_ASSERT(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
+ LZOCHK_ASSERT(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
+ LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_xint)
- ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_xint)
- ACCCHK_ASSERT(sizeof(lzo_xint) >= sizeof(lzo_uint32))
- ACCCHK_ASSERT(sizeof(lzo_xint) >= sizeof(lzo_uint))
- ACCCHK_ASSERT(sizeof(lzo_xint) == sizeof(lzo_uint32) || sizeof(lzo_xint) == sizeof(lzo_uint))
+#endif
+#undef LZOCHK_ASSERT
+union lzo_config_check_union {
+ lzo_uint a[2];
+ unsigned char b[2*LZO_MAX(8,sizeof(lzo_uint))];
+#if defined(lzo_uint64_t)
+ lzo_uint64_t c[2];
#endif
-#undef ACCCHK_ASSERT
+};
#if 0
#define u2p(ptr,off) ((lzo_voidp) (((lzo_bytep)(lzo_voidp)(ptr)) + (off)))
@@ -2522,40 +4446,101 @@ static __lzo_noinline lzo_voidp u2p(lzo_voidp ptr, lzo_uint off)
LZO_PUBLIC(int)
_lzo_config_check(void)
{
- lzo_bool r = 1;
- union {
- lzo_xint a[2]; unsigned char b[2*sizeof(lzo_xint)];
- unsigned short x[2]; lzo_uint32 y[2]; lzo_uint z[2];
- } u;
+#if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030100ul && LZO_CC_CLANG < 0x030300ul))
+# if 0
+ volatile
+# endif
+#endif
+ union lzo_config_check_union u;
lzo_voidp p;
+ unsigned r = 1;
u.a[0] = u.a[1] = 0;
p = u2p(&u, 0);
r &= ((* (lzo_bytep) p) == 0);
-#if !defined(LZO_CFG_NO_CONFIG_CHECK)
-#if defined(LZO_ABI_BIG_ENDIAN)
+#if !(LZO_CFG_NO_CONFIG_CHECK)
+#if (LZO_ABI_BIG_ENDIAN)
u.a[0] = u.a[1] = 0; u.b[sizeof(lzo_uint) - 1] = 128;
p = u2p(&u, 0);
r &= ((* (lzo_uintp) p) == 128);
#endif
-#if defined(LZO_ABI_LITTLE_ENDIAN)
+#if (LZO_ABI_LITTLE_ENDIAN)
u.a[0] = u.a[1] = 0; u.b[0] = 128;
p = u2p(&u, 0);
r &= ((* (lzo_uintp) p) == 128);
#endif
-#if defined(LZO_UNALIGNED_OK_2)
u.a[0] = u.a[1] = 0;
- u.b[0] = 1; u.b[sizeof(unsigned short) + 1] = 2;
+ u.b[0] = 1; u.b[3] = 2;
p = u2p(&u, 1);
- r &= ((* (lzo_ushortp) p) == 0);
+ r &= UA_GET_NE16(p) == 0;
+ r &= UA_GET_LE16(p) == 0;
+ u.b[1] = 128;
+ r &= UA_GET_LE16(p) == 128;
+ u.b[2] = 129;
+ r &= UA_GET_LE16(p) == LZO_UINT16_C(0x8180);
+#if (LZO_ABI_BIG_ENDIAN)
+ r &= UA_GET_NE16(p) == LZO_UINT16_C(0x8081);
+#endif
+#if (LZO_ABI_LITTLE_ENDIAN)
+ r &= UA_GET_NE16(p) == LZO_UINT16_C(0x8180);
#endif
-#if defined(LZO_UNALIGNED_OK_4)
u.a[0] = u.a[1] = 0;
- u.b[0] = 3; u.b[sizeof(lzo_uint32) + 1] = 4;
+ u.b[0] = 3; u.b[5] = 4;
p = u2p(&u, 1);
- r &= ((* (lzo_uint32p) p) == 0);
+ r &= UA_GET_NE32(p) == 0;
+ r &= UA_GET_LE32(p) == 0;
+ u.b[1] = 128;
+ r &= UA_GET_LE32(p) == 128;
+ u.b[2] = 129; u.b[3] = 130; u.b[4] = 131;
+ r &= UA_GET_LE32(p) == LZO_UINT32_C(0x83828180);
+#if (LZO_ABI_BIG_ENDIAN)
+ r &= UA_GET_NE32(p) == LZO_UINT32_C(0x80818283);
#endif
+#if (LZO_ABI_LITTLE_ENDIAN)
+ r &= UA_GET_NE32(p) == LZO_UINT32_C(0x83828180);
#endif
+#if defined(UA_GET_NE64)
+ u.c[0] = u.c[1] = 0;
+ u.b[0] = 5; u.b[9] = 6;
+ p = u2p(&u, 1);
+ u.c[0] = u.c[1] = 0;
+ r &= UA_GET_NE64(p) == 0;
+#if defined(UA_GET_LE64)
+ r &= UA_GET_LE64(p) == 0;
+ u.b[1] = 128;
+ r &= UA_GET_LE64(p) == 128;
+#endif
+#endif
+#if defined(lzo_bitops_ctlz32)
+ { unsigned i = 0; lzo_uint32_t v;
+ for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
+ r &= lzo_bitops_ctlz32(v) == 31 - i;
+ r &= lzo_bitops_ctlz32_func(v) == 31 - i;
+ }}
+#endif
+#if defined(lzo_bitops_ctlz64)
+ { unsigned i = 0; lzo_uint64_t v;
+ for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
+ r &= lzo_bitops_ctlz64(v) == 63 - i;
+ r &= lzo_bitops_ctlz64_func(v) == 63 - i;
+ }}
+#endif
+#if defined(lzo_bitops_cttz32)
+ { unsigned i = 0; lzo_uint32_t v;
+ for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
+ r &= lzo_bitops_cttz32(v) == i;
+ r &= lzo_bitops_cttz32_func(v) == i;
+ }}
+#endif
+#if defined(lzo_bitops_cttz64)
+ { unsigned i = 0; lzo_uint64_t v;
+ for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
+ r &= lzo_bitops_cttz64(v) == i;
+ r &= lzo_bitops_cttz64_func(v) == i;
+ }}
+#endif
+#endif
+ LZO_UNUSED_FUNC(lzo_bitops_unused_funcs);
return r == 1 ? LZO_E_OK : LZO_E_ERROR;
}
@@ -2569,11 +4554,11 @@ __lzo_init_v2(unsigned v, int s1, int s2, int s3, int s4, int s5,
#if defined(__LZO_IN_MINILZO)
#elif (LZO_CC_MSC && ((_MSC_VER) < 700))
#else
-#define ACC_WANT_ACC_CHK_CH 1
-#undef ACCCHK_ASSERT
-#define ACCCHK_ASSERT(expr) LZO_COMPILE_TIME_ASSERT(expr)
+#define LZO_WANT_ACC_CHK_CH 1
+#undef LZOCHK_ASSERT
+#define LZOCHK_ASSERT(expr) LZO_COMPILE_TIME_ASSERT(expr)
#endif
-#undef ACCCHK_ASSERT
+#undef LZOCHK_ASSERT
if (v == 0)
return LZO_E_ERROR;
@@ -2581,7 +4566,7 @@ __lzo_init_v2(unsigned v, int s1, int s2, int s3, int s4, int s5,
r = (s1 == -1 || s1 == (int) sizeof(short)) &&
(s2 == -1 || s2 == (int) sizeof(int)) &&
(s3 == -1 || s3 == (int) sizeof(long)) &&
- (s4 == -1 || s4 == (int) sizeof(lzo_uint32)) &&
+ (s4 == -1 || s4 == (int) sizeof(lzo_uint32_t)) &&
(s5 == -1 || s5 == (int) sizeof(lzo_uint)) &&
(s6 == -1 || s6 == (int) lzo_sizeof_dict_t) &&
(s7 == -1 || s7 == (int) sizeof(char *)) &&
@@ -2624,10 +4609,24 @@ int __far __pascal LibMain ( int a, short b, short c, long d )
#if !defined(MINILZO_CFG_SKIP_LZO1X_1_COMPRESS)
+#if 1 && defined(UA_GET_LE32)
+#undef LZO_DICT_USE_PTR
+#define LZO_DICT_USE_PTR 0
+#undef lzo_dict_t
+#define lzo_dict_t lzo_uint16_t
+#endif
+
#define LZO_NEED_DICT_H 1
+#ifndef D_BITS
#define D_BITS 14
+#endif
#define D_INDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5)
#define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f)
+#if 1
+#define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS)))
+#else
+#define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS)))
+#endif
#ifndef __LZO_CONFIG1X_H
#define __LZO_CONFIG1X_H 1
@@ -2637,7 +4636,7 @@ int __far __pascal LibMain ( int a, short b, short c, long d )
#endif
#if !defined(__LZO_IN_MINILZO)
-#include "lzo/lzo1x.h"
+#include
#endif
#ifndef LZO_EOF_CODE
@@ -2829,7 +4828,7 @@ extern "C" {
#if !defined(DVAL_ASSERT)
#if defined(__LZO_HASH_INCREMENTAL) && !defined(NDEBUG)
-#if (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_LLVM)
+#if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
static void __attribute__((__unused__))
#else
static void
@@ -2845,11 +4844,11 @@ DVAL_ASSERT(lzo_xint dv, const lzo_bytep p)
#endif
#endif
-#if defined(LZO_DICT_USE_PTR)
+#if (LZO_DICT_USE_PTR)
# define DENTRY(p,in) (p)
# define GINDEX(m_pos,m_off,dict,dindex,in) m_pos = dict[dindex]
#else
-# define DENTRY(p,in) ((lzo_uint) ((p)-(in)))
+# define DENTRY(p,in) ((lzo_dict_t) pd(p, in))
# define GINDEX(m_pos,m_off,dict,dindex,in) m_off = dict[dindex]
#endif
@@ -2870,7 +4869,7 @@ DVAL_ASSERT(lzo_xint dv, const lzo_bytep p)
#endif
-#if defined(LZO_DICT_USE_PTR)
+#if (LZO_DICT_USE_PTR)
#define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \
(m_pos == NULL || (m_off = pd(ip, m_pos)) > max_offset)
@@ -2896,7 +4895,7 @@ DVAL_ASSERT(lzo_xint dv, const lzo_bytep p)
#endif
-#if defined(LZO_DETERMINISTIC)
+#if (LZO_DETERMINISTIC)
# define LZO_CHECK_MPOS LZO_CHECK_MPOS_DET
#else
# define LZO_CHECK_MPOS LZO_CHECK_MPOS_NON_DET
@@ -2912,22 +4911,25 @@ DVAL_ASSERT(lzo_xint dv, const lzo_bytep p)
#endif
-#define do_compress _lzo1x_1_do_compress
+#define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR)
+
+#ifndef DO_COMPRESS
#define DO_COMPRESS lzo1x_1_compress
+#endif
#if 1 && defined(DO_COMPRESS) && !defined(do_compress)
-# define do_compress LZO_CPP_ECONCAT2(DO_COMPRESS,_core)
+# define do_compress LZO_PP_ECONCAT2(DO_COMPRESS,_core)
#endif
static __lzo_noinline lzo_uint
do_compress ( const lzo_bytep in , lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len,
- lzo_voidp wrkmem )
+ lzo_uint ti, lzo_voidp wrkmem)
{
- register const lzo_bytep ip;
+ const lzo_bytep ip;
lzo_bytep op;
const lzo_bytep const in_end = in + in_len;
- const lzo_bytep const ip_end = in + in_len - M2_MAX_LEN - 5;
+ const lzo_bytep const ip_end = in + in_len - 20;
const lzo_bytep ii;
lzo_dict_p const dict = (lzo_dict_p) wrkmem;
@@ -2935,14 +4937,17 @@ do_compress ( const lzo_bytep in , lzo_uint in_len,
ip = in;
ii = ip;
- ip += 4;
+ ip += ti < 4 ? 4 - ti : 0;
for (;;)
{
- register const lzo_bytep m_pos;
+ const lzo_bytep m_pos;
+#if !(LZO_DETERMINISTIC)
LZO_DEFINE_UNINITIALIZED_VAR(lzo_uint, m_off, 0);
lzo_uint m_len;
lzo_uint dindex;
-
+next:
+ if __lzo_unlikely(ip >= ip_end)
+ break;
DINDEX1(dindex,ip);
GINDEX(m_pos,m_off,dict,dindex,in);
if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET))
@@ -2960,200 +4965,247 @@ do_compress ( const lzo_bytep in , lzo_uint in_len,
goto literal;
try_match:
-#if 1 && defined(LZO_UNALIGNED_OK_2)
- if (* (const lzo_ushortp) (const lzo_voidp) m_pos != * (const lzo_ushortp) (const lzo_voidp) ip)
+#if (LZO_OPT_UNALIGNED32)
+ if (UA_GET_NE32(m_pos) != UA_GET_NE32(ip))
#else
- if (m_pos[0] != ip[0] || m_pos[1] != ip[1])
+ if (m_pos[0] != ip[0] || m_pos[1] != ip[1] || m_pos[2] != ip[2] || m_pos[3] != ip[3])
#endif
{
+literal:
+ UPDATE_I(dict,0,dindex,ip,in);
+ ip += 1 + ((ip - ii) >> 5);
+ continue;
}
- else
- {
- if __lzo_likely(m_pos[2] == ip[2])
- {
-#if 0
- if (m_off <= M2_MAX_OFFSET)
- goto match;
- if (lit <= 3)
- goto match;
- if (lit == 3)
- {
- assert(op - 2 > out); op[-2] |= LZO_BYTE(3);
- *op++ = *ii++; *op++ = *ii++; *op++ = *ii++;
- goto code_match;
- }
- if (m_pos[3] == ip[3])
-#endif
- goto match;
- }
- else
- {
-#if 0
-#if 0
- if (m_off <= M1_MAX_OFFSET && lit > 0 && lit <= 3)
+ UPDATE_I(dict,0,dindex,ip,in);
#else
- if (m_off <= M1_MAX_OFFSET && lit == 3)
-#endif
- {
- register lzo_uint t;
-
- t = lit;
- assert(op - 2 > out); op[-2] |= LZO_BYTE(t);
- do *op++ = *ii++; while (--t > 0);
- assert(ii == ip);
- m_off -= 1;
- *op++ = LZO_BYTE(M1_MARKER | ((m_off & 3) << 2));
- *op++ = LZO_BYTE(m_off >> 2);
- ip += 2;
- goto match_done;
- }
-#endif
- }
- }
-
+ lzo_uint m_off;
+ lzo_uint m_len;
+ {
+ lzo_uint32_t dv;
+ lzo_uint dindex;
literal:
- UPDATE_I(dict,0,dindex,ip,in);
- ++ip;
+ ip += 1 + ((ip - ii) >> 5);
+next:
if __lzo_unlikely(ip >= ip_end)
break;
- continue;
-
-match:
+ dv = UA_GET_LE32(ip);
+ dindex = DINDEX(dv,ip);
+ GINDEX(m_off,m_pos,in+dict,dindex,in);
UPDATE_I(dict,0,dindex,ip,in);
- if (pd(ip,ii) > 0)
- {
- register lzo_uint t = pd(ip,ii);
+ if __lzo_unlikely(dv != UA_GET_LE32(m_pos))
+ goto literal;
+ }
+#endif
+ ii -= ti; ti = 0;
+ {
+ lzo_uint t = pd(ip,ii);
+ if (t != 0)
+ {
if (t <= 3)
{
- assert(op - 2 > out);
- op[-2] |= LZO_BYTE(t);
+ op[-2] = LZO_BYTE(op[-2] | t);
+#if (LZO_OPT_UNALIGNED32)
+ UA_COPY4(op, ii);
+ op += t;
+#else
+ { do *op++ = *ii++; while (--t > 0); }
+#endif
}
- else if (t <= 18)
+#if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64)
+ else if (t <= 16)
+ {
*op++ = LZO_BYTE(t - 3);
+ UA_COPY8(op, ii);
+ UA_COPY8(op+8, ii+8);
+ op += t;
+ }
+#endif
else
{
- register lzo_uint tt = t - 18;
-
- *op++ = 0;
- while (tt > 255)
+ if (t <= 18)
+ *op++ = LZO_BYTE(t - 3);
+ else
{
- tt -= 255;
+ lzo_uint tt = t - 18;
*op++ = 0;
+ while __lzo_unlikely(tt > 255)
+ {
+ tt -= 255;
+ UA_SET1(op, 0);
+ op++;
+ }
+ assert(tt > 0);
+ *op++ = LZO_BYTE(tt);
}
- assert(tt > 0);
- *op++ = LZO_BYTE(tt);
+#if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64)
+ do {
+ UA_COPY8(op, ii);
+ UA_COPY8(op+8, ii+8);
+ op += 16; ii += 16; t -= 16;
+ } while (t >= 16); if (t > 0)
+#endif
+ { do *op++ = *ii++; while (--t > 0); }
}
- do *op++ = *ii++; while (--t > 0);
}
-
- assert(ii == ip);
- ip += 3;
- if (m_pos[3] != *ip++ || m_pos[4] != *ip++ || m_pos[5] != *ip++ ||
- m_pos[6] != *ip++ || m_pos[7] != *ip++ || m_pos[8] != *ip++
-#ifdef LZO1Y
- || m_pos[ 9] != *ip++ || m_pos[10] != *ip++ || m_pos[11] != *ip++
- || m_pos[12] != *ip++ || m_pos[13] != *ip++ || m_pos[14] != *ip++
+ }
+ m_len = 4;
+ {
+#if (LZO_OPT_UNALIGNED64)
+ lzo_uint64_t v;
+ v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len);
+ if __lzo_unlikely(v == 0) {
+ do {
+ m_len += 8;
+ v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len);
+ if __lzo_unlikely(ip + m_len >= ip_end)
+ goto m_len_done;
+ } while (v == 0);
+ }
+#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz64)
+ m_len += lzo_bitops_ctlz64(v) / CHAR_BIT;
+#elif (LZO_ABI_BIG_ENDIAN)
+ if ((v >> (64 - CHAR_BIT)) == 0) do {
+ v <<= CHAR_BIT;
+ m_len += 1;
+ } while ((v >> (64 - CHAR_BIT)) == 0);
+#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz64)
+ m_len += lzo_bitops_cttz64(v) / CHAR_BIT;
+#elif (LZO_ABI_LITTLE_ENDIAN)
+ if ((v & UCHAR_MAX) == 0) do {
+ v >>= CHAR_BIT;
+ m_len += 1;
+ } while ((v & UCHAR_MAX) == 0);
+#else
+ if (ip[m_len] == m_pos[m_len]) do {
+ m_len += 1;
+ } while (ip[m_len] == m_pos[m_len]);
+#endif
+#elif (LZO_OPT_UNALIGNED32)
+ lzo_uint32_t v;
+ v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len);
+ if __lzo_unlikely(v == 0) {
+ do {
+ m_len += 4;
+ v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len);
+ if (v != 0)
+ break;
+ m_len += 4;
+ v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len);
+ if __lzo_unlikely(ip + m_len >= ip_end)
+ goto m_len_done;
+ } while (v == 0);
+ }
+#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz32)
+ m_len += lzo_bitops_ctlz32(v) / CHAR_BIT;
+#elif (LZO_ABI_BIG_ENDIAN)
+ if ((v >> (32 - CHAR_BIT)) == 0) do {
+ v <<= CHAR_BIT;
+ m_len += 1;
+ } while ((v >> (32 - CHAR_BIT)) == 0);
+#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz32)
+ m_len += lzo_bitops_cttz32(v) / CHAR_BIT;
+#elif (LZO_ABI_LITTLE_ENDIAN)
+ if ((v & UCHAR_MAX) == 0) do {
+ v >>= CHAR_BIT;
+ m_len += 1;
+ } while ((v & UCHAR_MAX) == 0);
+#else
+ if (ip[m_len] == m_pos[m_len]) do {
+ m_len += 1;
+ } while (ip[m_len] == m_pos[m_len]);
+#endif
+#else
+ if __lzo_unlikely(ip[m_len] == m_pos[m_len]) {
+ do {
+ m_len += 1;
+ if (ip[m_len] != m_pos[m_len])
+ break;
+ m_len += 1;
+ if (ip[m_len] != m_pos[m_len])
+ break;
+ m_len += 1;
+ if (ip[m_len] != m_pos[m_len])
+ break;
+ m_len += 1;
+ if (ip[m_len] != m_pos[m_len])
+ break;
+ m_len += 1;
+ if (ip[m_len] != m_pos[m_len])
+ break;
+ m_len += 1;
+ if (ip[m_len] != m_pos[m_len])
+ break;
+ m_len += 1;
+ if (ip[m_len] != m_pos[m_len])
+ break;
+ m_len += 1;
+ if __lzo_unlikely(ip + m_len >= ip_end)
+ goto m_len_done;
+ } while (ip[m_len] == m_pos[m_len]);
+ }
#endif
- )
+ }
+m_len_done:
+ m_off = pd(ip,m_pos);
+ ip += m_len;
+ ii = ip;
+ if (m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET)
{
- --ip;
- m_len = pd(ip, ii);
- assert(m_len >= 3); assert(m_len <= M2_MAX_LEN);
-
- if (m_off <= M2_MAX_OFFSET)
- {
- m_off -= 1;
+ m_off -= 1;
#if defined(LZO1X)
- *op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2));
- *op++ = LZO_BYTE(m_off >> 3);
+ *op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2));
+ *op++ = LZO_BYTE(m_off >> 3);
#elif defined(LZO1Y)
- *op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2));
- *op++ = LZO_BYTE(m_off >> 2);
+ *op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2));
+ *op++ = LZO_BYTE(m_off >> 2);
#endif
- }
- else if (m_off <= M3_MAX_OFFSET)
- {
- m_off -= 1;
+ }
+ else if (m_off <= M3_MAX_OFFSET)
+ {
+ m_off -= 1;
+ if (m_len <= M3_MAX_LEN)
*op++ = LZO_BYTE(M3_MARKER | (m_len - 2));
- goto m3_m4_offset;
- }
else
-#if defined(LZO1X)
{
- m_off -= 0x4000;
- assert(m_off > 0); assert(m_off <= 0x7fff);
- *op++ = LZO_BYTE(M4_MARKER |
- ((m_off & 0x4000) >> 11) | (m_len - 2));
- goto m3_m4_offset;
+ m_len -= M3_MAX_LEN;
+ *op++ = M3_MARKER | 0;
+ while __lzo_unlikely(m_len > 255)
+ {
+ m_len -= 255;
+ UA_SET1(op, 0);
+ op++;
+ }
+ *op++ = LZO_BYTE(m_len);
}
-#elif defined(LZO1Y)
- goto m4_match;
-#endif
+ *op++ = LZO_BYTE(m_off << 2);
+ *op++ = LZO_BYTE(m_off >> 6);
}
else
{
- {
- const lzo_bytep end = in_end;
- const lzo_bytep m = m_pos + M2_MAX_LEN + 1;
- while (ip < end && *m == *ip)
- m++, ip++;
- m_len = pd(ip, ii);
- }
- assert(m_len > M2_MAX_LEN);
-
- if (m_off <= M3_MAX_OFFSET)
- {
- m_off -= 1;
- if (m_len <= 33)
- *op++ = LZO_BYTE(M3_MARKER | (m_len - 2));
- else
- {
- m_len -= 33;
- *op++ = M3_MARKER | 0;
- goto m3_m4_len;
- }
- }
+ m_off -= 0x4000;
+ if (m_len <= M4_MAX_LEN)
+ *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8) | (m_len - 2));
else
{
-#if defined(LZO1Y)
-m4_match:
-#endif
- m_off -= 0x4000;
- assert(m_off > 0); assert(m_off <= 0x7fff);
- if (m_len <= M4_MAX_LEN)
- *op++ = LZO_BYTE(M4_MARKER |
- ((m_off & 0x4000) >> 11) | (m_len - 2));
- else
+ m_len -= M4_MAX_LEN;
+ *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8));
+ while __lzo_unlikely(m_len > 255)
{
- m_len -= M4_MAX_LEN;
- *op++ = LZO_BYTE(M4_MARKER | ((m_off & 0x4000) >> 11));
-m3_m4_len:
- while (m_len > 255)
- {
- m_len -= 255;
- *op++ = 0;
- }
- assert(m_len > 0);
- *op++ = LZO_BYTE(m_len);
+ m_len -= 255;
+ UA_SET1(op, 0);
+ op++;
}
+ *op++ = LZO_BYTE(m_len);
}
-
-m3_m4_offset:
- *op++ = LZO_BYTE((m_off & 63) << 2);
+ *op++ = LZO_BYTE(m_off << 2);
*op++ = LZO_BYTE(m_off >> 6);
}
-
-#if 0
-match_done:
-#endif
- ii = ip;
- if __lzo_unlikely(ip >= ip_end)
- break;
+ goto next;
}
*out_len = pd(op, out);
- return pd(in_end,ii);
+ return pd(in_end,ii-ti);
}
LZO_PUBLIC(int)
@@ -3161,16 +5213,30 @@ DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem )
{
+ const lzo_bytep ip = in;
lzo_bytep op = out;
- lzo_uint t;
+ lzo_uint l = in_len;
+ lzo_uint t = 0;
- if __lzo_unlikely(in_len <= M2_MAX_LEN + 5)
- t = in_len;
- else
+ while (l > 20)
{
- t = do_compress(in,in_len,op,out_len,wrkmem);
+ lzo_uint ll = l;
+ lzo_uintptr_t ll_end;
+#if 0 || (LZO_DETERMINISTIC)
+ ll = LZO_MIN(ll, 49152);
+#endif
+ ll_end = (lzo_uintptr_t)ip + ll;
+ if ((ll_end + ((t + ll) >> 5)) <= ll_end || (const lzo_bytep)(ll_end + ((t + ll) >> 5)) <= ip + ll)
+ break;
+#if (LZO_DETERMINISTIC)
+ lzo_memset(wrkmem, 0, ((lzo_uint)1 << D_BITS) * sizeof(lzo_dict_t));
+#endif
+ t = do_compress(ip,ll,op,out_len,t,wrkmem);
+ ip += ll;
op += *out_len;
+ l -= ll;
}
+ t += l;
if (t > 0)
{
@@ -3179,7 +5245,7 @@ DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len,
if (op == out && t <= 238)
*op++ = LZO_BYTE(17 + t);
else if (t <= 3)
- op[-2] |= LZO_BYTE(t);
+ op[-2] = LZO_BYTE(op[-2] | t);
else if (t <= 18)
*op++ = LZO_BYTE(t - 3);
else
@@ -3190,12 +5256,14 @@ DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len,
while (tt > 255)
{
tt -= 255;
- *op++ = 0;
+ UA_SET1(op, 0);
+ op++;
}
assert(tt > 0);
*op++ = LZO_BYTE(tt);
}
- do *op++ = *ii++; while (--t > 0);
+ UA_COPYN(op, ii, t);
+ op += t;
}
*op++ = M4_MARKER | 1;
@@ -3232,10 +5300,13 @@ DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len,
#undef TEST_IP
#undef TEST_OP
+#undef TEST_IP_AND_TEST_OP
#undef TEST_LB
#undef TEST_LBO
#undef NEED_IP
#undef NEED_OP
+#undef TEST_IV
+#undef TEST_OV
#undef HAVE_TEST_IP
#undef HAVE_TEST_OP
#undef HAVE_NEED_IP
@@ -3250,6 +5321,7 @@ DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len,
# if (LZO_TEST_OVERRUN_INPUT >= 2)
# define NEED_IP(x) \
if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun
+# define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overrun
# endif
#endif
@@ -3261,12 +5333,13 @@ DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len,
# undef TEST_OP
# define NEED_OP(x) \
if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun
+# define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_overrun
# endif
#endif
#if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
-# define TEST_LB(m_pos) if (m_pos < out || m_pos >= op) goto lookbehind_overrun
-# define TEST_LBO(m_pos,o) if (m_pos < out || m_pos >= op - (o)) goto lookbehind_overrun
+# define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto lookbehind_overrun
+# define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) goto lookbehind_overrun
#else
# define TEST_LB(m_pos) ((void) 0)
# define TEST_LBO(m_pos,o) ((void) 0)
@@ -3287,15 +5360,27 @@ DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len,
# define TEST_OP 1
#endif
+#if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP)
+# define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP)
+#elif defined(HAVE_TEST_IP)
+# define TEST_IP_AND_TEST_OP TEST_IP
+#elif defined(HAVE_TEST_OP)
+# define TEST_IP_AND_TEST_OP TEST_OP
+#else
+# define TEST_IP_AND_TEST_OP 1
+#endif
+
#if defined(NEED_IP)
# define HAVE_NEED_IP 1
#else
# define NEED_IP(x) ((void) 0)
+# define TEST_IV(x) ((void) 0)
#endif
#if defined(NEED_OP)
# define HAVE_NEED_OP 1
#else
# define NEED_OP(x) ((void) 0)
+# define TEST_OV(x) ((void) 0)
#endif
#if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
@@ -3312,14 +5397,14 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
lzo_voidp wrkmem )
#endif
{
- register lzo_bytep op;
- register const lzo_bytep ip;
- register lzo_uint t;
+ lzo_bytep op;
+ const lzo_bytep ip;
+ lzo_uint t;
#if defined(COPY_DICT)
lzo_uint m_off;
const lzo_bytep dict_end;
#else
- register const lzo_bytep m_pos;
+ const lzo_bytep m_pos;
#endif
const lzo_bytep const ip_end = in + in_len;
@@ -3354,46 +5439,65 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
op = out;
ip = in;
+ NEED_IP(1);
if (*ip > 17)
{
t = *ip++ - 17;
if (t < 4)
goto match_next;
- assert(t > 0); NEED_OP(t); NEED_IP(t+1);
+ assert(t > 0); NEED_OP(t); NEED_IP(t+3);
do *op++ = *ip++; while (--t > 0);
goto first_literal_run;
}
- while (TEST_IP && TEST_OP)
+ for (;;)
{
+ NEED_IP(3);
t = *ip++;
if (t >= 16)
goto match;
if (t == 0)
{
- NEED_IP(1);
while (*ip == 0)
{
t += 255;
ip++;
+ TEST_IV(t);
NEED_IP(1);
}
t += 15 + *ip++;
}
- assert(t > 0); NEED_OP(t+3); NEED_IP(t+4);
-#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
-#if !defined(LZO_UNALIGNED_OK_4)
+ assert(t > 0); NEED_OP(t+3); NEED_IP(t+6);
+#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32)
+ t += 3;
+ if (t >= 8) do
+ {
+ UA_COPY8(op,ip);
+ op += 8; ip += 8; t -= 8;
+ } while (t >= 8);
+ if (t >= 4)
+ {
+ UA_COPY4(op,ip);
+ op += 4; ip += 4; t -= 4;
+ }
+ if (t > 0)
+ {
+ *op++ = *ip++;
+ if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
+ }
+#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4)
+#if !(LZO_OPT_UNALIGNED32)
if (PTR_ALIGNED2_4(op,ip))
{
#endif
- COPY4(op,ip);
+ UA_COPY4(op,ip);
op += 4; ip += 4;
if (--t > 0)
{
if (t >= 4)
{
do {
- COPY4(op,ip);
+ UA_COPY4(op,ip);
op += 4; ip += 4; t -= 4;
} while (t >= 4);
if (t > 0) do *op++ = *ip++; while (--t > 0);
@@ -3401,12 +5505,12 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
else
do *op++ = *ip++; while (--t > 0);
}
-#if !defined(LZO_UNALIGNED_OK_4)
+#if !(LZO_OPT_UNALIGNED32)
}
else
#endif
#endif
-#if !defined(LZO_UNALIGNED_OK_4)
+#if !(LZO_OPT_UNALIGNED32)
{
*op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
do *op++ = *ip++; while (--t > 0);
@@ -3442,7 +5546,7 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
#endif
goto match_done;
- do {
+ for (;;) {
match:
if (t >= 64)
{
@@ -3502,14 +5606,15 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
t &= 31;
if (t == 0)
{
- NEED_IP(1);
while (*ip == 0)
{
t += 255;
ip++;
+ TEST_OV(t);
NEED_IP(1);
}
t += 31 + *ip++;
+ NEED_IP(2);
}
#if defined(COPY_DICT)
#if defined(LZO1Z)
@@ -3525,9 +5630,9 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
m_pos = op - off;
last_m_off = off;
}
-#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN)
+#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
m_pos = op - 1;
- m_pos -= (* (const lzo_ushortp) (const lzo_voidp) ip) >> 2;
+ m_pos -= UA_GET_LE16(ip) >> 2;
#else
m_pos = op - 1;
m_pos -= (ip[0] >> 2) + (ip[1] << 6);
@@ -3546,14 +5651,15 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
t &= 7;
if (t == 0)
{
- NEED_IP(1);
while (*ip == 0)
{
t += 255;
ip++;
+ TEST_OV(t);
NEED_IP(1);
}
t += 7 + *ip++;
+ NEED_IP(2);
}
#if defined(COPY_DICT)
#if defined(LZO1Z)
@@ -3571,8 +5677,8 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
#else
#if defined(LZO1Z)
m_pos -= (ip[0] << 6) + (ip[1] >> 2);
-#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN)
- m_pos -= (* (const lzo_ushortp) (const lzo_voidp) ip) >> 2;
+#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
+ m_pos -= UA_GET_LE16(ip) >> 2;
#else
m_pos -= (ip[0] >> 2) + (ip[1] << 6);
#endif
@@ -3620,8 +5726,29 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
#else
TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
-#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
-#if !defined(LZO_UNALIGNED_OK_4)
+#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32)
+ if (op - m_pos >= 8)
+ {
+ t += (3 - 1);
+ if (t >= 8) do
+ {
+ UA_COPY8(op,m_pos);
+ op += 8; m_pos += 8; t -= 8;
+ } while (t >= 8);
+ if (t >= 4)
+ {
+ UA_COPY4(op,m_pos);
+ op += 4; m_pos += 4; t -= 4;
+ }
+ if (t > 0)
+ {
+ *op++ = m_pos[0];
+ if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]; } }
+ }
+ }
+ else
+#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4)
+#if !(LZO_OPT_UNALIGNED32)
if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos))
{
assert((op - m_pos) >= 4);
@@ -3629,10 +5756,10 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
{
#endif
- COPY4(op,m_pos);
+ UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4 - (3 - 1);
do {
- COPY4(op,m_pos);
+ UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4;
} while (t >= 4);
if (t > 0) do *op++ = *m_pos++; while (--t > 0);
@@ -3657,7 +5784,7 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
break;
match_next:
- assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+1);
+ assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+3);
#if 0
do *op++ = *ip++; while (--t > 0);
#else
@@ -3665,16 +5792,10 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
#endif
t = *ip++;
- } while (TEST_IP && TEST_OP);
+ }
}
-#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP)
- *out_len = pd(op, out);
- return LZO_E_EOF_NOT_FOUND;
-#endif
-
eof_found:
- assert(t == 1);
*out_len = pd(op, out);
return (ip == ip_end ? LZO_E_OK :
(ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN));
@@ -3720,10 +5841,13 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
#undef TEST_IP
#undef TEST_OP
+#undef TEST_IP_AND_TEST_OP
#undef TEST_LB
#undef TEST_LBO
#undef NEED_IP
#undef NEED_OP
+#undef TEST_IV
+#undef TEST_OV
#undef HAVE_TEST_IP
#undef HAVE_TEST_OP
#undef HAVE_NEED_IP
@@ -3738,6 +5862,7 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
# if (LZO_TEST_OVERRUN_INPUT >= 2)
# define NEED_IP(x) \
if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun
+# define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overrun
# endif
#endif
@@ -3749,12 +5874,13 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
# undef TEST_OP
# define NEED_OP(x) \
if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun
+# define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_overrun
# endif
#endif
#if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
-# define TEST_LB(m_pos) if (m_pos < out || m_pos >= op) goto lookbehind_overrun
-# define TEST_LBO(m_pos,o) if (m_pos < out || m_pos >= op - (o)) goto lookbehind_overrun
+# define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto lookbehind_overrun
+# define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) goto lookbehind_overrun
#else
# define TEST_LB(m_pos) ((void) 0)
# define TEST_LBO(m_pos,o) ((void) 0)
@@ -3775,15 +5901,27 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
# define TEST_OP 1
#endif
+#if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP)
+# define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP)
+#elif defined(HAVE_TEST_IP)
+# define TEST_IP_AND_TEST_OP TEST_IP
+#elif defined(HAVE_TEST_OP)
+# define TEST_IP_AND_TEST_OP TEST_OP
+#else
+# define TEST_IP_AND_TEST_OP 1
+#endif
+
#if defined(NEED_IP)
# define HAVE_NEED_IP 1
#else
# define NEED_IP(x) ((void) 0)
+# define TEST_IV(x) ((void) 0)
#endif
#if defined(NEED_OP)
# define HAVE_NEED_OP 1
#else
# define NEED_OP(x) ((void) 0)
+# define TEST_OV(x) ((void) 0)
#endif
#if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
@@ -3800,14 +5938,14 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
lzo_voidp wrkmem )
#endif
{
- register lzo_bytep op;
- register const lzo_bytep ip;
- register lzo_uint t;
+ lzo_bytep op;
+ const lzo_bytep ip;
+ lzo_uint t;
#if defined(COPY_DICT)
lzo_uint m_off;
const lzo_bytep dict_end;
#else
- register const lzo_bytep m_pos;
+ const lzo_bytep m_pos;
#endif
const lzo_bytep const ip_end = in + in_len;
@@ -3842,46 +5980,65 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
op = out;
ip = in;
+ NEED_IP(1);
if (*ip > 17)
{
t = *ip++ - 17;
if (t < 4)
goto match_next;
- assert(t > 0); NEED_OP(t); NEED_IP(t+1);
+ assert(t > 0); NEED_OP(t); NEED_IP(t+3);
do *op++ = *ip++; while (--t > 0);
goto first_literal_run;
}
- while (TEST_IP && TEST_OP)
+ for (;;)
{
+ NEED_IP(3);
t = *ip++;
if (t >= 16)
goto match;
if (t == 0)
{
- NEED_IP(1);
while (*ip == 0)
{
t += 255;
ip++;
+ TEST_IV(t);
NEED_IP(1);
}
t += 15 + *ip++;
}
- assert(t > 0); NEED_OP(t+3); NEED_IP(t+4);
-#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
-#if !defined(LZO_UNALIGNED_OK_4)
+ assert(t > 0); NEED_OP(t+3); NEED_IP(t+6);
+#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32)
+ t += 3;
+ if (t >= 8) do
+ {
+ UA_COPY8(op,ip);
+ op += 8; ip += 8; t -= 8;
+ } while (t >= 8);
+ if (t >= 4)
+ {
+ UA_COPY4(op,ip);
+ op += 4; ip += 4; t -= 4;
+ }
+ if (t > 0)
+ {
+ *op++ = *ip++;
+ if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
+ }
+#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4)
+#if !(LZO_OPT_UNALIGNED32)
if (PTR_ALIGNED2_4(op,ip))
{
#endif
- COPY4(op,ip);
+ UA_COPY4(op,ip);
op += 4; ip += 4;
if (--t > 0)
{
if (t >= 4)
{
do {
- COPY4(op,ip);
+ UA_COPY4(op,ip);
op += 4; ip += 4; t -= 4;
} while (t >= 4);
if (t > 0) do *op++ = *ip++; while (--t > 0);
@@ -3889,12 +6046,12 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
else
do *op++ = *ip++; while (--t > 0);
}
-#if !defined(LZO_UNALIGNED_OK_4)
+#if !(LZO_OPT_UNALIGNED32)
}
else
#endif
#endif
-#if !defined(LZO_UNALIGNED_OK_4)
+#if !(LZO_OPT_UNALIGNED32)
{
*op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
do *op++ = *ip++; while (--t > 0);
@@ -3930,7 +6087,7 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
#endif
goto match_done;
- do {
+ for (;;) {
match:
if (t >= 64)
{
@@ -3990,14 +6147,15 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
t &= 31;
if (t == 0)
{
- NEED_IP(1);
while (*ip == 0)
{
t += 255;
ip++;
+ TEST_OV(t);
NEED_IP(1);
}
t += 31 + *ip++;
+ NEED_IP(2);
}
#if defined(COPY_DICT)
#if defined(LZO1Z)
@@ -4013,9 +6171,9 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
m_pos = op - off;
last_m_off = off;
}
-#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN)
+#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
m_pos = op - 1;
- m_pos -= (* (const lzo_ushortp) (const lzo_voidp) ip) >> 2;
+ m_pos -= UA_GET_LE16(ip) >> 2;
#else
m_pos = op - 1;
m_pos -= (ip[0] >> 2) + (ip[1] << 6);
@@ -4034,14 +6192,15 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
t &= 7;
if (t == 0)
{
- NEED_IP(1);
while (*ip == 0)
{
t += 255;
ip++;
+ TEST_OV(t);
NEED_IP(1);
}
t += 7 + *ip++;
+ NEED_IP(2);
}
#if defined(COPY_DICT)
#if defined(LZO1Z)
@@ -4059,8 +6218,8 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
#else
#if defined(LZO1Z)
m_pos -= (ip[0] << 6) + (ip[1] >> 2);
-#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN)
- m_pos -= (* (const lzo_ushortp) (const lzo_voidp) ip) >> 2;
+#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
+ m_pos -= UA_GET_LE16(ip) >> 2;
#else
m_pos -= (ip[0] >> 2) + (ip[1] << 6);
#endif
@@ -4108,8 +6267,29 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
#else
TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
-#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
-#if !defined(LZO_UNALIGNED_OK_4)
+#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32)
+ if (op - m_pos >= 8)
+ {
+ t += (3 - 1);
+ if (t >= 8) do
+ {
+ UA_COPY8(op,m_pos);
+ op += 8; m_pos += 8; t -= 8;
+ } while (t >= 8);
+ if (t >= 4)
+ {
+ UA_COPY4(op,m_pos);
+ op += 4; m_pos += 4; t -= 4;
+ }
+ if (t > 0)
+ {
+ *op++ = m_pos[0];
+ if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]; } }
+ }
+ }
+ else
+#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4)
+#if !(LZO_OPT_UNALIGNED32)
if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos))
{
assert((op - m_pos) >= 4);
@@ -4117,10 +6297,10 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
{
#endif
- COPY4(op,m_pos);
+ UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4 - (3 - 1);
do {
- COPY4(op,m_pos);
+ UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4;
} while (t >= 4);
if (t > 0) do *op++ = *m_pos++; while (--t > 0);
@@ -4145,7 +6325,7 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
break;
match_next:
- assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+1);
+ assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+3);
#if 0
do *op++ = *ip++; while (--t > 0);
#else
@@ -4153,16 +6333,10 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
#endif
t = *ip++;
- } while (TEST_IP && TEST_OP);
+ }
}
-#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP)
- *out_len = pd(op, out);
- return LZO_E_EOF_NOT_FOUND;
-#endif
-
eof_found:
- assert(t == 1);
*out_len = pd(op, out);
return (ip == ip_end ? LZO_E_OK :
(ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN));
@@ -4189,4 +6363,3 @@ DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
#endif
/***** End of minilzo.c *****/
-
diff --git a/Externals/LZO/minilzo.h b/Externals/LZO/minilzo.h
index bd8ad65adaa7..c1c229757418 100644
--- a/Externals/LZO/minilzo.h
+++ b/Externals/LZO/minilzo.h
@@ -2,21 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -46,15 +32,25 @@
*/
-#ifndef __MINILZO_H
-#define __MINILZO_H 1
+#ifndef __MINILZO_H_INCLUDED
+#define __MINILZO_H_INCLUDED 1
-#define MINILZO_VERSION 0x2040
+#define MINILZO_VERSION 0x20a0 /* 2.10 */
-#ifdef __LZOCONF_H
+#if defined(__LZOCONF_H_INCLUDED)
# error "you cannot use both LZO and miniLZO"
#endif
+/* internal Autoconf configuration file - only used when building miniLZO */
+#ifdef MINILZO_HAVE_CONFIG_H
+# include
+#endif
+#include
+#include
+
+#ifndef __LZODEFS_H_INCLUDED
+#include "lzodefs.h"
+#endif
#undef LZO_HAVE_CONFIG_H
#include "lzoconf.h"
@@ -77,7 +73,7 @@ extern "C" {
*/
#define LZO1X_MEM_COMPRESS LZO1X_1_MEM_COMPRESS
-#define LZO1X_1_MEM_COMPRESS ((lzo_uint32) (16384L * lzo_sizeof_dict_t))
+#define LZO1X_1_MEM_COMPRESS ((lzo_uint32_t) (16384L * lzo_sizeof_dict_t))
#define LZO1X_MEM_DECOMPRESS (0)
@@ -106,3 +102,5 @@ lzo1x_decompress_safe ( const lzo_bytep src, lzo_uint src_len,
#endif /* already included */
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/Externals/LZO/testmini.c b/Externals/LZO/testmini.c
new file mode 100644
index 000000000000..ca8c3d1947ad
--- /dev/null
+++ b/Externals/LZO/testmini.c
@@ -0,0 +1,148 @@
+/* testmini.c -- very simple test program for the miniLZO library
+
+ This file is part of the LZO real-time data compression library.
+
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
+ All Rights Reserved.
+
+ The LZO library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of
+ the License, or (at your option) any later version.
+
+ The LZO library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with the LZO library; see the file COPYING.
+ If not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ Markus F.X.J. Oberhumer
+
+ http://www.oberhumer.com/opensource/lzo/
+ */
+
+
+#include
+#include
+
+
+/*************************************************************************
+// This program shows the basic usage of the LZO library.
+// We will compress a block of data and decompress again.
+//
+// For more information, documentation, example programs and other support
+// files (like Makefiles and build scripts) please download the full LZO
+// package from
+// http://www.oberhumer.com/opensource/lzo/
+**************************************************************************/
+
+/* First let's include "minizo.h". */
+
+#include "minilzo.h"
+
+
+/* We want to compress the data block at 'in' with length 'IN_LEN' to
+ * the block at 'out'. Because the input block may be incompressible,
+ * we must provide a little more output space in case that compression
+ * is not possible.
+ */
+
+#define IN_LEN (128*1024ul)
+#define OUT_LEN (IN_LEN + IN_LEN / 16 + 64 + 3)
+
+static unsigned char __LZO_MMODEL in [ IN_LEN ];
+static unsigned char __LZO_MMODEL out [ OUT_LEN ];
+
+
+/* Work-memory needed for compression. Allocate memory in units
+ * of 'lzo_align_t' (instead of 'char') to make sure it is properly aligned.
+ */
+
+#define HEAP_ALLOC(var,size) \
+ lzo_align_t __LZO_MMODEL var [ ((size) + (sizeof(lzo_align_t) - 1)) / sizeof(lzo_align_t) ]
+
+static HEAP_ALLOC(wrkmem, LZO1X_1_MEM_COMPRESS);
+
+
+/*************************************************************************
+//
+**************************************************************************/
+
+int main(int argc, char *argv[])
+{
+ int r;
+ lzo_uint in_len;
+ lzo_uint out_len;
+ lzo_uint new_len;
+
+ if (argc < 0 && argv == NULL) /* avoid warning about unused args */
+ return 0;
+
+ printf("\nLZO real-time data compression library (v%s, %s).\n",
+ lzo_version_string(), lzo_version_date());
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+
+
+/*
+ * Step 1: initialize the LZO library
+ */
+ if (lzo_init() != LZO_E_OK)
+ {
+ printf("internal error - lzo_init() failed !!!\n");
+ printf("(this usually indicates a compiler bug - try recompiling\nwithout optimizations, and enable '-DLZO_DEBUG' for diagnostics)\n");
+ return 3;
+ }
+
+/*
+ * Step 2: prepare the input block that will get compressed.
+ * We just fill it with zeros in this example program,
+ * but you would use your real-world data here.
+ */
+ in_len = IN_LEN;
+ lzo_memset(in,0,in_len);
+
+/*
+ * Step 3: compress from 'in' to 'out' with LZO1X-1
+ */
+ r = lzo1x_1_compress(in,in_len,out,&out_len,wrkmem);
+ if (r == LZO_E_OK)
+ printf("compressed %lu bytes into %lu bytes\n",
+ (unsigned long) in_len, (unsigned long) out_len);
+ else
+ {
+ /* this should NEVER happen */
+ printf("internal error - compression failed: %d\n", r);
+ return 2;
+ }
+ /* check for an incompressible block */
+ if (out_len >= in_len)
+ {
+ printf("This block contains incompressible data.\n");
+ return 0;
+ }
+
+/*
+ * Step 4: decompress again, now going from 'out' to 'in'
+ */
+ new_len = in_len;
+ r = lzo1x_decompress(out,out_len,in,&new_len,NULL);
+ if (r == LZO_E_OK && new_len == in_len)
+ printf("decompressed %lu bytes back into %lu bytes\n",
+ (unsigned long) out_len, (unsigned long) in_len);
+ else
+ {
+ /* this should NEVER happen */
+ printf("internal error - decompression failed: %d\n", r);
+ return 1;
+ }
+
+ printf("\nminiLZO simple compression test passed.\n");
+ return 0;
+}
+
+
+/* vim:set ts=4 sw=4 et: */
diff --git a/Externals/MoltenVK/libvulkan.dylib b/Externals/MoltenVK/libvulkan.dylib
index be9b943a0b80..efb0db74b867 100755
Binary files a/Externals/MoltenVK/libvulkan.dylib and b/Externals/MoltenVK/libvulkan.dylib differ
diff --git a/Externals/MoltenVK/version.txt b/Externals/MoltenVK/version.txt
index 271ccd8eacfb..9f1cd7fc3dad 100644
--- a/Externals/MoltenVK/version.txt
+++ b/Externals/MoltenVK/version.txt
@@ -1,3 +1 @@
-libMoltenVK.dylib from vulkansdk-macos-1.1.101.0, renamed to libvulkan.dylib
-
-Downloaded from: https://sdk.lunarg.com/sdk/download/1.1.101.0/mac/vulkansdk-macos-1.1.101.0.tar.gz
+MoltenVK from https://github.com/KhronosGroup/MoltenVK, commit b9b78def172074872bfbb1015ccf75eeec554ae2
diff --git a/Externals/Qt b/Externals/Qt
index b344ea0961db..5ab31b5fdf1c 160000
--- a/Externals/Qt
+++ b/Externals/Qt
@@ -1 +1 @@
-Subproject commit b344ea0961dba93a1a38502ac4cc77b981cfc681
+Subproject commit 5ab31b5fdf1cdc59b9e8c82a0f7c12d5fe878cd8
diff --git a/Externals/SFML/build/vc2010/SFML_Network.vcxproj b/Externals/SFML/build/vc2010/SFML_Network.vcxproj
index 5df477d84ff0..e5d944b7148f 100644
--- a/Externals/SFML/build/vc2010/SFML_Network.vcxproj
+++ b/Externals/SFML/build/vc2010/SFML_Network.vcxproj
@@ -1,38 +1,18 @@
-
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
+
+
+
{93D73454-2512-424E-9CDA-4BB357FE13DD}
- 10.0.17134.0
-
- StaticLibrary
- v141
- Unicode
-
-
- true
-
-
- false
-
+
-
-
+
-
-
+
+
diff --git a/Externals/Vulkan/Include/vulkan/vk_icd.h b/Externals/Vulkan/Include/vulkan/vk_icd.h
index b935fa1786e1..a2d960a6324f 100644
--- a/Externals/Vulkan/Include/vulkan/vk_icd.h
+++ b/Externals/Vulkan/Include/vulkan/vk_icd.h
@@ -88,7 +88,8 @@ typedef enum {
VK_ICD_WSI_PLATFORM_ANDROID,
VK_ICD_WSI_PLATFORM_MACOS,
VK_ICD_WSI_PLATFORM_IOS,
- VK_ICD_WSI_PLATFORM_DISPLAY
+ VK_ICD_WSI_PLATFORM_DISPLAY,
+ VK_ICD_WSI_PLATFORM_HEADLESS
} VkIcdWsiPlatform;
typedef struct {
@@ -167,4 +168,8 @@ typedef struct {
VkExtent2D imageExtent;
} VkIcdSurfaceDisplay;
+typedef struct {
+ VkIcdSurfaceBase base;
+} VkIcdSurfaceHeadless;
+
#endif // VKICD_H
diff --git a/Externals/Vulkan/Include/vulkan/vk_layer.h b/Externals/Vulkan/Include/vulkan/vk_layer.h
index e8300c37d4d0..fa7652008976 100644
--- a/Externals/Vulkan/Include/vulkan/vk_layer.h
+++ b/Externals/Vulkan/Include/vulkan/vk_layer.h
@@ -35,9 +35,6 @@
#define VK_LAYER_EXPORT
#endif
-// Definition for VkLayerDispatchTable and VkLayerInstanceDispatchTable now appear in externally generated header
-#include "vk_layer_dispatch_table.h"
-
#define MAX_NUM_UNKNOWN_EXTS 250
// Loader-Layer version negotiation API. Versions add the following features:
@@ -50,6 +47,9 @@
#define VK_CURRENT_CHAIN_VERSION 1
+// Typedef for use in the interfaces below
+typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
+
// Version negotiation values
typedef enum VkNegotiateLayerStructType {
LAYER_NEGOTIATE_UNINTIALIZED = 0,
@@ -82,7 +82,8 @@ typedef VkResult(VKAPI_PTR *PFN_PhysDevExt)(VkPhysicalDevice phys_device);
*/
typedef enum VkLayerFunction_ {
VK_LAYER_LINK_INFO = 0,
- VK_LOADER_DATA_CALLBACK = 1
+ VK_LOADER_DATA_CALLBACK = 1,
+ VK_LOADER_LAYER_CREATE_DEVICE_CALLBACK = 2
} VkLayerFunction;
typedef struct VkLayerInstanceLink_ {
@@ -107,7 +108,9 @@ typedef VkResult (VKAPI_PTR *PFN_vkSetInstanceLoaderData)(VkInstance instance,
void *object);
typedef VkResult (VKAPI_PTR *PFN_vkSetDeviceLoaderData)(VkDevice device,
void *object);
-
+typedef VkResult (VKAPI_PTR *PFN_vkLayerCreateDevice)(VkInstance instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, PFN_vkGetInstanceProcAddr layerGIPA, PFN_vkGetDeviceProcAddr *nextGDPA);
+typedef void (VKAPI_PTR *PFN_vkLayerDestroyDevice)(VkDevice physicalDevice, const VkAllocationCallbacks *pAllocator, PFN_vkDestroyDevice destroyFunction);
typedef struct {
VkStructureType sType; // VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
const void *pNext;
@@ -115,6 +118,10 @@ typedef struct {
union {
VkLayerInstanceLink *pLayerInfo;
PFN_vkSetInstanceLoaderData pfnSetInstanceLoaderData;
+ struct {
+ PFN_vkLayerCreateDevice pfnLayerCreateDevice;
+ PFN_vkLayerDestroyDevice pfnLayerDestroyDevice;
+ } layerDevice;
} u;
} VkLayerInstanceCreateInfo;
diff --git a/Externals/Vulkan/Include/vulkan/vulkan.h b/Externals/Vulkan/Include/vulkan/vulkan.h
index d05c8490a5bc..5f853f9fc8ee 100644
--- a/Externals/Vulkan/Include/vulkan/vulkan.h
+++ b/Externals/Vulkan/Include/vulkan/vulkan.h
@@ -2,7 +2,7 @@
#define VULKAN_H_ 1
/*
-** Copyright (c) 2015-2018 The Khronos Group Inc.
+** Copyright (c) 2015-2019 The Khronos Group Inc.
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@@ -24,6 +24,10 @@
#include "vulkan_android.h"
#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
+#include
+#include "vulkan_fuchsia.h"
+#endif
#ifdef VK_USE_PLATFORM_IOS_MVK
#include "vulkan_ios.h"
@@ -34,13 +38,10 @@
#include "vulkan_macos.h"
#endif
-
-#ifdef VK_USE_PLATFORM_MIR_KHR
-#include
-#include "vulkan_mir.h"
+#ifdef VK_USE_PLATFORM_METAL_EXT
+#include "vulkan_metal.h"
#endif
-
#ifdef VK_USE_PLATFORM_VI_NN
#include "vulkan_vi.h"
#endif
@@ -76,4 +77,10 @@
#include "vulkan_xlib_xrandr.h"
#endif
+
+#ifdef VK_USE_PLATFORM_GGP
+#include
+#include "vulkan_ggp.h"
+#endif
+
#endif // VULKAN_H_
diff --git a/Externals/Vulkan/Include/vulkan/vulkan.hpp b/Externals/Vulkan/Include/vulkan/vulkan.hpp
index 0299b9076ff4..ee748481230b 100644
--- a/Externals/Vulkan/Include/vulkan/vulkan.hpp
+++ b/Externals/Vulkan/Include/vulkan/vulkan.hpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2015-2018 The Khronos Group Inc.
+// Copyright (c) 2015-2019 The Khronos Group Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,6 +11,23 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
+//
+// ---- Exceptions to the Apache 2.0 License: ----
+//
+// As an exception, if you use this Software to generate code and portions of
+// this Software are embedded into the generated code as a result, you may
+// redistribute such product without providing attribution as would otherwise
+// be required by Sections 4(a), 4(b) and 4(d) of the License.
+//
+// In addition, if you combine or link code generated by this Software with
+// software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1
+// ("`Combined Software`") and if a court of competent jurisdiction determines
+// that the patent provision (Section 3), the indemnity provision (Section 9)
+// or other Section of the License conflicts with the conditions of the
+// applicable GPL or LGPL license, you may retroactively and prospectively
+// choose to deem waived or otherwise exclude such Section(s) of the License,
+// but only in their entirety and only with respect to the Combined Software.
+//
// This header is generated from the Khronos Vulkan XML API Registry.
@@ -28,15 +45,18 @@
#include
#include
#include
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
# include
# include
-#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif
+
#if !defined(VULKAN_HPP_ASSERT)
# include
# define VULKAN_HPP_ASSERT assert
#endif
-static_assert( VK_HEADER_VERSION == 75 , "Wrong VK_HEADER_VERSION!" );
+
+static_assert( VK_HEADER_VERSION == 121 , "Wrong VK_HEADER_VERSION!" );
// 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
// To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
@@ -46,6 +66,22 @@ static_assert( VK_HEADER_VERSION == 75 , "Wrong VK_HEADER_VERSION!" );
# endif
#endif
+// includes through some other header
+// this results in major(x) being resolved to gnu_dev_major(x)
+// which is an expression in a constructor initializer list.
+#if defined(major)
+ #undef major
+#endif
+#if defined(minor)
+ #undef minor
+#endif
+
+// Windows defines MemoryBarrier which is deprecated and collides
+// with the vk::MemoryBarrier struct.
+#if defined(MemoryBarrier)
+ #undef MemoryBarrier
+#endif
+
#if !defined(VULKAN_HPP_HAS_UNRESTRICTED_UNIONS)
# if defined(__clang__)
# if __has_feature(cxx_unrestricted_unions)
@@ -64,7 +100,7 @@ static_assert( VK_HEADER_VERSION == 75 , "Wrong VK_HEADER_VERSION!" );
#endif
#if !defined(VULKAN_HPP_INLINE)
-# if defined(__clang___)
+# if defined(__clang__)
# if __has_attribute(always_inline)
# define VULKAN_HPP_INLINE __attribute__((always_inline)) __inline__
# else
@@ -73,7 +109,7 @@ static_assert( VK_HEADER_VERSION == 75 , "Wrong VK_HEADER_VERSION!" );
# elif defined(__GNUC__)
# define VULKAN_HPP_INLINE __attribute__((always_inline)) __inline__
# elif defined(_MSC_VER)
-# define VULKAN_HPP_INLINE __forceinline
+# define VULKAN_HPP_INLINE inline
# else
# define VULKAN_HPP_INLINE inline
# endif
@@ -87,11 +123,12 @@ static_assert( VK_HEADER_VERSION == 75 , "Wrong VK_HEADER_VERSION!" );
#if defined(_MSC_VER) && (_MSC_VER <= 1800)
# define VULKAN_HPP_CONSTEXPR
+# define VULKAN_HPP_CONST_OR_CONSTEXPR const
#else
# define VULKAN_HPP_CONSTEXPR constexpr
+# define VULKAN_HPP_CONST_OR_CONSTEXPR constexpr
#endif
-
#if !defined(VULKAN_HPP_NAMESPACE)
#define VULKAN_HPP_NAMESPACE vk
#endif
@@ -102,6 +139,97 @@ static_assert( VK_HEADER_VERSION == 75 , "Wrong VK_HEADER_VERSION!" );
namespace VULKAN_HPP_NAMESPACE
{
+#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE)
+ template
+ class ArrayProxy
+ {
+ public:
+ VULKAN_HPP_CONSTEXPR ArrayProxy(std::nullptr_t)
+ : m_count(0)
+ , m_ptr(nullptr)
+ {}
+
+ ArrayProxy(T & ptr)
+ : m_count(1)
+ , m_ptr(&ptr)
+ {}
+
+ ArrayProxy(uint32_t count, T * ptr)
+ : m_count(count)
+ , m_ptr(ptr)
+ {}
+
+ template
+ ArrayProxy(std::array::type, N> & data)
+ : m_count(N)
+ , m_ptr(data.data())
+ {}
+
+ template
+ ArrayProxy(std::array::type, N> const& data)
+ : m_count(N)
+ , m_ptr(data.data())
+ {}
+
+ template ::type>>
+ ArrayProxy(std::vector::type, Allocator> & data)
+ : m_count(static_cast(data.size()))
+ , m_ptr(data.data())
+ {}
+
+ template ::type>>
+ ArrayProxy(std::vector::type, Allocator> const& data)
+ : m_count(static_cast(data.size()))
+ , m_ptr(data.data())
+ {}
+
+ ArrayProxy(std::initializer_list const& data)
+ : m_count(static_cast(data.end() - data.begin()))
+ , m_ptr(data.begin())
+ {}
+
+ const T * begin() const
+ {
+ return m_ptr;
+ }
+
+ const T * end() const
+ {
+ return m_ptr + m_count;
+ }
+
+ const T & front() const
+ {
+ VULKAN_HPP_ASSERT(m_count && m_ptr);
+ return *m_ptr;
+ }
+
+ const T & back() const
+ {
+ VULKAN_HPP_ASSERT(m_count && m_ptr);
+ return *(m_ptr + m_count - 1);
+ }
+
+ bool empty() const
+ {
+ return (m_count == 0);
+ }
+
+ uint32_t size() const
+ {
+ return m_count;
+ }
+
+ T * data() const
+ {
+ return m_ptr;
+ }
+
+ private:
+ uint32_t m_count;
+ T * m_ptr;
+ };
+#endif
template struct FlagTraits
{
@@ -231,7 +359,6 @@ namespace VULKAN_HPP_NAMESPACE
return flags ^ bit;
}
-
template
class Optional
{
@@ -248,108 +375,145 @@ namespace VULKAN_HPP_NAMESPACE
RefType *m_ptr;
};
-#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
- template
- class ArrayProxy
+ template struct isStructureChainValid { enum { value = false }; };
+
+ template
+ struct TypeList
{
- public:
- VULKAN_HPP_CONSTEXPR ArrayProxy(std::nullptr_t)
- : m_count(0)
- , m_ptr(nullptr)
- {}
+ using list = P;
+ using last = T;
+ };
- ArrayProxy(T & ptr)
- : m_count(1)
- , m_ptr(&ptr)
- {}
+ template
+ struct extendCheck
+ {
+ static const bool valid = isStructureChainValid::value || extendCheck::valid;
+ };
- ArrayProxy(uint32_t count, T * ptr)
- : m_count(count)
- , m_ptr(ptr)
- {}
+ template
+ struct extendCheck,X>
+ {
+ static const bool valid = isStructureChainValid::value;
+ };
- template
- ArrayProxy(std::array::type, N> & data)
- : m_count(N)
- , m_ptr(data.data())
- {}
+ template
+ struct extendCheck
+ {
+ static const bool valid = true;
+ };
- template
- ArrayProxy(std::array::type, N> const& data)
- : m_count(N)
- , m_ptr(data.data())
- {}
+ template
+ class StructureChainElement
+ {
+ public:
+ explicit operator Element&() { return value; }
+ explicit operator const Element&() const { return value; }
+ private:
+ Element value;
+ };
- template ::type>>
- ArrayProxy(std::vector::type, Allocator> & data)
- : m_count(static_cast(data.size()))
- , m_ptr(data.data())
- {}
+ template
+ class StructureChain : private StructureChainElement...
+ {
+ public:
+ StructureChain()
+ {
+ link();
+ }
- template ::type>>
- ArrayProxy(std::vector::type, Allocator> const& data)
- : m_count(static_cast(data.size()))
- , m_ptr(data.data())
- {}
+ StructureChain(StructureChain const &rhs)
+ {
+ linkAndCopy(rhs);
+ }
- ArrayProxy(std::initializer_list const& data)
- : m_count(static_cast(data.end() - data.begin()))
- , m_ptr(data.begin())
- {}
+ StructureChain(StructureElements const &... elems)
+ {
+ linkAndCopyElements(elems...);
+ }
- const T * begin() const
+ StructureChain& operator=(StructureChain const &rhs)
{
- return m_ptr;
+ linkAndCopy(rhs);
+ return *this;
}
- const T * end() const
+ template ClassType& get() { return static_cast(*this);}
+
+ template
+ std::tuple get()
{
- return m_ptr + m_count;
+ return std::tuple_cat(
+ std::make_tuple(get(),get()),
+ std::make_tuple(get()...)
+ );
}
- const T & front() const
+ private:
+ template
+ void link()
{
- VULKAN_HPP_ASSERT(m_count && m_ptr);
- return *m_ptr;
+ static_assert(extendCheck::valid, "The structure chain is not valid!");
}
- const T & back() const
+ template
+ void link()
{
- VULKAN_HPP_ASSERT(m_count && m_ptr);
- return *(m_ptr + m_count - 1);
+ static_assert(extendCheck::valid, "The structure chain is not valid!");
+ X& x = static_cast(*this);
+ Y& y = static_cast(*this);
+ x.pNext = &y;
+ link, Y, Z...>();
}
- bool empty() const
+ template
+ void linkAndCopy(StructureChain const &rhs)
{
- return (m_count == 0);
+ static_assert(extendCheck::valid, "The structure chain is not valid!");
+ static_cast(*this) = static_cast(rhs);
}
- uint32_t size() const
+ template
+ void linkAndCopy(StructureChain const &rhs)
{
- return m_count;
+ static_assert(extendCheck::valid, "The structure chain is not valid!");
+ X& x = static_cast(*this);
+ Y& y = static_cast(*this);
+ x = static_cast(rhs);
+ x.pNext = &y;
+ linkAndCopy, Y, Z...>(rhs);
}
- T * data() const
+ template
+ void linkAndCopyElements(X const &xelem)
{
- return m_ptr;
+ static_assert(extendCheck::valid, "The structure chain is not valid!");
+ static_cast(*this) = xelem;
}
- private:
- uint32_t m_count;
- T * m_ptr;
+ template
+ void linkAndCopyElements(X const &xelem, Y const &yelem, Z const &... zelem)
+ {
+ static_assert(extendCheck::valid, "The structure chain is not valid!");
+ X& x = static_cast(*this);
+ Y& y = static_cast(*this);
+ x = xelem;
+ x.pNext = &y;
+ linkAndCopyElements, Y, Z...>(yelem, zelem...);
+ }
};
-#endif
-
-#ifndef VULKAN_HPP_NO_SMART_HANDLE
- template class UniqueHandleTraits;
+#if !defined(VULKAN_HPP_NO_SMART_HANDLE)
+ template class UniqueHandleTraits;
- template
- class UniqueHandle : public UniqueHandleTraits::deleter
+ template
+ class UniqueHandle : public UniqueHandleTraits::deleter
{
private:
- using Deleter = typename UniqueHandleTraits::deleter;
+ using Deleter = typename UniqueHandleTraits::deleter;
+
public:
+ using element_type = Type;
+
explicit UniqueHandle( Type const& value = Type(), Deleter const& deleter = Deleter() )
: Deleter( deleter)
, m_value( value )
@@ -427,7 +591,7 @@ namespace VULKAN_HPP_NAMESPACE
return value;
}
- void swap( UniqueHandle & rhs )
+ void swap( UniqueHandle & rhs )
{
std::swap(m_value, rhs.m_value);
std::swap(static_cast(*this), static_cast(rhs));
@@ -437,7875 +601,33520 @@ namespace VULKAN_HPP_NAMESPACE
Type m_value;
};
- template
- VULKAN_HPP_INLINE void swap( UniqueHandle & lhs, UniqueHandle & rhs )
+ template
+ VULKAN_HPP_INLINE std::vector uniqueToRaw(std::vector const& handles)
+ {
+ std::vector newBuffer(handles.size());
+ std::transform(handles.begin(), handles.end(), newBuffer.begin(), [](UniqueType const& handle) { return handle.get(); });
+ return newBuffer;
+ }
+
+ template
+ VULKAN_HPP_INLINE void swap( UniqueHandle & lhs, UniqueHandle & rhs )
{
lhs.swap( rhs );
}
#endif
-
- template struct isStructureChainValid { enum { value = false }; };
-
- template
- class StructureChainElement
+#if !defined(VK_NO_PROTOTYPES)
+ class DispatchLoaderStatic
{
public:
- explicit operator Element&() { return value; }
- explicit operator const Element&() const { return value; }
- private:
- Element value;
- };
+ VkResult vkCreateInstance( const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance ) const
+ {
+ return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
+ }
- template
- class StructureChain : private StructureChainElement...
- {
- public:
- StructureChain()
+ VkResult vkEnumerateInstanceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties ) const
{
- link();
+ return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
}
- StructureChain(StructureChain const &rhs)
+ VkResult vkEnumerateInstanceLayerProperties( uint32_t* pPropertyCount, VkLayerProperties* pProperties ) const
{
- linkAndCopy(rhs);
+ return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
}
- StructureChain(StructureElements const &... elems)
+ VkResult vkEnumerateInstanceVersion( uint32_t* pApiVersion ) const
{
- linkAndCopyElements(elems...);
+ return ::vkEnumerateInstanceVersion( pApiVersion );
}
- StructureChain& operator=(StructureChain const &rhs)
+ VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo ) const
{
- linkAndCopy(rhs);
- return *this;
+ return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
}
- template ClassType& get() { return static_cast(*this);}
+ void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin ) const
+ {
+ return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
+ }
- private:
- template
- void link()
+ void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo ) const
{
+ return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
}
- template
- void link()
+ void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) const
{
- static_assert(isStructureChainValid::value, "The structure chain is not valid!");
- X& x = static_cast(*this);
- Y& y = static_cast(*this);
- x.pNext = &y;
- link();
+ return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
}
- template
- void linkAndCopy(StructureChain const &rhs)
+ void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) const
{
- static_cast(*this) = static_cast(rhs);
+ return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
}
- template
- void linkAndCopy(StructureChain const &rhs)
+ void vkCmdBeginRenderPass( VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents ) const
{
- static_assert(isStructureChainValid::value, "The structure chain is not valid!");
- X& x = static_cast(*this);
- Y& y = static_cast(*this);
- x = static_cast(rhs);
- x.pNext = &y;
- linkAndCopy(rhs);
+ return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
}
- template
- void linkAndCopyElements(X const &xelem)
+ void vkCmdBeginRenderPass2KHR( VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo ) const
{
- static_cast(*this) = xelem;
+ return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
}
- template
- void linkAndCopyElements(X const &xelem, Y const &yelem, Z const &... zelem)
+ void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets ) const
{
- static_assert(isStructureChainValid::value, "The structure chain is not valid!");
- X& x = static_cast(*this);
- Y& y = static_cast(*this);
- x = xelem;
- x.pNext = &y;
- linkAndCopyElements(yelem, zelem...);
+ return ::vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
}
- };
- enum class Result
- {
- eSuccess = VK_SUCCESS,
- eNotReady = VK_NOT_READY,
- eTimeout = VK_TIMEOUT,
- eEventSet = VK_EVENT_SET,
- eEventReset = VK_EVENT_RESET,
- eIncomplete = VK_INCOMPLETE,
- eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY,
- eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY,
- eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED,
- eErrorDeviceLost = VK_ERROR_DEVICE_LOST,
- eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED,
- eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT,
- eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT,
- eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT,
- eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER,
- eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS,
- eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED,
- eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL,
- eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY,
- eErrorOutOfPoolMemoryKHR = VK_ERROR_OUT_OF_POOL_MEMORY,
- eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE,
- eErrorInvalidExternalHandleKHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
- eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR,
- eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,
- eSuboptimalKHR = VK_SUBOPTIMAL_KHR,
- eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR,
- eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR,
- eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT,
- eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV,
- eErrorFragmentationEXT = VK_ERROR_FRAGMENTATION_EXT,
- eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT
- };
-
- VULKAN_HPP_INLINE std::string to_string(Result value)
- {
- switch (value)
- {
- case Result::eSuccess: return "Success";
- case Result::eNotReady: return "NotReady";
- case Result::eTimeout: return "Timeout";
- case Result::eEventSet: return "EventSet";
- case Result::eEventReset: return "EventReset";
- case Result::eIncomplete: return "Incomplete";
- case Result::eErrorOutOfHostMemory: return "ErrorOutOfHostMemory";
- case Result::eErrorOutOfDeviceMemory: return "ErrorOutOfDeviceMemory";
- case Result::eErrorInitializationFailed: return "ErrorInitializationFailed";
- case Result::eErrorDeviceLost: return "ErrorDeviceLost";
- case Result::eErrorMemoryMapFailed: return "ErrorMemoryMapFailed";
- case Result::eErrorLayerNotPresent: return "ErrorLayerNotPresent";
- case Result::eErrorExtensionNotPresent: return "ErrorExtensionNotPresent";
- case Result::eErrorFeatureNotPresent: return "ErrorFeatureNotPresent";
- case Result::eErrorIncompatibleDriver: return "ErrorIncompatibleDriver";
- case Result::eErrorTooManyObjects: return "ErrorTooManyObjects";
- case Result::eErrorFormatNotSupported: return "ErrorFormatNotSupported";
- case Result::eErrorFragmentedPool: return "ErrorFragmentedPool";
- case Result::eErrorOutOfPoolMemory: return "ErrorOutOfPoolMemory";
- case Result::eErrorInvalidExternalHandle: return "ErrorInvalidExternalHandle";
- case Result::eErrorSurfaceLostKHR: return "ErrorSurfaceLostKHR";
- case Result::eErrorNativeWindowInUseKHR: return "ErrorNativeWindowInUseKHR";
- case Result::eSuboptimalKHR: return "SuboptimalKHR";
- case Result::eErrorOutOfDateKHR: return "ErrorOutOfDateKHR";
- case Result::eErrorIncompatibleDisplayKHR: return "ErrorIncompatibleDisplayKHR";
- case Result::eErrorValidationFailedEXT: return "ErrorValidationFailedEXT";
- case Result::eErrorInvalidShaderNV: return "ErrorInvalidShaderNV";
- case Result::eErrorFragmentationEXT: return "ErrorFragmentationEXT";
- case Result::eErrorNotPermittedEXT: return "ErrorNotPermittedEXT";
- default: return "invalid";
+ void vkCmdBindDescriptorSets( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets ) const
+ {
+ return ::vkCmdBindDescriptorSets( commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets );
}
- }
-#ifndef VULKAN_HPP_NO_EXCEPTIONS
-#if defined(_MSC_VER) && (_MSC_VER == 1800)
-# define noexcept _NOEXCEPT
-#endif
+ void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) const
+ {
+ return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
+ }
- class ErrorCategoryImpl : public std::error_category
- {
- public:
- virtual const char* name() const noexcept override { return VULKAN_HPP_NAMESPACE_STRING"::Result"; }
- virtual std::string message(int ev) const override { return to_string(static_cast(ev)); }
- };
+ void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const
+ {
+ return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
+ }
-#if defined(_MSC_VER) && (_MSC_VER == 1800)
-# undef noexcept
-#endif
+ void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const
+ {
+ return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
+ }
- VULKAN_HPP_INLINE const std::error_category& errorCategory()
- {
- static ErrorCategoryImpl instance;
- return instance;
- }
+ void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes ) const
+ {
+ return ::vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
+ }
- VULKAN_HPP_INLINE std::error_code make_error_code(Result e)
- {
- return std::error_code(static_cast(e), errorCategory());
- }
+ void vkCmdBindVertexBuffers( VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets ) const
+ {
+ return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
+ }
- VULKAN_HPP_INLINE std::error_condition make_error_condition(Result e)
- {
- return std::error_condition(static_cast(e), errorCategory());
- }
+ void vkCmdBlitImage( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter ) const
+ {
+ return ::vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
+ }
-#if defined(_MSC_VER) && (_MSC_VER == 1800)
-# define noexcept _NOEXCEPT
-#endif
+ void vkCmdBuildAccelerationStructureNV( VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset ) const
+ {
+ return ::vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
+ }
- class Error
- {
- public:
- virtual ~Error() = default;
+ void vkCmdClearAttachments( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects ) const
+ {
+ return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
+ }
- virtual const char* what() const noexcept = 0;
- };
+ void vkCmdClearColorImage( VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges ) const
+ {
+ return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
+ }
- class LogicError : public Error, public std::logic_error
- {
- public:
- explicit LogicError( const std::string& what )
- : Error(), std::logic_error(what) {}
- explicit LogicError( char const * what )
- : Error(), std::logic_error(what) {}
- virtual ~LogicError() = default;
+ void vkCmdClearDepthStencilImage( VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges ) const
+ {
+ return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
+ }
- virtual const char* what() const noexcept { return std::logic_error::what(); }
- };
+ void vkCmdCopyAccelerationStructureNV( VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeNV mode ) const
+ {
+ return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
+ }
- class SystemError : public Error, public std::system_error
- {
- public:
- SystemError( std::error_code ec )
- : Error(), std::system_error(ec) {}
- SystemError( std::error_code ec, std::string const& what )
- : Error(), std::system_error(ec, what) {}
- SystemError( std::error_code ec, char const * what )
- : Error(), std::system_error(ec, what) {}
- SystemError( int ev, std::error_category const& ecat )
- : Error(), std::system_error(ev, ecat) {}
- SystemError( int ev, std::error_category const& ecat, std::string const& what)
- : Error(), std::system_error(ev, ecat, what) {}
- SystemError( int ev, std::error_category const& ecat, char const * what)
- : Error(), std::system_error(ev, ecat, what) {}
- virtual ~SystemError() = default;
+ void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions ) const
+ {
+ return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
+ }
- virtual const char* what() const noexcept { return std::system_error::what(); }
- };
+ void vkCmdCopyBufferToImage( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions ) const
+ {
+ return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
+ }
-#if defined(_MSC_VER) && (_MSC_VER == 1800)
-# undef noexcept
-#endif
+ void vkCmdCopyImage( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions ) const
+ {
+ return ::vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
+ }
- class OutOfHostMemoryError : public SystemError
- {
- public:
- OutOfHostMemoryError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
- OutOfHostMemoryError( char const * message )
- : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
- };
- class OutOfDeviceMemoryError : public SystemError
- {
- public:
- OutOfDeviceMemoryError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
- OutOfDeviceMemoryError( char const * message )
- : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
- };
- class InitializationFailedError : public SystemError
- {
- public:
- InitializationFailedError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
- InitializationFailedError( char const * message )
- : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
- };
- class DeviceLostError : public SystemError
- {
- public:
- DeviceLostError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
- DeviceLostError( char const * message )
- : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
- };
- class MemoryMapFailedError : public SystemError
- {
- public:
- MemoryMapFailedError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
- MemoryMapFailedError( char const * message )
- : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
- };
- class LayerNotPresentError : public SystemError
- {
- public:
- LayerNotPresentError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
- LayerNotPresentError( char const * message )
- : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
- };
- class ExtensionNotPresentError : public SystemError
- {
- public:
- ExtensionNotPresentError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
- ExtensionNotPresentError( char const * message )
- : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
- };
- class FeatureNotPresentError : public SystemError
- {
- public:
- FeatureNotPresentError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
- FeatureNotPresentError( char const * message )
- : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
- };
- class IncompatibleDriverError : public SystemError
- {
- public:
- IncompatibleDriverError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
- IncompatibleDriverError( char const * message )
- : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
- };
- class TooManyObjectsError : public SystemError
- {
- public:
- TooManyObjectsError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
- TooManyObjectsError( char const * message )
- : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
- };
- class FormatNotSupportedError : public SystemError
- {
- public:
- FormatNotSupportedError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
- FormatNotSupportedError( char const * message )
- : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
- };
- class FragmentedPoolError : public SystemError
- {
- public:
- FragmentedPoolError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
- FragmentedPoolError( char const * message )
- : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
- };
- class OutOfPoolMemoryError : public SystemError
- {
- public:
- OutOfPoolMemoryError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
- OutOfPoolMemoryError( char const * message )
- : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
- };
- class InvalidExternalHandleError : public SystemError
- {
- public:
- InvalidExternalHandleError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
- InvalidExternalHandleError( char const * message )
- : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
- };
- class SurfaceLostKHRError : public SystemError
- {
- public:
- SurfaceLostKHRError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
- SurfaceLostKHRError( char const * message )
- : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
- };
- class NativeWindowInUseKHRError : public SystemError
- {
- public:
- NativeWindowInUseKHRError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
- NativeWindowInUseKHRError( char const * message )
- : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
- };
- class OutOfDateKHRError : public SystemError
- {
- public:
- OutOfDateKHRError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
- OutOfDateKHRError( char const * message )
- : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
- };
- class IncompatibleDisplayKHRError : public SystemError
- {
- public:
- IncompatibleDisplayKHRError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
- IncompatibleDisplayKHRError( char const * message )
- : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
- };
- class ValidationFailedEXTError : public SystemError
- {
- public:
- ValidationFailedEXTError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
- ValidationFailedEXTError( char const * message )
- : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
- };
- class InvalidShaderNVError : public SystemError
- {
- public:
- InvalidShaderNVError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
- InvalidShaderNVError( char const * message )
- : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
- };
- class FragmentationEXTError : public SystemError
- {
- public:
- FragmentationEXTError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorFragmentationEXT ), message ) {}
- FragmentationEXTError( char const * message )
- : SystemError( make_error_code( Result::eErrorFragmentationEXT ), message ) {}
- };
- class NotPermittedEXTError : public SystemError
- {
- public:
- NotPermittedEXTError( std::string const& message )
- : SystemError( make_error_code( Result::eErrorNotPermittedEXT ), message ) {}
- NotPermittedEXTError( char const * message )
- : SystemError( make_error_code( Result::eErrorNotPermittedEXT ), message ) {}
- };
+ void vkCmdCopyImageToBuffer( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions ) const
+ {
+ return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
+ }
- VULKAN_HPP_INLINE void throwResultException( Result result, char const * message )
- {
- switch ( result )
+ void vkCmdCopyQueryPoolResults( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags ) const
{
- case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError ( message );
- case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError ( message );
- case Result::eErrorInitializationFailed: throw InitializationFailedError ( message );
- case Result::eErrorDeviceLost: throw DeviceLostError ( message );
- case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError ( message );
- case Result::eErrorLayerNotPresent: throw LayerNotPresentError ( message );
- case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError ( message );
- case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError ( message );
- case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError ( message );
- case Result::eErrorTooManyObjects: throw TooManyObjectsError ( message );
- case Result::eErrorFormatNotSupported: throw FormatNotSupportedError ( message );
- case Result::eErrorFragmentedPool: throw FragmentedPoolError ( message );
- case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError ( message );
- case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError ( message );
- case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError ( message );
- case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError ( message );
- case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError ( message );
- case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError ( message );
- case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError ( message );
- case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError ( message );
- case Result::eErrorFragmentationEXT: throw FragmentationEXTError ( message );
- case Result::eErrorNotPermittedEXT: throw NotPermittedEXTError ( message );
- default: throw SystemError( make_error_code( result ) );
+ return ::vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
}
- }
-#endif
-} // namespace VULKAN_HPP_NAMESPACE
-namespace std
-{
- template <>
- struct is_error_code_enum : public true_type
- {};
-}
+ void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo ) const
+ {
+ return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
+ }
-namespace VULKAN_HPP_NAMESPACE
-{
+ void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const
+ {
+ return ::vkCmdDebugMarkerEndEXT( commandBuffer );
+ }
- template
- struct ResultValue
- {
- ResultValue( Result r, T & v )
- : result( r )
- , value( v )
- {}
+ void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo ) const
+ {
+ return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
+ }
- ResultValue( Result r, T && v )
- : result( r )
- , value( std::move( v ) )
- {}
+ void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const
+ {
+ return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
+ }
- Result result;
- T value;
+ void vkCmdDispatchBase( VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const
+ {
+ return ::vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
+ }
- operator std::tuple() { return std::tuple(result, value); }
- };
+ void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const
+ {
+ return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
+ }
- template
- struct ResultValueType
- {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
- typedef ResultValue type;
-#else
- typedef T type;
-#endif
- };
+ void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const
+ {
+ return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
+ }
- template <>
- struct ResultValueType
- {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
- typedef Result type;
-#else
- typedef void type;
-#endif
- };
+ void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const
+ {
+ return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
+ }
- VULKAN_HPP_INLINE ResultValueType::type createResultValue( Result result, char const * message )
- {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
- VULKAN_HPP_ASSERT( result == Result::eSuccess );
- return result;
-#else
- if ( result != Result::eSuccess )
+ void vkCmdDrawIndexed( VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance ) const
{
- throwResultException( result, message );
+ return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
}
-#endif
- }
- template
- VULKAN_HPP_INLINE typename ResultValueType::type createResultValue( Result result, T & data, char const * message )
- {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
- VULKAN_HPP_ASSERT( result == Result::eSuccess );
- return ResultValue( result, data );
-#else
- if ( result != Result::eSuccess )
+ void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
{
- throwResultException( result, message );
+ return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
}
- return std::move( data );
-#endif
- }
- VULKAN_HPP_INLINE Result createResultValue( Result result, char const * message, std::initializer_list successCodes )
- {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
- VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
-#else
- if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
+ void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) const
{
- throwResultException( result, message );
+ return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
}
-#endif
- return result;
- }
- template
- VULKAN_HPP_INLINE ResultValue createResultValue( Result result, T & data, char const * message, std::initializer_list successCodes )
- {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
- VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
-#else
- if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
+ void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) const
{
- throwResultException( result, message );
+ return ::vkCmdDrawIndexedIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
}
-#endif
- return ResultValue( result, data );
- }
-#ifndef VULKAN_HPP_NO_SMART_HANDLE
- template
- VULKAN_HPP_INLINE typename ResultValueType>::type createResultValue( Result result, T & data, char const * message, typename UniqueHandleTraits::deleter const& deleter )
- {
-#ifdef VULKAN_HPP_NO_EXCEPTIONS
- VULKAN_HPP_ASSERT( result == Result::eSuccess );
- return ResultValue>( result, UniqueHandle(data, deleter) );
-#else
- if ( result != Result::eSuccess )
+ void vkCmdDrawIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
{
- throwResultException( result, message );
+ return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
}
- return UniqueHandle(data, deleter);
-#endif
- }
-#endif
+ void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride ) const
+ {
+ return ::vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
+ }
- struct AllocationCallbacks;
+ void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) const
+ {
+ return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
+ }
- template
- class ObjectDestroy
- {
- public:
- ObjectDestroy(OwnerType owner = OwnerType(), Optional allocator = nullptr)
- : m_owner(owner)
- , m_allocator(allocator)
- {}
+ void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) const
+ {
+ return ::vkCmdDrawIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
+ }
- OwnerType getOwner() const { return m_owner; }
- Optional getAllocator() const { return m_allocator; }
+ void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) const
+ {
+ return ::vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
+ }
- protected:
- template
- void destroy(T t)
- {
- m_owner.destroy(t, m_allocator);
- }
+ void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
+ {
+ return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
+ }
- private:
- OwnerType m_owner;
- Optional m_allocator;
- };
+ void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask ) const
+ {
+ return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
+ }
- class NoParent;
+ void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const
+ {
+ return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
+ }
- template <>
- class ObjectDestroy
- {
- public:
- ObjectDestroy( Optional allocator = nullptr )
- : m_allocator( allocator )
- {}
+ void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const
+ {
+ return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
+ }
- Optional getAllocator() const { return m_allocator; }
+ void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const
+ {
+ return ::vkCmdEndQuery( commandBuffer, queryPool, query );
+ }
- protected:
- template
- void destroy(T t)
+ void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index ) const
{
- t.destroy( m_allocator );
+ return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
}
- private:
- Optional m_allocator;
- };
+ void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const
+ {
+ return ::vkCmdEndRenderPass( commandBuffer );
+ }
- template
- class ObjectFree
- {
- public:
- ObjectFree(OwnerType owner = OwnerType(), Optional allocator = nullptr)
- : m_owner(owner)
- , m_allocator(allocator)
- {}
+ void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo ) const
+ {
+ return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
+ }
- OwnerType getOwner() const { return m_owner; }
- Optional getAllocator() const { return m_allocator; }
+ void vkCmdEndTransformFeedbackEXT( VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets ) const
+ {
+ return ::vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
+ }
- protected:
- template
- void destroy(T t)
- {
- m_owner.free(t, m_allocator);
- }
+ void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers ) const
+ {
+ return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
+ }
- private:
- OwnerType m_owner;
- Optional m_allocator;
- };
+ void vkCmdFillBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) const
+ {
+ return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
+ }
- template
- class PoolFree
- {
- public:
- PoolFree(OwnerType owner = OwnerType(), PoolType pool = PoolType())
- : m_owner(owner)
- , m_pool(pool)
- {}
+ void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo ) const
+ {
+ return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
+ }
- OwnerType getOwner() const { return m_owner; }
- PoolType getPool() const { return m_pool; }
+ void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const
+ {
+ return ::vkCmdNextSubpass( commandBuffer, contents );
+ }
- protected:
- template
- void destroy(T t)
- {
- m_owner.free(m_pool, t);
- }
+ void vkCmdNextSubpass2KHR( VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo ) const
+ {
+ return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
+ }
- private:
- OwnerType m_owner;
- PoolType m_pool;
- };
+ void vkCmdPipelineBarrier( VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers ) const
+ {
+ return ::vkCmdPipelineBarrier( commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers );
+ }
+
+ void vkCmdProcessCommandsNVX( VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo ) const
+ {
+ return ::vkCmdProcessCommandsNVX( commandBuffer, pProcessCommandsInfo );
+ }
+
+ void vkCmdPushConstants( VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues ) const
+ {
+ return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
+ }
+
+ void vkCmdPushDescriptorSetKHR( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites ) const
+ {
+ return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
+ }
+
+ void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData ) const
+ {
+ return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
+ }
+
+ void vkCmdReserveSpaceForCommandsNVX( VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo ) const
+ {
+ return ::vkCmdReserveSpaceForCommandsNVX( commandBuffer, pReserveSpaceInfo );
+ }
+
+ void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const
+ {
+ return ::vkCmdResetEvent( commandBuffer, event, stageMask );
+ }
+
+ void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const
+ {
+ return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
+ }
+
+ void vkCmdResolveImage( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions ) const
+ {
+ return ::vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
+ }
+
+ void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const float blendConstants[4] ) const
+ {
+ return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
+ }
+
+ void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void* pCheckpointMarker ) const
+ {
+ return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
+ }
+
+ void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders ) const
+ {
+ return ::vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
+ }
+
+ void vkCmdSetDepthBias( VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor ) const
+ {
+ return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
+ }
+
+ void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds ) const
+ {
+ return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
+ }
+
+ void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const
+ {
+ return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
+ }
+
+ void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const
+ {
+ return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
+ }
+
+ void vkCmdSetDiscardRectangleEXT( VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles ) const
+ {
+ return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
+ }
+
+ void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const
+ {
+ return ::vkCmdSetEvent( commandBuffer, event, stageMask );
+ }
+
+ void vkCmdSetExclusiveScissorNV( VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors ) const
+ {
+ return ::vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
+ }
+
+ void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const
+ {
+ return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
+ }
+
+ void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const
+ {
+ return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
+ }
+
+ VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo ) const
+ {
+ return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
+ }
+
+ VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo ) const
+ {
+ return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
+ }
+
+ VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo ) const
+ {
+ return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
+ }
+
+ void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo ) const
+ {
+ return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
+ }
+
+ void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors ) const
+ {
+ return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
+ }
+
+ void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask ) const
+ {
+ return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
+ }
+
+ void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference ) const
+ {
+ return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
+ }
+
+ void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask ) const
+ {
+ return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
+ }
+
+ void vkCmdSetViewport( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports ) const
+ {
+ return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
+ }
+
+ void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes ) const
+ {
+ return ::vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
+ }
+
+ void vkCmdSetViewportWScalingNV( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings ) const
+ {
+ return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
+ }
+
+ void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth ) const
+ {
+ return ::vkCmdTraceRaysNV( commandBuffer, raygenShaderBindingTableBuffer, raygenShaderBindingOffset, missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth );
+ }
+
+ void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData ) const
+ {
+ return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
+ }
+
+ void vkCmdWaitEvents( VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers ) const
+ {
+ return ::vkCmdWaitEvents( commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers );
+ }
+
+ void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery ) const
+ {
+ return ::vkCmdWriteAccelerationStructuresPropertiesNV( commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
+ }
+
+ void vkCmdWriteBufferMarkerAMD( VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const
+ {
+ return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
+ }
+
+ void vkCmdWriteTimestamp( VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query ) const
+ {
+ return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
+ }
+
+ VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const
+ {
+ return ::vkEndCommandBuffer( commandBuffer );
+ }
+
+ VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags ) const
+ {
+ return ::vkResetCommandBuffer( commandBuffer, flags );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const
+ {
+ return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkAcquireNextImage2KHR( VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex ) const
+ {
+ return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
+ }
+
+ VkResult vkAcquireNextImageKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex ) const
+ {
+ return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
+ }
+
+ VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration ) const
+ {
+ return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
+ }
+
+ VkResult vkAllocateCommandBuffers( VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers ) const
+ {
+ return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
+ }
+
+ VkResult vkAllocateDescriptorSets( VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets ) const
+ {
+ return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
+ }
+
+ VkResult vkAllocateMemory( VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory ) const
+ {
+ return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
+ }
+
+ VkResult vkBindAccelerationStructureMemoryNV( VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos ) const
+ {
+ return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
+ }
+
+ VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const
+ {
+ return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
+ }
+
+ VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos ) const
+ {
+ return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
+ }
+
+ VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos ) const
+ {
+ return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
+ }
+
+ VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const
+ {
+ return ::vkBindImageMemory( device, image, memory, memoryOffset );
+ }
+
+ VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos ) const
+ {
+ return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
+ }
+
+ VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos ) const
+ {
+ return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
+ }
+
+ VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const
+ {
+ return ::vkCompileDeferredNV( device, pipeline, shader );
+ }
+
+ VkResult vkCreateAccelerationStructureNV( VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure ) const
+ {
+ return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
+ }
+
+ VkResult vkCreateBuffer( VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer ) const
+ {
+ return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
+ }
+
+ VkResult vkCreateBufferView( VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView ) const
+ {
+ return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
+ }
+
+ VkResult vkCreateCommandPool( VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool ) const
+ {
+ return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
+ }
+
+ VkResult vkCreateComputePipelines( VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines ) const
+ {
+ return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
+ }
+
+ VkResult vkCreateDescriptorPool( VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool ) const
+ {
+ return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
+ }
+
+ VkResult vkCreateDescriptorSetLayout( VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout ) const
+ {
+ return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
+ }
+
+ VkResult vkCreateDescriptorUpdateTemplate( VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate ) const
+ {
+ return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
+ }
+
+ VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate ) const
+ {
+ return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
+ }
+
+ VkResult vkCreateEvent( VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent ) const
+ {
+ return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
+ }
+
+ VkResult vkCreateFence( VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence ) const
+ {
+ return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
+ }
+
+ VkResult vkCreateFramebuffer( VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer ) const
+ {
+ return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
+ }
+
+ VkResult vkCreateGraphicsPipelines( VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines ) const
+ {
+ return ::vkCreateGraphicsPipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
+ }
+
+ VkResult vkCreateImage( VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage ) const
+ {
+ return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
+ }
+
+ VkResult vkCreateImageView( VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView ) const
+ {
+ return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
+ }
+
+ VkResult vkCreateIndirectCommandsLayoutNVX( VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout ) const
+ {
+ return ::vkCreateIndirectCommandsLayoutNVX( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
+ }
+
+ VkResult vkCreateObjectTableNVX( VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable ) const
+ {
+ return ::vkCreateObjectTableNVX( device, pCreateInfo, pAllocator, pObjectTable );
+ }
+
+ VkResult vkCreatePipelineCache( VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache ) const
+ {
+ return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
+ }
+
+ VkResult vkCreatePipelineLayout( VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout ) const
+ {
+ return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
+ }
+
+ VkResult vkCreateQueryPool( VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool ) const
+ {
+ return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
+ }
+
+ VkResult vkCreateRayTracingPipelinesNV( VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines ) const
+ {
+ return ::vkCreateRayTracingPipelinesNV( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
+ }
+
+ VkResult vkCreateRenderPass( VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass ) const
+ {
+ return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
+ }
+
+ VkResult vkCreateRenderPass2KHR( VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass ) const
+ {
+ return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
+ }
+
+ VkResult vkCreateSampler( VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler ) const
+ {
+ return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
+ }
+
+ VkResult vkCreateSamplerYcbcrConversion( VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion ) const
+ {
+ return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
+ }
+
+ VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion ) const
+ {
+ return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
+ }
+
+ VkResult vkCreateSemaphore( VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore ) const
+ {
+ return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
+ }
+
+ VkResult vkCreateShaderModule( VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule ) const
+ {
+ return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
+ }
+
+ VkResult vkCreateSharedSwapchainsKHR( VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains ) const
+ {
+ return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
+ }
+
+ VkResult vkCreateSwapchainKHR( VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain ) const
+ {
+ return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
+ }
+
+ VkResult vkCreateValidationCacheEXT( VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache ) const
+ {
+ return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
+ }
+
+ VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo ) const
+ {
+ return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
+ }
+
+ VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo ) const
+ {
+ return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
+ }
+
+ void vkDestroyAccelerationStructureNV( VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
+ }
+
+ void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyBuffer( device, buffer, pAllocator );
+ }
+
+ void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyBufferView( device, bufferView, pAllocator );
+ }
+
+ void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyCommandPool( device, commandPool, pAllocator );
+ }
+
+ void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
+ }
+
+ void vkDestroyDescriptorSetLayout( VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
+ }
+
+ void vkDestroyDescriptorUpdateTemplate( VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
+ }
+
+ void vkDestroyDescriptorUpdateTemplateKHR( VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
+ }
+
+ void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyDevice( device, pAllocator );
+ }
+
+ void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyEvent( device, event, pAllocator );
+ }
+
+ void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyFence( device, fence, pAllocator );
+ }
+
+ void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
+ }
+
+ void vkDestroyImage( VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyImage( device, image, pAllocator );
+ }
+
+ void vkDestroyImageView( VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyImageView( device, imageView, pAllocator );
+ }
+
+ void vkDestroyIndirectCommandsLayoutNVX( VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyIndirectCommandsLayoutNVX( device, indirectCommandsLayout, pAllocator );
+ }
+
+ void vkDestroyObjectTableNVX( VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyObjectTableNVX( device, objectTable, pAllocator );
+ }
+
+ void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyPipeline( device, pipeline, pAllocator );
+ }
+
+ void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
+ }
+
+ void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
+ }
+
+ void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyQueryPool( device, queryPool, pAllocator );
+ }
+
+ void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyRenderPass( device, renderPass, pAllocator );
+ }
+
+ void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroySampler( device, sampler, pAllocator );
+ }
+
+ void vkDestroySamplerYcbcrConversion( VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
+ }
+
+ void vkDestroySamplerYcbcrConversionKHR( VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
+ }
+
+ void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroySemaphore( device, semaphore, pAllocator );
+ }
+
+ void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
+ }
+
+ void vkDestroySwapchainKHR( VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
+ }
+
+ void vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
+ }
+
+ VkResult vkDeviceWaitIdle( VkDevice device ) const
+ {
+ return ::vkDeviceWaitIdle( device );
+ }
+
+ VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo ) const
+ {
+ return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
+ }
+
+ VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges ) const
+ {
+ return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
+ }
+
+ void vkFreeCommandBuffers( VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers ) const
+ {
+ return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
+ }
+
+ VkResult vkFreeDescriptorSets( VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets ) const
+ {
+ return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
+ }
+
+ void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkFreeMemory( device, memory, pAllocator );
+ }
+
+ VkResult vkGetAccelerationStructureHandleNV( VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData ) const
+ {
+ return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
+ }
+
+ void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements ) const
+ {
+ return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
+ }
+
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+ VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties ) const
+ {
+ return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
+ }
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+ VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo ) const
+ {
+ return ::vkGetBufferDeviceAddressEXT( device, pInfo );
+ }
+
+ void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements ) const
+ {
+ return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
+ }
+
+ void vkGetBufferMemoryRequirements2( VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements ) const
+ {
+ return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
+ }
+
+ void vkGetBufferMemoryRequirements2KHR( VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements ) const
+ {
+ return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
+ }
+
+ VkResult vkGetCalibratedTimestampsEXT( VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation ) const
+ {
+ return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
+ }
+
+ void vkGetDescriptorSetLayoutSupport( VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport ) const
+ {
+ return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
+ }
+
+ void vkGetDescriptorSetLayoutSupportKHR( VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport ) const
+ {
+ return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
+ }
+
+ void vkGetDeviceGroupPeerMemoryFeatures( VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures ) const
+ {
+ return ::vkGetDeviceGroupPeerMemoryFeatures( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
+ }
+
+ void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures ) const
+ {
+ return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
+ }
+
+ VkResult vkGetDeviceGroupPresentCapabilitiesKHR( VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities ) const
+ {
+ return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes ) const
+ {
+ return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkGetDeviceGroupSurfacePresentModesKHR( VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes ) const
+ {
+ return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
+ }
+
+ void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes ) const
+ {
+ return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
+ }
+
+ PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char* pName ) const
+ {
+ return ::vkGetDeviceProcAddr( device, pName );
+ }
+
+ void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue ) const
+ {
+ return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
+ }
+
+ void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue ) const
+ {
+ return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
+ }
+
+ VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const
+ {
+ return ::vkGetEventStatus( device, event );
+ }
+
+ VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd ) const
+ {
+ return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
+ }
+
+ VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const
+ {
+ return ::vkGetFenceStatus( device, fence );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle ) const
+ {
+ return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkGetImageDrmFormatModifierPropertiesEXT( VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties ) const
+ {
+ return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
+ }
+
+ void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements ) const
+ {
+ return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
+ }
+
+ void vkGetImageMemoryRequirements2( VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements ) const
+ {
+ return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
+ }
+
+ void vkGetImageMemoryRequirements2KHR( VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements ) const
+ {
+ return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
+ }
+
+ void vkGetImageSparseMemoryRequirements( VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements ) const
+ {
+ return ::vkGetImageSparseMemoryRequirements( device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
+ }
+
+ void vkGetImageSparseMemoryRequirements2( VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements ) const
+ {
+ return ::vkGetImageSparseMemoryRequirements2( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
+ }
+
+ void vkGetImageSparseMemoryRequirements2KHR( VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements ) const
+ {
+ return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
+ }
+
+ void vkGetImageSubresourceLayout( VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout ) const
+ {
+ return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
+ }
+
+ uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHandleInfoNVX* pInfo ) const
+ {
+ return ::vkGetImageViewHandleNVX( device, pInfo );
+ }
+
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+ VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer ) const
+ {
+ return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
+ }
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+ VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd ) const
+ {
+ return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
+ }
+
+ VkResult vkGetMemoryFdPropertiesKHR( VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties ) const
+ {
+ return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
+ }
+
+ VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties ) const
+ {
+ return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle ) const
+ {
+ return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkGetMemoryWin32HandleNV( VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle ) const
+ {
+ return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties ) const
+ {
+ return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkGetPastPresentationTimingGOOGLE( VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings ) const
+ {
+ return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
+ }
+
+ VkResult vkGetPerformanceParameterINTEL( VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue ) const
+ {
+ return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
+ }
+
+ VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData ) const
+ {
+ return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
+ }
+
+ VkResult vkGetPipelineExecutableInternalRepresentationsKHR( VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations ) const
+ {
+ return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
+ }
+
+ VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties ) const
+ {
+ return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
+ }
+
+ VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics ) const
+ {
+ return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
+ }
+
+ VkResult vkGetQueryPoolResults( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags ) const
+ {
+ return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
+ }
+
+ VkResult vkGetRayTracingShaderGroupHandlesNV( VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData ) const
+ {
+ return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
+ }
+
+ VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties ) const
+ {
+ return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
+ }
+
+ void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity ) const
+ {
+ return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
+ }
+
+ VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd ) const
+ {
+ return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkGetSemaphoreWin32HandleKHR( VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle ) const
+ {
+ return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkGetShaderInfoAMD( VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo ) const
+ {
+ return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
+ }
+
+ VkResult vkGetSwapchainCounterEXT( VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue ) const
+ {
+ return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
+ }
+
+ VkResult vkGetSwapchainImagesKHR( VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages ) const
+ {
+ return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
+ }
+
+ VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const
+ {
+ return ::vkGetSwapchainStatusKHR( device, swapchain );
+ }
+
+ VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData ) const
+ {
+ return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
+ }
+
+ VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo ) const
+ {
+ return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo ) const
+ {
+ return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo ) const
+ {
+ return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkImportSemaphoreWin32HandleKHR( VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo ) const
+ {
+ return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo ) const
+ {
+ return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
+ }
+
+ VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges ) const
+ {
+ return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
+ }
+
+ VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData ) const
+ {
+ return ::vkMapMemory( device, memory, offset, size, flags, ppData );
+ }
+
+ VkResult vkMergePipelineCaches( VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches ) const
+ {
+ return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
+ }
+
+ VkResult vkMergeValidationCachesEXT( VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches ) const
+ {
+ return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
+ }
+
+ VkResult vkRegisterDeviceEventEXT( VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence ) const
+ {
+ return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
+ }
+
+ VkResult vkRegisterDisplayEventEXT( VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence ) const
+ {
+ return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
+ }
+
+ VkResult vkRegisterObjectsNVX( VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices ) const
+ {
+ return ::vkRegisterObjectsNVX( device, objectTable, objectCount, ppObjectTableEntries, pObjectIndices );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const
+ {
+ return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPerformanceConfigurationINTEL configuration ) const
+ {
+ return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
+ }
+
+ VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags ) const
+ {
+ return ::vkResetCommandPool( device, commandPool, flags );
+ }
+
+ VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) const
+ {
+ return ::vkResetDescriptorPool( device, descriptorPool, flags );
+ }
+
+ VkResult vkResetEvent( VkDevice device, VkEvent event ) const
+ {
+ return ::vkResetEvent( device, event );
+ }
+
+ VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence* pFences ) const
+ {
+ return ::vkResetFences( device, fenceCount, pFences );
+ }
+
+ void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const
+ {
+ return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
+ }
+
+ VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo ) const
+ {
+ return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
+ }
+
+ VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo ) const
+ {
+ return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
+ }
+
+ VkResult vkSetEvent( VkDevice device, VkEvent event ) const
+ {
+ return ::vkSetEvent( device, event );
+ }
+
+ void vkSetHdrMetadataEXT( VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata ) const
+ {
+ return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
+ }
+
+ void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) const
+ {
+ return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
+ }
+
+ void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const
+ {
+ return ::vkTrimCommandPool( device, commandPool, flags );
+ }
+
+ void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const
+ {
+ return ::vkTrimCommandPoolKHR( device, commandPool, flags );
+ }
+
+ void vkUninitializePerformanceApiINTEL( VkDevice device ) const
+ {
+ return ::vkUninitializePerformanceApiINTEL( device );
+ }
+
+ void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const
+ {
+ return ::vkUnmapMemory( device, memory );
+ }
+
+ VkResult vkUnregisterObjectsNVX( VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices ) const
+ {
+ return ::vkUnregisterObjectsNVX( device, objectTable, objectCount, pObjectEntryTypes, pObjectIndices );
+ }
+
+ void vkUpdateDescriptorSetWithTemplate( VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData ) const
+ {
+ return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
+ }
+
+ void vkUpdateDescriptorSetWithTemplateKHR( VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData ) const
+ {
+ return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
+ }
+
+ void vkUpdateDescriptorSets( VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies ) const
+ {
+ return ::vkUpdateDescriptorSets( device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
+ }
+
+ VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout ) const
+ {
+ return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
+ }
+
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+ VkResult vkCreateAndroidSurfaceKHR( VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+ VkResult vkCreateDebugReportCallbackEXT( VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback ) const
+ {
+ return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
+ }
+
+ VkResult vkCreateDebugUtilsMessengerEXT( VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger ) const
+ {
+ return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
+ }
+
+ VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
+ }
+
+ VkResult vkCreateHeadlessSurfaceEXT( VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
+ }
+
+#ifdef VK_USE_PLATFORM_IOS_MVK
+ VkResult vkCreateIOSSurfaceMVK( VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+ VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#ifdef VK_USE_PLATFORM_MACOS_MVK
+ VkResult vkCreateMacOSSurfaceMVK( VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+
+#ifdef VK_USE_PLATFORM_METAL_EXT
+ VkResult vkCreateMetalSurfaceEXT( VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+
+#ifdef VK_USE_PLATFORM_GGP
+ VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_GGP*/
+
+#ifdef VK_USE_PLATFORM_VI_NN
+ VkResult vkCreateViSurfaceNN( VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_VI_NN*/
+
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+ VkResult vkCreateWaylandSurfaceKHR( VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkCreateWin32SurfaceKHR( VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#ifdef VK_USE_PLATFORM_XCB_KHR
+ VkResult vkCreateXcbSurfaceKHR( VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#ifdef VK_USE_PLATFORM_XLIB_KHR
+ VkResult vkCreateXlibSurfaceKHR( VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface ) const
+ {
+ return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
+ }
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+ void vkDebugReportMessageEXT( VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage ) const
+ {
+ return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
+ }
+
+ void vkDestroyDebugReportCallbackEXT( VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
+ }
+
+ void vkDestroyDebugUtilsMessengerEXT( VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
+ }
+
+ void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroyInstance( instance, pAllocator );
+ }
+
+ void vkDestroySurfaceKHR( VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator ) const
+ {
+ return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
+ }
+
+ VkResult vkEnumeratePhysicalDeviceGroups( VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties ) const
+ {
+ return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
+ }
+
+ VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties ) const
+ {
+ return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
+ }
+
+ VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices ) const
+ {
+ return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
+ }
+
+ PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char* pName ) const
+ {
+ return ::vkGetInstanceProcAddr( instance, pName );
+ }
+
+ void vkSubmitDebugUtilsMessageEXT( VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData ) const
+ {
+ return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
+ }
+
+#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
+ VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display ) const
+ {
+ return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
+ }
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+
+ VkResult vkCreateDevice( VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice ) const
+ {
+ return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
+ }
+
+ VkResult vkCreateDisplayModeKHR( VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode ) const
+ {
+ return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
+ }
+
+ VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties ) const
+ {
+ return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
+ }
+
+ VkResult vkEnumerateDeviceLayerProperties( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties ) const
+ {
+ return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
+ }
+
+ VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties ) const
+ {
+ return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
+ }
+
+ VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties ) const
+ {
+ return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
+ }
+
+ VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities ) const
+ {
+ return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
+ }
+
+ VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities ) const
+ {
+ return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
+ }
+
+ VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays ) const
+ {
+ return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
+ }
+
+ VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains ) const
+ {
+ return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
+ }
+
+ VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
+ }
+
+ VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
+ }
+
+ VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
+ }
+
+ VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
+ }
+
+ VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
+ }
+
+ void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties ) const
+ {
+ return ::vkGetPhysicalDeviceExternalBufferProperties( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
+ }
+
+ void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties ) const
+ {
+ return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
+ }
+
+ void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties ) const
+ {
+ return ::vkGetPhysicalDeviceExternalFenceProperties( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
+ }
+
+ void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties ) const
+ {
+ return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
+ }
+
+ VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties ) const
+ {
+ return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV( physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
+ }
+
+ void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties ) const
+ {
+ return ::vkGetPhysicalDeviceExternalSemaphoreProperties( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
+ }
+
+ void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties ) const
+ {
+ return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
+ }
+
+ void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures ) const
+ {
+ return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
+ }
+
+ void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures ) const
+ {
+ return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
+ }
+
+ void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures ) const
+ {
+ return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
+ }
+
+ void vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties ) const
+ {
+ return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
+ }
+
+ void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties ) const
+ {
+ return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
+ }
+
+ void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties ) const
+ {
+ return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
+ }
+
+ void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits ) const
+ {
+ return ::vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( physicalDevice, pFeatures, pLimits );
+ }
+
+ VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties ) const
+ {
+ return ::vkGetPhysicalDeviceImageFormatProperties( physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
+ }
+
+ VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties ) const
+ {
+ return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
+ }
+
+ VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties ) const
+ {
+ return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
+ }
+
+ void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties ) const
+ {
+ return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
+ }
+
+ void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties ) const
+ {
+ return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
+ }
+
+ void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties ) const
+ {
+ return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
+ }
+
+ void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties ) const
+ {
+ return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
+ }
+
+ VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects ) const
+ {
+ return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
+ }
+
+ void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
+ }
+
+ void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
+ }
+
+ void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
+ }
+
+ void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties ) const
+ {
+ return ::vkGetPhysicalDeviceQueueFamilyProperties( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
+ }
+
+ void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties ) const
+ {
+ return ::vkGetPhysicalDeviceQueueFamilyProperties2( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
+ }
+
+ void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties ) const
+ {
+ return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
+ }
+
+ void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceSparseImageFormatProperties( physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
+ }
+
+ void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceSparseImageFormatProperties2( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
+ }
+
+ void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties ) const
+ {
+ return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
+ }
+
+ VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations ) const
+ {
+ return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice, pCombinationCount, pCombinations );
+ }
+
+ VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities ) const
+ {
+ return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
+ }
+
+ VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities ) const
+ {
+ return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
+ }
+
+ VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities ) const
+ {
+ return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
+ }
+
+ VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats ) const
+ {
+ return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
+ }
+
+ VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats ) const
+ {
+ return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes ) const
+ {
+ return ::vkGetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes ) const
+ {
+ return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
+ }
+
+ VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported ) const
+ {
+ return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
+ }
+
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+ VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display ) const
+ {
+ return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
+ }
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex ) const
+ {
+ return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+#ifdef VK_USE_PLATFORM_XCB_KHR
+ VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id ) const
+ {
+ return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
+ }
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#ifdef VK_USE_PLATFORM_XLIB_KHR
+ VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID ) const
+ {
+ return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
+ }
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
+ VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay ) const
+ {
+ return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
+ }
+#endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
+
+ VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const
+ {
+ return ::vkReleaseDisplayEXT( physicalDevice, display );
+ }
+
+ void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData ) const
+ {
+ return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
+ }
+
+ void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo ) const
+ {
+ return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
+ }
+
+ VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence ) const
+ {
+ return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
+ }
+
+ void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const
+ {
+ return ::vkQueueEndDebugUtilsLabelEXT( queue );
+ }
+
+ void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo ) const
+ {
+ return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
+ }
+
+ VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR* pPresentInfo ) const
+ {
+ return ::vkQueuePresentKHR( queue, pPresentInfo );
+ }
+
+ VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPerformanceConfigurationINTEL configuration ) const
+ {
+ return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
+ }
+
+ VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence ) const
+ {
+ return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
+ }
+
+ VkResult vkQueueWaitIdle( VkQueue queue ) const
+ {
+ return ::vkQueueWaitIdle( queue );
+ }
+ };
+
+ typedef DispatchLoaderStatic DispatchLoaderDefault;
+#else // !defined(VK_NO_PROTOTYPES)
+ class NeedExplicitDispatchLoader;
+ typedef NeedExplicitDispatchLoader DispatchLoaderDefault;
+#endif
+
+ struct AllocationCallbacks;
+
+ template
+ class ObjectDestroy
+ {
+ public:
+ ObjectDestroy( OwnerType owner = OwnerType(), Optional allocationCallbacks = nullptr, Dispatch const &dispatch = Dispatch() )
+ : m_owner( owner )
+ , m_allocationCallbacks( allocationCallbacks )
+ , m_dispatch( &dispatch )
+ {}
+
+ OwnerType getOwner() const { return m_owner; }
+ Optional getAllocator() const { return m_allocationCallbacks; }
+
+ protected:
+ template
+ void destroy(T t)
+ {
+ m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
+ }
+
+ private:
+ OwnerType m_owner;
+ Optional m_allocationCallbacks;
+ Dispatch const* m_dispatch;
+ };
+
+ class NoParent;
+
+ template
+ class ObjectDestroy
+ {
+ public:
+ ObjectDestroy( Optional allocationCallbacks = nullptr, Dispatch const &dispatch = Dispatch() )
+ : m_allocationCallbacks( allocationCallbacks )
+ , m_dispatch( &dispatch )
+ {}
+
+ Optional getAllocator() const { return m_allocationCallbacks; }
+
+ protected:
+ template
+ void destroy(T t)
+ {
+ t.destroy( m_allocationCallbacks, *m_dispatch );
+ }
+
+ private:
+ Optional m_allocationCallbacks;
+ Dispatch const* m_dispatch;
+ };
+
+ template
+ class ObjectFree
+ {
+ public:
+ ObjectFree( OwnerType owner = OwnerType(), Optional allocationCallbacks = nullptr, Dispatch const &dispatch = Dispatch() )
+ : m_owner( owner )
+ , m_allocationCallbacks( allocationCallbacks )
+ , m_dispatch( &dispatch )
+ {}
+
+ OwnerType getOwner() const { return m_owner; }
+ Optional getAllocator() const { return m_allocationCallbacks; }
+
+ protected:
+ template
+ void destroy(T t)
+ {
+ m_owner.free( t, m_allocationCallbacks, *m_dispatch );
+ }
+
+ private:
+ OwnerType m_owner;
+ Optional m_allocationCallbacks;
+ Dispatch const* m_dispatch;
+ };
+
+ template
+ class PoolFree
+ {
+ public:
+ PoolFree( OwnerType owner = OwnerType(), PoolType pool = PoolType(), Dispatch const &dispatch = Dispatch() )
+ : m_owner( owner )
+ , m_pool( pool )
+ , m_dispatch( &dispatch )
+ {}
+
+ OwnerType getOwner() const { return m_owner; }
+ PoolType getPool() const { return m_pool; }
+
+ protected:
+ template
+ void destroy(T t)
+ {
+ m_owner.free( m_pool, t, *m_dispatch );
+ }
+
+ private:
+ OwnerType m_owner;
+ PoolType m_pool;
+ Dispatch const* m_dispatch;
+ };
+
+ using Bool32 = uint32_t;
+ using DeviceAddress = uint64_t;
+ using DeviceSize = uint64_t;
+ using SampleMask = uint32_t;
+
+ enum class AccelerationStructureMemoryRequirementsTypeNV
+ {
+ eObject = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
+ eBuildScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV,
+ eUpdateScratch = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( AccelerationStructureMemoryRequirementsTypeNV value )
+ {
+ switch ( value )
+ {
+ case AccelerationStructureMemoryRequirementsTypeNV::eObject : return "Object";
+ case AccelerationStructureMemoryRequirementsTypeNV::eBuildScratch : return "BuildScratch";
+ case AccelerationStructureMemoryRequirementsTypeNV::eUpdateScratch : return "UpdateScratch";
+ default: return "invalid";
+ }
+ }
+
+ enum class AccelerationStructureTypeNV
+ {
+ eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV,
+ eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( AccelerationStructureTypeNV value )
+ {
+ switch ( value )
+ {
+ case AccelerationStructureTypeNV::eTopLevel : return "TopLevel";
+ case AccelerationStructureTypeNV::eBottomLevel : return "BottomLevel";
+ default: return "invalid";
+ }
+ }
+
+ enum class AttachmentLoadOp
+ {
+ eLoad = VK_ATTACHMENT_LOAD_OP_LOAD,
+ eClear = VK_ATTACHMENT_LOAD_OP_CLEAR,
+ eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( AttachmentLoadOp value )
+ {
+ switch ( value )
+ {
+ case AttachmentLoadOp::eLoad : return "Load";
+ case AttachmentLoadOp::eClear : return "Clear";
+ case AttachmentLoadOp::eDontCare : return "DontCare";
+ default: return "invalid";
+ }
+ }
+
+ enum class AttachmentStoreOp
+ {
+ eStore = VK_ATTACHMENT_STORE_OP_STORE,
+ eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( AttachmentStoreOp value )
+ {
+ switch ( value )
+ {
+ case AttachmentStoreOp::eStore : return "Store";
+ case AttachmentStoreOp::eDontCare : return "DontCare";
+ default: return "invalid";
+ }
+ }
+
+ enum class BlendFactor
+ {
+ eZero = VK_BLEND_FACTOR_ZERO,
+ eOne = VK_BLEND_FACTOR_ONE,
+ eSrcColor = VK_BLEND_FACTOR_SRC_COLOR,
+ eOneMinusSrcColor = VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR,
+ eDstColor = VK_BLEND_FACTOR_DST_COLOR,
+ eOneMinusDstColor = VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR,
+ eSrcAlpha = VK_BLEND_FACTOR_SRC_ALPHA,
+ eOneMinusSrcAlpha = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
+ eDstAlpha = VK_BLEND_FACTOR_DST_ALPHA,
+ eOneMinusDstAlpha = VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
+ eConstantColor = VK_BLEND_FACTOR_CONSTANT_COLOR,
+ eOneMinusConstantColor = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
+ eConstantAlpha = VK_BLEND_FACTOR_CONSTANT_ALPHA,
+ eOneMinusConstantAlpha = VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,
+ eSrcAlphaSaturate = VK_BLEND_FACTOR_SRC_ALPHA_SATURATE,
+ eSrc1Color = VK_BLEND_FACTOR_SRC1_COLOR,
+ eOneMinusSrc1Color = VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
+ eSrc1Alpha = VK_BLEND_FACTOR_SRC1_ALPHA,
+ eOneMinusSrc1Alpha = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( BlendFactor value )
+ {
+ switch ( value )
+ {
+ case BlendFactor::eZero : return "Zero";
+ case BlendFactor::eOne : return "One";
+ case BlendFactor::eSrcColor : return "SrcColor";
+ case BlendFactor::eOneMinusSrcColor : return "OneMinusSrcColor";
+ case BlendFactor::eDstColor : return "DstColor";
+ case BlendFactor::eOneMinusDstColor : return "OneMinusDstColor";
+ case BlendFactor::eSrcAlpha : return "SrcAlpha";
+ case BlendFactor::eOneMinusSrcAlpha : return "OneMinusSrcAlpha";
+ case BlendFactor::eDstAlpha : return "DstAlpha";
+ case BlendFactor::eOneMinusDstAlpha : return "OneMinusDstAlpha";
+ case BlendFactor::eConstantColor : return "ConstantColor";
+ case BlendFactor::eOneMinusConstantColor : return "OneMinusConstantColor";
+ case BlendFactor::eConstantAlpha : return "ConstantAlpha";
+ case BlendFactor::eOneMinusConstantAlpha : return "OneMinusConstantAlpha";
+ case BlendFactor::eSrcAlphaSaturate : return "SrcAlphaSaturate";
+ case BlendFactor::eSrc1Color : return "Src1Color";
+ case BlendFactor::eOneMinusSrc1Color : return "OneMinusSrc1Color";
+ case BlendFactor::eSrc1Alpha : return "Src1Alpha";
+ case BlendFactor::eOneMinusSrc1Alpha : return "OneMinusSrc1Alpha";
+ default: return "invalid";
+ }
+ }
+
+ enum class BlendOp
+ {
+ eAdd = VK_BLEND_OP_ADD,
+ eSubtract = VK_BLEND_OP_SUBTRACT,
+ eReverseSubtract = VK_BLEND_OP_REVERSE_SUBTRACT,
+ eMin = VK_BLEND_OP_MIN,
+ eMax = VK_BLEND_OP_MAX,
+ eZeroEXT = VK_BLEND_OP_ZERO_EXT,
+ eSrcEXT = VK_BLEND_OP_SRC_EXT,
+ eDstEXT = VK_BLEND_OP_DST_EXT,
+ eSrcOverEXT = VK_BLEND_OP_SRC_OVER_EXT,
+ eDstOverEXT = VK_BLEND_OP_DST_OVER_EXT,
+ eSrcInEXT = VK_BLEND_OP_SRC_IN_EXT,
+ eDstInEXT = VK_BLEND_OP_DST_IN_EXT,
+ eSrcOutEXT = VK_BLEND_OP_SRC_OUT_EXT,
+ eDstOutEXT = VK_BLEND_OP_DST_OUT_EXT,
+ eSrcAtopEXT = VK_BLEND_OP_SRC_ATOP_EXT,
+ eDstAtopEXT = VK_BLEND_OP_DST_ATOP_EXT,
+ eXorEXT = VK_BLEND_OP_XOR_EXT,
+ eMultiplyEXT = VK_BLEND_OP_MULTIPLY_EXT,
+ eScreenEXT = VK_BLEND_OP_SCREEN_EXT,
+ eOverlayEXT = VK_BLEND_OP_OVERLAY_EXT,
+ eDarkenEXT = VK_BLEND_OP_DARKEN_EXT,
+ eLightenEXT = VK_BLEND_OP_LIGHTEN_EXT,
+ eColordodgeEXT = VK_BLEND_OP_COLORDODGE_EXT,
+ eColorburnEXT = VK_BLEND_OP_COLORBURN_EXT,
+ eHardlightEXT = VK_BLEND_OP_HARDLIGHT_EXT,
+ eSoftlightEXT = VK_BLEND_OP_SOFTLIGHT_EXT,
+ eDifferenceEXT = VK_BLEND_OP_DIFFERENCE_EXT,
+ eExclusionEXT = VK_BLEND_OP_EXCLUSION_EXT,
+ eInvertEXT = VK_BLEND_OP_INVERT_EXT,
+ eInvertRgbEXT = VK_BLEND_OP_INVERT_RGB_EXT,
+ eLineardodgeEXT = VK_BLEND_OP_LINEARDODGE_EXT,
+ eLinearburnEXT = VK_BLEND_OP_LINEARBURN_EXT,
+ eVividlightEXT = VK_BLEND_OP_VIVIDLIGHT_EXT,
+ eLinearlightEXT = VK_BLEND_OP_LINEARLIGHT_EXT,
+ ePinlightEXT = VK_BLEND_OP_PINLIGHT_EXT,
+ eHardmixEXT = VK_BLEND_OP_HARDMIX_EXT,
+ eHslHueEXT = VK_BLEND_OP_HSL_HUE_EXT,
+ eHslSaturationEXT = VK_BLEND_OP_HSL_SATURATION_EXT,
+ eHslColorEXT = VK_BLEND_OP_HSL_COLOR_EXT,
+ eHslLuminosityEXT = VK_BLEND_OP_HSL_LUMINOSITY_EXT,
+ ePlusEXT = VK_BLEND_OP_PLUS_EXT,
+ ePlusClampedEXT = VK_BLEND_OP_PLUS_CLAMPED_EXT,
+ ePlusClampedAlphaEXT = VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
+ ePlusDarkerEXT = VK_BLEND_OP_PLUS_DARKER_EXT,
+ eMinusEXT = VK_BLEND_OP_MINUS_EXT,
+ eMinusClampedEXT = VK_BLEND_OP_MINUS_CLAMPED_EXT,
+ eContrastEXT = VK_BLEND_OP_CONTRAST_EXT,
+ eInvertOvgEXT = VK_BLEND_OP_INVERT_OVG_EXT,
+ eRedEXT = VK_BLEND_OP_RED_EXT,
+ eGreenEXT = VK_BLEND_OP_GREEN_EXT,
+ eBlueEXT = VK_BLEND_OP_BLUE_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( BlendOp value )
+ {
+ switch ( value )
+ {
+ case BlendOp::eAdd : return "Add";
+ case BlendOp::eSubtract : return "Subtract";
+ case BlendOp::eReverseSubtract : return "ReverseSubtract";
+ case BlendOp::eMin : return "Min";
+ case BlendOp::eMax : return "Max";
+ case BlendOp::eZeroEXT : return "ZeroEXT";
+ case BlendOp::eSrcEXT : return "SrcEXT";
+ case BlendOp::eDstEXT : return "DstEXT";
+ case BlendOp::eSrcOverEXT : return "SrcOverEXT";
+ case BlendOp::eDstOverEXT : return "DstOverEXT";
+ case BlendOp::eSrcInEXT : return "SrcInEXT";
+ case BlendOp::eDstInEXT : return "DstInEXT";
+ case BlendOp::eSrcOutEXT : return "SrcOutEXT";
+ case BlendOp::eDstOutEXT : return "DstOutEXT";
+ case BlendOp::eSrcAtopEXT : return "SrcAtopEXT";
+ case BlendOp::eDstAtopEXT : return "DstAtopEXT";
+ case BlendOp::eXorEXT : return "XorEXT";
+ case BlendOp::eMultiplyEXT : return "MultiplyEXT";
+ case BlendOp::eScreenEXT : return "ScreenEXT";
+ case BlendOp::eOverlayEXT : return "OverlayEXT";
+ case BlendOp::eDarkenEXT : return "DarkenEXT";
+ case BlendOp::eLightenEXT : return "LightenEXT";
+ case BlendOp::eColordodgeEXT : return "ColordodgeEXT";
+ case BlendOp::eColorburnEXT : return "ColorburnEXT";
+ case BlendOp::eHardlightEXT : return "HardlightEXT";
+ case BlendOp::eSoftlightEXT : return "SoftlightEXT";
+ case BlendOp::eDifferenceEXT : return "DifferenceEXT";
+ case BlendOp::eExclusionEXT : return "ExclusionEXT";
+ case BlendOp::eInvertEXT : return "InvertEXT";
+ case BlendOp::eInvertRgbEXT : return "InvertRgbEXT";
+ case BlendOp::eLineardodgeEXT : return "LineardodgeEXT";
+ case BlendOp::eLinearburnEXT : return "LinearburnEXT";
+ case BlendOp::eVividlightEXT : return "VividlightEXT";
+ case BlendOp::eLinearlightEXT : return "LinearlightEXT";
+ case BlendOp::ePinlightEXT : return "PinlightEXT";
+ case BlendOp::eHardmixEXT : return "HardmixEXT";
+ case BlendOp::eHslHueEXT : return "HslHueEXT";
+ case BlendOp::eHslSaturationEXT : return "HslSaturationEXT";
+ case BlendOp::eHslColorEXT : return "HslColorEXT";
+ case BlendOp::eHslLuminosityEXT : return "HslLuminosityEXT";
+ case BlendOp::ePlusEXT : return "PlusEXT";
+ case BlendOp::ePlusClampedEXT : return "PlusClampedEXT";
+ case BlendOp::ePlusClampedAlphaEXT : return "PlusClampedAlphaEXT";
+ case BlendOp::ePlusDarkerEXT : return "PlusDarkerEXT";
+ case BlendOp::eMinusEXT : return "MinusEXT";
+ case BlendOp::eMinusClampedEXT : return "MinusClampedEXT";
+ case BlendOp::eContrastEXT : return "ContrastEXT";
+ case BlendOp::eInvertOvgEXT : return "InvertOvgEXT";
+ case BlendOp::eRedEXT : return "RedEXT";
+ case BlendOp::eGreenEXT : return "GreenEXT";
+ case BlendOp::eBlueEXT : return "BlueEXT";
+ default: return "invalid";
+ }
+ }
+
+ enum class BlendOverlapEXT
+ {
+ eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
+ eDisjoint = VK_BLEND_OVERLAP_DISJOINT_EXT,
+ eConjoint = VK_BLEND_OVERLAP_CONJOINT_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( BlendOverlapEXT value )
+ {
+ switch ( value )
+ {
+ case BlendOverlapEXT::eUncorrelated : return "Uncorrelated";
+ case BlendOverlapEXT::eDisjoint : return "Disjoint";
+ case BlendOverlapEXT::eConjoint : return "Conjoint";
+ default: return "invalid";
+ }
+ }
+
+ enum class BorderColor
+ {
+ eFloatTransparentBlack = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
+ eIntTransparentBlack = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,
+ eFloatOpaqueBlack = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,
+ eIntOpaqueBlack = VK_BORDER_COLOR_INT_OPAQUE_BLACK,
+ eFloatOpaqueWhite = VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,
+ eIntOpaqueWhite = VK_BORDER_COLOR_INT_OPAQUE_WHITE
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( BorderColor value )
+ {
+ switch ( value )
+ {
+ case BorderColor::eFloatTransparentBlack : return "FloatTransparentBlack";
+ case BorderColor::eIntTransparentBlack : return "IntTransparentBlack";
+ case BorderColor::eFloatOpaqueBlack : return "FloatOpaqueBlack";
+ case BorderColor::eIntOpaqueBlack : return "IntOpaqueBlack";
+ case BorderColor::eFloatOpaqueWhite : return "FloatOpaqueWhite";
+ case BorderColor::eIntOpaqueWhite : return "IntOpaqueWhite";
+ default: return "invalid";
+ }
+ }
+
+ enum class ChromaLocation
+ {
+ eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
+ eMidpoint = VK_CHROMA_LOCATION_MIDPOINT,
+ eCositedEvenKHR = VK_CHROMA_LOCATION_COSITED_EVEN_KHR,
+ eMidpointKHR = VK_CHROMA_LOCATION_MIDPOINT_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ChromaLocation value )
+ {
+ switch ( value )
+ {
+ case ChromaLocation::eCositedEven : return "CositedEven";
+ case ChromaLocation::eMidpoint : return "Midpoint";
+ default: return "invalid";
+ }
+ }
+
+ enum class CoarseSampleOrderTypeNV
+ {
+ eDefault = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
+ eCustom = VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV,
+ ePixelMajor = VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV,
+ eSampleMajor = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( CoarseSampleOrderTypeNV value )
+ {
+ switch ( value )
+ {
+ case CoarseSampleOrderTypeNV::eDefault : return "Default";
+ case CoarseSampleOrderTypeNV::eCustom : return "Custom";
+ case CoarseSampleOrderTypeNV::ePixelMajor : return "PixelMajor";
+ case CoarseSampleOrderTypeNV::eSampleMajor : return "SampleMajor";
+ default: return "invalid";
+ }
+ }
+
+ enum class ColorSpaceKHR
+ {
+ eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
+ eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
+ eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
+ eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
+ eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
+ eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT,
+ eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
+ eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
+ eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT,
+ eDolbyvisionEXT = VK_COLOR_SPACE_DOLBYVISION_EXT,
+ eHdr10HlgEXT = VK_COLOR_SPACE_HDR10_HLG_EXT,
+ eAdobergbLinearEXT = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,
+ eAdobergbNonlinearEXT = VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT,
+ ePassThroughEXT = VK_COLOR_SPACE_PASS_THROUGH_EXT,
+ eExtendedSrgbNonlinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT,
+ eDisplayNativeAMD = VK_COLOR_SPACE_DISPLAY_NATIVE_AMD,
+ eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR,
+ eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ColorSpaceKHR value )
+ {
+ switch ( value )
+ {
+ case ColorSpaceKHR::eSrgbNonlinear : return "SrgbNonlinear";
+ case ColorSpaceKHR::eDisplayP3NonlinearEXT : return "DisplayP3NonlinearEXT";
+ case ColorSpaceKHR::eExtendedSrgbLinearEXT : return "ExtendedSrgbLinearEXT";
+ case ColorSpaceKHR::eDisplayP3LinearEXT : return "DisplayP3LinearEXT";
+ case ColorSpaceKHR::eDciP3NonlinearEXT : return "DciP3NonlinearEXT";
+ case ColorSpaceKHR::eBt709LinearEXT : return "Bt709LinearEXT";
+ case ColorSpaceKHR::eBt709NonlinearEXT : return "Bt709NonlinearEXT";
+ case ColorSpaceKHR::eBt2020LinearEXT : return "Bt2020LinearEXT";
+ case ColorSpaceKHR::eHdr10St2084EXT : return "Hdr10St2084EXT";
+ case ColorSpaceKHR::eDolbyvisionEXT : return "DolbyvisionEXT";
+ case ColorSpaceKHR::eHdr10HlgEXT : return "Hdr10HlgEXT";
+ case ColorSpaceKHR::eAdobergbLinearEXT : return "AdobergbLinearEXT";
+ case ColorSpaceKHR::eAdobergbNonlinearEXT : return "AdobergbNonlinearEXT";
+ case ColorSpaceKHR::ePassThroughEXT : return "PassThroughEXT";
+ case ColorSpaceKHR::eExtendedSrgbNonlinearEXT : return "ExtendedSrgbNonlinearEXT";
+ case ColorSpaceKHR::eDisplayNativeAMD : return "DisplayNativeAMD";
+ default: return "invalid";
+ }
+ }
+
+ enum class CommandBufferLevel
+ {
+ ePrimary = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
+ eSecondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( CommandBufferLevel value )
+ {
+ switch ( value )
+ {
+ case CommandBufferLevel::ePrimary : return "Primary";
+ case CommandBufferLevel::eSecondary : return "Secondary";
+ default: return "invalid";
+ }
+ }
+
+ enum class CompareOp
+ {
+ eNever = VK_COMPARE_OP_NEVER,
+ eLess = VK_COMPARE_OP_LESS,
+ eEqual = VK_COMPARE_OP_EQUAL,
+ eLessOrEqual = VK_COMPARE_OP_LESS_OR_EQUAL,
+ eGreater = VK_COMPARE_OP_GREATER,
+ eNotEqual = VK_COMPARE_OP_NOT_EQUAL,
+ eGreaterOrEqual = VK_COMPARE_OP_GREATER_OR_EQUAL,
+ eAlways = VK_COMPARE_OP_ALWAYS
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( CompareOp value )
+ {
+ switch ( value )
+ {
+ case CompareOp::eNever : return "Never";
+ case CompareOp::eLess : return "Less";
+ case CompareOp::eEqual : return "Equal";
+ case CompareOp::eLessOrEqual : return "LessOrEqual";
+ case CompareOp::eGreater : return "Greater";
+ case CompareOp::eNotEqual : return "NotEqual";
+ case CompareOp::eGreaterOrEqual : return "GreaterOrEqual";
+ case CompareOp::eAlways : return "Always";
+ default: return "invalid";
+ }
+ }
+
+ enum class ComponentSwizzle
+ {
+ eIdentity = VK_COMPONENT_SWIZZLE_IDENTITY,
+ eZero = VK_COMPONENT_SWIZZLE_ZERO,
+ eOne = VK_COMPONENT_SWIZZLE_ONE,
+ eR = VK_COMPONENT_SWIZZLE_R,
+ eG = VK_COMPONENT_SWIZZLE_G,
+ eB = VK_COMPONENT_SWIZZLE_B,
+ eA = VK_COMPONENT_SWIZZLE_A
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ComponentSwizzle value )
+ {
+ switch ( value )
+ {
+ case ComponentSwizzle::eIdentity : return "Identity";
+ case ComponentSwizzle::eZero : return "Zero";
+ case ComponentSwizzle::eOne : return "One";
+ case ComponentSwizzle::eR : return "R";
+ case ComponentSwizzle::eG : return "G";
+ case ComponentSwizzle::eB : return "B";
+ case ComponentSwizzle::eA : return "A";
+ default: return "invalid";
+ }
+ }
+
+ enum class ComponentTypeNV
+ {
+ eFloat16 = VK_COMPONENT_TYPE_FLOAT16_NV,
+ eFloat32 = VK_COMPONENT_TYPE_FLOAT32_NV,
+ eFloat64 = VK_COMPONENT_TYPE_FLOAT64_NV,
+ eSint8 = VK_COMPONENT_TYPE_SINT8_NV,
+ eSint16 = VK_COMPONENT_TYPE_SINT16_NV,
+ eSint32 = VK_COMPONENT_TYPE_SINT32_NV,
+ eSint64 = VK_COMPONENT_TYPE_SINT64_NV,
+ eUint8 = VK_COMPONENT_TYPE_UINT8_NV,
+ eUint16 = VK_COMPONENT_TYPE_UINT16_NV,
+ eUint32 = VK_COMPONENT_TYPE_UINT32_NV,
+ eUint64 = VK_COMPONENT_TYPE_UINT64_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ComponentTypeNV value )
+ {
+ switch ( value )
+ {
+ case ComponentTypeNV::eFloat16 : return "Float16";
+ case ComponentTypeNV::eFloat32 : return "Float32";
+ case ComponentTypeNV::eFloat64 : return "Float64";
+ case ComponentTypeNV::eSint8 : return "Sint8";
+ case ComponentTypeNV::eSint16 : return "Sint16";
+ case ComponentTypeNV::eSint32 : return "Sint32";
+ case ComponentTypeNV::eSint64 : return "Sint64";
+ case ComponentTypeNV::eUint8 : return "Uint8";
+ case ComponentTypeNV::eUint16 : return "Uint16";
+ case ComponentTypeNV::eUint32 : return "Uint32";
+ case ComponentTypeNV::eUint64 : return "Uint64";
+ default: return "invalid";
+ }
+ }
+
+ enum class ConservativeRasterizationModeEXT
+ {
+ eDisabled = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
+ eOverestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,
+ eUnderestimate = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ConservativeRasterizationModeEXT value )
+ {
+ switch ( value )
+ {
+ case ConservativeRasterizationModeEXT::eDisabled : return "Disabled";
+ case ConservativeRasterizationModeEXT::eOverestimate : return "Overestimate";
+ case ConservativeRasterizationModeEXT::eUnderestimate : return "Underestimate";
+ default: return "invalid";
+ }
+ }
+
+ enum class CopyAccelerationStructureModeNV
+ {
+ eClone = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV,
+ eCompact = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( CopyAccelerationStructureModeNV value )
+ {
+ switch ( value )
+ {
+ case CopyAccelerationStructureModeNV::eClone : return "Clone";
+ case CopyAccelerationStructureModeNV::eCompact : return "Compact";
+ default: return "invalid";
+ }
+ }
+
+ enum class CoverageModulationModeNV
+ {
+ eNone = VK_COVERAGE_MODULATION_MODE_NONE_NV,
+ eRgb = VK_COVERAGE_MODULATION_MODE_RGB_NV,
+ eAlpha = VK_COVERAGE_MODULATION_MODE_ALPHA_NV,
+ eRgba = VK_COVERAGE_MODULATION_MODE_RGBA_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( CoverageModulationModeNV value )
+ {
+ switch ( value )
+ {
+ case CoverageModulationModeNV::eNone : return "None";
+ case CoverageModulationModeNV::eRgb : return "Rgb";
+ case CoverageModulationModeNV::eAlpha : return "Alpha";
+ case CoverageModulationModeNV::eRgba : return "Rgba";
+ default: return "invalid";
+ }
+ }
+
+ enum class CoverageReductionModeNV
+ {
+ eMerge = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
+ eTruncate = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( CoverageReductionModeNV value )
+ {
+ switch ( value )
+ {
+ case CoverageReductionModeNV::eMerge : return "Merge";
+ case CoverageReductionModeNV::eTruncate : return "Truncate";
+ default: return "invalid";
+ }
+ }
+
+ enum class DebugReportObjectTypeEXT
+ {
+ eUnknown = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
+ eInstance = VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,
+ ePhysicalDevice = VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
+ eDevice = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
+ eQueue = VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,
+ eSemaphore = VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,
+ eCommandBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
+ eFence = VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,
+ eDeviceMemory = VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,
+ eBuffer = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
+ eImage = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,
+ eEvent = VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,
+ eQueryPool = VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,
+ eBufferView = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,
+ eImageView = VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,
+ eShaderModule = VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,
+ ePipelineCache = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,
+ ePipelineLayout = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,
+ eRenderPass = VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,
+ ePipeline = VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
+ eDescriptorSetLayout = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,
+ eSampler = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,
+ eDescriptorPool = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,
+ eDescriptorSet = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,
+ eFramebuffer = VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,
+ eCommandPool = VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,
+ eSurfaceKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,
+ eSwapchainKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,
+ eDebugReportCallbackEXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
+ eDisplayKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,
+ eDisplayModeKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,
+ eObjectTableNVX = VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT,
+ eIndirectCommandsLayoutNVX = VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT,
+ eValidationCacheEXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
+ eSamplerYcbcrConversion = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
+ eDescriptorUpdateTemplate = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
+ eAccelerationStructureNV = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
+ eDebugReport = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,
+ eValidationCache = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT,
+ eDescriptorUpdateTemplateKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT,
+ eSamplerYcbcrConversionKHR = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DebugReportObjectTypeEXT value )
+ {
+ switch ( value )
+ {
+ case DebugReportObjectTypeEXT::eUnknown : return "Unknown";
+ case DebugReportObjectTypeEXT::eInstance : return "Instance";
+ case DebugReportObjectTypeEXT::ePhysicalDevice : return "PhysicalDevice";
+ case DebugReportObjectTypeEXT::eDevice : return "Device";
+ case DebugReportObjectTypeEXT::eQueue : return "Queue";
+ case DebugReportObjectTypeEXT::eSemaphore : return "Semaphore";
+ case DebugReportObjectTypeEXT::eCommandBuffer : return "CommandBuffer";
+ case DebugReportObjectTypeEXT::eFence : return "Fence";
+ case DebugReportObjectTypeEXT::eDeviceMemory : return "DeviceMemory";
+ case DebugReportObjectTypeEXT::eBuffer : return "Buffer";
+ case DebugReportObjectTypeEXT::eImage : return "Image";
+ case DebugReportObjectTypeEXT::eEvent : return "Event";
+ case DebugReportObjectTypeEXT::eQueryPool : return "QueryPool";
+ case DebugReportObjectTypeEXT::eBufferView : return "BufferView";
+ case DebugReportObjectTypeEXT::eImageView : return "ImageView";
+ case DebugReportObjectTypeEXT::eShaderModule : return "ShaderModule";
+ case DebugReportObjectTypeEXT::ePipelineCache : return "PipelineCache";
+ case DebugReportObjectTypeEXT::ePipelineLayout : return "PipelineLayout";
+ case DebugReportObjectTypeEXT::eRenderPass : return "RenderPass";
+ case DebugReportObjectTypeEXT::ePipeline : return "Pipeline";
+ case DebugReportObjectTypeEXT::eDescriptorSetLayout : return "DescriptorSetLayout";
+ case DebugReportObjectTypeEXT::eSampler : return "Sampler";
+ case DebugReportObjectTypeEXT::eDescriptorPool : return "DescriptorPool";
+ case DebugReportObjectTypeEXT::eDescriptorSet : return "DescriptorSet";
+ case DebugReportObjectTypeEXT::eFramebuffer : return "Framebuffer";
+ case DebugReportObjectTypeEXT::eCommandPool : return "CommandPool";
+ case DebugReportObjectTypeEXT::eSurfaceKHR : return "SurfaceKHR";
+ case DebugReportObjectTypeEXT::eSwapchainKHR : return "SwapchainKHR";
+ case DebugReportObjectTypeEXT::eDebugReportCallbackEXT : return "DebugReportCallbackEXT";
+ case DebugReportObjectTypeEXT::eDisplayKHR : return "DisplayKHR";
+ case DebugReportObjectTypeEXT::eDisplayModeKHR : return "DisplayModeKHR";
+ case DebugReportObjectTypeEXT::eObjectTableNVX : return "ObjectTableNVX";
+ case DebugReportObjectTypeEXT::eIndirectCommandsLayoutNVX : return "IndirectCommandsLayoutNVX";
+ case DebugReportObjectTypeEXT::eValidationCacheEXT : return "ValidationCacheEXT";
+ case DebugReportObjectTypeEXT::eSamplerYcbcrConversion : return "SamplerYcbcrConversion";
+ case DebugReportObjectTypeEXT::eDescriptorUpdateTemplate : return "DescriptorUpdateTemplate";
+ case DebugReportObjectTypeEXT::eAccelerationStructureNV : return "AccelerationStructureNV";
+ default: return "invalid";
+ }
+ }
+
+ enum class DescriptorType
+ {
+ eSampler = VK_DESCRIPTOR_TYPE_SAMPLER,
+ eCombinedImageSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
+ eSampledImage = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
+ eStorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
+ eUniformTexelBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
+ eStorageTexelBuffer = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
+ eUniformBuffer = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+ eStorageBuffer = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
+ eUniformBufferDynamic = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
+ eStorageBufferDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
+ eInputAttachment = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
+ eInlineUniformBlockEXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
+ eAccelerationStructureNV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DescriptorType value )
+ {
+ switch ( value )
+ {
+ case DescriptorType::eSampler : return "Sampler";
+ case DescriptorType::eCombinedImageSampler : return "CombinedImageSampler";
+ case DescriptorType::eSampledImage : return "SampledImage";
+ case DescriptorType::eStorageImage : return "StorageImage";
+ case DescriptorType::eUniformTexelBuffer : return "UniformTexelBuffer";
+ case DescriptorType::eStorageTexelBuffer : return "StorageTexelBuffer";
+ case DescriptorType::eUniformBuffer : return "UniformBuffer";
+ case DescriptorType::eStorageBuffer : return "StorageBuffer";
+ case DescriptorType::eUniformBufferDynamic : return "UniformBufferDynamic";
+ case DescriptorType::eStorageBufferDynamic : return "StorageBufferDynamic";
+ case DescriptorType::eInputAttachment : return "InputAttachment";
+ case DescriptorType::eInlineUniformBlockEXT : return "InlineUniformBlockEXT";
+ case DescriptorType::eAccelerationStructureNV : return "AccelerationStructureNV";
+ default: return "invalid";
+ }
+ }
+
+ enum class DescriptorUpdateTemplateType
+ {
+ eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
+ ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,
+ eDescriptorSetKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DescriptorUpdateTemplateType value )
+ {
+ switch ( value )
+ {
+ case DescriptorUpdateTemplateType::eDescriptorSet : return "DescriptorSet";
+ case DescriptorUpdateTemplateType::ePushDescriptorsKHR : return "PushDescriptorsKHR";
+ default: return "invalid";
+ }
+ }
+
+ enum class DeviceEventTypeEXT
+ {
+ eDisplayHotplug = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DeviceEventTypeEXT value )
+ {
+ switch ( value )
+ {
+ case DeviceEventTypeEXT::eDisplayHotplug : return "DisplayHotplug";
+ default: return "invalid";
+ }
+ }
+
+ enum class DiscardRectangleModeEXT
+ {
+ eInclusive = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
+ eExclusive = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DiscardRectangleModeEXT value )
+ {
+ switch ( value )
+ {
+ case DiscardRectangleModeEXT::eInclusive : return "Inclusive";
+ case DiscardRectangleModeEXT::eExclusive : return "Exclusive";
+ default: return "invalid";
+ }
+ }
+
+ enum class DisplayEventTypeEXT
+ {
+ eFirstPixelOut = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DisplayEventTypeEXT value )
+ {
+ switch ( value )
+ {
+ case DisplayEventTypeEXT::eFirstPixelOut : return "FirstPixelOut";
+ default: return "invalid";
+ }
+ }
+
+ enum class DisplayPowerStateEXT
+ {
+ eOff = VK_DISPLAY_POWER_STATE_OFF_EXT,
+ eSuspend = VK_DISPLAY_POWER_STATE_SUSPEND_EXT,
+ eOn = VK_DISPLAY_POWER_STATE_ON_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DisplayPowerStateEXT value )
+ {
+ switch ( value )
+ {
+ case DisplayPowerStateEXT::eOff : return "Off";
+ case DisplayPowerStateEXT::eSuspend : return "Suspend";
+ case DisplayPowerStateEXT::eOn : return "On";
+ default: return "invalid";
+ }
+ }
+
+ enum class DriverIdKHR
+ {
+ eAmdProprietary = VK_DRIVER_ID_AMD_PROPRIETARY_KHR,
+ eAmdOpenSource = VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR,
+ eMesaRadv = VK_DRIVER_ID_MESA_RADV_KHR,
+ eNvidiaProprietary = VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR,
+ eIntelProprietaryWindows = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR,
+ eIntelOpenSourceMESA = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR,
+ eImaginationProprietary = VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR,
+ eQualcommProprietary = VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR,
+ eArmProprietary = VK_DRIVER_ID_ARM_PROPRIETARY_KHR,
+ eGoogleSwiftshader = VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR,
+ eGgpProprietary = VK_DRIVER_ID_GGP_PROPRIETARY_KHR,
+ eBroadcomProprietary = VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DriverIdKHR value )
+ {
+ switch ( value )
+ {
+ case DriverIdKHR::eAmdProprietary : return "AmdProprietary";
+ case DriverIdKHR::eAmdOpenSource : return "AmdOpenSource";
+ case DriverIdKHR::eMesaRadv : return "MesaRadv";
+ case DriverIdKHR::eNvidiaProprietary : return "NvidiaProprietary";
+ case DriverIdKHR::eIntelProprietaryWindows : return "IntelProprietaryWindows";
+ case DriverIdKHR::eIntelOpenSourceMESA : return "IntelOpenSourceMESA";
+ case DriverIdKHR::eImaginationProprietary : return "ImaginationProprietary";
+ case DriverIdKHR::eQualcommProprietary : return "QualcommProprietary";
+ case DriverIdKHR::eArmProprietary : return "ArmProprietary";
+ case DriverIdKHR::eGoogleSwiftshader : return "GoogleSwiftshader";
+ case DriverIdKHR::eGgpProprietary : return "GgpProprietary";
+ case DriverIdKHR::eBroadcomProprietary : return "BroadcomProprietary";
+ default: return "invalid";
+ }
+ }
+
+ enum class DynamicState
+ {
+ eViewport = VK_DYNAMIC_STATE_VIEWPORT,
+ eScissor = VK_DYNAMIC_STATE_SCISSOR,
+ eLineWidth = VK_DYNAMIC_STATE_LINE_WIDTH,
+ eDepthBias = VK_DYNAMIC_STATE_DEPTH_BIAS,
+ eBlendConstants = VK_DYNAMIC_STATE_BLEND_CONSTANTS,
+ eDepthBounds = VK_DYNAMIC_STATE_DEPTH_BOUNDS,
+ eStencilCompareMask = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,
+ eStencilWriteMask = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,
+ eStencilReference = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
+ eViewportWScalingNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV,
+ eDiscardRectangleEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT,
+ eSampleLocationsEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT,
+ eViewportShadingRatePaletteNV = VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV,
+ eViewportCoarseSampleOrderNV = VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV,
+ eExclusiveScissorNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV,
+ eLineStippleEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( DynamicState value )
+ {
+ switch ( value )
+ {
+ case DynamicState::eViewport : return "Viewport";
+ case DynamicState::eScissor : return "Scissor";
+ case DynamicState::eLineWidth : return "LineWidth";
+ case DynamicState::eDepthBias : return "DepthBias";
+ case DynamicState::eBlendConstants : return "BlendConstants";
+ case DynamicState::eDepthBounds : return "DepthBounds";
+ case DynamicState::eStencilCompareMask : return "StencilCompareMask";
+ case DynamicState::eStencilWriteMask : return "StencilWriteMask";
+ case DynamicState::eStencilReference : return "StencilReference";
+ case DynamicState::eViewportWScalingNV : return "ViewportWScalingNV";
+ case DynamicState::eDiscardRectangleEXT : return "DiscardRectangleEXT";
+ case DynamicState::eSampleLocationsEXT : return "SampleLocationsEXT";
+ case DynamicState::eViewportShadingRatePaletteNV : return "ViewportShadingRatePaletteNV";
+ case DynamicState::eViewportCoarseSampleOrderNV : return "ViewportCoarseSampleOrderNV";
+ case DynamicState::eExclusiveScissorNV : return "ExclusiveScissorNV";
+ case DynamicState::eLineStippleEXT : return "LineStippleEXT";
+ default: return "invalid";
+ }
+ }
+
+ enum class Filter
+ {
+ eNearest = VK_FILTER_NEAREST,
+ eLinear = VK_FILTER_LINEAR,
+ eCubicIMG = VK_FILTER_CUBIC_IMG,
+ eCubicEXT = VK_FILTER_CUBIC_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( Filter value )
+ {
+ switch ( value )
+ {
+ case Filter::eNearest : return "Nearest";
+ case Filter::eLinear : return "Linear";
+ case Filter::eCubicIMG : return "CubicIMG";
+ default: return "invalid";
+ }
+ }
+
+ enum class Format
+ {
+ eUndefined = VK_FORMAT_UNDEFINED,
+ eR4G4UnormPack8 = VK_FORMAT_R4G4_UNORM_PACK8,
+ eR4G4B4A4UnormPack16 = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
+ eB4G4R4A4UnormPack16 = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
+ eR5G6B5UnormPack16 = VK_FORMAT_R5G6B5_UNORM_PACK16,
+ eB5G6R5UnormPack16 = VK_FORMAT_B5G6R5_UNORM_PACK16,
+ eR5G5B5A1UnormPack16 = VK_FORMAT_R5G5B5A1_UNORM_PACK16,
+ eB5G5R5A1UnormPack16 = VK_FORMAT_B5G5R5A1_UNORM_PACK16,
+ eA1R5G5B5UnormPack16 = VK_FORMAT_A1R5G5B5_UNORM_PACK16,
+ eR8Unorm = VK_FORMAT_R8_UNORM,
+ eR8Snorm = VK_FORMAT_R8_SNORM,
+ eR8Uscaled = VK_FORMAT_R8_USCALED,
+ eR8Sscaled = VK_FORMAT_R8_SSCALED,
+ eR8Uint = VK_FORMAT_R8_UINT,
+ eR8Sint = VK_FORMAT_R8_SINT,
+ eR8Srgb = VK_FORMAT_R8_SRGB,
+ eR8G8Unorm = VK_FORMAT_R8G8_UNORM,
+ eR8G8Snorm = VK_FORMAT_R8G8_SNORM,
+ eR8G8Uscaled = VK_FORMAT_R8G8_USCALED,
+ eR8G8Sscaled = VK_FORMAT_R8G8_SSCALED,
+ eR8G8Uint = VK_FORMAT_R8G8_UINT,
+ eR8G8Sint = VK_FORMAT_R8G8_SINT,
+ eR8G8Srgb = VK_FORMAT_R8G8_SRGB,
+ eR8G8B8Unorm = VK_FORMAT_R8G8B8_UNORM,
+ eR8G8B8Snorm = VK_FORMAT_R8G8B8_SNORM,
+ eR8G8B8Uscaled = VK_FORMAT_R8G8B8_USCALED,
+ eR8G8B8Sscaled = VK_FORMAT_R8G8B8_SSCALED,
+ eR8G8B8Uint = VK_FORMAT_R8G8B8_UINT,
+ eR8G8B8Sint = VK_FORMAT_R8G8B8_SINT,
+ eR8G8B8Srgb = VK_FORMAT_R8G8B8_SRGB,
+ eB8G8R8Unorm = VK_FORMAT_B8G8R8_UNORM,
+ eB8G8R8Snorm = VK_FORMAT_B8G8R8_SNORM,
+ eB8G8R8Uscaled = VK_FORMAT_B8G8R8_USCALED,
+ eB8G8R8Sscaled = VK_FORMAT_B8G8R8_SSCALED,
+ eB8G8R8Uint = VK_FORMAT_B8G8R8_UINT,
+ eB8G8R8Sint = VK_FORMAT_B8G8R8_SINT,
+ eB8G8R8Srgb = VK_FORMAT_B8G8R8_SRGB,
+ eR8G8B8A8Unorm = VK_FORMAT_R8G8B8A8_UNORM,
+ eR8G8B8A8Snorm = VK_FORMAT_R8G8B8A8_SNORM,
+ eR8G8B8A8Uscaled = VK_FORMAT_R8G8B8A8_USCALED,
+ eR8G8B8A8Sscaled = VK_FORMAT_R8G8B8A8_SSCALED,
+ eR8G8B8A8Uint = VK_FORMAT_R8G8B8A8_UINT,
+ eR8G8B8A8Sint = VK_FORMAT_R8G8B8A8_SINT,
+ eR8G8B8A8Srgb = VK_FORMAT_R8G8B8A8_SRGB,
+ eB8G8R8A8Unorm = VK_FORMAT_B8G8R8A8_UNORM,
+ eB8G8R8A8Snorm = VK_FORMAT_B8G8R8A8_SNORM,
+ eB8G8R8A8Uscaled = VK_FORMAT_B8G8R8A8_USCALED,
+ eB8G8R8A8Sscaled = VK_FORMAT_B8G8R8A8_SSCALED,
+ eB8G8R8A8Uint = VK_FORMAT_B8G8R8A8_UINT,
+ eB8G8R8A8Sint = VK_FORMAT_B8G8R8A8_SINT,
+ eB8G8R8A8Srgb = VK_FORMAT_B8G8R8A8_SRGB,
+ eA8B8G8R8UnormPack32 = VK_FORMAT_A8B8G8R8_UNORM_PACK32,
+ eA8B8G8R8SnormPack32 = VK_FORMAT_A8B8G8R8_SNORM_PACK32,
+ eA8B8G8R8UscaledPack32 = VK_FORMAT_A8B8G8R8_USCALED_PACK32,
+ eA8B8G8R8SscaledPack32 = VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
+ eA8B8G8R8UintPack32 = VK_FORMAT_A8B8G8R8_UINT_PACK32,
+ eA8B8G8R8SintPack32 = VK_FORMAT_A8B8G8R8_SINT_PACK32,
+ eA8B8G8R8SrgbPack32 = VK_FORMAT_A8B8G8R8_SRGB_PACK32,
+ eA2R10G10B10UnormPack32 = VK_FORMAT_A2R10G10B10_UNORM_PACK32,
+ eA2R10G10B10SnormPack32 = VK_FORMAT_A2R10G10B10_SNORM_PACK32,
+ eA2R10G10B10UscaledPack32 = VK_FORMAT_A2R10G10B10_USCALED_PACK32,
+ eA2R10G10B10SscaledPack32 = VK_FORMAT_A2R10G10B10_SSCALED_PACK32,
+ eA2R10G10B10UintPack32 = VK_FORMAT_A2R10G10B10_UINT_PACK32,
+ eA2R10G10B10SintPack32 = VK_FORMAT_A2R10G10B10_SINT_PACK32,
+ eA2B10G10R10UnormPack32 = VK_FORMAT_A2B10G10R10_UNORM_PACK32,
+ eA2B10G10R10SnormPack32 = VK_FORMAT_A2B10G10R10_SNORM_PACK32,
+ eA2B10G10R10UscaledPack32 = VK_FORMAT_A2B10G10R10_USCALED_PACK32,
+ eA2B10G10R10SscaledPack32 = VK_FORMAT_A2B10G10R10_SSCALED_PACK32,
+ eA2B10G10R10UintPack32 = VK_FORMAT_A2B10G10R10_UINT_PACK32,
+ eA2B10G10R10SintPack32 = VK_FORMAT_A2B10G10R10_SINT_PACK32,
+ eR16Unorm = VK_FORMAT_R16_UNORM,
+ eR16Snorm = VK_FORMAT_R16_SNORM,
+ eR16Uscaled = VK_FORMAT_R16_USCALED,
+ eR16Sscaled = VK_FORMAT_R16_SSCALED,
+ eR16Uint = VK_FORMAT_R16_UINT,
+ eR16Sint = VK_FORMAT_R16_SINT,
+ eR16Sfloat = VK_FORMAT_R16_SFLOAT,
+ eR16G16Unorm = VK_FORMAT_R16G16_UNORM,
+ eR16G16Snorm = VK_FORMAT_R16G16_SNORM,
+ eR16G16Uscaled = VK_FORMAT_R16G16_USCALED,
+ eR16G16Sscaled = VK_FORMAT_R16G16_SSCALED,
+ eR16G16Uint = VK_FORMAT_R16G16_UINT,
+ eR16G16Sint = VK_FORMAT_R16G16_SINT,
+ eR16G16Sfloat = VK_FORMAT_R16G16_SFLOAT,
+ eR16G16B16Unorm = VK_FORMAT_R16G16B16_UNORM,
+ eR16G16B16Snorm = VK_FORMAT_R16G16B16_SNORM,
+ eR16G16B16Uscaled = VK_FORMAT_R16G16B16_USCALED,
+ eR16G16B16Sscaled = VK_FORMAT_R16G16B16_SSCALED,
+ eR16G16B16Uint = VK_FORMAT_R16G16B16_UINT,
+ eR16G16B16Sint = VK_FORMAT_R16G16B16_SINT,
+ eR16G16B16Sfloat = VK_FORMAT_R16G16B16_SFLOAT,
+ eR16G16B16A16Unorm = VK_FORMAT_R16G16B16A16_UNORM,
+ eR16G16B16A16Snorm = VK_FORMAT_R16G16B16A16_SNORM,
+ eR16G16B16A16Uscaled = VK_FORMAT_R16G16B16A16_USCALED,
+ eR16G16B16A16Sscaled = VK_FORMAT_R16G16B16A16_SSCALED,
+ eR16G16B16A16Uint = VK_FORMAT_R16G16B16A16_UINT,
+ eR16G16B16A16Sint = VK_FORMAT_R16G16B16A16_SINT,
+ eR16G16B16A16Sfloat = VK_FORMAT_R16G16B16A16_SFLOAT,
+ eR32Uint = VK_FORMAT_R32_UINT,
+ eR32Sint = VK_FORMAT_R32_SINT,
+ eR32Sfloat = VK_FORMAT_R32_SFLOAT,
+ eR32G32Uint = VK_FORMAT_R32G32_UINT,
+ eR32G32Sint = VK_FORMAT_R32G32_SINT,
+ eR32G32Sfloat = VK_FORMAT_R32G32_SFLOAT,
+ eR32G32B32Uint = VK_FORMAT_R32G32B32_UINT,
+ eR32G32B32Sint = VK_FORMAT_R32G32B32_SINT,
+ eR32G32B32Sfloat = VK_FORMAT_R32G32B32_SFLOAT,
+ eR32G32B32A32Uint = VK_FORMAT_R32G32B32A32_UINT,
+ eR32G32B32A32Sint = VK_FORMAT_R32G32B32A32_SINT,
+ eR32G32B32A32Sfloat = VK_FORMAT_R32G32B32A32_SFLOAT,
+ eR64Uint = VK_FORMAT_R64_UINT,
+ eR64Sint = VK_FORMAT_R64_SINT,
+ eR64Sfloat = VK_FORMAT_R64_SFLOAT,
+ eR64G64Uint = VK_FORMAT_R64G64_UINT,
+ eR64G64Sint = VK_FORMAT_R64G64_SINT,
+ eR64G64Sfloat = VK_FORMAT_R64G64_SFLOAT,
+ eR64G64B64Uint = VK_FORMAT_R64G64B64_UINT,
+ eR64G64B64Sint = VK_FORMAT_R64G64B64_SINT,
+ eR64G64B64Sfloat = VK_FORMAT_R64G64B64_SFLOAT,
+ eR64G64B64A64Uint = VK_FORMAT_R64G64B64A64_UINT,
+ eR64G64B64A64Sint = VK_FORMAT_R64G64B64A64_SINT,
+ eR64G64B64A64Sfloat = VK_FORMAT_R64G64B64A64_SFLOAT,
+ eB10G11R11UfloatPack32 = VK_FORMAT_B10G11R11_UFLOAT_PACK32,
+ eE5B9G9R9UfloatPack32 = VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,
+ eD16Unorm = VK_FORMAT_D16_UNORM,
+ eX8D24UnormPack32 = VK_FORMAT_X8_D24_UNORM_PACK32,
+ eD32Sfloat = VK_FORMAT_D32_SFLOAT,
+ eS8Uint = VK_FORMAT_S8_UINT,
+ eD16UnormS8Uint = VK_FORMAT_D16_UNORM_S8_UINT,
+ eD24UnormS8Uint = VK_FORMAT_D24_UNORM_S8_UINT,
+ eD32SfloatS8Uint = VK_FORMAT_D32_SFLOAT_S8_UINT,
+ eBc1RgbUnormBlock = VK_FORMAT_BC1_RGB_UNORM_BLOCK,
+ eBc1RgbSrgbBlock = VK_FORMAT_BC1_RGB_SRGB_BLOCK,
+ eBc1RgbaUnormBlock = VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
+ eBc1RgbaSrgbBlock = VK_FORMAT_BC1_RGBA_SRGB_BLOCK,
+ eBc2UnormBlock = VK_FORMAT_BC2_UNORM_BLOCK,
+ eBc2SrgbBlock = VK_FORMAT_BC2_SRGB_BLOCK,
+ eBc3UnormBlock = VK_FORMAT_BC3_UNORM_BLOCK,
+ eBc3SrgbBlock = VK_FORMAT_BC3_SRGB_BLOCK,
+ eBc4UnormBlock = VK_FORMAT_BC4_UNORM_BLOCK,
+ eBc4SnormBlock = VK_FORMAT_BC4_SNORM_BLOCK,
+ eBc5UnormBlock = VK_FORMAT_BC5_UNORM_BLOCK,
+ eBc5SnormBlock = VK_FORMAT_BC5_SNORM_BLOCK,
+ eBc6HUfloatBlock = VK_FORMAT_BC6H_UFLOAT_BLOCK,
+ eBc6HSfloatBlock = VK_FORMAT_BC6H_SFLOAT_BLOCK,
+ eBc7UnormBlock = VK_FORMAT_BC7_UNORM_BLOCK,
+ eBc7SrgbBlock = VK_FORMAT_BC7_SRGB_BLOCK,
+ eEtc2R8G8B8UnormBlock = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
+ eEtc2R8G8B8SrgbBlock = VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
+ eEtc2R8G8B8A1UnormBlock = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
+ eEtc2R8G8B8A1SrgbBlock = VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
+ eEtc2R8G8B8A8UnormBlock = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
+ eEtc2R8G8B8A8SrgbBlock = VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
+ eEacR11UnormBlock = VK_FORMAT_EAC_R11_UNORM_BLOCK,
+ eEacR11SnormBlock = VK_FORMAT_EAC_R11_SNORM_BLOCK,
+ eEacR11G11UnormBlock = VK_FORMAT_EAC_R11G11_UNORM_BLOCK,
+ eEacR11G11SnormBlock = VK_FORMAT_EAC_R11G11_SNORM_BLOCK,
+ eAstc4x4UnormBlock = VK_FORMAT_ASTC_4x4_UNORM_BLOCK,
+ eAstc4x4SrgbBlock = VK_FORMAT_ASTC_4x4_SRGB_BLOCK,
+ eAstc5x4UnormBlock = VK_FORMAT_ASTC_5x4_UNORM_BLOCK,
+ eAstc5x4SrgbBlock = VK_FORMAT_ASTC_5x4_SRGB_BLOCK,
+ eAstc5x5UnormBlock = VK_FORMAT_ASTC_5x5_UNORM_BLOCK,
+ eAstc5x5SrgbBlock = VK_FORMAT_ASTC_5x5_SRGB_BLOCK,
+ eAstc6x5UnormBlock = VK_FORMAT_ASTC_6x5_UNORM_BLOCK,
+ eAstc6x5SrgbBlock = VK_FORMAT_ASTC_6x5_SRGB_BLOCK,
+ eAstc6x6UnormBlock = VK_FORMAT_ASTC_6x6_UNORM_BLOCK,
+ eAstc6x6SrgbBlock = VK_FORMAT_ASTC_6x6_SRGB_BLOCK,
+ eAstc8x5UnormBlock = VK_FORMAT_ASTC_8x5_UNORM_BLOCK,
+ eAstc8x5SrgbBlock = VK_FORMAT_ASTC_8x5_SRGB_BLOCK,
+ eAstc8x6UnormBlock = VK_FORMAT_ASTC_8x6_UNORM_BLOCK,
+ eAstc8x6SrgbBlock = VK_FORMAT_ASTC_8x6_SRGB_BLOCK,
+ eAstc8x8UnormBlock = VK_FORMAT_ASTC_8x8_UNORM_BLOCK,
+ eAstc8x8SrgbBlock = VK_FORMAT_ASTC_8x8_SRGB_BLOCK,
+ eAstc10x5UnormBlock = VK_FORMAT_ASTC_10x5_UNORM_BLOCK,
+ eAstc10x5SrgbBlock = VK_FORMAT_ASTC_10x5_SRGB_BLOCK,
+ eAstc10x6UnormBlock = VK_FORMAT_ASTC_10x6_UNORM_BLOCK,
+ eAstc10x6SrgbBlock = VK_FORMAT_ASTC_10x6_SRGB_BLOCK,
+ eAstc10x8UnormBlock = VK_FORMAT_ASTC_10x8_UNORM_BLOCK,
+ eAstc10x8SrgbBlock = VK_FORMAT_ASTC_10x8_SRGB_BLOCK,
+ eAstc10x10UnormBlock = VK_FORMAT_ASTC_10x10_UNORM_BLOCK,
+ eAstc10x10SrgbBlock = VK_FORMAT_ASTC_10x10_SRGB_BLOCK,
+ eAstc12x10UnormBlock = VK_FORMAT_ASTC_12x10_UNORM_BLOCK,
+ eAstc12x10SrgbBlock = VK_FORMAT_ASTC_12x10_SRGB_BLOCK,
+ eAstc12x12UnormBlock = VK_FORMAT_ASTC_12x12_UNORM_BLOCK,
+ eAstc12x12SrgbBlock = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
+ eG8B8G8R8422Unorm = VK_FORMAT_G8B8G8R8_422_UNORM,
+ eB8G8R8G8422Unorm = VK_FORMAT_B8G8R8G8_422_UNORM,
+ eG8B8R83Plane420Unorm = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
+ eG8B8R82Plane420Unorm = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
+ eG8B8R83Plane422Unorm = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
+ eG8B8R82Plane422Unorm = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
+ eG8B8R83Plane444Unorm = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
+ eR10X6UnormPack16 = VK_FORMAT_R10X6_UNORM_PACK16,
+ eR10X6G10X6Unorm2Pack16 = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
+ eR10X6G10X6B10X6A10X6Unorm4Pack16 = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
+ eG10X6B10X6G10X6R10X6422Unorm4Pack16 = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
+ eB10X6G10X6R10X6G10X6422Unorm4Pack16 = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
+ eG10X6B10X6R10X63Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
+ eG10X6B10X6R10X62Plane420Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
+ eG10X6B10X6R10X63Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
+ eG10X6B10X6R10X62Plane422Unorm3Pack16 = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
+ eG10X6B10X6R10X63Plane444Unorm3Pack16 = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
+ eR12X4UnormPack16 = VK_FORMAT_R12X4_UNORM_PACK16,
+ eR12X4G12X4Unorm2Pack16 = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
+ eR12X4G12X4B12X4A12X4Unorm4Pack16 = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
+ eG12X4B12X4G12X4R12X4422Unorm4Pack16 = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
+ eB12X4G12X4R12X4G12X4422Unorm4Pack16 = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
+ eG12X4B12X4R12X43Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
+ eG12X4B12X4R12X42Plane420Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
+ eG12X4B12X4R12X43Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
+ eG12X4B12X4R12X42Plane422Unorm3Pack16 = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
+ eG12X4B12X4R12X43Plane444Unorm3Pack16 = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
+ eG16B16G16R16422Unorm = VK_FORMAT_G16B16G16R16_422_UNORM,
+ eB16G16R16G16422Unorm = VK_FORMAT_B16G16R16G16_422_UNORM,
+ eG16B16R163Plane420Unorm = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
+ eG16B16R162Plane420Unorm = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
+ eG16B16R163Plane422Unorm = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
+ eG16B16R162Plane422Unorm = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
+ eG16B16R163Plane444Unorm = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
+ ePvrtc12BppUnormBlockIMG = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG,
+ ePvrtc14BppUnormBlockIMG = VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG,
+ ePvrtc22BppUnormBlockIMG = VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG,
+ ePvrtc24BppUnormBlockIMG = VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG,
+ ePvrtc12BppSrgbBlockIMG = VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG,
+ ePvrtc14BppSrgbBlockIMG = VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG,
+ ePvrtc22BppSrgbBlockIMG = VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG,
+ ePvrtc24BppSrgbBlockIMG = VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG,
+ eAstc4x4SfloatBlockEXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT,
+ eAstc5x4SfloatBlockEXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT,
+ eAstc5x5SfloatBlockEXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT,
+ eAstc6x5SfloatBlockEXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT,
+ eAstc6x6SfloatBlockEXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT,
+ eAstc8x5SfloatBlockEXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT,
+ eAstc8x6SfloatBlockEXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT,
+ eAstc8x8SfloatBlockEXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT,
+ eAstc10x5SfloatBlockEXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT,
+ eAstc10x6SfloatBlockEXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT,
+ eAstc10x8SfloatBlockEXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT,
+ eAstc10x10SfloatBlockEXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT,
+ eAstc12x10SfloatBlockEXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT,
+ eAstc12x12SfloatBlockEXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT,
+ eG8B8G8R8422UnormKHR = VK_FORMAT_G8B8G8R8_422_UNORM_KHR,
+ eB8G8R8G8422UnormKHR = VK_FORMAT_B8G8R8G8_422_UNORM_KHR,
+ eG8B8R83Plane420UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,
+ eG8B8R82Plane420UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,
+ eG8B8R83Plane422UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,
+ eG8B8R82Plane422UnormKHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,
+ eG8B8R83Plane444UnormKHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,
+ eR10X6UnormPack16KHR = VK_FORMAT_R10X6_UNORM_PACK16_KHR,
+ eR10X6G10X6Unorm2Pack16KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,
+ eR10X6G10X6B10X6A10X6Unorm4Pack16KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,
+ eG10X6B10X6G10X6R10X6422Unorm4Pack16KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,
+ eB10X6G10X6R10X6G10X6422Unorm4Pack16KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,
+ eG10X6B10X6R10X63Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,
+ eG10X6B10X6R10X62Plane420Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,
+ eG10X6B10X6R10X63Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,
+ eG10X6B10X6R10X62Plane422Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,
+ eG10X6B10X6R10X63Plane444Unorm3Pack16KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,
+ eR12X4UnormPack16KHR = VK_FORMAT_R12X4_UNORM_PACK16_KHR,
+ eR12X4G12X4Unorm2Pack16KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,
+ eR12X4G12X4B12X4A12X4Unorm4Pack16KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,
+ eG12X4B12X4G12X4R12X4422Unorm4Pack16KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,
+ eB12X4G12X4R12X4G12X4422Unorm4Pack16KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,
+ eG12X4B12X4R12X43Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,
+ eG12X4B12X4R12X42Plane420Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,
+ eG12X4B12X4R12X43Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,
+ eG12X4B12X4R12X42Plane422Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,
+ eG12X4B12X4R12X43Plane444Unorm3Pack16KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,
+ eG16B16G16R16422UnormKHR = VK_FORMAT_G16B16G16R16_422_UNORM_KHR,
+ eB16G16R16G16422UnormKHR = VK_FORMAT_B16G16R16G16_422_UNORM_KHR,
+ eG16B16R163Plane420UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,
+ eG16B16R162Plane420UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,
+ eG16B16R163Plane422UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,
+ eG16B16R162Plane422UnormKHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,
+ eG16B16R163Plane444UnormKHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( Format value )
+ {
+ switch ( value )
+ {
+ case Format::eUndefined : return "Undefined";
+ case Format::eR4G4UnormPack8 : return "R4G4UnormPack8";
+ case Format::eR4G4B4A4UnormPack16 : return "R4G4B4A4UnormPack16";
+ case Format::eB4G4R4A4UnormPack16 : return "B4G4R4A4UnormPack16";
+ case Format::eR5G6B5UnormPack16 : return "R5G6B5UnormPack16";
+ case Format::eB5G6R5UnormPack16 : return "B5G6R5UnormPack16";
+ case Format::eR5G5B5A1UnormPack16 : return "R5G5B5A1UnormPack16";
+ case Format::eB5G5R5A1UnormPack16 : return "B5G5R5A1UnormPack16";
+ case Format::eA1R5G5B5UnormPack16 : return "A1R5G5B5UnormPack16";
+ case Format::eR8Unorm : return "R8Unorm";
+ case Format::eR8Snorm : return "R8Snorm";
+ case Format::eR8Uscaled : return "R8Uscaled";
+ case Format::eR8Sscaled : return "R8Sscaled";
+ case Format::eR8Uint : return "R8Uint";
+ case Format::eR8Sint : return "R8Sint";
+ case Format::eR8Srgb : return "R8Srgb";
+ case Format::eR8G8Unorm : return "R8G8Unorm";
+ case Format::eR8G8Snorm : return "R8G8Snorm";
+ case Format::eR8G8Uscaled : return "R8G8Uscaled";
+ case Format::eR8G8Sscaled : return "R8G8Sscaled";
+ case Format::eR8G8Uint : return "R8G8Uint";
+ case Format::eR8G8Sint : return "R8G8Sint";
+ case Format::eR8G8Srgb : return "R8G8Srgb";
+ case Format::eR8G8B8Unorm : return "R8G8B8Unorm";
+ case Format::eR8G8B8Snorm : return "R8G8B8Snorm";
+ case Format::eR8G8B8Uscaled : return "R8G8B8Uscaled";
+ case Format::eR8G8B8Sscaled : return "R8G8B8Sscaled";
+ case Format::eR8G8B8Uint : return "R8G8B8Uint";
+ case Format::eR8G8B8Sint : return "R8G8B8Sint";
+ case Format::eR8G8B8Srgb : return "R8G8B8Srgb";
+ case Format::eB8G8R8Unorm : return "B8G8R8Unorm";
+ case Format::eB8G8R8Snorm : return "B8G8R8Snorm";
+ case Format::eB8G8R8Uscaled : return "B8G8R8Uscaled";
+ case Format::eB8G8R8Sscaled : return "B8G8R8Sscaled";
+ case Format::eB8G8R8Uint : return "B8G8R8Uint";
+ case Format::eB8G8R8Sint : return "B8G8R8Sint";
+ case Format::eB8G8R8Srgb : return "B8G8R8Srgb";
+ case Format::eR8G8B8A8Unorm : return "R8G8B8A8Unorm";
+ case Format::eR8G8B8A8Snorm : return "R8G8B8A8Snorm";
+ case Format::eR8G8B8A8Uscaled : return "R8G8B8A8Uscaled";
+ case Format::eR8G8B8A8Sscaled : return "R8G8B8A8Sscaled";
+ case Format::eR8G8B8A8Uint : return "R8G8B8A8Uint";
+ case Format::eR8G8B8A8Sint : return "R8G8B8A8Sint";
+ case Format::eR8G8B8A8Srgb : return "R8G8B8A8Srgb";
+ case Format::eB8G8R8A8Unorm : return "B8G8R8A8Unorm";
+ case Format::eB8G8R8A8Snorm : return "B8G8R8A8Snorm";
+ case Format::eB8G8R8A8Uscaled : return "B8G8R8A8Uscaled";
+ case Format::eB8G8R8A8Sscaled : return "B8G8R8A8Sscaled";
+ case Format::eB8G8R8A8Uint : return "B8G8R8A8Uint";
+ case Format::eB8G8R8A8Sint : return "B8G8R8A8Sint";
+ case Format::eB8G8R8A8Srgb : return "B8G8R8A8Srgb";
+ case Format::eA8B8G8R8UnormPack32 : return "A8B8G8R8UnormPack32";
+ case Format::eA8B8G8R8SnormPack32 : return "A8B8G8R8SnormPack32";
+ case Format::eA8B8G8R8UscaledPack32 : return "A8B8G8R8UscaledPack32";
+ case Format::eA8B8G8R8SscaledPack32 : return "A8B8G8R8SscaledPack32";
+ case Format::eA8B8G8R8UintPack32 : return "A8B8G8R8UintPack32";
+ case Format::eA8B8G8R8SintPack32 : return "A8B8G8R8SintPack32";
+ case Format::eA8B8G8R8SrgbPack32 : return "A8B8G8R8SrgbPack32";
+ case Format::eA2R10G10B10UnormPack32 : return "A2R10G10B10UnormPack32";
+ case Format::eA2R10G10B10SnormPack32 : return "A2R10G10B10SnormPack32";
+ case Format::eA2R10G10B10UscaledPack32 : return "A2R10G10B10UscaledPack32";
+ case Format::eA2R10G10B10SscaledPack32 : return "A2R10G10B10SscaledPack32";
+ case Format::eA2R10G10B10UintPack32 : return "A2R10G10B10UintPack32";
+ case Format::eA2R10G10B10SintPack32 : return "A2R10G10B10SintPack32";
+ case Format::eA2B10G10R10UnormPack32 : return "A2B10G10R10UnormPack32";
+ case Format::eA2B10G10R10SnormPack32 : return "A2B10G10R10SnormPack32";
+ case Format::eA2B10G10R10UscaledPack32 : return "A2B10G10R10UscaledPack32";
+ case Format::eA2B10G10R10SscaledPack32 : return "A2B10G10R10SscaledPack32";
+ case Format::eA2B10G10R10UintPack32 : return "A2B10G10R10UintPack32";
+ case Format::eA2B10G10R10SintPack32 : return "A2B10G10R10SintPack32";
+ case Format::eR16Unorm : return "R16Unorm";
+ case Format::eR16Snorm : return "R16Snorm";
+ case Format::eR16Uscaled : return "R16Uscaled";
+ case Format::eR16Sscaled : return "R16Sscaled";
+ case Format::eR16Uint : return "R16Uint";
+ case Format::eR16Sint : return "R16Sint";
+ case Format::eR16Sfloat : return "R16Sfloat";
+ case Format::eR16G16Unorm : return "R16G16Unorm";
+ case Format::eR16G16Snorm : return "R16G16Snorm";
+ case Format::eR16G16Uscaled : return "R16G16Uscaled";
+ case Format::eR16G16Sscaled : return "R16G16Sscaled";
+ case Format::eR16G16Uint : return "R16G16Uint";
+ case Format::eR16G16Sint : return "R16G16Sint";
+ case Format::eR16G16Sfloat : return "R16G16Sfloat";
+ case Format::eR16G16B16Unorm : return "R16G16B16Unorm";
+ case Format::eR16G16B16Snorm : return "R16G16B16Snorm";
+ case Format::eR16G16B16Uscaled : return "R16G16B16Uscaled";
+ case Format::eR16G16B16Sscaled : return "R16G16B16Sscaled";
+ case Format::eR16G16B16Uint : return "R16G16B16Uint";
+ case Format::eR16G16B16Sint : return "R16G16B16Sint";
+ case Format::eR16G16B16Sfloat : return "R16G16B16Sfloat";
+ case Format::eR16G16B16A16Unorm : return "R16G16B16A16Unorm";
+ case Format::eR16G16B16A16Snorm : return "R16G16B16A16Snorm";
+ case Format::eR16G16B16A16Uscaled : return "R16G16B16A16Uscaled";
+ case Format::eR16G16B16A16Sscaled : return "R16G16B16A16Sscaled";
+ case Format::eR16G16B16A16Uint : return "R16G16B16A16Uint";
+ case Format::eR16G16B16A16Sint : return "R16G16B16A16Sint";
+ case Format::eR16G16B16A16Sfloat : return "R16G16B16A16Sfloat";
+ case Format::eR32Uint : return "R32Uint";
+ case Format::eR32Sint : return "R32Sint";
+ case Format::eR32Sfloat : return "R32Sfloat";
+ case Format::eR32G32Uint : return "R32G32Uint";
+ case Format::eR32G32Sint : return "R32G32Sint";
+ case Format::eR32G32Sfloat : return "R32G32Sfloat";
+ case Format::eR32G32B32Uint : return "R32G32B32Uint";
+ case Format::eR32G32B32Sint : return "R32G32B32Sint";
+ case Format::eR32G32B32Sfloat : return "R32G32B32Sfloat";
+ case Format::eR32G32B32A32Uint : return "R32G32B32A32Uint";
+ case Format::eR32G32B32A32Sint : return "R32G32B32A32Sint";
+ case Format::eR32G32B32A32Sfloat : return "R32G32B32A32Sfloat";
+ case Format::eR64Uint : return "R64Uint";
+ case Format::eR64Sint : return "R64Sint";
+ case Format::eR64Sfloat : return "R64Sfloat";
+ case Format::eR64G64Uint : return "R64G64Uint";
+ case Format::eR64G64Sint : return "R64G64Sint";
+ case Format::eR64G64Sfloat : return "R64G64Sfloat";
+ case Format::eR64G64B64Uint : return "R64G64B64Uint";
+ case Format::eR64G64B64Sint : return "R64G64B64Sint";
+ case Format::eR64G64B64Sfloat : return "R64G64B64Sfloat";
+ case Format::eR64G64B64A64Uint : return "R64G64B64A64Uint";
+ case Format::eR64G64B64A64Sint : return "R64G64B64A64Sint";
+ case Format::eR64G64B64A64Sfloat : return "R64G64B64A64Sfloat";
+ case Format::eB10G11R11UfloatPack32 : return "B10G11R11UfloatPack32";
+ case Format::eE5B9G9R9UfloatPack32 : return "E5B9G9R9UfloatPack32";
+ case Format::eD16Unorm : return "D16Unorm";
+ case Format::eX8D24UnormPack32 : return "X8D24UnormPack32";
+ case Format::eD32Sfloat : return "D32Sfloat";
+ case Format::eS8Uint : return "S8Uint";
+ case Format::eD16UnormS8Uint : return "D16UnormS8Uint";
+ case Format::eD24UnormS8Uint : return "D24UnormS8Uint";
+ case Format::eD32SfloatS8Uint : return "D32SfloatS8Uint";
+ case Format::eBc1RgbUnormBlock : return "Bc1RgbUnormBlock";
+ case Format::eBc1RgbSrgbBlock : return "Bc1RgbSrgbBlock";
+ case Format::eBc1RgbaUnormBlock : return "Bc1RgbaUnormBlock";
+ case Format::eBc1RgbaSrgbBlock : return "Bc1RgbaSrgbBlock";
+ case Format::eBc2UnormBlock : return "Bc2UnormBlock";
+ case Format::eBc2SrgbBlock : return "Bc2SrgbBlock";
+ case Format::eBc3UnormBlock : return "Bc3UnormBlock";
+ case Format::eBc3SrgbBlock : return "Bc3SrgbBlock";
+ case Format::eBc4UnormBlock : return "Bc4UnormBlock";
+ case Format::eBc4SnormBlock : return "Bc4SnormBlock";
+ case Format::eBc5UnormBlock : return "Bc5UnormBlock";
+ case Format::eBc5SnormBlock : return "Bc5SnormBlock";
+ case Format::eBc6HUfloatBlock : return "Bc6HUfloatBlock";
+ case Format::eBc6HSfloatBlock : return "Bc6HSfloatBlock";
+ case Format::eBc7UnormBlock : return "Bc7UnormBlock";
+ case Format::eBc7SrgbBlock : return "Bc7SrgbBlock";
+ case Format::eEtc2R8G8B8UnormBlock : return "Etc2R8G8B8UnormBlock";
+ case Format::eEtc2R8G8B8SrgbBlock : return "Etc2R8G8B8SrgbBlock";
+ case Format::eEtc2R8G8B8A1UnormBlock : return "Etc2R8G8B8A1UnormBlock";
+ case Format::eEtc2R8G8B8A1SrgbBlock : return "Etc2R8G8B8A1SrgbBlock";
+ case Format::eEtc2R8G8B8A8UnormBlock : return "Etc2R8G8B8A8UnormBlock";
+ case Format::eEtc2R8G8B8A8SrgbBlock : return "Etc2R8G8B8A8SrgbBlock";
+ case Format::eEacR11UnormBlock : return "EacR11UnormBlock";
+ case Format::eEacR11SnormBlock : return "EacR11SnormBlock";
+ case Format::eEacR11G11UnormBlock : return "EacR11G11UnormBlock";
+ case Format::eEacR11G11SnormBlock : return "EacR11G11SnormBlock";
+ case Format::eAstc4x4UnormBlock : return "Astc4x4UnormBlock";
+ case Format::eAstc4x4SrgbBlock : return "Astc4x4SrgbBlock";
+ case Format::eAstc5x4UnormBlock : return "Astc5x4UnormBlock";
+ case Format::eAstc5x4SrgbBlock : return "Astc5x4SrgbBlock";
+ case Format::eAstc5x5UnormBlock : return "Astc5x5UnormBlock";
+ case Format::eAstc5x5SrgbBlock : return "Astc5x5SrgbBlock";
+ case Format::eAstc6x5UnormBlock : return "Astc6x5UnormBlock";
+ case Format::eAstc6x5SrgbBlock : return "Astc6x5SrgbBlock";
+ case Format::eAstc6x6UnormBlock : return "Astc6x6UnormBlock";
+ case Format::eAstc6x6SrgbBlock : return "Astc6x6SrgbBlock";
+ case Format::eAstc8x5UnormBlock : return "Astc8x5UnormBlock";
+ case Format::eAstc8x5SrgbBlock : return "Astc8x5SrgbBlock";
+ case Format::eAstc8x6UnormBlock : return "Astc8x6UnormBlock";
+ case Format::eAstc8x6SrgbBlock : return "Astc8x6SrgbBlock";
+ case Format::eAstc8x8UnormBlock : return "Astc8x8UnormBlock";
+ case Format::eAstc8x8SrgbBlock : return "Astc8x8SrgbBlock";
+ case Format::eAstc10x5UnormBlock : return "Astc10x5UnormBlock";
+ case Format::eAstc10x5SrgbBlock : return "Astc10x5SrgbBlock";
+ case Format::eAstc10x6UnormBlock : return "Astc10x6UnormBlock";
+ case Format::eAstc10x6SrgbBlock : return "Astc10x6SrgbBlock";
+ case Format::eAstc10x8UnormBlock : return "Astc10x8UnormBlock";
+ case Format::eAstc10x8SrgbBlock : return "Astc10x8SrgbBlock";
+ case Format::eAstc10x10UnormBlock : return "Astc10x10UnormBlock";
+ case Format::eAstc10x10SrgbBlock : return "Astc10x10SrgbBlock";
+ case Format::eAstc12x10UnormBlock : return "Astc12x10UnormBlock";
+ case Format::eAstc12x10SrgbBlock : return "Astc12x10SrgbBlock";
+ case Format::eAstc12x12UnormBlock : return "Astc12x12UnormBlock";
+ case Format::eAstc12x12SrgbBlock : return "Astc12x12SrgbBlock";
+ case Format::eG8B8G8R8422Unorm : return "G8B8G8R8422Unorm";
+ case Format::eB8G8R8G8422Unorm : return "B8G8R8G8422Unorm";
+ case Format::eG8B8R83Plane420Unorm : return "G8B8R83Plane420Unorm";
+ case Format::eG8B8R82Plane420Unorm : return "G8B8R82Plane420Unorm";
+ case Format::eG8B8R83Plane422Unorm : return "G8B8R83Plane422Unorm";
+ case Format::eG8B8R82Plane422Unorm : return "G8B8R82Plane422Unorm";
+ case Format::eG8B8R83Plane444Unorm : return "G8B8R83Plane444Unorm";
+ case Format::eR10X6UnormPack16 : return "R10X6UnormPack16";
+ case Format::eR10X6G10X6Unorm2Pack16 : return "R10X6G10X6Unorm2Pack16";
+ case Format::eR10X6G10X6B10X6A10X6Unorm4Pack16 : return "R10X6G10X6B10X6A10X6Unorm4Pack16";
+ case Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16 : return "G10X6B10X6G10X6R10X6422Unorm4Pack16";
+ case Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16 : return "B10X6G10X6R10X6G10X6422Unorm4Pack16";
+ case Format::eG10X6B10X6R10X63Plane420Unorm3Pack16 : return "G10X6B10X6R10X63Plane420Unorm3Pack16";
+ case Format::eG10X6B10X6R10X62Plane420Unorm3Pack16 : return "G10X6B10X6R10X62Plane420Unorm3Pack16";
+ case Format::eG10X6B10X6R10X63Plane422Unorm3Pack16 : return "G10X6B10X6R10X63Plane422Unorm3Pack16";
+ case Format::eG10X6B10X6R10X62Plane422Unorm3Pack16 : return "G10X6B10X6R10X62Plane422Unorm3Pack16";
+ case Format::eG10X6B10X6R10X63Plane444Unorm3Pack16 : return "G10X6B10X6R10X63Plane444Unorm3Pack16";
+ case Format::eR12X4UnormPack16 : return "R12X4UnormPack16";
+ case Format::eR12X4G12X4Unorm2Pack16 : return "R12X4G12X4Unorm2Pack16";
+ case Format::eR12X4G12X4B12X4A12X4Unorm4Pack16 : return "R12X4G12X4B12X4A12X4Unorm4Pack16";
+ case Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16 : return "G12X4B12X4G12X4R12X4422Unorm4Pack16";
+ case Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16 : return "B12X4G12X4R12X4G12X4422Unorm4Pack16";
+ case Format::eG12X4B12X4R12X43Plane420Unorm3Pack16 : return "G12X4B12X4R12X43Plane420Unorm3Pack16";
+ case Format::eG12X4B12X4R12X42Plane420Unorm3Pack16 : return "G12X4B12X4R12X42Plane420Unorm3Pack16";
+ case Format::eG12X4B12X4R12X43Plane422Unorm3Pack16 : return "G12X4B12X4R12X43Plane422Unorm3Pack16";
+ case Format::eG12X4B12X4R12X42Plane422Unorm3Pack16 : return "G12X4B12X4R12X42Plane422Unorm3Pack16";
+ case Format::eG12X4B12X4R12X43Plane444Unorm3Pack16 : return "G12X4B12X4R12X43Plane444Unorm3Pack16";
+ case Format::eG16B16G16R16422Unorm : return "G16B16G16R16422Unorm";
+ case Format::eB16G16R16G16422Unorm : return "B16G16R16G16422Unorm";
+ case Format::eG16B16R163Plane420Unorm : return "G16B16R163Plane420Unorm";
+ case Format::eG16B16R162Plane420Unorm : return "G16B16R162Plane420Unorm";
+ case Format::eG16B16R163Plane422Unorm : return "G16B16R163Plane422Unorm";
+ case Format::eG16B16R162Plane422Unorm : return "G16B16R162Plane422Unorm";
+ case Format::eG16B16R163Plane444Unorm : return "G16B16R163Plane444Unorm";
+ case Format::ePvrtc12BppUnormBlockIMG : return "Pvrtc12BppUnormBlockIMG";
+ case Format::ePvrtc14BppUnormBlockIMG : return "Pvrtc14BppUnormBlockIMG";
+ case Format::ePvrtc22BppUnormBlockIMG : return "Pvrtc22BppUnormBlockIMG";
+ case Format::ePvrtc24BppUnormBlockIMG : return "Pvrtc24BppUnormBlockIMG";
+ case Format::ePvrtc12BppSrgbBlockIMG : return "Pvrtc12BppSrgbBlockIMG";
+ case Format::ePvrtc14BppSrgbBlockIMG : return "Pvrtc14BppSrgbBlockIMG";
+ case Format::ePvrtc22BppSrgbBlockIMG : return "Pvrtc22BppSrgbBlockIMG";
+ case Format::ePvrtc24BppSrgbBlockIMG : return "Pvrtc24BppSrgbBlockIMG";
+ case Format::eAstc4x4SfloatBlockEXT : return "Astc4x4SfloatBlockEXT";
+ case Format::eAstc5x4SfloatBlockEXT : return "Astc5x4SfloatBlockEXT";
+ case Format::eAstc5x5SfloatBlockEXT : return "Astc5x5SfloatBlockEXT";
+ case Format::eAstc6x5SfloatBlockEXT : return "Astc6x5SfloatBlockEXT";
+ case Format::eAstc6x6SfloatBlockEXT : return "Astc6x6SfloatBlockEXT";
+ case Format::eAstc8x5SfloatBlockEXT : return "Astc8x5SfloatBlockEXT";
+ case Format::eAstc8x6SfloatBlockEXT : return "Astc8x6SfloatBlockEXT";
+ case Format::eAstc8x8SfloatBlockEXT : return "Astc8x8SfloatBlockEXT";
+ case Format::eAstc10x5SfloatBlockEXT : return "Astc10x5SfloatBlockEXT";
+ case Format::eAstc10x6SfloatBlockEXT : return "Astc10x6SfloatBlockEXT";
+ case Format::eAstc10x8SfloatBlockEXT : return "Astc10x8SfloatBlockEXT";
+ case Format::eAstc10x10SfloatBlockEXT : return "Astc10x10SfloatBlockEXT";
+ case Format::eAstc12x10SfloatBlockEXT : return "Astc12x10SfloatBlockEXT";
+ case Format::eAstc12x12SfloatBlockEXT : return "Astc12x12SfloatBlockEXT";
+ default: return "invalid";
+ }
+ }
+
+ enum class FrontFace
+ {
+ eCounterClockwise = VK_FRONT_FACE_COUNTER_CLOCKWISE,
+ eClockwise = VK_FRONT_FACE_CLOCKWISE
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( FrontFace value )
+ {
+ switch ( value )
+ {
+ case FrontFace::eCounterClockwise : return "CounterClockwise";
+ case FrontFace::eClockwise : return "Clockwise";
+ default: return "invalid";
+ }
+ }
+
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ enum class FullScreenExclusiveEXT
+ {
+ eDefault = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
+ eAllowed = VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT,
+ eDisallowed = VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT,
+ eApplicationControlled = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( FullScreenExclusiveEXT value )
+ {
+ switch ( value )
+ {
+ case FullScreenExclusiveEXT::eDefault : return "Default";
+ case FullScreenExclusiveEXT::eAllowed : return "Allowed";
+ case FullScreenExclusiveEXT::eDisallowed : return "Disallowed";
+ case FullScreenExclusiveEXT::eApplicationControlled : return "ApplicationControlled";
+ default: return "invalid";
+ }
+ }
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+ enum class GeometryTypeNV
+ {
+ eTriangles = VK_GEOMETRY_TYPE_TRIANGLES_NV,
+ eAabbs = VK_GEOMETRY_TYPE_AABBS_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( GeometryTypeNV value )
+ {
+ switch ( value )
+ {
+ case GeometryTypeNV::eTriangles : return "Triangles";
+ case GeometryTypeNV::eAabbs : return "Aabbs";
+ default: return "invalid";
+ }
+ }
+
+ enum class ImageLayout
+ {
+ eUndefined = VK_IMAGE_LAYOUT_UNDEFINED,
+ eGeneral = VK_IMAGE_LAYOUT_GENERAL,
+ eColorAttachmentOptimal = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+ eDepthStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
+ eDepthStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
+ eShaderReadOnlyOptimal = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
+ eTransferSrcOptimal = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
+ eTransferDstOptimal = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
+ ePreinitialized = VK_IMAGE_LAYOUT_PREINITIALIZED,
+ eDepthReadOnlyStencilAttachmentOptimal = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
+ eDepthAttachmentStencilReadOnlyOptimal = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
+ ePresentSrcKHR = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,
+ eSharedPresentKHR = VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR,
+ eShadingRateOptimalNV = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
+ eFragmentDensityMapOptimalEXT = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
+ eDepthReadOnlyStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR,
+ eDepthAttachmentStencilReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ImageLayout value )
+ {
+ switch ( value )
+ {
+ case ImageLayout::eUndefined : return "Undefined";
+ case ImageLayout::eGeneral : return "General";
+ case ImageLayout::eColorAttachmentOptimal : return "ColorAttachmentOptimal";
+ case ImageLayout::eDepthStencilAttachmentOptimal : return "DepthStencilAttachmentOptimal";
+ case ImageLayout::eDepthStencilReadOnlyOptimal : return "DepthStencilReadOnlyOptimal";
+ case ImageLayout::eShaderReadOnlyOptimal : return "ShaderReadOnlyOptimal";
+ case ImageLayout::eTransferSrcOptimal : return "TransferSrcOptimal";
+ case ImageLayout::eTransferDstOptimal : return "TransferDstOptimal";
+ case ImageLayout::ePreinitialized : return "Preinitialized";
+ case ImageLayout::eDepthReadOnlyStencilAttachmentOptimal : return "DepthReadOnlyStencilAttachmentOptimal";
+ case ImageLayout::eDepthAttachmentStencilReadOnlyOptimal : return "DepthAttachmentStencilReadOnlyOptimal";
+ case ImageLayout::ePresentSrcKHR : return "PresentSrcKHR";
+ case ImageLayout::eSharedPresentKHR : return "SharedPresentKHR";
+ case ImageLayout::eShadingRateOptimalNV : return "ShadingRateOptimalNV";
+ case ImageLayout::eFragmentDensityMapOptimalEXT : return "FragmentDensityMapOptimalEXT";
+ default: return "invalid";
+ }
+ }
+
+ enum class ImageTiling
+ {
+ eOptimal = VK_IMAGE_TILING_OPTIMAL,
+ eLinear = VK_IMAGE_TILING_LINEAR,
+ eDrmFormatModifierEXT = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ImageTiling value )
+ {
+ switch ( value )
+ {
+ case ImageTiling::eOptimal : return "Optimal";
+ case ImageTiling::eLinear : return "Linear";
+ case ImageTiling::eDrmFormatModifierEXT : return "DrmFormatModifierEXT";
+ default: return "invalid";
+ }
+ }
+
+ enum class ImageType
+ {
+ e1D = VK_IMAGE_TYPE_1D,
+ e2D = VK_IMAGE_TYPE_2D,
+ e3D = VK_IMAGE_TYPE_3D
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ImageType value )
+ {
+ switch ( value )
+ {
+ case ImageType::e1D : return "1D";
+ case ImageType::e2D : return "2D";
+ case ImageType::e3D : return "3D";
+ default: return "invalid";
+ }
+ }
+
+ enum class ImageViewType
+ {
+ e1D = VK_IMAGE_VIEW_TYPE_1D,
+ e2D = VK_IMAGE_VIEW_TYPE_2D,
+ e3D = VK_IMAGE_VIEW_TYPE_3D,
+ eCube = VK_IMAGE_VIEW_TYPE_CUBE,
+ e1DArray = VK_IMAGE_VIEW_TYPE_1D_ARRAY,
+ e2DArray = VK_IMAGE_VIEW_TYPE_2D_ARRAY,
+ eCubeArray = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ImageViewType value )
+ {
+ switch ( value )
+ {
+ case ImageViewType::e1D : return "1D";
+ case ImageViewType::e2D : return "2D";
+ case ImageViewType::e3D : return "3D";
+ case ImageViewType::eCube : return "Cube";
+ case ImageViewType::e1DArray : return "1DArray";
+ case ImageViewType::e2DArray : return "2DArray";
+ case ImageViewType::eCubeArray : return "CubeArray";
+ default: return "invalid";
+ }
+ }
+
+ enum class IndexType
+ {
+ eUint16 = VK_INDEX_TYPE_UINT16,
+ eUint32 = VK_INDEX_TYPE_UINT32,
+ eNoneNV = VK_INDEX_TYPE_NONE_NV,
+ eUint8EXT = VK_INDEX_TYPE_UINT8_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( IndexType value )
+ {
+ switch ( value )
+ {
+ case IndexType::eUint16 : return "Uint16";
+ case IndexType::eUint32 : return "Uint32";
+ case IndexType::eNoneNV : return "NoneNV";
+ case IndexType::eUint8EXT : return "Uint8EXT";
+ default: return "invalid";
+ }
+ }
+
+ enum class IndirectCommandsTokenTypeNVX
+ {
+ ePipeline = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,
+ eDescriptorSet = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX,
+ eIndexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX,
+ eVertexBuffer = VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX,
+ ePushConstant = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX,
+ eDrawIndexed = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX,
+ eDraw = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX,
+ eDispatch = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( IndirectCommandsTokenTypeNVX value )
+ {
+ switch ( value )
+ {
+ case IndirectCommandsTokenTypeNVX::ePipeline : return "Pipeline";
+ case IndirectCommandsTokenTypeNVX::eDescriptorSet : return "DescriptorSet";
+ case IndirectCommandsTokenTypeNVX::eIndexBuffer : return "IndexBuffer";
+ case IndirectCommandsTokenTypeNVX::eVertexBuffer : return "VertexBuffer";
+ case IndirectCommandsTokenTypeNVX::ePushConstant : return "PushConstant";
+ case IndirectCommandsTokenTypeNVX::eDrawIndexed : return "DrawIndexed";
+ case IndirectCommandsTokenTypeNVX::eDraw : return "Draw";
+ case IndirectCommandsTokenTypeNVX::eDispatch : return "Dispatch";
+ default: return "invalid";
+ }
+ }
+
+ enum class InternalAllocationType
+ {
+ eExecutable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( InternalAllocationType value )
+ {
+ switch ( value )
+ {
+ case InternalAllocationType::eExecutable : return "Executable";
+ default: return "invalid";
+ }
+ }
+
+ enum class LineRasterizationModeEXT
+ {
+ eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
+ eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT,
+ eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT,
+ eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( LineRasterizationModeEXT value )
+ {
+ switch ( value )
+ {
+ case LineRasterizationModeEXT::eDefault : return "Default";
+ case LineRasterizationModeEXT::eRectangular : return "Rectangular";
+ case LineRasterizationModeEXT::eBresenham : return "Bresenham";
+ case LineRasterizationModeEXT::eRectangularSmooth : return "RectangularSmooth";
+ default: return "invalid";
+ }
+ }
+
+ enum class LogicOp
+ {
+ eClear = VK_LOGIC_OP_CLEAR,
+ eAnd = VK_LOGIC_OP_AND,
+ eAndReverse = VK_LOGIC_OP_AND_REVERSE,
+ eCopy = VK_LOGIC_OP_COPY,
+ eAndInverted = VK_LOGIC_OP_AND_INVERTED,
+ eNoOp = VK_LOGIC_OP_NO_OP,
+ eXor = VK_LOGIC_OP_XOR,
+ eOr = VK_LOGIC_OP_OR,
+ eNor = VK_LOGIC_OP_NOR,
+ eEquivalent = VK_LOGIC_OP_EQUIVALENT,
+ eInvert = VK_LOGIC_OP_INVERT,
+ eOrReverse = VK_LOGIC_OP_OR_REVERSE,
+ eCopyInverted = VK_LOGIC_OP_COPY_INVERTED,
+ eOrInverted = VK_LOGIC_OP_OR_INVERTED,
+ eNand = VK_LOGIC_OP_NAND,
+ eSet = VK_LOGIC_OP_SET
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( LogicOp value )
+ {
+ switch ( value )
+ {
+ case LogicOp::eClear : return "Clear";
+ case LogicOp::eAnd : return "And";
+ case LogicOp::eAndReverse : return "AndReverse";
+ case LogicOp::eCopy : return "Copy";
+ case LogicOp::eAndInverted : return "AndInverted";
+ case LogicOp::eNoOp : return "NoOp";
+ case LogicOp::eXor : return "Xor";
+ case LogicOp::eOr : return "Or";
+ case LogicOp::eNor : return "Nor";
+ case LogicOp::eEquivalent : return "Equivalent";
+ case LogicOp::eInvert : return "Invert";
+ case LogicOp::eOrReverse : return "OrReverse";
+ case LogicOp::eCopyInverted : return "CopyInverted";
+ case LogicOp::eOrInverted : return "OrInverted";
+ case LogicOp::eNand : return "Nand";
+ case LogicOp::eSet : return "Set";
+ default: return "invalid";
+ }
+ }
+
+ enum class MemoryOverallocationBehaviorAMD
+ {
+ eDefault = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
+ eAllowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD,
+ eDisallowed = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( MemoryOverallocationBehaviorAMD value )
+ {
+ switch ( value )
+ {
+ case MemoryOverallocationBehaviorAMD::eDefault : return "Default";
+ case MemoryOverallocationBehaviorAMD::eAllowed : return "Allowed";
+ case MemoryOverallocationBehaviorAMD::eDisallowed : return "Disallowed";
+ default: return "invalid";
+ }
+ }
+
+ enum class ObjectEntryTypeNVX
+ {
+ eDescriptorSet = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,
+ ePipeline = VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX,
+ eIndexBuffer = VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX,
+ eVertexBuffer = VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX,
+ ePushConstant = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ObjectEntryTypeNVX value )
+ {
+ switch ( value )
+ {
+ case ObjectEntryTypeNVX::eDescriptorSet : return "DescriptorSet";
+ case ObjectEntryTypeNVX::ePipeline : return "Pipeline";
+ case ObjectEntryTypeNVX::eIndexBuffer : return "IndexBuffer";
+ case ObjectEntryTypeNVX::eVertexBuffer : return "VertexBuffer";
+ case ObjectEntryTypeNVX::ePushConstant : return "PushConstant";
+ default: return "invalid";
+ }
+ }
+
+ enum class ObjectType
+ {
+ eUnknown = VK_OBJECT_TYPE_UNKNOWN,
+ eInstance = VK_OBJECT_TYPE_INSTANCE,
+ ePhysicalDevice = VK_OBJECT_TYPE_PHYSICAL_DEVICE,
+ eDevice = VK_OBJECT_TYPE_DEVICE,
+ eQueue = VK_OBJECT_TYPE_QUEUE,
+ eSemaphore = VK_OBJECT_TYPE_SEMAPHORE,
+ eCommandBuffer = VK_OBJECT_TYPE_COMMAND_BUFFER,
+ eFence = VK_OBJECT_TYPE_FENCE,
+ eDeviceMemory = VK_OBJECT_TYPE_DEVICE_MEMORY,
+ eBuffer = VK_OBJECT_TYPE_BUFFER,
+ eImage = VK_OBJECT_TYPE_IMAGE,
+ eEvent = VK_OBJECT_TYPE_EVENT,
+ eQueryPool = VK_OBJECT_TYPE_QUERY_POOL,
+ eBufferView = VK_OBJECT_TYPE_BUFFER_VIEW,
+ eImageView = VK_OBJECT_TYPE_IMAGE_VIEW,
+ eShaderModule = VK_OBJECT_TYPE_SHADER_MODULE,
+ ePipelineCache = VK_OBJECT_TYPE_PIPELINE_CACHE,
+ ePipelineLayout = VK_OBJECT_TYPE_PIPELINE_LAYOUT,
+ eRenderPass = VK_OBJECT_TYPE_RENDER_PASS,
+ ePipeline = VK_OBJECT_TYPE_PIPELINE,
+ eDescriptorSetLayout = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT,
+ eSampler = VK_OBJECT_TYPE_SAMPLER,
+ eDescriptorPool = VK_OBJECT_TYPE_DESCRIPTOR_POOL,
+ eDescriptorSet = VK_OBJECT_TYPE_DESCRIPTOR_SET,
+ eFramebuffer = VK_OBJECT_TYPE_FRAMEBUFFER,
+ eCommandPool = VK_OBJECT_TYPE_COMMAND_POOL,
+ eSamplerYcbcrConversion = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
+ eDescriptorUpdateTemplate = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
+ eSurfaceKHR = VK_OBJECT_TYPE_SURFACE_KHR,
+ eSwapchainKHR = VK_OBJECT_TYPE_SWAPCHAIN_KHR,
+ eDisplayKHR = VK_OBJECT_TYPE_DISPLAY_KHR,
+ eDisplayModeKHR = VK_OBJECT_TYPE_DISPLAY_MODE_KHR,
+ eDebugReportCallbackEXT = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,
+ eObjectTableNVX = VK_OBJECT_TYPE_OBJECT_TABLE_NVX,
+ eIndirectCommandsLayoutNVX = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX,
+ eDebugUtilsMessengerEXT = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT,
+ eValidationCacheEXT = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT,
+ eAccelerationStructureNV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV,
+ ePerformanceConfigurationINTEL = VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL,
+ eDescriptorUpdateTemplateKHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,
+ eSamplerYcbcrConversionKHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ObjectType value )
+ {
+ switch ( value )
+ {
+ case ObjectType::eUnknown : return "Unknown";
+ case ObjectType::eInstance : return "Instance";
+ case ObjectType::ePhysicalDevice : return "PhysicalDevice";
+ case ObjectType::eDevice : return "Device";
+ case ObjectType::eQueue : return "Queue";
+ case ObjectType::eSemaphore : return "Semaphore";
+ case ObjectType::eCommandBuffer : return "CommandBuffer";
+ case ObjectType::eFence : return "Fence";
+ case ObjectType::eDeviceMemory : return "DeviceMemory";
+ case ObjectType::eBuffer : return "Buffer";
+ case ObjectType::eImage : return "Image";
+ case ObjectType::eEvent : return "Event";
+ case ObjectType::eQueryPool : return "QueryPool";
+ case ObjectType::eBufferView : return "BufferView";
+ case ObjectType::eImageView : return "ImageView";
+ case ObjectType::eShaderModule : return "ShaderModule";
+ case ObjectType::ePipelineCache : return "PipelineCache";
+ case ObjectType::ePipelineLayout : return "PipelineLayout";
+ case ObjectType::eRenderPass : return "RenderPass";
+ case ObjectType::ePipeline : return "Pipeline";
+ case ObjectType::eDescriptorSetLayout : return "DescriptorSetLayout";
+ case ObjectType::eSampler : return "Sampler";
+ case ObjectType::eDescriptorPool : return "DescriptorPool";
+ case ObjectType::eDescriptorSet : return "DescriptorSet";
+ case ObjectType::eFramebuffer : return "Framebuffer";
+ case ObjectType::eCommandPool : return "CommandPool";
+ case ObjectType::eSamplerYcbcrConversion : return "SamplerYcbcrConversion";
+ case ObjectType::eDescriptorUpdateTemplate : return "DescriptorUpdateTemplate";
+ case ObjectType::eSurfaceKHR : return "SurfaceKHR";
+ case ObjectType::eSwapchainKHR : return "SwapchainKHR";
+ case ObjectType::eDisplayKHR : return "DisplayKHR";
+ case ObjectType::eDisplayModeKHR : return "DisplayModeKHR";
+ case ObjectType::eDebugReportCallbackEXT : return "DebugReportCallbackEXT";
+ case ObjectType::eObjectTableNVX : return "ObjectTableNVX";
+ case ObjectType::eIndirectCommandsLayoutNVX : return "IndirectCommandsLayoutNVX";
+ case ObjectType::eDebugUtilsMessengerEXT : return "DebugUtilsMessengerEXT";
+ case ObjectType::eValidationCacheEXT : return "ValidationCacheEXT";
+ case ObjectType::eAccelerationStructureNV : return "AccelerationStructureNV";
+ case ObjectType::ePerformanceConfigurationINTEL : return "PerformanceConfigurationINTEL";
+ default: return "invalid";
+ }
+ }
+
+ enum class PerformanceConfigurationTypeINTEL
+ {
+ eCommandQueueMetricsDiscoveryActivated = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PerformanceConfigurationTypeINTEL value )
+ {
+ switch ( value )
+ {
+ case PerformanceConfigurationTypeINTEL::eCommandQueueMetricsDiscoveryActivated : return "CommandQueueMetricsDiscoveryActivated";
+ default: return "invalid";
+ }
+ }
+
+ enum class PerformanceOverrideTypeINTEL
+ {
+ eNullHardware = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
+ eFlushGpuCaches = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PerformanceOverrideTypeINTEL value )
+ {
+ switch ( value )
+ {
+ case PerformanceOverrideTypeINTEL::eNullHardware : return "NullHardware";
+ case PerformanceOverrideTypeINTEL::eFlushGpuCaches : return "FlushGpuCaches";
+ default: return "invalid";
+ }
+ }
+
+ enum class PerformanceParameterTypeINTEL
+ {
+ eHwCountersSupported = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
+ eStreamMarkerValidBits = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PerformanceParameterTypeINTEL value )
+ {
+ switch ( value )
+ {
+ case PerformanceParameterTypeINTEL::eHwCountersSupported : return "HwCountersSupported";
+ case PerformanceParameterTypeINTEL::eStreamMarkerValidBits : return "StreamMarkerValidBits";
+ default: return "invalid";
+ }
+ }
+
+ enum class PerformanceValueTypeINTEL
+ {
+ eUint32 = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
+ eUint64 = VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL,
+ eFloat = VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL,
+ eBool = VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL,
+ eString = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PerformanceValueTypeINTEL value )
+ {
+ switch ( value )
+ {
+ case PerformanceValueTypeINTEL::eUint32 : return "Uint32";
+ case PerformanceValueTypeINTEL::eUint64 : return "Uint64";
+ case PerformanceValueTypeINTEL::eFloat : return "Float";
+ case PerformanceValueTypeINTEL::eBool : return "Bool";
+ case PerformanceValueTypeINTEL::eString : return "String";
+ default: return "invalid";
+ }
+ }
+
+ enum class PhysicalDeviceType
+ {
+ eOther = VK_PHYSICAL_DEVICE_TYPE_OTHER,
+ eIntegratedGpu = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
+ eDiscreteGpu = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,
+ eVirtualGpu = VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU,
+ eCpu = VK_PHYSICAL_DEVICE_TYPE_CPU
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PhysicalDeviceType value )
+ {
+ switch ( value )
+ {
+ case PhysicalDeviceType::eOther : return "Other";
+ case PhysicalDeviceType::eIntegratedGpu : return "IntegratedGpu";
+ case PhysicalDeviceType::eDiscreteGpu : return "DiscreteGpu";
+ case PhysicalDeviceType::eVirtualGpu : return "VirtualGpu";
+ case PhysicalDeviceType::eCpu : return "Cpu";
+ default: return "invalid";
+ }
+ }
+
+ enum class PipelineBindPoint
+ {
+ eGraphics = VK_PIPELINE_BIND_POINT_GRAPHICS,
+ eCompute = VK_PIPELINE_BIND_POINT_COMPUTE,
+ eRayTracingNV = VK_PIPELINE_BIND_POINT_RAY_TRACING_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PipelineBindPoint value )
+ {
+ switch ( value )
+ {
+ case PipelineBindPoint::eGraphics : return "Graphics";
+ case PipelineBindPoint::eCompute : return "Compute";
+ case PipelineBindPoint::eRayTracingNV : return "RayTracingNV";
+ default: return "invalid";
+ }
+ }
+
+ enum class PipelineCacheHeaderVersion
+ {
+ eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PipelineCacheHeaderVersion value )
+ {
+ switch ( value )
+ {
+ case PipelineCacheHeaderVersion::eOne : return "One";
+ default: return "invalid";
+ }
+ }
+
+ enum class PipelineExecutableStatisticFormatKHR
+ {
+ eBool32 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
+ eInt64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR,
+ eUint64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR,
+ eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PipelineExecutableStatisticFormatKHR value )
+ {
+ switch ( value )
+ {
+ case PipelineExecutableStatisticFormatKHR::eBool32 : return "Bool32";
+ case PipelineExecutableStatisticFormatKHR::eInt64 : return "Int64";
+ case PipelineExecutableStatisticFormatKHR::eUint64 : return "Uint64";
+ case PipelineExecutableStatisticFormatKHR::eFloat64 : return "Float64";
+ default: return "invalid";
+ }
+ }
+
+ enum class PointClippingBehavior
+ {
+ eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
+ eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
+ eAllClipPlanesKHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR,
+ eUserClipPlanesOnlyKHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PointClippingBehavior value )
+ {
+ switch ( value )
+ {
+ case PointClippingBehavior::eAllClipPlanes : return "AllClipPlanes";
+ case PointClippingBehavior::eUserClipPlanesOnly : return "UserClipPlanesOnly";
+ default: return "invalid";
+ }
+ }
+
+ enum class PolygonMode
+ {
+ eFill = VK_POLYGON_MODE_FILL,
+ eLine = VK_POLYGON_MODE_LINE,
+ ePoint = VK_POLYGON_MODE_POINT,
+ eFillRectangleNV = VK_POLYGON_MODE_FILL_RECTANGLE_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PolygonMode value )
+ {
+ switch ( value )
+ {
+ case PolygonMode::eFill : return "Fill";
+ case PolygonMode::eLine : return "Line";
+ case PolygonMode::ePoint : return "Point";
+ case PolygonMode::eFillRectangleNV : return "FillRectangleNV";
+ default: return "invalid";
+ }
+ }
+
+ enum class PresentModeKHR
+ {
+ eImmediate = VK_PRESENT_MODE_IMMEDIATE_KHR,
+ eMailbox = VK_PRESENT_MODE_MAILBOX_KHR,
+ eFifo = VK_PRESENT_MODE_FIFO_KHR,
+ eFifoRelaxed = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
+ eSharedDemandRefresh = VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR,
+ eSharedContinuousRefresh = VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PresentModeKHR value )
+ {
+ switch ( value )
+ {
+ case PresentModeKHR::eImmediate : return "Immediate";
+ case PresentModeKHR::eMailbox : return "Mailbox";
+ case PresentModeKHR::eFifo : return "Fifo";
+ case PresentModeKHR::eFifoRelaxed : return "FifoRelaxed";
+ case PresentModeKHR::eSharedDemandRefresh : return "SharedDemandRefresh";
+ case PresentModeKHR::eSharedContinuousRefresh : return "SharedContinuousRefresh";
+ default: return "invalid";
+ }
+ }
+
+ enum class PrimitiveTopology
+ {
+ ePointList = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
+ eLineList = VK_PRIMITIVE_TOPOLOGY_LINE_LIST,
+ eLineStrip = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,
+ eTriangleList = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
+ eTriangleStrip = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,
+ eTriangleFan = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,
+ eLineListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,
+ eLineStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,
+ eTriangleListWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,
+ eTriangleStripWithAdjacency = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,
+ ePatchList = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( PrimitiveTopology value )
+ {
+ switch ( value )
+ {
+ case PrimitiveTopology::ePointList : return "PointList";
+ case PrimitiveTopology::eLineList : return "LineList";
+ case PrimitiveTopology::eLineStrip : return "LineStrip";
+ case PrimitiveTopology::eTriangleList : return "TriangleList";
+ case PrimitiveTopology::eTriangleStrip : return "TriangleStrip";
+ case PrimitiveTopology::eTriangleFan : return "TriangleFan";
+ case PrimitiveTopology::eLineListWithAdjacency : return "LineListWithAdjacency";
+ case PrimitiveTopology::eLineStripWithAdjacency : return "LineStripWithAdjacency";
+ case PrimitiveTopology::eTriangleListWithAdjacency : return "TriangleListWithAdjacency";
+ case PrimitiveTopology::eTriangleStripWithAdjacency : return "TriangleStripWithAdjacency";
+ case PrimitiveTopology::ePatchList : return "PatchList";
+ default: return "invalid";
+ }
+ }
+
+ enum class QueryPoolSamplingModeINTEL
+ {
+ eManual = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( QueryPoolSamplingModeINTEL value )
+ {
+ switch ( value )
+ {
+ case QueryPoolSamplingModeINTEL::eManual : return "Manual";
+ default: return "invalid";
+ }
+ }
+
+ enum class QueryType
+ {
+ eOcclusion = VK_QUERY_TYPE_OCCLUSION,
+ ePipelineStatistics = VK_QUERY_TYPE_PIPELINE_STATISTICS,
+ eTimestamp = VK_QUERY_TYPE_TIMESTAMP,
+ eTransformFeedbackStreamEXT = VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT,
+ eAccelerationStructureCompactedSizeNV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV,
+ ePerformanceQueryINTEL = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( QueryType value )
+ {
+ switch ( value )
+ {
+ case QueryType::eOcclusion : return "Occlusion";
+ case QueryType::ePipelineStatistics : return "PipelineStatistics";
+ case QueryType::eTimestamp : return "Timestamp";
+ case QueryType::eTransformFeedbackStreamEXT : return "TransformFeedbackStreamEXT";
+ case QueryType::eAccelerationStructureCompactedSizeNV : return "AccelerationStructureCompactedSizeNV";
+ case QueryType::ePerformanceQueryINTEL : return "PerformanceQueryINTEL";
+ default: return "invalid";
+ }
+ }
+
+ enum class QueueGlobalPriorityEXT
+ {
+ eLow = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
+ eMedium = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT,
+ eHigh = VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT,
+ eRealtime = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( QueueGlobalPriorityEXT value )
+ {
+ switch ( value )
+ {
+ case QueueGlobalPriorityEXT::eLow : return "Low";
+ case QueueGlobalPriorityEXT::eMedium : return "Medium";
+ case QueueGlobalPriorityEXT::eHigh : return "High";
+ case QueueGlobalPriorityEXT::eRealtime : return "Realtime";
+ default: return "invalid";
+ }
+ }
+
+ enum class RasterizationOrderAMD
+ {
+ eStrict = VK_RASTERIZATION_ORDER_STRICT_AMD,
+ eRelaxed = VK_RASTERIZATION_ORDER_RELAXED_AMD
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( RasterizationOrderAMD value )
+ {
+ switch ( value )
+ {
+ case RasterizationOrderAMD::eStrict : return "Strict";
+ case RasterizationOrderAMD::eRelaxed : return "Relaxed";
+ default: return "invalid";
+ }
+ }
+
+ enum class RayTracingShaderGroupTypeNV
+ {
+ eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV,
+ eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV,
+ eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( RayTracingShaderGroupTypeNV value )
+ {
+ switch ( value )
+ {
+ case RayTracingShaderGroupTypeNV::eGeneral : return "General";
+ case RayTracingShaderGroupTypeNV::eTrianglesHitGroup : return "TrianglesHitGroup";
+ case RayTracingShaderGroupTypeNV::eProceduralHitGroup : return "ProceduralHitGroup";
+ default: return "invalid";
+ }
+ }
+
+ enum class Result
+ {
+ eSuccess = VK_SUCCESS,
+ eNotReady = VK_NOT_READY,
+ eTimeout = VK_TIMEOUT,
+ eEventSet = VK_EVENT_SET,
+ eEventReset = VK_EVENT_RESET,
+ eIncomplete = VK_INCOMPLETE,
+ eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY,
+ eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY,
+ eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED,
+ eErrorDeviceLost = VK_ERROR_DEVICE_LOST,
+ eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED,
+ eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT,
+ eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT,
+ eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT,
+ eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER,
+ eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS,
+ eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED,
+ eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL,
+ eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY,
+ eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE,
+ eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR,
+ eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,
+ eSuboptimalKHR = VK_SUBOPTIMAL_KHR,
+ eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR,
+ eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR,
+ eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT,
+ eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV,
+ eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
+ eErrorFragmentationEXT = VK_ERROR_FRAGMENTATION_EXT,
+ eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT,
+ eErrorInvalidDeviceAddressEXT = VK_ERROR_INVALID_DEVICE_ADDRESS_EXT,
+ eErrorFullScreenExclusiveModeLostEXT = VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT,
+ eErrorOutOfPoolMemoryKHR = VK_ERROR_OUT_OF_POOL_MEMORY_KHR,
+ eErrorInvalidExternalHandleKHR = VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( Result value )
+ {
+ switch ( value )
+ {
+ case Result::eSuccess : return "Success";
+ case Result::eNotReady : return "NotReady";
+ case Result::eTimeout : return "Timeout";
+ case Result::eEventSet : return "EventSet";
+ case Result::eEventReset : return "EventReset";
+ case Result::eIncomplete : return "Incomplete";
+ case Result::eErrorOutOfHostMemory : return "ErrorOutOfHostMemory";
+ case Result::eErrorOutOfDeviceMemory : return "ErrorOutOfDeviceMemory";
+ case Result::eErrorInitializationFailed : return "ErrorInitializationFailed";
+ case Result::eErrorDeviceLost : return "ErrorDeviceLost";
+ case Result::eErrorMemoryMapFailed : return "ErrorMemoryMapFailed";
+ case Result::eErrorLayerNotPresent : return "ErrorLayerNotPresent";
+ case Result::eErrorExtensionNotPresent : return "ErrorExtensionNotPresent";
+ case Result::eErrorFeatureNotPresent : return "ErrorFeatureNotPresent";
+ case Result::eErrorIncompatibleDriver : return "ErrorIncompatibleDriver";
+ case Result::eErrorTooManyObjects : return "ErrorTooManyObjects";
+ case Result::eErrorFormatNotSupported : return "ErrorFormatNotSupported";
+ case Result::eErrorFragmentedPool : return "ErrorFragmentedPool";
+ case Result::eErrorOutOfPoolMemory : return "ErrorOutOfPoolMemory";
+ case Result::eErrorInvalidExternalHandle : return "ErrorInvalidExternalHandle";
+ case Result::eErrorSurfaceLostKHR : return "ErrorSurfaceLostKHR";
+ case Result::eErrorNativeWindowInUseKHR : return "ErrorNativeWindowInUseKHR";
+ case Result::eSuboptimalKHR : return "SuboptimalKHR";
+ case Result::eErrorOutOfDateKHR : return "ErrorOutOfDateKHR";
+ case Result::eErrorIncompatibleDisplayKHR : return "ErrorIncompatibleDisplayKHR";
+ case Result::eErrorValidationFailedEXT : return "ErrorValidationFailedEXT";
+ case Result::eErrorInvalidShaderNV : return "ErrorInvalidShaderNV";
+ case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT : return "ErrorInvalidDrmFormatModifierPlaneLayoutEXT";
+ case Result::eErrorFragmentationEXT : return "ErrorFragmentationEXT";
+ case Result::eErrorNotPermittedEXT : return "ErrorNotPermittedEXT";
+ case Result::eErrorInvalidDeviceAddressEXT : return "ErrorInvalidDeviceAddressEXT";
+ case Result::eErrorFullScreenExclusiveModeLostEXT : return "ErrorFullScreenExclusiveModeLostEXT";
+ default: return "invalid";
+ }
+ }
+
+ enum class SamplerAddressMode
+ {
+ eRepeat = VK_SAMPLER_ADDRESS_MODE_REPEAT,
+ eMirroredRepeat = VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
+ eClampToEdge = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
+ eClampToBorder = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
+ eMirrorClampToEdge = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
+ eMirrorClampToEdgeKHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( SamplerAddressMode value )
+ {
+ switch ( value )
+ {
+ case SamplerAddressMode::eRepeat : return "Repeat";
+ case SamplerAddressMode::eMirroredRepeat : return "MirroredRepeat";
+ case SamplerAddressMode::eClampToEdge : return "ClampToEdge";
+ case SamplerAddressMode::eClampToBorder : return "ClampToBorder";
+ case SamplerAddressMode::eMirrorClampToEdge : return "MirrorClampToEdge";
+ default: return "invalid";
+ }
+ }
+
+ enum class SamplerMipmapMode
+ {
+ eNearest = VK_SAMPLER_MIPMAP_MODE_NEAREST,
+ eLinear = VK_SAMPLER_MIPMAP_MODE_LINEAR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( SamplerMipmapMode value )
+ {
+ switch ( value )
+ {
+ case SamplerMipmapMode::eNearest : return "Nearest";
+ case SamplerMipmapMode::eLinear : return "Linear";
+ default: return "invalid";
+ }
+ }
+
+ enum class SamplerReductionModeEXT
+ {
+ eWeightedAverage = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,
+ eMin = VK_SAMPLER_REDUCTION_MODE_MIN_EXT,
+ eMax = VK_SAMPLER_REDUCTION_MODE_MAX_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( SamplerReductionModeEXT value )
+ {
+ switch ( value )
+ {
+ case SamplerReductionModeEXT::eWeightedAverage : return "WeightedAverage";
+ case SamplerReductionModeEXT::eMin : return "Min";
+ case SamplerReductionModeEXT::eMax : return "Max";
+ default: return "invalid";
+ }
+ }
+
+ enum class SamplerYcbcrModelConversion
+ {
+ eRgbIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
+ eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
+ eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
+ eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
+ eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
+ eRgbIdentityKHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR,
+ eYcbcrIdentityKHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR,
+ eYcbcr709KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR,
+ eYcbcr601KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR,
+ eYcbcr2020KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( SamplerYcbcrModelConversion value )
+ {
+ switch ( value )
+ {
+ case SamplerYcbcrModelConversion::eRgbIdentity : return "RgbIdentity";
+ case SamplerYcbcrModelConversion::eYcbcrIdentity : return "YcbcrIdentity";
+ case SamplerYcbcrModelConversion::eYcbcr709 : return "Ycbcr709";
+ case SamplerYcbcrModelConversion::eYcbcr601 : return "Ycbcr601";
+ case SamplerYcbcrModelConversion::eYcbcr2020 : return "Ycbcr2020";
+ default: return "invalid";
+ }
+ }
+
+ enum class SamplerYcbcrRange
+ {
+ eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
+ eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
+ eItuFullKHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR,
+ eItuNarrowKHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( SamplerYcbcrRange value )
+ {
+ switch ( value )
+ {
+ case SamplerYcbcrRange::eItuFull : return "ItuFull";
+ case SamplerYcbcrRange::eItuNarrow : return "ItuNarrow";
+ default: return "invalid";
+ }
+ }
+
+ enum class ScopeNV
+ {
+ eDevice = VK_SCOPE_DEVICE_NV,
+ eWorkgroup = VK_SCOPE_WORKGROUP_NV,
+ eSubgroup = VK_SCOPE_SUBGROUP_NV,
+ eQueueFamily = VK_SCOPE_QUEUE_FAMILY_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ScopeNV value )
+ {
+ switch ( value )
+ {
+ case ScopeNV::eDevice : return "Device";
+ case ScopeNV::eWorkgroup : return "Workgroup";
+ case ScopeNV::eSubgroup : return "Subgroup";
+ case ScopeNV::eQueueFamily : return "QueueFamily";
+ default: return "invalid";
+ }
+ }
+
+ enum class ShaderFloatControlsIndependenceKHR
+ {
+ e32BitOnly = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR,
+ eAll = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR,
+ eNone = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ShaderFloatControlsIndependenceKHR value )
+ {
+ switch ( value )
+ {
+ case ShaderFloatControlsIndependenceKHR::e32BitOnly : return "32BitOnly";
+ case ShaderFloatControlsIndependenceKHR::eAll : return "All";
+ case ShaderFloatControlsIndependenceKHR::eNone : return "None";
+ default: return "invalid";
+ }
+ }
+
+ enum class ShaderInfoTypeAMD
+ {
+ eStatistics = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
+ eBinary = VK_SHADER_INFO_TYPE_BINARY_AMD,
+ eDisassembly = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ShaderInfoTypeAMD value )
+ {
+ switch ( value )
+ {
+ case ShaderInfoTypeAMD::eStatistics : return "Statistics";
+ case ShaderInfoTypeAMD::eBinary : return "Binary";
+ case ShaderInfoTypeAMD::eDisassembly : return "Disassembly";
+ default: return "invalid";
+ }
+ }
+
+ enum class ShadingRatePaletteEntryNV
+ {
+ eNoInvocations = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
+ e16InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV,
+ e8InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV,
+ e4InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV,
+ e2InvocationsPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV,
+ e1InvocationPerPixel = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV,
+ e1InvocationPer2X1Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV,
+ e1InvocationPer1X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV,
+ e1InvocationPer2X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV,
+ e1InvocationPer4X2Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV,
+ e1InvocationPer2X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV,
+ e1InvocationPer4X4Pixels = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ShadingRatePaletteEntryNV value )
+ {
+ switch ( value )
+ {
+ case ShadingRatePaletteEntryNV::eNoInvocations : return "NoInvocations";
+ case ShadingRatePaletteEntryNV::e16InvocationsPerPixel : return "16InvocationsPerPixel";
+ case ShadingRatePaletteEntryNV::e8InvocationsPerPixel : return "8InvocationsPerPixel";
+ case ShadingRatePaletteEntryNV::e4InvocationsPerPixel : return "4InvocationsPerPixel";
+ case ShadingRatePaletteEntryNV::e2InvocationsPerPixel : return "2InvocationsPerPixel";
+ case ShadingRatePaletteEntryNV::e1InvocationPerPixel : return "1InvocationPerPixel";
+ case ShadingRatePaletteEntryNV::e1InvocationPer2X1Pixels : return "1InvocationPer2X1Pixels";
+ case ShadingRatePaletteEntryNV::e1InvocationPer1X2Pixels : return "1InvocationPer1X2Pixels";
+ case ShadingRatePaletteEntryNV::e1InvocationPer2X2Pixels : return "1InvocationPer2X2Pixels";
+ case ShadingRatePaletteEntryNV::e1InvocationPer4X2Pixels : return "1InvocationPer4X2Pixels";
+ case ShadingRatePaletteEntryNV::e1InvocationPer2X4Pixels : return "1InvocationPer2X4Pixels";
+ case ShadingRatePaletteEntryNV::e1InvocationPer4X4Pixels : return "1InvocationPer4X4Pixels";
+ default: return "invalid";
+ }
+ }
+
+ enum class SharingMode
+ {
+ eExclusive = VK_SHARING_MODE_EXCLUSIVE,
+ eConcurrent = VK_SHARING_MODE_CONCURRENT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( SharingMode value )
+ {
+ switch ( value )
+ {
+ case SharingMode::eExclusive : return "Exclusive";
+ case SharingMode::eConcurrent : return "Concurrent";
+ default: return "invalid";
+ }
+ }
+
+ enum class StencilOp
+ {
+ eKeep = VK_STENCIL_OP_KEEP,
+ eZero = VK_STENCIL_OP_ZERO,
+ eReplace = VK_STENCIL_OP_REPLACE,
+ eIncrementAndClamp = VK_STENCIL_OP_INCREMENT_AND_CLAMP,
+ eDecrementAndClamp = VK_STENCIL_OP_DECREMENT_AND_CLAMP,
+ eInvert = VK_STENCIL_OP_INVERT,
+ eIncrementAndWrap = VK_STENCIL_OP_INCREMENT_AND_WRAP,
+ eDecrementAndWrap = VK_STENCIL_OP_DECREMENT_AND_WRAP
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( StencilOp value )
+ {
+ switch ( value )
+ {
+ case StencilOp::eKeep : return "Keep";
+ case StencilOp::eZero : return "Zero";
+ case StencilOp::eReplace : return "Replace";
+ case StencilOp::eIncrementAndClamp : return "IncrementAndClamp";
+ case StencilOp::eDecrementAndClamp : return "DecrementAndClamp";
+ case StencilOp::eInvert : return "Invert";
+ case StencilOp::eIncrementAndWrap : return "IncrementAndWrap";
+ case StencilOp::eDecrementAndWrap : return "DecrementAndWrap";
+ default: return "invalid";
+ }
+ }
+
+ enum class StructureType
+ {
+ eApplicationInfo = VK_STRUCTURE_TYPE_APPLICATION_INFO,
+ eInstanceCreateInfo = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
+ eDeviceQueueCreateInfo = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
+ eDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
+ eSubmitInfo = VK_STRUCTURE_TYPE_SUBMIT_INFO,
+ eMemoryAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
+ eMappedMemoryRange = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
+ eBindSparseInfo = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,
+ eFenceCreateInfo = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
+ eSemaphoreCreateInfo = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
+ eEventCreateInfo = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
+ eQueryPoolCreateInfo = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
+ eBufferCreateInfo = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
+ eBufferViewCreateInfo = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
+ eImageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
+ eImageViewCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
+ eShaderModuleCreateInfo = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
+ ePipelineCacheCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
+ ePipelineShaderStageCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
+ ePipelineVertexInputStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
+ ePipelineInputAssemblyStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
+ ePipelineTessellationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
+ ePipelineViewportStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
+ ePipelineRasterizationStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
+ ePipelineMultisampleStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
+ ePipelineDepthStencilStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
+ ePipelineColorBlendStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
+ ePipelineDynamicStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
+ eGraphicsPipelineCreateInfo = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
+ eComputePipelineCreateInfo = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
+ ePipelineLayoutCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
+ eSamplerCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
+ eDescriptorSetLayoutCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
+ eDescriptorPoolCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
+ eDescriptorSetAllocateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
+ eWriteDescriptorSet = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
+ eCopyDescriptorSet = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
+ eFramebufferCreateInfo = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
+ eRenderPassCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
+ eCommandPoolCreateInfo = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
+ eCommandBufferAllocateInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
+ eCommandBufferInheritanceInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
+ eCommandBufferBeginInfo = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
+ eRenderPassBeginInfo = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
+ eBufferMemoryBarrier = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
+ eImageMemoryBarrier = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
+ eMemoryBarrier = VK_STRUCTURE_TYPE_MEMORY_BARRIER,
+ eLoaderInstanceCreateInfo = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,
+ eLoaderDeviceCreateInfo = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
+ ePhysicalDeviceSubgroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
+ eBindBufferMemoryInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
+ eBindImageMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
+ ePhysicalDevice16BitStorageFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
+ eMemoryDedicatedRequirements = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
+ eMemoryDedicatedAllocateInfo = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
+ eMemoryAllocateFlagsInfo = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
+ eDeviceGroupRenderPassBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
+ eDeviceGroupCommandBufferBeginInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
+ eDeviceGroupSubmitInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
+ eDeviceGroupBindSparseInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
+ eBindBufferMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
+ eBindImageMemoryDeviceGroupInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
+ ePhysicalDeviceGroupProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
+ eDeviceGroupDeviceCreateInfo = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
+ eBufferMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
+ eImageMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
+ eImageSparseMemoryRequirementsInfo2 = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
+ eMemoryRequirements2 = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
+ eSparseImageMemoryRequirements2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
+ ePhysicalDeviceFeatures2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
+ ePhysicalDeviceProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
+ eFormatProperties2 = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
+ eImageFormatProperties2 = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
+ ePhysicalDeviceImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
+ eQueueFamilyProperties2 = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
+ ePhysicalDeviceMemoryProperties2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
+ eSparseImageFormatProperties2 = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
+ ePhysicalDeviceSparseImageFormatInfo2 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
+ ePhysicalDevicePointClippingProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
+ eRenderPassInputAttachmentAspectCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
+ eImageViewUsageCreateInfo = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
+ ePipelineTessellationDomainOriginStateCreateInfo = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
+ eRenderPassMultiviewCreateInfo = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
+ ePhysicalDeviceMultiviewFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
+ ePhysicalDeviceMultiviewProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
+ ePhysicalDeviceVariablePointersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
+ eProtectedSubmitInfo = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,
+ ePhysicalDeviceProtectedMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
+ ePhysicalDeviceProtectedMemoryProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
+ eDeviceQueueInfo2 = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
+ eSamplerYcbcrConversionCreateInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
+ eSamplerYcbcrConversionInfo = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
+ eBindImagePlaneMemoryInfo = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
+ eImagePlaneMemoryRequirementsInfo = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
+ ePhysicalDeviceSamplerYcbcrConversionFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
+ eSamplerYcbcrConversionImageFormatProperties = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
+ eDescriptorUpdateTemplateCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
+ ePhysicalDeviceExternalImageFormatInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
+ eExternalImageFormatProperties = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
+ ePhysicalDeviceExternalBufferInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
+ eExternalBufferProperties = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
+ ePhysicalDeviceIdProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
+ eExternalMemoryBufferCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
+ eExternalMemoryImageCreateInfo = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
+ eExportMemoryAllocateInfo = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
+ ePhysicalDeviceExternalFenceInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
+ eExternalFenceProperties = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
+ eExportFenceCreateInfo = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
+ eExportSemaphoreCreateInfo = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
+ ePhysicalDeviceExternalSemaphoreInfo = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
+ eExternalSemaphoreProperties = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
+ ePhysicalDeviceMaintenance3Properties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
+ eDescriptorSetLayoutSupport = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
+ ePhysicalDeviceShaderDrawParametersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
+ eSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
+ ePresentInfoKHR = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
+ eDeviceGroupPresentCapabilitiesKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
+ eImageSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
+ eBindImageMemorySwapchainInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
+ eAcquireNextImageInfoKHR = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,
+ eDeviceGroupPresentInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,
+ eDeviceGroupSwapchainCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
+ eDisplayModeCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
+ eDisplaySurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
+ eDisplayPresentInfoKHR = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
+ eXlibSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
+ eXcbSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
+ eWaylandSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,
+ eAndroidSurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
+ eWin32SurfaceCreateInfoKHR = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
+ eDebugReportCallbackCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
+ ePipelineRasterizationStateRasterizationOrderAMD = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
+ eDebugMarkerObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
+ eDebugMarkerObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
+ eDebugMarkerMarkerInfoEXT = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT,
+ eDedicatedAllocationImageCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
+ eDedicatedAllocationBufferCreateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
+ eDedicatedAllocationMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
+ ePhysicalDeviceTransformFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
+ ePhysicalDeviceTransformFeedbackPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
+ ePipelineRasterizationStateStreamCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
+ eImageViewHandleInfoNVX = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
+ eTextureLodGatherFormatPropertiesAMD = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
+ eStreamDescriptorSurfaceCreateInfoGGP = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
+ ePhysicalDeviceCornerSampledImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
+ eExternalMemoryImageCreateInfoNV = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
+ eExportMemoryAllocateInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
+ eImportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
+ eExportMemoryWin32HandleInfoNV = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
+ eWin32KeyedMutexAcquireReleaseInfoNV = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
+ eValidationFlagsEXT = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
+ eViSurfaceCreateInfoNN = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN,
+ ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
+ eImageViewAstcDecodeModeEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
+ ePhysicalDeviceAstcDecodeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
+ eImportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
+ eExportMemoryWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
+ eMemoryWin32HandlePropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
+ eMemoryGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
+ eImportMemoryFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
+ eMemoryFdPropertiesKHR = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
+ eMemoryGetFdInfoKHR = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
+ eWin32KeyedMutexAcquireReleaseInfoKHR = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
+ eImportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
+ eExportSemaphoreWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
+ eD3D12FenceSubmitInfoKHR = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
+ eSemaphoreGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
+ eImportSemaphoreFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
+ eSemaphoreGetFdInfoKHR = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
+ ePhysicalDevicePushDescriptorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
+ eCommandBufferInheritanceConditionalRenderingInfoEXT = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
+ ePhysicalDeviceConditionalRenderingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
+ eConditionalRenderingBeginInfoEXT = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
+ ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR,
+ ePresentRegionsKHR = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR,
+ eObjectTableCreateInfoNVX = VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX,
+ eIndirectCommandsLayoutCreateInfoNVX = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX,
+ eCmdProcessCommandsInfoNVX = VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX,
+ eCmdReserveSpaceForCommandsInfoNVX = VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX,
+ eDeviceGeneratedCommandsLimitsNVX = VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX,
+ eDeviceGeneratedCommandsFeaturesNVX = VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX,
+ ePipelineViewportWScalingStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
+ eSurfaceCapabilities2EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
+ eDisplayPowerInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
+ eDeviceEventInfoEXT = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
+ eDisplayEventInfoEXT = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
+ eSwapchainCounterCreateInfoEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
+ ePresentTimesInfoGOOGLE = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE,
+ ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
+ ePipelineViewportSwizzleStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
+ ePhysicalDeviceDiscardRectanglePropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
+ ePipelineDiscardRectangleStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
+ ePhysicalDeviceConservativeRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
+ ePipelineRasterizationConservativeStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
+ ePhysicalDeviceDepthClipEnableFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
+ ePipelineRasterizationDepthClipStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
+ eHdrMetadataEXT = VK_STRUCTURE_TYPE_HDR_METADATA_EXT,
+ ePhysicalDeviceImagelessFramebufferFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR,
+ eFramebufferAttachmentsCreateInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR,
+ eFramebufferAttachmentImageInfoKHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR,
+ eRenderPassAttachmentBeginInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR,
+ eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR,
+ eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR,
+ eSubpassDescription2KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR,
+ eSubpassDependency2KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR,
+ eRenderPassCreateInfo2KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR,
+ eSubpassBeginInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR,
+ eSubpassEndInfoKHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR,
+ eSharedPresentSurfaceCapabilitiesKHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
+ eImportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
+ eExportFenceWin32HandleInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
+ eFenceGetWin32HandleInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
+ eImportFenceFdInfoKHR = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
+ eFenceGetFdInfoKHR = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
+ ePhysicalDeviceSurfaceInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
+ eSurfaceCapabilities2KHR = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,
+ eSurfaceFormat2KHR = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR,
+ eDisplayProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
+ eDisplayPlaneProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
+ eDisplayModeProperties2KHR = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
+ eDisplayPlaneInfo2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
+ eDisplayPlaneCapabilities2KHR = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
+ eIosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK,
+ eMacosSurfaceCreateInfoMVK = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK,
+ eDebugUtilsObjectNameInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
+ eDebugUtilsObjectTagInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
+ eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
+ eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
+ eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
+ eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
+ eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
+ eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
+ eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
+ eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
+ eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
+ ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT,
+ eSamplerReductionModeCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT,
+ ePhysicalDeviceInlineUniformBlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
+ ePhysicalDeviceInlineUniformBlockPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
+ eWriteDescriptorSetInlineUniformBlockEXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
+ eDescriptorPoolInlineUniformBlockCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT,
+ eSampleLocationsInfoEXT = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
+ eRenderPassSampleLocationsBeginInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
+ ePipelineSampleLocationsStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
+ ePhysicalDeviceSampleLocationsPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
+ eMultisamplePropertiesEXT = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,
+ eImageFormatListCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR,
+ ePhysicalDeviceBlendOperationAdvancedFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
+ ePhysicalDeviceBlendOperationAdvancedPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
+ ePipelineColorBlendAdvancedStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
+ ePipelineCoverageToColorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
+ ePipelineCoverageModulationStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
+ ePhysicalDeviceShaderSmBuiltinsFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
+ ePhysicalDeviceShaderSmBuiltinsPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
+ eDrmFormatModifierPropertiesListEXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
+ eDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
+ ePhysicalDeviceImageDrmFormatModifierInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
+ eImageDrmFormatModifierListCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
+ eImageDrmFormatModifierExplicitCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
+ eImageDrmFormatModifierPropertiesEXT = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
+ eValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
+ eShaderModuleValidationCacheCreateInfoEXT = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
+ eDescriptorSetLayoutBindingFlagsCreateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT,
+ ePhysicalDeviceDescriptorIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
+ ePhysicalDeviceDescriptorIndexingPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT,
+ eDescriptorSetVariableDescriptorCountAllocateInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT,
+ eDescriptorSetVariableDescriptorCountLayoutSupportEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT,
+ ePipelineViewportShadingRateImageStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
+ ePhysicalDeviceShadingRateImageFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
+ ePhysicalDeviceShadingRateImagePropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
+ ePipelineViewportCoarseSampleOrderStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
+ eRayTracingPipelineCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV,
+ eAccelerationStructureCreateInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
+ eGeometryNV = VK_STRUCTURE_TYPE_GEOMETRY_NV,
+ eGeometryTrianglesNV = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV,
+ eGeometryAabbNV = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV,
+ eBindAccelerationStructureMemoryInfoNV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
+ eWriteDescriptorSetAccelerationStructureNV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
+ eAccelerationStructureMemoryRequirementsInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
+ ePhysicalDeviceRayTracingPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
+ eRayTracingShaderGroupCreateInfoNV = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
+ eAccelerationStructureInfoNV = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV,
+ ePhysicalDeviceRepresentativeFragmentTestFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
+ ePipelineRepresentativeFragmentTestStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
+ ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
+ eFilterCubicImageViewImageFormatPropertiesEXT = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
+ eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
+ ePhysicalDevice8BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR,
+ eImportMemoryHostPointerInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
+ eMemoryHostPointerPropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,
+ ePhysicalDeviceExternalMemoryHostPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
+ ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR,
+ ePipelineCompilerControlCreateInfoAMD = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
+ eCalibratedTimestampInfoEXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT,
+ ePhysicalDeviceShaderCorePropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
+ eDeviceMemoryOverallocationCreateInfoAMD = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
+ ePhysicalDeviceVertexAttributeDivisorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
+ ePipelineVertexInputDivisorStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
+ ePhysicalDeviceVertexAttributeDivisorFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
+ ePresentFrameTokenGGP = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP,
+ ePipelineCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
+ ePhysicalDeviceDriverPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR,
+ ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR,
+ ePhysicalDeviceDepthStencilResolvePropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR,
+ eSubpassDescriptionDepthStencilResolveKHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR,
+ ePhysicalDeviceComputeShaderDerivativesFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
+ ePhysicalDeviceMeshShaderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
+ ePhysicalDeviceMeshShaderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
+ ePhysicalDeviceFragmentShaderBarycentricFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV,
+ ePhysicalDeviceShaderImageFootprintFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
+ ePipelineViewportExclusiveScissorStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
+ ePhysicalDeviceExclusiveScissorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
+ eCheckpointDataNV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
+ eQueueFamilyCheckpointPropertiesNV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
+ ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
+ eQueryPoolCreateInfoINTEL = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL,
+ eInitializePerformanceApiInfoINTEL = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
+ ePerformanceMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL,
+ ePerformanceStreamMarkerInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL,
+ ePerformanceOverrideInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL,
+ ePerformanceConfigurationAcquireInfoINTEL = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
+ ePhysicalDeviceVulkanMemoryModelFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR,
+ ePhysicalDevicePciBusInfoPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
+ eDisplayNativeHdrSurfaceCapabilitiesAMD = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
+ eSwapchainDisplayNativeHdrCreateInfoAMD = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
+ eImagepipeSurfaceCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
+ eMetalSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT,
+ ePhysicalDeviceFragmentDensityMapFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
+ ePhysicalDeviceFragmentDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
+ eRenderPassFragmentDensityMapCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
+ ePhysicalDeviceScalarBlockLayoutFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT,
+ ePhysicalDeviceSubgroupSizeControlPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT,
+ ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
+ ePhysicalDeviceSubgroupSizeControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
+ ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
+ ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
+ ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
+ ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
+ eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
+ eSurfaceProtectedCapabilitiesKHR = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR,
+ ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
+ ePhysicalDeviceBufferDeviceAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
+ eBufferDeviceAddressInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT,
+ eBufferDeviceAddressCreateInfoEXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
+ eImageStencilUsageCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT,
+ eValidationFeaturesEXT = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
+ ePhysicalDeviceCooperativeMatrixFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
+ eCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV,
+ ePhysicalDeviceCooperativeMatrixPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
+ ePhysicalDeviceCoverageReductionModeFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
+ ePipelineCoverageReductionStateCreateInfoNV = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
+ eFramebufferMixedSamplesCombinationNV = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
+ ePhysicalDeviceFragmentShaderInterlockFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
+ ePhysicalDeviceYcbcrImageArraysFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
+ ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR,
+ eSurfaceFullScreenExclusiveInfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
+ eSurfaceCapabilitiesFullScreenExclusiveEXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
+ eSurfaceFullScreenExclusiveWin32InfoEXT = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
+ eHeadlessSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
+ ePhysicalDeviceLineRasterizationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
+ ePipelineRasterizationLineStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
+ ePhysicalDeviceLineRasterizationPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT,
+ ePhysicalDeviceHostQueryResetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
+ ePhysicalDeviceIndexTypeUint8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT,
+ ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
+ ePipelineInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
+ ePipelineExecutablePropertiesKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR,
+ ePipelineExecutableInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR,
+ ePipelineExecutableStatisticKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR,
+ ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
+ ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT,
+ ePhysicalDeviceTexelBufferAlignmentFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
+ ePhysicalDeviceTexelBufferAlignmentPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
+ ePhysicalDeviceVariablePointerFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
+ ePhysicalDeviceShaderDrawParameterFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES,
+ eDebugReportCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT,
+ eRenderPassMultiviewCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR,
+ ePhysicalDeviceMultiviewFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR,
+ ePhysicalDeviceMultiviewPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR,
+ ePhysicalDeviceFeatures2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
+ ePhysicalDeviceProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR,
+ eFormatProperties2KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR,
+ eImageFormatProperties2KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR,
+ ePhysicalDeviceImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR,
+ eQueueFamilyProperties2KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR,
+ ePhysicalDeviceMemoryProperties2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR,
+ eSparseImageFormatProperties2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR,
+ ePhysicalDeviceSparseImageFormatInfo2KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR,
+ eMemoryAllocateFlagsInfoKHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR,
+ eDeviceGroupRenderPassBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR,
+ eDeviceGroupCommandBufferBeginInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR,
+ eDeviceGroupSubmitInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR,
+ eDeviceGroupBindSparseInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR,
+ eBindBufferMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR,
+ eBindImageMemoryDeviceGroupInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR,
+ ePhysicalDeviceGroupPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR,
+ eDeviceGroupDeviceCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR,
+ ePhysicalDeviceExternalImageFormatInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR,
+ eExternalImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR,
+ ePhysicalDeviceExternalBufferInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR,
+ eExternalBufferPropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR,
+ ePhysicalDeviceIdPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR,
+ eExternalMemoryBufferCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR,
+ eExternalMemoryImageCreateInfoKHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR,
+ eExportMemoryAllocateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR,
+ ePhysicalDeviceExternalSemaphoreInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR,
+ eExternalSemaphorePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR,
+ eExportSemaphoreCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR,
+ ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR,
+ ePhysicalDevice16BitStorageFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR,
+ eDescriptorUpdateTemplateCreateInfoKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR,
+ ePhysicalDeviceExternalFenceInfoKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR,
+ eExternalFencePropertiesKHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR,
+ eExportFenceCreateInfoKHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR,
+ ePhysicalDevicePointClippingPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR,
+ eRenderPassInputAttachmentAspectCreateInfoKHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,
+ eImageViewUsageCreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR,
+ ePipelineTessellationDomainOriginStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR,
+ ePhysicalDeviceVariablePointerFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR,
+ ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
+ eMemoryDedicatedRequirementsKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR,
+ eMemoryDedicatedAllocateInfoKHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR,
+ eBufferMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR,
+ eImageMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR,
+ eImageSparseMemoryRequirementsInfo2KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR,
+ eMemoryRequirements2KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR,
+ eSparseImageMemoryRequirements2KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR,
+ eSamplerYcbcrConversionCreateInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR,
+ eSamplerYcbcrConversionInfoKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR,
+ eBindImagePlaneMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR,
+ eImagePlaneMemoryRequirementsInfoKHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR,
+ ePhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR,
+ eSamplerYcbcrConversionImageFormatPropertiesKHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR,
+ eBindBufferMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,
+ eBindImageMemoryInfoKHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR,
+ ePhysicalDeviceMaintenance3PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR,
+ eDescriptorSetLayoutSupportKHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR,
+ ePhysicalDeviceBufferAddressFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( StructureType value )
+ {
+ switch ( value )
+ {
+ case StructureType::eApplicationInfo : return "ApplicationInfo";
+ case StructureType::eInstanceCreateInfo : return "InstanceCreateInfo";
+ case StructureType::eDeviceQueueCreateInfo : return "DeviceQueueCreateInfo";
+ case StructureType::eDeviceCreateInfo : return "DeviceCreateInfo";
+ case StructureType::eSubmitInfo : return "SubmitInfo";
+ case StructureType::eMemoryAllocateInfo : return "MemoryAllocateInfo";
+ case StructureType::eMappedMemoryRange : return "MappedMemoryRange";
+ case StructureType::eBindSparseInfo : return "BindSparseInfo";
+ case StructureType::eFenceCreateInfo : return "FenceCreateInfo";
+ case StructureType::eSemaphoreCreateInfo : return "SemaphoreCreateInfo";
+ case StructureType::eEventCreateInfo : return "EventCreateInfo";
+ case StructureType::eQueryPoolCreateInfo : return "QueryPoolCreateInfo";
+ case StructureType::eBufferCreateInfo : return "BufferCreateInfo";
+ case StructureType::eBufferViewCreateInfo : return "BufferViewCreateInfo";
+ case StructureType::eImageCreateInfo : return "ImageCreateInfo";
+ case StructureType::eImageViewCreateInfo : return "ImageViewCreateInfo";
+ case StructureType::eShaderModuleCreateInfo : return "ShaderModuleCreateInfo";
+ case StructureType::ePipelineCacheCreateInfo : return "PipelineCacheCreateInfo";
+ case StructureType::ePipelineShaderStageCreateInfo : return "PipelineShaderStageCreateInfo";
+ case StructureType::ePipelineVertexInputStateCreateInfo : return "PipelineVertexInputStateCreateInfo";
+ case StructureType::ePipelineInputAssemblyStateCreateInfo : return "PipelineInputAssemblyStateCreateInfo";
+ case StructureType::ePipelineTessellationStateCreateInfo : return "PipelineTessellationStateCreateInfo";
+ case StructureType::ePipelineViewportStateCreateInfo : return "PipelineViewportStateCreateInfo";
+ case StructureType::ePipelineRasterizationStateCreateInfo : return "PipelineRasterizationStateCreateInfo";
+ case StructureType::ePipelineMultisampleStateCreateInfo : return "PipelineMultisampleStateCreateInfo";
+ case StructureType::ePipelineDepthStencilStateCreateInfo : return "PipelineDepthStencilStateCreateInfo";
+ case StructureType::ePipelineColorBlendStateCreateInfo : return "PipelineColorBlendStateCreateInfo";
+ case StructureType::ePipelineDynamicStateCreateInfo : return "PipelineDynamicStateCreateInfo";
+ case StructureType::eGraphicsPipelineCreateInfo : return "GraphicsPipelineCreateInfo";
+ case StructureType::eComputePipelineCreateInfo : return "ComputePipelineCreateInfo";
+ case StructureType::ePipelineLayoutCreateInfo : return "PipelineLayoutCreateInfo";
+ case StructureType::eSamplerCreateInfo : return "SamplerCreateInfo";
+ case StructureType::eDescriptorSetLayoutCreateInfo : return "DescriptorSetLayoutCreateInfo";
+ case StructureType::eDescriptorPoolCreateInfo : return "DescriptorPoolCreateInfo";
+ case StructureType::eDescriptorSetAllocateInfo : return "DescriptorSetAllocateInfo";
+ case StructureType::eWriteDescriptorSet : return "WriteDescriptorSet";
+ case StructureType::eCopyDescriptorSet : return "CopyDescriptorSet";
+ case StructureType::eFramebufferCreateInfo : return "FramebufferCreateInfo";
+ case StructureType::eRenderPassCreateInfo : return "RenderPassCreateInfo";
+ case StructureType::eCommandPoolCreateInfo : return "CommandPoolCreateInfo";
+ case StructureType::eCommandBufferAllocateInfo : return "CommandBufferAllocateInfo";
+ case StructureType::eCommandBufferInheritanceInfo : return "CommandBufferInheritanceInfo";
+ case StructureType::eCommandBufferBeginInfo : return "CommandBufferBeginInfo";
+ case StructureType::eRenderPassBeginInfo : return "RenderPassBeginInfo";
+ case StructureType::eBufferMemoryBarrier : return "BufferMemoryBarrier";
+ case StructureType::eImageMemoryBarrier : return "ImageMemoryBarrier";
+ case StructureType::eMemoryBarrier : return "MemoryBarrier";
+ case StructureType::eLoaderInstanceCreateInfo : return "LoaderInstanceCreateInfo";
+ case StructureType::eLoaderDeviceCreateInfo : return "LoaderDeviceCreateInfo";
+ case StructureType::ePhysicalDeviceSubgroupProperties : return "PhysicalDeviceSubgroupProperties";
+ case StructureType::eBindBufferMemoryInfo : return "BindBufferMemoryInfo";
+ case StructureType::eBindImageMemoryInfo : return "BindImageMemoryInfo";
+ case StructureType::ePhysicalDevice16BitStorageFeatures : return "PhysicalDevice16BitStorageFeatures";
+ case StructureType::eMemoryDedicatedRequirements : return "MemoryDedicatedRequirements";
+ case StructureType::eMemoryDedicatedAllocateInfo : return "MemoryDedicatedAllocateInfo";
+ case StructureType::eMemoryAllocateFlagsInfo : return "MemoryAllocateFlagsInfo";
+ case StructureType::eDeviceGroupRenderPassBeginInfo : return "DeviceGroupRenderPassBeginInfo";
+ case StructureType::eDeviceGroupCommandBufferBeginInfo : return "DeviceGroupCommandBufferBeginInfo";
+ case StructureType::eDeviceGroupSubmitInfo : return "DeviceGroupSubmitInfo";
+ case StructureType::eDeviceGroupBindSparseInfo : return "DeviceGroupBindSparseInfo";
+ case StructureType::eBindBufferMemoryDeviceGroupInfo : return "BindBufferMemoryDeviceGroupInfo";
+ case StructureType::eBindImageMemoryDeviceGroupInfo : return "BindImageMemoryDeviceGroupInfo";
+ case StructureType::ePhysicalDeviceGroupProperties : return "PhysicalDeviceGroupProperties";
+ case StructureType::eDeviceGroupDeviceCreateInfo : return "DeviceGroupDeviceCreateInfo";
+ case StructureType::eBufferMemoryRequirementsInfo2 : return "BufferMemoryRequirementsInfo2";
+ case StructureType::eImageMemoryRequirementsInfo2 : return "ImageMemoryRequirementsInfo2";
+ case StructureType::eImageSparseMemoryRequirementsInfo2 : return "ImageSparseMemoryRequirementsInfo2";
+ case StructureType::eMemoryRequirements2 : return "MemoryRequirements2";
+ case StructureType::eSparseImageMemoryRequirements2 : return "SparseImageMemoryRequirements2";
+ case StructureType::ePhysicalDeviceFeatures2 : return "PhysicalDeviceFeatures2";
+ case StructureType::ePhysicalDeviceProperties2 : return "PhysicalDeviceProperties2";
+ case StructureType::eFormatProperties2 : return "FormatProperties2";
+ case StructureType::eImageFormatProperties2 : return "ImageFormatProperties2";
+ case StructureType::ePhysicalDeviceImageFormatInfo2 : return "PhysicalDeviceImageFormatInfo2";
+ case StructureType::eQueueFamilyProperties2 : return "QueueFamilyProperties2";
+ case StructureType::ePhysicalDeviceMemoryProperties2 : return "PhysicalDeviceMemoryProperties2";
+ case StructureType::eSparseImageFormatProperties2 : return "SparseImageFormatProperties2";
+ case StructureType::ePhysicalDeviceSparseImageFormatInfo2 : return "PhysicalDeviceSparseImageFormatInfo2";
+ case StructureType::ePhysicalDevicePointClippingProperties : return "PhysicalDevicePointClippingProperties";
+ case StructureType::eRenderPassInputAttachmentAspectCreateInfo : return "RenderPassInputAttachmentAspectCreateInfo";
+ case StructureType::eImageViewUsageCreateInfo : return "ImageViewUsageCreateInfo";
+ case StructureType::ePipelineTessellationDomainOriginStateCreateInfo : return "PipelineTessellationDomainOriginStateCreateInfo";
+ case StructureType::eRenderPassMultiviewCreateInfo : return "RenderPassMultiviewCreateInfo";
+ case StructureType::ePhysicalDeviceMultiviewFeatures : return "PhysicalDeviceMultiviewFeatures";
+ case StructureType::ePhysicalDeviceMultiviewProperties : return "PhysicalDeviceMultiviewProperties";
+ case StructureType::ePhysicalDeviceVariablePointersFeatures : return "PhysicalDeviceVariablePointersFeatures";
+ case StructureType::eProtectedSubmitInfo : return "ProtectedSubmitInfo";
+ case StructureType::ePhysicalDeviceProtectedMemoryFeatures : return "PhysicalDeviceProtectedMemoryFeatures";
+ case StructureType::ePhysicalDeviceProtectedMemoryProperties : return "PhysicalDeviceProtectedMemoryProperties";
+ case StructureType::eDeviceQueueInfo2 : return "DeviceQueueInfo2";
+ case StructureType::eSamplerYcbcrConversionCreateInfo : return "SamplerYcbcrConversionCreateInfo";
+ case StructureType::eSamplerYcbcrConversionInfo : return "SamplerYcbcrConversionInfo";
+ case StructureType::eBindImagePlaneMemoryInfo : return "BindImagePlaneMemoryInfo";
+ case StructureType::eImagePlaneMemoryRequirementsInfo : return "ImagePlaneMemoryRequirementsInfo";
+ case StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures : return "PhysicalDeviceSamplerYcbcrConversionFeatures";
+ case StructureType::eSamplerYcbcrConversionImageFormatProperties : return "SamplerYcbcrConversionImageFormatProperties";
+ case StructureType::eDescriptorUpdateTemplateCreateInfo : return "DescriptorUpdateTemplateCreateInfo";
+ case StructureType::ePhysicalDeviceExternalImageFormatInfo : return "PhysicalDeviceExternalImageFormatInfo";
+ case StructureType::eExternalImageFormatProperties : return "ExternalImageFormatProperties";
+ case StructureType::ePhysicalDeviceExternalBufferInfo : return "PhysicalDeviceExternalBufferInfo";
+ case StructureType::eExternalBufferProperties : return "ExternalBufferProperties";
+ case StructureType::ePhysicalDeviceIdProperties : return "PhysicalDeviceIdProperties";
+ case StructureType::eExternalMemoryBufferCreateInfo : return "ExternalMemoryBufferCreateInfo";
+ case StructureType::eExternalMemoryImageCreateInfo : return "ExternalMemoryImageCreateInfo";
+ case StructureType::eExportMemoryAllocateInfo : return "ExportMemoryAllocateInfo";
+ case StructureType::ePhysicalDeviceExternalFenceInfo : return "PhysicalDeviceExternalFenceInfo";
+ case StructureType::eExternalFenceProperties : return "ExternalFenceProperties";
+ case StructureType::eExportFenceCreateInfo : return "ExportFenceCreateInfo";
+ case StructureType::eExportSemaphoreCreateInfo : return "ExportSemaphoreCreateInfo";
+ case StructureType::ePhysicalDeviceExternalSemaphoreInfo : return "PhysicalDeviceExternalSemaphoreInfo";
+ case StructureType::eExternalSemaphoreProperties : return "ExternalSemaphoreProperties";
+ case StructureType::ePhysicalDeviceMaintenance3Properties : return "PhysicalDeviceMaintenance3Properties";
+ case StructureType::eDescriptorSetLayoutSupport : return "DescriptorSetLayoutSupport";
+ case StructureType::ePhysicalDeviceShaderDrawParametersFeatures : return "PhysicalDeviceShaderDrawParametersFeatures";
+ case StructureType::eSwapchainCreateInfoKHR : return "SwapchainCreateInfoKHR";
+ case StructureType::ePresentInfoKHR : return "PresentInfoKHR";
+ case StructureType::eDeviceGroupPresentCapabilitiesKHR : return "DeviceGroupPresentCapabilitiesKHR";
+ case StructureType::eImageSwapchainCreateInfoKHR : return "ImageSwapchainCreateInfoKHR";
+ case StructureType::eBindImageMemorySwapchainInfoKHR : return "BindImageMemorySwapchainInfoKHR";
+ case StructureType::eAcquireNextImageInfoKHR : return "AcquireNextImageInfoKHR";
+ case StructureType::eDeviceGroupPresentInfoKHR : return "DeviceGroupPresentInfoKHR";
+ case StructureType::eDeviceGroupSwapchainCreateInfoKHR : return "DeviceGroupSwapchainCreateInfoKHR";
+ case StructureType::eDisplayModeCreateInfoKHR : return "DisplayModeCreateInfoKHR";
+ case StructureType::eDisplaySurfaceCreateInfoKHR : return "DisplaySurfaceCreateInfoKHR";
+ case StructureType::eDisplayPresentInfoKHR : return "DisplayPresentInfoKHR";
+ case StructureType::eXlibSurfaceCreateInfoKHR : return "XlibSurfaceCreateInfoKHR";
+ case StructureType::eXcbSurfaceCreateInfoKHR : return "XcbSurfaceCreateInfoKHR";
+ case StructureType::eWaylandSurfaceCreateInfoKHR : return "WaylandSurfaceCreateInfoKHR";
+ case StructureType::eAndroidSurfaceCreateInfoKHR : return "AndroidSurfaceCreateInfoKHR";
+ case StructureType::eWin32SurfaceCreateInfoKHR : return "Win32SurfaceCreateInfoKHR";
+ case StructureType::eDebugReportCallbackCreateInfoEXT : return "DebugReportCallbackCreateInfoEXT";
+ case StructureType::ePipelineRasterizationStateRasterizationOrderAMD : return "PipelineRasterizationStateRasterizationOrderAMD";
+ case StructureType::eDebugMarkerObjectNameInfoEXT : return "DebugMarkerObjectNameInfoEXT";
+ case StructureType::eDebugMarkerObjectTagInfoEXT : return "DebugMarkerObjectTagInfoEXT";
+ case StructureType::eDebugMarkerMarkerInfoEXT : return "DebugMarkerMarkerInfoEXT";
+ case StructureType::eDedicatedAllocationImageCreateInfoNV : return "DedicatedAllocationImageCreateInfoNV";
+ case StructureType::eDedicatedAllocationBufferCreateInfoNV : return "DedicatedAllocationBufferCreateInfoNV";
+ case StructureType::eDedicatedAllocationMemoryAllocateInfoNV : return "DedicatedAllocationMemoryAllocateInfoNV";
+ case StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT : return "PhysicalDeviceTransformFeedbackFeaturesEXT";
+ case StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT : return "PhysicalDeviceTransformFeedbackPropertiesEXT";
+ case StructureType::ePipelineRasterizationStateStreamCreateInfoEXT : return "PipelineRasterizationStateStreamCreateInfoEXT";
+ case StructureType::eImageViewHandleInfoNVX : return "ImageViewHandleInfoNVX";
+ case StructureType::eTextureLodGatherFormatPropertiesAMD : return "TextureLodGatherFormatPropertiesAMD";
+ case StructureType::eStreamDescriptorSurfaceCreateInfoGGP : return "StreamDescriptorSurfaceCreateInfoGGP";
+ case StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV : return "PhysicalDeviceCornerSampledImageFeaturesNV";
+ case StructureType::eExternalMemoryImageCreateInfoNV : return "ExternalMemoryImageCreateInfoNV";
+ case StructureType::eExportMemoryAllocateInfoNV : return "ExportMemoryAllocateInfoNV";
+ case StructureType::eImportMemoryWin32HandleInfoNV : return "ImportMemoryWin32HandleInfoNV";
+ case StructureType::eExportMemoryWin32HandleInfoNV : return "ExportMemoryWin32HandleInfoNV";
+ case StructureType::eWin32KeyedMutexAcquireReleaseInfoNV : return "Win32KeyedMutexAcquireReleaseInfoNV";
+ case StructureType::eValidationFlagsEXT : return "ValidationFlagsEXT";
+ case StructureType::eViSurfaceCreateInfoNN : return "ViSurfaceCreateInfoNN";
+ case StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT : return "PhysicalDeviceTextureCompressionAstcHdrFeaturesEXT";
+ case StructureType::eImageViewAstcDecodeModeEXT : return "ImageViewAstcDecodeModeEXT";
+ case StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT : return "PhysicalDeviceAstcDecodeFeaturesEXT";
+ case StructureType::eImportMemoryWin32HandleInfoKHR : return "ImportMemoryWin32HandleInfoKHR";
+ case StructureType::eExportMemoryWin32HandleInfoKHR : return "ExportMemoryWin32HandleInfoKHR";
+ case StructureType::eMemoryWin32HandlePropertiesKHR : return "MemoryWin32HandlePropertiesKHR";
+ case StructureType::eMemoryGetWin32HandleInfoKHR : return "MemoryGetWin32HandleInfoKHR";
+ case StructureType::eImportMemoryFdInfoKHR : return "ImportMemoryFdInfoKHR";
+ case StructureType::eMemoryFdPropertiesKHR : return "MemoryFdPropertiesKHR";
+ case StructureType::eMemoryGetFdInfoKHR : return "MemoryGetFdInfoKHR";
+ case StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR : return "Win32KeyedMutexAcquireReleaseInfoKHR";
+ case StructureType::eImportSemaphoreWin32HandleInfoKHR : return "ImportSemaphoreWin32HandleInfoKHR";
+ case StructureType::eExportSemaphoreWin32HandleInfoKHR : return "ExportSemaphoreWin32HandleInfoKHR";
+ case StructureType::eD3D12FenceSubmitInfoKHR : return "D3D12FenceSubmitInfoKHR";
+ case StructureType::eSemaphoreGetWin32HandleInfoKHR : return "SemaphoreGetWin32HandleInfoKHR";
+ case StructureType::eImportSemaphoreFdInfoKHR : return "ImportSemaphoreFdInfoKHR";
+ case StructureType::eSemaphoreGetFdInfoKHR : return "SemaphoreGetFdInfoKHR";
+ case StructureType::ePhysicalDevicePushDescriptorPropertiesKHR : return "PhysicalDevicePushDescriptorPropertiesKHR";
+ case StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT : return "CommandBufferInheritanceConditionalRenderingInfoEXT";
+ case StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT : return "PhysicalDeviceConditionalRenderingFeaturesEXT";
+ case StructureType::eConditionalRenderingBeginInfoEXT : return "ConditionalRenderingBeginInfoEXT";
+ case StructureType::ePhysicalDeviceShaderFloat16Int8FeaturesKHR : return "PhysicalDeviceShaderFloat16Int8FeaturesKHR";
+ case StructureType::ePresentRegionsKHR : return "PresentRegionsKHR";
+ case StructureType::eObjectTableCreateInfoNVX : return "ObjectTableCreateInfoNVX";
+ case StructureType::eIndirectCommandsLayoutCreateInfoNVX : return "IndirectCommandsLayoutCreateInfoNVX";
+ case StructureType::eCmdProcessCommandsInfoNVX : return "CmdProcessCommandsInfoNVX";
+ case StructureType::eCmdReserveSpaceForCommandsInfoNVX : return "CmdReserveSpaceForCommandsInfoNVX";
+ case StructureType::eDeviceGeneratedCommandsLimitsNVX : return "DeviceGeneratedCommandsLimitsNVX";
+ case StructureType::eDeviceGeneratedCommandsFeaturesNVX : return "DeviceGeneratedCommandsFeaturesNVX";
+ case StructureType::ePipelineViewportWScalingStateCreateInfoNV : return "PipelineViewportWScalingStateCreateInfoNV";
+ case StructureType::eSurfaceCapabilities2EXT : return "SurfaceCapabilities2EXT";
+ case StructureType::eDisplayPowerInfoEXT : return "DisplayPowerInfoEXT";
+ case StructureType::eDeviceEventInfoEXT : return "DeviceEventInfoEXT";
+ case StructureType::eDisplayEventInfoEXT : return "DisplayEventInfoEXT";
+ case StructureType::eSwapchainCounterCreateInfoEXT : return "SwapchainCounterCreateInfoEXT";
+ case StructureType::ePresentTimesInfoGOOGLE : return "PresentTimesInfoGOOGLE";
+ case StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX : return "PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX";
+ case StructureType::ePipelineViewportSwizzleStateCreateInfoNV : return "PipelineViewportSwizzleStateCreateInfoNV";
+ case StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT : return "PhysicalDeviceDiscardRectanglePropertiesEXT";
+ case StructureType::ePipelineDiscardRectangleStateCreateInfoEXT : return "PipelineDiscardRectangleStateCreateInfoEXT";
+ case StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT : return "PhysicalDeviceConservativeRasterizationPropertiesEXT";
+ case StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT : return "PipelineRasterizationConservativeStateCreateInfoEXT";
+ case StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT : return "PhysicalDeviceDepthClipEnableFeaturesEXT";
+ case StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT : return "PipelineRasterizationDepthClipStateCreateInfoEXT";
+ case StructureType::eHdrMetadataEXT : return "HdrMetadataEXT";
+ case StructureType::ePhysicalDeviceImagelessFramebufferFeaturesKHR : return "PhysicalDeviceImagelessFramebufferFeaturesKHR";
+ case StructureType::eFramebufferAttachmentsCreateInfoKHR : return "FramebufferAttachmentsCreateInfoKHR";
+ case StructureType::eFramebufferAttachmentImageInfoKHR : return "FramebufferAttachmentImageInfoKHR";
+ case StructureType::eRenderPassAttachmentBeginInfoKHR : return "RenderPassAttachmentBeginInfoKHR";
+ case StructureType::eAttachmentDescription2KHR : return "AttachmentDescription2KHR";
+ case StructureType::eAttachmentReference2KHR : return "AttachmentReference2KHR";
+ case StructureType::eSubpassDescription2KHR : return "SubpassDescription2KHR";
+ case StructureType::eSubpassDependency2KHR : return "SubpassDependency2KHR";
+ case StructureType::eRenderPassCreateInfo2KHR : return "RenderPassCreateInfo2KHR";
+ case StructureType::eSubpassBeginInfoKHR : return "SubpassBeginInfoKHR";
+ case StructureType::eSubpassEndInfoKHR : return "SubpassEndInfoKHR";
+ case StructureType::eSharedPresentSurfaceCapabilitiesKHR : return "SharedPresentSurfaceCapabilitiesKHR";
+ case StructureType::eImportFenceWin32HandleInfoKHR : return "ImportFenceWin32HandleInfoKHR";
+ case StructureType::eExportFenceWin32HandleInfoKHR : return "ExportFenceWin32HandleInfoKHR";
+ case StructureType::eFenceGetWin32HandleInfoKHR : return "FenceGetWin32HandleInfoKHR";
+ case StructureType::eImportFenceFdInfoKHR : return "ImportFenceFdInfoKHR";
+ case StructureType::eFenceGetFdInfoKHR : return "FenceGetFdInfoKHR";
+ case StructureType::ePhysicalDeviceSurfaceInfo2KHR : return "PhysicalDeviceSurfaceInfo2KHR";
+ case StructureType::eSurfaceCapabilities2KHR : return "SurfaceCapabilities2KHR";
+ case StructureType::eSurfaceFormat2KHR : return "SurfaceFormat2KHR";
+ case StructureType::eDisplayProperties2KHR : return "DisplayProperties2KHR";
+ case StructureType::eDisplayPlaneProperties2KHR : return "DisplayPlaneProperties2KHR";
+ case StructureType::eDisplayModeProperties2KHR : return "DisplayModeProperties2KHR";
+ case StructureType::eDisplayPlaneInfo2KHR : return "DisplayPlaneInfo2KHR";
+ case StructureType::eDisplayPlaneCapabilities2KHR : return "DisplayPlaneCapabilities2KHR";
+ case StructureType::eIosSurfaceCreateInfoMVK : return "IosSurfaceCreateInfoMVK";
+ case StructureType::eMacosSurfaceCreateInfoMVK : return "MacosSurfaceCreateInfoMVK";
+ case StructureType::eDebugUtilsObjectNameInfoEXT : return "DebugUtilsObjectNameInfoEXT";
+ case StructureType::eDebugUtilsObjectTagInfoEXT : return "DebugUtilsObjectTagInfoEXT";
+ case StructureType::eDebugUtilsLabelEXT : return "DebugUtilsLabelEXT";
+ case StructureType::eDebugUtilsMessengerCallbackDataEXT : return "DebugUtilsMessengerCallbackDataEXT";
+ case StructureType::eDebugUtilsMessengerCreateInfoEXT : return "DebugUtilsMessengerCreateInfoEXT";
+ case StructureType::eAndroidHardwareBufferUsageANDROID : return "AndroidHardwareBufferUsageANDROID";
+ case StructureType::eAndroidHardwareBufferPropertiesANDROID : return "AndroidHardwareBufferPropertiesANDROID";
+ case StructureType::eAndroidHardwareBufferFormatPropertiesANDROID : return "AndroidHardwareBufferFormatPropertiesANDROID";
+ case StructureType::eImportAndroidHardwareBufferInfoANDROID : return "ImportAndroidHardwareBufferInfoANDROID";
+ case StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID : return "MemoryGetAndroidHardwareBufferInfoANDROID";
+ case StructureType::eExternalFormatANDROID : return "ExternalFormatANDROID";
+ case StructureType::ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT : return "PhysicalDeviceSamplerFilterMinmaxPropertiesEXT";
+ case StructureType::eSamplerReductionModeCreateInfoEXT : return "SamplerReductionModeCreateInfoEXT";
+ case StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT : return "PhysicalDeviceInlineUniformBlockFeaturesEXT";
+ case StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT : return "PhysicalDeviceInlineUniformBlockPropertiesEXT";
+ case StructureType::eWriteDescriptorSetInlineUniformBlockEXT : return "WriteDescriptorSetInlineUniformBlockEXT";
+ case StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT : return "DescriptorPoolInlineUniformBlockCreateInfoEXT";
+ case StructureType::eSampleLocationsInfoEXT : return "SampleLocationsInfoEXT";
+ case StructureType::eRenderPassSampleLocationsBeginInfoEXT : return "RenderPassSampleLocationsBeginInfoEXT";
+ case StructureType::ePipelineSampleLocationsStateCreateInfoEXT : return "PipelineSampleLocationsStateCreateInfoEXT";
+ case StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT : return "PhysicalDeviceSampleLocationsPropertiesEXT";
+ case StructureType::eMultisamplePropertiesEXT : return "MultisamplePropertiesEXT";
+ case StructureType::eImageFormatListCreateInfoKHR : return "ImageFormatListCreateInfoKHR";
+ case StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT : return "PhysicalDeviceBlendOperationAdvancedFeaturesEXT";
+ case StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT : return "PhysicalDeviceBlendOperationAdvancedPropertiesEXT";
+ case StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT : return "PipelineColorBlendAdvancedStateCreateInfoEXT";
+ case StructureType::ePipelineCoverageToColorStateCreateInfoNV : return "PipelineCoverageToColorStateCreateInfoNV";
+ case StructureType::ePipelineCoverageModulationStateCreateInfoNV : return "PipelineCoverageModulationStateCreateInfoNV";
+ case StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV : return "PhysicalDeviceShaderSmBuiltinsFeaturesNV";
+ case StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV : return "PhysicalDeviceShaderSmBuiltinsPropertiesNV";
+ case StructureType::eDrmFormatModifierPropertiesListEXT : return "DrmFormatModifierPropertiesListEXT";
+ case StructureType::eDrmFormatModifierPropertiesEXT : return "DrmFormatModifierPropertiesEXT";
+ case StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT : return "PhysicalDeviceImageDrmFormatModifierInfoEXT";
+ case StructureType::eImageDrmFormatModifierListCreateInfoEXT : return "ImageDrmFormatModifierListCreateInfoEXT";
+ case StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT : return "ImageDrmFormatModifierExplicitCreateInfoEXT";
+ case StructureType::eImageDrmFormatModifierPropertiesEXT : return "ImageDrmFormatModifierPropertiesEXT";
+ case StructureType::eValidationCacheCreateInfoEXT : return "ValidationCacheCreateInfoEXT";
+ case StructureType::eShaderModuleValidationCacheCreateInfoEXT : return "ShaderModuleValidationCacheCreateInfoEXT";
+ case StructureType::eDescriptorSetLayoutBindingFlagsCreateInfoEXT : return "DescriptorSetLayoutBindingFlagsCreateInfoEXT";
+ case StructureType::ePhysicalDeviceDescriptorIndexingFeaturesEXT : return "PhysicalDeviceDescriptorIndexingFeaturesEXT";
+ case StructureType::ePhysicalDeviceDescriptorIndexingPropertiesEXT : return "PhysicalDeviceDescriptorIndexingPropertiesEXT";
+ case StructureType::eDescriptorSetVariableDescriptorCountAllocateInfoEXT : return "DescriptorSetVariableDescriptorCountAllocateInfoEXT";
+ case StructureType::eDescriptorSetVariableDescriptorCountLayoutSupportEXT : return "DescriptorSetVariableDescriptorCountLayoutSupportEXT";
+ case StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV : return "PipelineViewportShadingRateImageStateCreateInfoNV";
+ case StructureType::ePhysicalDeviceShadingRateImageFeaturesNV : return "PhysicalDeviceShadingRateImageFeaturesNV";
+ case StructureType::ePhysicalDeviceShadingRateImagePropertiesNV : return "PhysicalDeviceShadingRateImagePropertiesNV";
+ case StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV : return "PipelineViewportCoarseSampleOrderStateCreateInfoNV";
+ case StructureType::eRayTracingPipelineCreateInfoNV : return "RayTracingPipelineCreateInfoNV";
+ case StructureType::eAccelerationStructureCreateInfoNV : return "AccelerationStructureCreateInfoNV";
+ case StructureType::eGeometryNV : return "GeometryNV";
+ case StructureType::eGeometryTrianglesNV : return "GeometryTrianglesNV";
+ case StructureType::eGeometryAabbNV : return "GeometryAabbNV";
+ case StructureType::eBindAccelerationStructureMemoryInfoNV : return "BindAccelerationStructureMemoryInfoNV";
+ case StructureType::eWriteDescriptorSetAccelerationStructureNV : return "WriteDescriptorSetAccelerationStructureNV";
+ case StructureType::eAccelerationStructureMemoryRequirementsInfoNV : return "AccelerationStructureMemoryRequirementsInfoNV";
+ case StructureType::ePhysicalDeviceRayTracingPropertiesNV : return "PhysicalDeviceRayTracingPropertiesNV";
+ case StructureType::eRayTracingShaderGroupCreateInfoNV : return "RayTracingShaderGroupCreateInfoNV";
+ case StructureType::eAccelerationStructureInfoNV : return "AccelerationStructureInfoNV";
+ case StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV : return "PhysicalDeviceRepresentativeFragmentTestFeaturesNV";
+ case StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV : return "PipelineRepresentativeFragmentTestStateCreateInfoNV";
+ case StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT : return "PhysicalDeviceImageViewImageFormatInfoEXT";
+ case StructureType::eFilterCubicImageViewImageFormatPropertiesEXT : return "FilterCubicImageViewImageFormatPropertiesEXT";
+ case StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT : return "DeviceQueueGlobalPriorityCreateInfoEXT";
+ case StructureType::ePhysicalDevice8BitStorageFeaturesKHR : return "PhysicalDevice8BitStorageFeaturesKHR";
+ case StructureType::eImportMemoryHostPointerInfoEXT : return "ImportMemoryHostPointerInfoEXT";
+ case StructureType::eMemoryHostPointerPropertiesEXT : return "MemoryHostPointerPropertiesEXT";
+ case StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT : return "PhysicalDeviceExternalMemoryHostPropertiesEXT";
+ case StructureType::ePhysicalDeviceShaderAtomicInt64FeaturesKHR : return "PhysicalDeviceShaderAtomicInt64FeaturesKHR";
+ case StructureType::ePipelineCompilerControlCreateInfoAMD : return "PipelineCompilerControlCreateInfoAMD";
+ case StructureType::eCalibratedTimestampInfoEXT : return "CalibratedTimestampInfoEXT";
+ case StructureType::ePhysicalDeviceShaderCorePropertiesAMD : return "PhysicalDeviceShaderCorePropertiesAMD";
+ case StructureType::eDeviceMemoryOverallocationCreateInfoAMD : return "DeviceMemoryOverallocationCreateInfoAMD";
+ case StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT : return "PhysicalDeviceVertexAttributeDivisorPropertiesEXT";
+ case StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT : return "PipelineVertexInputDivisorStateCreateInfoEXT";
+ case StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT : return "PhysicalDeviceVertexAttributeDivisorFeaturesEXT";
+ case StructureType::ePresentFrameTokenGGP : return "PresentFrameTokenGGP";
+ case StructureType::ePipelineCreationFeedbackCreateInfoEXT : return "PipelineCreationFeedbackCreateInfoEXT";
+ case StructureType::ePhysicalDeviceDriverPropertiesKHR : return "PhysicalDeviceDriverPropertiesKHR";
+ case StructureType::ePhysicalDeviceFloatControlsPropertiesKHR : return "PhysicalDeviceFloatControlsPropertiesKHR";
+ case StructureType::ePhysicalDeviceDepthStencilResolvePropertiesKHR : return "PhysicalDeviceDepthStencilResolvePropertiesKHR";
+ case StructureType::eSubpassDescriptionDepthStencilResolveKHR : return "SubpassDescriptionDepthStencilResolveKHR";
+ case StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV : return "PhysicalDeviceComputeShaderDerivativesFeaturesNV";
+ case StructureType::ePhysicalDeviceMeshShaderFeaturesNV : return "PhysicalDeviceMeshShaderFeaturesNV";
+ case StructureType::ePhysicalDeviceMeshShaderPropertiesNV : return "PhysicalDeviceMeshShaderPropertiesNV";
+ case StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV : return "PhysicalDeviceFragmentShaderBarycentricFeaturesNV";
+ case StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV : return "PhysicalDeviceShaderImageFootprintFeaturesNV";
+ case StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV : return "PipelineViewportExclusiveScissorStateCreateInfoNV";
+ case StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV : return "PhysicalDeviceExclusiveScissorFeaturesNV";
+ case StructureType::eCheckpointDataNV : return "CheckpointDataNV";
+ case StructureType::eQueueFamilyCheckpointPropertiesNV : return "QueueFamilyCheckpointPropertiesNV";
+ case StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL : return "PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL";
+ case StructureType::eQueryPoolCreateInfoINTEL : return "QueryPoolCreateInfoINTEL";
+ case StructureType::eInitializePerformanceApiInfoINTEL : return "InitializePerformanceApiInfoINTEL";
+ case StructureType::ePerformanceMarkerInfoINTEL : return "PerformanceMarkerInfoINTEL";
+ case StructureType::ePerformanceStreamMarkerInfoINTEL : return "PerformanceStreamMarkerInfoINTEL";
+ case StructureType::ePerformanceOverrideInfoINTEL : return "PerformanceOverrideInfoINTEL";
+ case StructureType::ePerformanceConfigurationAcquireInfoINTEL : return "PerformanceConfigurationAcquireInfoINTEL";
+ case StructureType::ePhysicalDeviceVulkanMemoryModelFeaturesKHR : return "PhysicalDeviceVulkanMemoryModelFeaturesKHR";
+ case StructureType::ePhysicalDevicePciBusInfoPropertiesEXT : return "PhysicalDevicePciBusInfoPropertiesEXT";
+ case StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD : return "DisplayNativeHdrSurfaceCapabilitiesAMD";
+ case StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD : return "SwapchainDisplayNativeHdrCreateInfoAMD";
+ case StructureType::eImagepipeSurfaceCreateInfoFUCHSIA : return "ImagepipeSurfaceCreateInfoFUCHSIA";
+ case StructureType::eMetalSurfaceCreateInfoEXT : return "MetalSurfaceCreateInfoEXT";
+ case StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT : return "PhysicalDeviceFragmentDensityMapFeaturesEXT";
+ case StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT : return "PhysicalDeviceFragmentDensityMapPropertiesEXT";
+ case StructureType::eRenderPassFragmentDensityMapCreateInfoEXT : return "RenderPassFragmentDensityMapCreateInfoEXT";
+ case StructureType::ePhysicalDeviceScalarBlockLayoutFeaturesEXT : return "PhysicalDeviceScalarBlockLayoutFeaturesEXT";
+ case StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT : return "PhysicalDeviceSubgroupSizeControlPropertiesEXT";
+ case StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT : return "PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT";
+ case StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT : return "PhysicalDeviceSubgroupSizeControlFeaturesEXT";
+ case StructureType::ePhysicalDeviceShaderCoreProperties2AMD : return "PhysicalDeviceShaderCoreProperties2AMD";
+ case StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD : return "PhysicalDeviceCoherentMemoryFeaturesAMD";
+ case StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT : return "PhysicalDeviceMemoryBudgetPropertiesEXT";
+ case StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT : return "PhysicalDeviceMemoryPriorityFeaturesEXT";
+ case StructureType::eMemoryPriorityAllocateInfoEXT : return "MemoryPriorityAllocateInfoEXT";
+ case StructureType::eSurfaceProtectedCapabilitiesKHR : return "SurfaceProtectedCapabilitiesKHR";
+ case StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV : return "PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV";
+ case StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT : return "PhysicalDeviceBufferDeviceAddressFeaturesEXT";
+ case StructureType::eBufferDeviceAddressInfoEXT : return "BufferDeviceAddressInfoEXT";
+ case StructureType::eBufferDeviceAddressCreateInfoEXT : return "BufferDeviceAddressCreateInfoEXT";
+ case StructureType::eImageStencilUsageCreateInfoEXT : return "ImageStencilUsageCreateInfoEXT";
+ case StructureType::eValidationFeaturesEXT : return "ValidationFeaturesEXT";
+ case StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV : return "PhysicalDeviceCooperativeMatrixFeaturesNV";
+ case StructureType::eCooperativeMatrixPropertiesNV : return "CooperativeMatrixPropertiesNV";
+ case StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV : return "PhysicalDeviceCooperativeMatrixPropertiesNV";
+ case StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV : return "PhysicalDeviceCoverageReductionModeFeaturesNV";
+ case StructureType::ePipelineCoverageReductionStateCreateInfoNV : return "PipelineCoverageReductionStateCreateInfoNV";
+ case StructureType::eFramebufferMixedSamplesCombinationNV : return "FramebufferMixedSamplesCombinationNV";
+ case StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT : return "PhysicalDeviceFragmentShaderInterlockFeaturesEXT";
+ case StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT : return "PhysicalDeviceYcbcrImageArraysFeaturesEXT";
+ case StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR : return "PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR";
+ case StructureType::eSurfaceFullScreenExclusiveInfoEXT : return "SurfaceFullScreenExclusiveInfoEXT";
+ case StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT : return "SurfaceCapabilitiesFullScreenExclusiveEXT";
+ case StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT : return "SurfaceFullScreenExclusiveWin32InfoEXT";
+ case StructureType::eHeadlessSurfaceCreateInfoEXT : return "HeadlessSurfaceCreateInfoEXT";
+ case StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT : return "PhysicalDeviceLineRasterizationFeaturesEXT";
+ case StructureType::ePipelineRasterizationLineStateCreateInfoEXT : return "PipelineRasterizationLineStateCreateInfoEXT";
+ case StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT : return "PhysicalDeviceLineRasterizationPropertiesEXT";
+ case StructureType::ePhysicalDeviceHostQueryResetFeaturesEXT : return "PhysicalDeviceHostQueryResetFeaturesEXT";
+ case StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT : return "PhysicalDeviceIndexTypeUint8FeaturesEXT";
+ case StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR : return "PhysicalDevicePipelineExecutablePropertiesFeaturesKHR";
+ case StructureType::ePipelineInfoKHR : return "PipelineInfoKHR";
+ case StructureType::ePipelineExecutablePropertiesKHR : return "PipelineExecutablePropertiesKHR";
+ case StructureType::ePipelineExecutableInfoKHR : return "PipelineExecutableInfoKHR";
+ case StructureType::ePipelineExecutableStatisticKHR : return "PipelineExecutableStatisticKHR";
+ case StructureType::ePipelineExecutableInternalRepresentationKHR : return "PipelineExecutableInternalRepresentationKHR";
+ case StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT : return "PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT";
+ case StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT : return "PhysicalDeviceTexelBufferAlignmentFeaturesEXT";
+ case StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT : return "PhysicalDeviceTexelBufferAlignmentPropertiesEXT";
+ default: return "invalid";
+ }
+ }
+
+ enum class SubpassContents
+ {
+ eInline = VK_SUBPASS_CONTENTS_INLINE,
+ eSecondaryCommandBuffers = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( SubpassContents value )
+ {
+ switch ( value )
+ {
+ case SubpassContents::eInline : return "Inline";
+ case SubpassContents::eSecondaryCommandBuffers : return "SecondaryCommandBuffers";
+ default: return "invalid";
+ }
+ }
+
+ enum class SystemAllocationScope
+ {
+ eCommand = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
+ eObject = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,
+ eCache = VK_SYSTEM_ALLOCATION_SCOPE_CACHE,
+ eDevice = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,
+ eInstance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( SystemAllocationScope value )
+ {
+ switch ( value )
+ {
+ case SystemAllocationScope::eCommand : return "Command";
+ case SystemAllocationScope::eObject : return "Object";
+ case SystemAllocationScope::eCache : return "Cache";
+ case SystemAllocationScope::eDevice : return "Device";
+ case SystemAllocationScope::eInstance : return "Instance";
+ default: return "invalid";
+ }
+ }
+
+ enum class TessellationDomainOrigin
+ {
+ eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
+ eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
+ eUpperLeftKHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR,
+ eLowerLeftKHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( TessellationDomainOrigin value )
+ {
+ switch ( value )
+ {
+ case TessellationDomainOrigin::eUpperLeft : return "UpperLeft";
+ case TessellationDomainOrigin::eLowerLeft : return "LowerLeft";
+ default: return "invalid";
+ }
+ }
+
+ enum class TimeDomainEXT
+ {
+ eDevice = VK_TIME_DOMAIN_DEVICE_EXT,
+ eClockMonotonic = VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT,
+ eClockMonotonicRaw = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT,
+ eQueryPerformanceCounter = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( TimeDomainEXT value )
+ {
+ switch ( value )
+ {
+ case TimeDomainEXT::eDevice : return "Device";
+ case TimeDomainEXT::eClockMonotonic : return "ClockMonotonic";
+ case TimeDomainEXT::eClockMonotonicRaw : return "ClockMonotonicRaw";
+ case TimeDomainEXT::eQueryPerformanceCounter : return "QueryPerformanceCounter";
+ default: return "invalid";
+ }
+ }
+
+ enum class ValidationCacheHeaderVersionEXT
+ {
+ eOne = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ValidationCacheHeaderVersionEXT value )
+ {
+ switch ( value )
+ {
+ case ValidationCacheHeaderVersionEXT::eOne : return "One";
+ default: return "invalid";
+ }
+ }
+
+ enum class ValidationCheckEXT
+ {
+ eAll = VK_VALIDATION_CHECK_ALL_EXT,
+ eShaders = VK_VALIDATION_CHECK_SHADERS_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ValidationCheckEXT value )
+ {
+ switch ( value )
+ {
+ case ValidationCheckEXT::eAll : return "All";
+ case ValidationCheckEXT::eShaders : return "Shaders";
+ default: return "invalid";
+ }
+ }
+
+ enum class ValidationFeatureDisableEXT
+ {
+ eAll = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
+ eShaders = VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT,
+ eThreadSafety = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,
+ eApiParameters = VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT,
+ eObjectLifetimes = VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT,
+ eCoreChecks = VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT,
+ eUniqueHandles = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ValidationFeatureDisableEXT value )
+ {
+ switch ( value )
+ {
+ case ValidationFeatureDisableEXT::eAll : return "All";
+ case ValidationFeatureDisableEXT::eShaders : return "Shaders";
+ case ValidationFeatureDisableEXT::eThreadSafety : return "ThreadSafety";
+ case ValidationFeatureDisableEXT::eApiParameters : return "ApiParameters";
+ case ValidationFeatureDisableEXT::eObjectLifetimes : return "ObjectLifetimes";
+ case ValidationFeatureDisableEXT::eCoreChecks : return "CoreChecks";
+ case ValidationFeatureDisableEXT::eUniqueHandles : return "UniqueHandles";
+ default: return "invalid";
+ }
+ }
+
+ enum class ValidationFeatureEnableEXT
+ {
+ eGpuAssisted = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
+ eGpuAssistedReserveBindingSlot = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
+ eBestPractices = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ValidationFeatureEnableEXT value )
+ {
+ switch ( value )
+ {
+ case ValidationFeatureEnableEXT::eGpuAssisted : return "GpuAssisted";
+ case ValidationFeatureEnableEXT::eGpuAssistedReserveBindingSlot : return "GpuAssistedReserveBindingSlot";
+ case ValidationFeatureEnableEXT::eBestPractices : return "BestPractices";
+ default: return "invalid";
+ }
+ }
+
+ enum class VendorId
+ {
+ eVIV = VK_VENDOR_ID_VIV,
+ eVSI = VK_VENDOR_ID_VSI,
+ eKazan = VK_VENDOR_ID_KAZAN
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( VendorId value )
+ {
+ switch ( value )
+ {
+ case VendorId::eVIV : return "VIV";
+ case VendorId::eVSI : return "VSI";
+ case VendorId::eKazan : return "Kazan";
+ default: return "invalid";
+ }
+ }
+
+ enum class VertexInputRate
+ {
+ eVertex = VK_VERTEX_INPUT_RATE_VERTEX,
+ eInstance = VK_VERTEX_INPUT_RATE_INSTANCE
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( VertexInputRate value )
+ {
+ switch ( value )
+ {
+ case VertexInputRate::eVertex : return "Vertex";
+ case VertexInputRate::eInstance : return "Instance";
+ default: return "invalid";
+ }
+ }
+
+ enum class ViewportCoordinateSwizzleNV
+ {
+ ePositiveX = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
+ eNegativeX = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
+ ePositiveY = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
+ eNegativeY = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
+ ePositiveZ = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
+ eNegativeZ = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
+ ePositiveW = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
+ eNegativeW = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( ViewportCoordinateSwizzleNV value )
+ {
+ switch ( value )
+ {
+ case ViewportCoordinateSwizzleNV::ePositiveX : return "PositiveX";
+ case ViewportCoordinateSwizzleNV::eNegativeX : return "NegativeX";
+ case ViewportCoordinateSwizzleNV::ePositiveY : return "PositiveY";
+ case ViewportCoordinateSwizzleNV::eNegativeY : return "NegativeY";
+ case ViewportCoordinateSwizzleNV::ePositiveZ : return "PositiveZ";
+ case ViewportCoordinateSwizzleNV::eNegativeZ : return "NegativeZ";
+ case ViewportCoordinateSwizzleNV::ePositiveW : return "PositiveW";
+ case ViewportCoordinateSwizzleNV::eNegativeW : return "NegativeW";
+ default: return "invalid";
+ }
+ }
+
+ template
+ struct cpp_type
+ {
+ };
+
+ enum class AccessFlagBits
+ {
+ eIndirectCommandRead = VK_ACCESS_INDIRECT_COMMAND_READ_BIT,
+ eIndexRead = VK_ACCESS_INDEX_READ_BIT,
+ eVertexAttributeRead = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
+ eUniformRead = VK_ACCESS_UNIFORM_READ_BIT,
+ eInputAttachmentRead = VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,
+ eShaderRead = VK_ACCESS_SHADER_READ_BIT,
+ eShaderWrite = VK_ACCESS_SHADER_WRITE_BIT,
+ eColorAttachmentRead = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,
+ eColorAttachmentWrite = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
+ eDepthStencilAttachmentRead = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
+ eDepthStencilAttachmentWrite = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
+ eTransferRead = VK_ACCESS_TRANSFER_READ_BIT,
+ eTransferWrite = VK_ACCESS_TRANSFER_WRITE_BIT,
+ eHostRead = VK_ACCESS_HOST_READ_BIT,
+ eHostWrite = VK_ACCESS_HOST_WRITE_BIT,
+ eMemoryRead = VK_ACCESS_MEMORY_READ_BIT,
+ eMemoryWrite = VK_ACCESS_MEMORY_WRITE_BIT,
+ eTransformFeedbackWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,
+ eTransformFeedbackCounterReadEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,
+ eTransformFeedbackCounterWriteEXT = VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,
+ eConditionalRenderingReadEXT = VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,
+ eCommandProcessReadNVX = VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX,
+ eCommandProcessWriteNVX = VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX,
+ eColorAttachmentReadNoncoherentEXT = VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
+ eShadingRateImageReadNV = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
+ eAccelerationStructureReadNV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,
+ eAccelerationStructureWriteNV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV,
+ eFragmentDensityMapReadEXT = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( AccessFlagBits value )
+ {
+ switch ( value )
+ {
+ case AccessFlagBits::eIndirectCommandRead : return "IndirectCommandRead";
+ case AccessFlagBits::eIndexRead : return "IndexRead";
+ case AccessFlagBits::eVertexAttributeRead : return "VertexAttributeRead";
+ case AccessFlagBits::eUniformRead : return "UniformRead";
+ case AccessFlagBits::eInputAttachmentRead : return "InputAttachmentRead";
+ case AccessFlagBits::eShaderRead : return "ShaderRead";
+ case AccessFlagBits::eShaderWrite : return "ShaderWrite";
+ case AccessFlagBits::eColorAttachmentRead : return "ColorAttachmentRead";
+ case AccessFlagBits::eColorAttachmentWrite : return "ColorAttachmentWrite";
+ case AccessFlagBits::eDepthStencilAttachmentRead : return "DepthStencilAttachmentRead";
+ case AccessFlagBits::eDepthStencilAttachmentWrite : return "DepthStencilAttachmentWrite";
+ case AccessFlagBits::eTransferRead : return "TransferRead";
+ case AccessFlagBits::eTransferWrite : return "TransferWrite";
+ case AccessFlagBits::eHostRead : return "HostRead";
+ case AccessFlagBits::eHostWrite : return "HostWrite";
+ case AccessFlagBits::eMemoryRead : return "MemoryRead";
+ case AccessFlagBits::eMemoryWrite : return "MemoryWrite";
+ case AccessFlagBits::eTransformFeedbackWriteEXT : return "TransformFeedbackWriteEXT";
+ case AccessFlagBits::eTransformFeedbackCounterReadEXT : return "TransformFeedbackCounterReadEXT";
+ case AccessFlagBits::eTransformFeedbackCounterWriteEXT : return "TransformFeedbackCounterWriteEXT";
+ case AccessFlagBits::eConditionalRenderingReadEXT : return "ConditionalRenderingReadEXT";
+ case AccessFlagBits::eCommandProcessReadNVX : return "CommandProcessReadNVX";
+ case AccessFlagBits::eCommandProcessWriteNVX : return "CommandProcessWriteNVX";
+ case AccessFlagBits::eColorAttachmentReadNoncoherentEXT : return "ColorAttachmentReadNoncoherentEXT";
+ case AccessFlagBits::eShadingRateImageReadNV : return "ShadingRateImageReadNV";
+ case AccessFlagBits::eAccelerationStructureReadNV : return "AccelerationStructureReadNV";
+ case AccessFlagBits::eAccelerationStructureWriteNV : return "AccelerationStructureWriteNV";
+ case AccessFlagBits::eFragmentDensityMapReadEXT : return "FragmentDensityMapReadEXT";
+ default: return "invalid";
+ }
+ }
+
+ using AccessFlags = Flags;
+
+ VULKAN_HPP_INLINE AccessFlags operator|( AccessFlagBits bit0, AccessFlagBits bit1 )
+ {
+ return AccessFlags( bit0 ) | bit1;
+ }
+
+ VULKAN_HPP_INLINE AccessFlags operator~( AccessFlagBits bits )
+ {
+ return ~( AccessFlags( bits ) );
+ }
+
+ template <> struct FlagTraits
+ {
+ enum
+ {
+ allFlags = VkFlags(AccessFlagBits::eIndirectCommandRead) | VkFlags(AccessFlagBits::eIndexRead) | VkFlags(AccessFlagBits::eVertexAttributeRead) | VkFlags(AccessFlagBits::eUniformRead) | VkFlags(AccessFlagBits::eInputAttachmentRead) | VkFlags(AccessFlagBits::eShaderRead) | VkFlags(AccessFlagBits::eShaderWrite) | VkFlags(AccessFlagBits::eColorAttachmentRead) | VkFlags(AccessFlagBits::eColorAttachmentWrite) | VkFlags(AccessFlagBits::eDepthStencilAttachmentRead) | VkFlags(AccessFlagBits::eDepthStencilAttachmentWrite) | VkFlags(AccessFlagBits::eTransferRead) | VkFlags(AccessFlagBits::eTransferWrite) | VkFlags(AccessFlagBits::eHostRead) | VkFlags(AccessFlagBits::eHostWrite) | VkFlags(AccessFlagBits::eMemoryRead) | VkFlags(AccessFlagBits::eMemoryWrite) | VkFlags(AccessFlagBits::eTransformFeedbackWriteEXT) | VkFlags(AccessFlagBits::eTransformFeedbackCounterReadEXT) | VkFlags(AccessFlagBits::eTransformFeedbackCounterWriteEXT) | VkFlags(AccessFlagBits::eConditionalRenderingReadEXT) | VkFlags(AccessFlagBits::eCommandProcessReadNVX) | VkFlags(AccessFlagBits::eCommandProcessWriteNVX) | VkFlags(AccessFlagBits::eColorAttachmentReadNoncoherentEXT) | VkFlags(AccessFlagBits::eShadingRateImageReadNV) | VkFlags(AccessFlagBits::eAccelerationStructureReadNV) | VkFlags(AccessFlagBits::eAccelerationStructureWriteNV) | VkFlags(AccessFlagBits::eFragmentDensityMapReadEXT)
+ };
+ };
+
+ VULKAN_HPP_INLINE std::string to_string( AccessFlags value )
+ {
+ if ( !value ) return "{}";
+ std::string result;
+
+ if ( value & AccessFlagBits::eIndirectCommandRead ) result += "IndirectCommandRead | ";
+ if ( value & AccessFlagBits::eIndexRead ) result += "IndexRead | ";
+ if ( value & AccessFlagBits::eVertexAttributeRead ) result += "VertexAttributeRead | ";
+ if ( value & AccessFlagBits::eUniformRead ) result += "UniformRead | ";
+ if ( value & AccessFlagBits::eInputAttachmentRead ) result += "InputAttachmentRead | ";
+ if ( value & AccessFlagBits::eShaderRead ) result += "ShaderRead | ";
+ if ( value & AccessFlagBits::eShaderWrite ) result += "ShaderWrite | ";
+ if ( value & AccessFlagBits::eColorAttachmentRead ) result += "ColorAttachmentRead | ";
+ if ( value & AccessFlagBits::eColorAttachmentWrite ) result += "ColorAttachmentWrite | ";
+ if ( value & AccessFlagBits::eDepthStencilAttachmentRead ) result += "DepthStencilAttachmentRead | ";
+ if ( value & AccessFlagBits::eDepthStencilAttachmentWrite ) result += "DepthStencilAttachmentWrite | ";
+ if ( value & AccessFlagBits::eTransferRead ) result += "TransferRead | ";
+ if ( value & AccessFlagBits::eTransferWrite ) result += "TransferWrite | ";
+ if ( value & AccessFlagBits::eHostRead ) result += "HostRead | ";
+ if ( value & AccessFlagBits::eHostWrite ) result += "HostWrite | ";
+ if ( value & AccessFlagBits::eMemoryRead ) result += "MemoryRead | ";
+ if ( value & AccessFlagBits::eMemoryWrite ) result += "MemoryWrite | ";
+ if ( value & AccessFlagBits::eTransformFeedbackWriteEXT ) result += "TransformFeedbackWriteEXT | ";
+ if ( value & AccessFlagBits::eTransformFeedbackCounterReadEXT ) result += "TransformFeedbackCounterReadEXT | ";
+ if ( value & AccessFlagBits::eTransformFeedbackCounterWriteEXT ) result += "TransformFeedbackCounterWriteEXT | ";
+ if ( value & AccessFlagBits::eConditionalRenderingReadEXT ) result += "ConditionalRenderingReadEXT | ";
+ if ( value & AccessFlagBits::eCommandProcessReadNVX ) result += "CommandProcessReadNVX | ";
+ if ( value & AccessFlagBits::eCommandProcessWriteNVX ) result += "CommandProcessWriteNVX | ";
+ if ( value & AccessFlagBits::eColorAttachmentReadNoncoherentEXT ) result += "ColorAttachmentReadNoncoherentEXT | ";
+ if ( value & AccessFlagBits::eShadingRateImageReadNV ) result += "ShadingRateImageReadNV | ";
+ if ( value & AccessFlagBits::eAccelerationStructureReadNV ) result += "AccelerationStructureReadNV | ";
+ if ( value & AccessFlagBits::eAccelerationStructureWriteNV ) result += "AccelerationStructureWriteNV | ";
+ if ( value & AccessFlagBits::eFragmentDensityMapReadEXT ) result += "FragmentDensityMapReadEXT | ";
+ return "{ " + result.substr(0, result.size() - 3) + " }";
+ }
+
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+ enum class AndroidSurfaceCreateFlagBitsKHR
+ {};
+
+ VULKAN_HPP_INLINE std::string to_string( AndroidSurfaceCreateFlagBitsKHR )
+ {
+ return "(void)";
+ }
+
+ using AndroidSurfaceCreateFlagsKHR = Flags