early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -0,0 +1,26 @@
diff --git a/SDL2_gfxPrimitives.c b/SDL2_gfxPrimitives.c
index f81e6da..91817fd 100755
--- a/SDL2_gfxPrimitives.c
+++ b/SDL2_gfxPrimitives.c
@@ -1771,8 +1771,20 @@ __declspec(naked) long int
__emit(0xE12FFF1E); // bx lr
}
#pragma warning(pop)
+#elif defined(_M_ARM64)
+#include <intrin.h>
+#pragma warning(push)
+#pragma warning(disable: 4716)
+__declspec(naked) long
+ lrint (double f)
+{
+ __emit(0x1e674000); // frintx d0, d0
+ __emit(0x9e780000); // fcvtzs x0, d0
+ __emit(0xd65f03c0); // ret
+}
+#pragma warning(pop)
#else
-#error lrint needed for MSVC on non X86/AMD64/ARM targets.
+#error lrint needed for MSVC on non X86/AMD64/ARM/ARM64 targets.
#endif
#endif

View File

@@ -0,0 +1,14 @@
diff --git a/SDL2_gfxPrimitives.c b/SDL2_gfxPrimitives.c
index d8afb10..6c88288 100644
--- a/SDL2_gfxPrimitives.c
+++ b/SDL2_gfxPrimitives.c
@@ -1757,7 +1757,8 @@ int filledCircleRGBA(SDL_Renderer * renderer, Sint16 x, Sint16 y, Sint16 rad, Ui
/* ----- AA Ellipse */
/* Windows targets do not have lrint, so provide a local inline version */
-#if defined(_MSC_VER)
+/* MSVC pre 16.8 do not have lrint */
+#if defined(_MSC_VER) && _MSC_VER < 1928
/* Detect 64bit and use intrinsic version */
#ifdef _M_X64
#include <emmintrin.h>

53
externals/vcpkg/ports/sdl2-gfx/CMakeLists.txt vendored Executable file
View File

@@ -0,0 +1,53 @@
cmake_minimum_required(VERSION 3.0)
project(SDL2_gfx VERSION 1.0.4 LANGUAGES C)
set(CONFIG_NAME "sdl2-gfx")
find_path(SDL_INCLUDE_DIR SDL2/SDL.h)
find_package(SDL2 CONFIG REQUIRED)
# builtin formats
set(SDL_GFX_DEFINES WIN32)
if(BUILD_SHARED_LIBS)
list(APPEND SDL_GFX_DEFINES DLL_EXPORT)
endif()
add_library(${PROJECT_NAME}
SDL2_framerate.c
SDL2_gfxPrimitives.c
SDL2_imageFilter.c
SDL2_rotozoom.c)
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include>
$<INSTALL_INTERFACE:include/SDL2>
)
if(WIN32)
add_compile_definitions(${SDL_GFX_DEFINES})
endif()
target_include_directories(${PROJECT_NAME} PRIVATE ${SDL_INCLUDE_DIR}/SDL2)
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2)
install(TARGETS ${PROJECT_NAME}
EXPORT ${PROJECT_NAME}
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
install(EXPORT ${PROJECT_NAME}
FILE ${CONFIG_NAME}-targets.cmake
NAMESPACE SDL2::
DESTINATION share/${CONFIG_NAME}/
)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}-config.cmake
"include(CMakeFindDependencyMacro)
find_dependency(SDL2 CONFIG)
include(\${CMAKE_CURRENT_LIST_DIR}/${CONFIG_NAME}-targets.cmake)"
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}-config.cmake DESTINATION share/${CONFIG_NAME})
if(NOT SDL_GFX_SKIP_HEADERS)
install(FILES SDL2_framerate.h SDL2_gfxPrimitives.h SDL2_imageFilter.h SDL2_rotozoom.h SDL2_gfxPrimitives_font.h DESTINATION include/SDL2)
endif()

32
externals/vcpkg/ports/sdl2-gfx/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,32 @@
set(VERSION 1.0.4)
vcpkg_download_distfile(ARCHIVE
URLS "http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-${VERSION}.zip"
FILENAME "SDL2_gfx-${VERSION}.zip"
SHA512 213b481469ba2161bd8558a7a5427b129420193b1c3895923d515f69f87991ed2c99bbc44349c60b4bcbb7d7d2255c1f15ee8a3523c26502070cfaacccaa5242
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${VERSION}
PATCHES
001-lrint-arm64.patch
002-use-the-lrintf-intrinsic.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS_DEBUG -DSDL_GFX_SKIP_HEADERS=1
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets()
# Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_copy_pdbs()

9
externals/vcpkg/ports/sdl2-gfx/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,9 @@
{
"name": "sdl2-gfx",
"version-string": "1.0.4",
"port-version": 8,
"description": "Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer.",
"dependencies": [
"sdl2"
]
}