mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-04-21 15:55:34 +02:00
Fixed ISO C99 compatibility
SDL now builds with gcc 7.2 with the following command line options: -Wall -pedantic-errors -Wno-deprecated-declarations -Wno-overlength-strings --std=c99
This commit is contained in:
@@ -82,7 +82,7 @@ SDL_SoftBlit(SDL_Surface * src, SDL_Rect * srcrect,
|
||||
info->dst_pitch = dst->pitch;
|
||||
info->dst_skip =
|
||||
info->dst_pitch - info->dst_w * info->dst_fmt->BytesPerPixel;
|
||||
RunBlit = (SDL_BlitFunc) src->map->data;
|
||||
*(void**)&RunBlit = src->map->data;
|
||||
|
||||
/* Run the actual software blit */
|
||||
RunBlit(info);
|
||||
@@ -282,7 +282,7 @@ SDL_CalculateBlit(SDL_Surface * surface)
|
||||
blit = SDL_Blit_Slow;
|
||||
}
|
||||
}
|
||||
map->data = blit;
|
||||
*(SDL_BlitFunc *)&map->data = blit;
|
||||
|
||||
/* Make sure we have a blit function */
|
||||
if (blit == NULL) {
|
||||
|
||||
@@ -87,7 +87,7 @@ static const char g_rpi_opt_path[] = "/opt/vc/lib";
|
||||
_this->egl_data->NAME = (void *)NAME;
|
||||
#else
|
||||
#define LOAD_FUNC(NAME) \
|
||||
_this->egl_data->NAME = SDL_LoadFunction(_this->egl_data->dll_handle, #NAME); \
|
||||
*(void**)&_this->egl_data->NAME = SDL_LoadFunction(_this->egl_data->dll_handle, #NAME); \
|
||||
if (!_this->egl_data->NAME) \
|
||||
{ \
|
||||
return SDL_SetError("Could not retrieve EGL function " #NAME); \
|
||||
@@ -432,7 +432,7 @@ SDL_EGL_LoadLibrary(_THIS, const char *egl_path, NativeDisplayType native_displa
|
||||
_this->egl_data->egl_display = _this->egl_data->eglGetPlatformDisplay(platform, (void *)(size_t)native_display, NULL);
|
||||
} else {
|
||||
if (SDL_EGL_HasExtension(_this, SDL_EGL_CLIENT_EXTENSION, "EGL_EXT_platform_base")) {
|
||||
_this->egl_data->eglGetPlatformDisplayEXT = SDL_EGL_GetProcAddress(_this, "eglGetPlatformDisplayEXT");
|
||||
*(void**)&_this->egl_data->eglGetPlatformDisplayEXT = SDL_EGL_GetProcAddress(_this, "eglGetPlatformDisplayEXT");
|
||||
if (_this->egl_data->eglGetPlatformDisplayEXT) {
|
||||
_this->egl_data->egl_display = _this->egl_data->eglGetPlatformDisplayEXT(platform, (void *)(size_t)native_display, NULL);
|
||||
}
|
||||
|
||||
@@ -365,8 +365,8 @@ struct SDL_VideoDevice
|
||||
/* Data used by the Vulkan drivers */
|
||||
struct
|
||||
{
|
||||
void *vkGetInstanceProcAddr;
|
||||
void *vkEnumerateInstanceExtensionProperties;
|
||||
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
|
||||
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
|
||||
int loader_loaded;
|
||||
char loader_path[256];
|
||||
void *loader_handle;
|
||||
|
||||
@@ -224,7 +224,7 @@ ShouldUseTextureFramebuffer()
|
||||
const GLubyte *(APIENTRY * glGetStringFunc) (GLenum);
|
||||
const char *vendor = NULL;
|
||||
|
||||
glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
|
||||
*(void**)&glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
|
||||
if (glGetStringFunc) {
|
||||
vendor = (const char *) glGetStringFunc(GL_VENDOR);
|
||||
}
|
||||
@@ -2870,7 +2870,7 @@ SDL_GL_ExtensionSupported(const char *extension)
|
||||
|
||||
/* Lookup the available extensions */
|
||||
|
||||
glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
|
||||
*(void**)&glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
|
||||
if (!glGetStringFunc) {
|
||||
return SDL_FALSE;
|
||||
}
|
||||
@@ -2881,8 +2881,8 @@ SDL_GL_ExtensionSupported(const char *extension)
|
||||
GLint num_exts = 0;
|
||||
GLint i;
|
||||
|
||||
glGetStringiFunc = SDL_GL_GetProcAddress("glGetStringi");
|
||||
glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
|
||||
*(void**)&glGetStringiFunc = SDL_GL_GetProcAddress("glGetStringi");
|
||||
*(void**)&glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
|
||||
if ((!glGetStringiFunc) || (!glGetIntegervFunc)) {
|
||||
return SDL_FALSE;
|
||||
}
|
||||
@@ -3342,13 +3342,13 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
|
||||
}
|
||||
|
||||
#if SDL_VIDEO_OPENGL
|
||||
glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
|
||||
*(void**)&glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
|
||||
if (!glGetStringFunc) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (attachmentattrib && isAtLeastGL3((const char *) glGetStringFunc(GL_VERSION))) {
|
||||
glGetFramebufferAttachmentParameterivFunc = SDL_GL_GetProcAddress("glGetFramebufferAttachmentParameteriv");
|
||||
*(void**)&glGetFramebufferAttachmentParameterivFunc = SDL_GL_GetProcAddress("glGetFramebufferAttachmentParameteriv");
|
||||
|
||||
if (glGetFramebufferAttachmentParameterivFunc) {
|
||||
glGetFramebufferAttachmentParameterivFunc(GL_FRAMEBUFFER, attachment, attachmentattrib, (GLint *) value);
|
||||
@@ -3359,7 +3359,7 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
|
||||
#endif
|
||||
{
|
||||
void (APIENTRY *glGetIntegervFunc) (GLenum pname, GLint * params);
|
||||
glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
|
||||
*(void**)&glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
|
||||
if (glGetIntegervFunc) {
|
||||
glGetIntegervFunc(attrib, (GLint *) value);
|
||||
} else {
|
||||
@@ -3367,7 +3367,7 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
|
||||
}
|
||||
}
|
||||
|
||||
glGetErrorFunc = SDL_GL_GetProcAddress("glGetError");
|
||||
*(void**)&glGetErrorFunc = SDL_GL_GetProcAddress("glGetError");
|
||||
if (!glGetErrorFunc) {
|
||||
return -1;
|
||||
}
|
||||
@@ -3995,14 +3995,17 @@ int SDL_Vulkan_LoadLibrary(const char *path)
|
||||
|
||||
void *SDL_Vulkan_GetVkGetInstanceProcAddr(void)
|
||||
{
|
||||
void *func = NULL;
|
||||
if (!_this) {
|
||||
SDL_UninitializedVideo();
|
||||
return NULL;
|
||||
}
|
||||
if (!_this->vulkan_config.loader_loaded) {
|
||||
SDL_SetError("No Vulkan loader has been loaded");
|
||||
return NULL;
|
||||
}
|
||||
return _this->vulkan_config.vkGetInstanceProcAddr;
|
||||
*(PFN_vkGetInstanceProcAddr*)&func = _this->vulkan_config.vkGetInstanceProcAddr;
|
||||
return func;
|
||||
}
|
||||
|
||||
void SDL_Vulkan_UnloadLibrary(void)
|
||||
|
||||
@@ -81,6 +81,9 @@ extern SDL_bool SDL_Vulkan_GetInstanceExtensions_Helper(unsigned *userCount,
|
||||
/* No SDL Vulkan support, just include the header for typedefs */
|
||||
#include "SDL_vulkan.h"
|
||||
|
||||
typedef void* PFN_vkGetInstanceProcAddr;
|
||||
typedef void* PFN_vkEnumerateInstanceExtensionProperties;
|
||||
|
||||
#endif /* SDL_VIDEO_VULKAN */
|
||||
|
||||
#endif /* SDL_vulkan_internal_h_ */
|
||||
|
||||
@@ -56,13 +56,13 @@ int Android_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
return -1;
|
||||
SDL_strlcpy(_this->vulkan_config.loader_path, path,
|
||||
SDL_arraysize(_this->vulkan_config.loader_path));
|
||||
vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
|
||||
*(void**)&vkGetInstanceProcAddr = SDL_LoadFunction(
|
||||
_this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
|
||||
if(!vkGetInstanceProcAddr)
|
||||
goto fail;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = (void *)vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkEnumerateInstanceExtensionProperties =
|
||||
(void *)((PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr)(
|
||||
(PFN_vkEnumerateInstanceExtensionProperties)_this->vulkan_config.vkGetInstanceProcAddr(
|
||||
VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
|
||||
if(!_this->vulkan_config.vkEnumerateInstanceExtensionProperties)
|
||||
goto fail;
|
||||
@@ -139,7 +139,7 @@ SDL_bool Android_Vulkan_CreateSurface(_THIS,
|
||||
(PFN_vkCreateAndroidSurfaceKHR)vkGetInstanceProcAddr(
|
||||
(VkInstance)instance,
|
||||
"vkCreateAndroidSurfaceKHR");
|
||||
VkAndroidSurfaceCreateInfoKHR createInfo = {};
|
||||
VkAndroidSurfaceCreateInfoKHR createInfo;
|
||||
VkResult result;
|
||||
|
||||
if(!_this->vulkan_config.loader_handle)
|
||||
@@ -154,6 +154,7 @@ SDL_bool Android_Vulkan_CreateSurface(_THIS,
|
||||
" extension is not enabled in the Vulkan instance.");
|
||||
return SDL_FALSE;
|
||||
}
|
||||
SDL_zero(createInfo);
|
||||
createInfo.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
|
||||
createInfo.pNext = NULL;
|
||||
createInfo.flags = 0;
|
||||
|
||||
@@ -83,7 +83,7 @@ int Cocoa_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
}
|
||||
SDL_strlcpy(_this->vulkan_config.loader_path, path,
|
||||
SDL_arraysize(_this->vulkan_config.loader_path));
|
||||
vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
|
||||
*(void**)&vkGetInstanceProcAddr = SDL_LoadFunction(
|
||||
_this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
|
||||
}
|
||||
|
||||
@@ -95,9 +95,9 @@ int Cocoa_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = (void *)vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkEnumerateInstanceExtensionProperties =
|
||||
(void *)((PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr)(
|
||||
(PFN_vkEnumerateInstanceExtensionProperties)_this->vulkan_config.vkGetInstanceProcAddr(
|
||||
VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
|
||||
if (!_this->vulkan_config.vkEnumerateInstanceExtensionProperties) {
|
||||
goto fail;
|
||||
|
||||
@@ -139,7 +139,7 @@ SDL_MIR_LoadSymbols(void)
|
||||
#include "SDL_mirsym.h"
|
||||
|
||||
#define SDL_MIR_MODULE(modname) thismod = &SDL_MIR_HAVE_##modname;
|
||||
#define SDL_MIR_SYM(rc,fn,params) MIR_##fn = (SDL_DYNMIRFN_##fn) MIR_GetSym(#fn,thismod);
|
||||
#define SDL_MIR_SYM(rc,fn,params) *(void**)&MIR_##fn = MIR_GetSym(#fn,thismod);
|
||||
#define SDL_MIR_SYM_CONST(type,name) MIR_##name = *(SDL_DYMMIRCONST_##name*) MIR_GetSym(#name,thismod);
|
||||
#include "SDL_mirsym.h"
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#if SDL_VIDEO_DRIVER_MIR
|
||||
|
||||
#include "SDL_assert.h"
|
||||
#include "SDL_log.h"
|
||||
|
||||
#include "SDL_mirwindow.h"
|
||||
@@ -103,7 +104,7 @@ MIR_Available()
|
||||
if (SDL_MIR_LoadSymbols()) {
|
||||
|
||||
/* Lets ensure we can connect to the mir server */
|
||||
MirConnection* connection = MIR_mir_connect_sync(NULL, __PRETTY_FUNCTION__);
|
||||
MirConnection* connection = MIR_mir_connect_sync(NULL, SDL_FUNCTION);
|
||||
|
||||
if (!MIR_mir_connection_is_valid(connection)) {
|
||||
SDL_LogWarn(SDL_LOG_CATEGORY_VIDEO, "Unable to connect to the mir server %s",
|
||||
@@ -319,7 +320,7 @@ MIR_VideoInit(_THIS)
|
||||
{
|
||||
MIR_Data* mir_data = _this->driverdata;
|
||||
|
||||
mir_data->connection = MIR_mir_connect_sync(NULL, __PRETTY_FUNCTION__);
|
||||
mir_data->connection = MIR_mir_connect_sync(NULL, SDL_FUNCTION);
|
||||
mir_data->current_window = NULL;
|
||||
mir_data->software = SDL_FALSE;
|
||||
mir_data->pixel_format = mir_pixel_format_invalid;
|
||||
|
||||
@@ -56,14 +56,13 @@ int MIR_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
return -1;
|
||||
SDL_strlcpy(_this->vulkan_config.loader_path, path,
|
||||
SDL_arraysize(_this->vulkan_config.loader_path));
|
||||
vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
|
||||
*(void**)&vkGetInstanceProcAddr = SDL_LoadFunction(
|
||||
_this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
|
||||
if(!vkGetInstanceProcAddr)
|
||||
goto fail;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = (void *)vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkEnumerateInstanceExtensionProperties =
|
||||
(void *)((PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr)(
|
||||
VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
|
||||
(PFN_vkEnumerateInstanceExtensionProperties)_this->vulkan_config.vkGetInstanceProcAddr(VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
|
||||
if(!_this->vulkan_config.vkEnumerateInstanceExtensionProperties)
|
||||
goto fail;
|
||||
extensions = SDL_Vulkan_CreateInstanceExtensionsList(
|
||||
@@ -139,7 +138,7 @@ SDL_bool MIR_Vulkan_CreateSurface(_THIS,
|
||||
(PFN_vkCreateMirSurfaceKHR)vkGetInstanceProcAddr(
|
||||
(VkInstance)instance,
|
||||
"vkCreateMirSurfaceKHR");
|
||||
VkMirSurfaceCreateInfoKHR createInfo = {};
|
||||
VkMirSurfaceCreateInfoKHR createInfo;
|
||||
VkResult result;
|
||||
|
||||
if(!_this->vulkan_config.loader_handle)
|
||||
@@ -154,6 +153,7 @@ SDL_bool MIR_Vulkan_CreateSurface(_THIS,
|
||||
" extension is not enabled in the Vulkan instance.");
|
||||
return SDL_FALSE;
|
||||
}
|
||||
SDL_zero(createInfo);
|
||||
createInfo.sType = VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR;
|
||||
createInfo.pNext = NULL;
|
||||
createInfo.flags = 0;
|
||||
|
||||
@@ -84,8 +84,7 @@ int UIKit_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
}
|
||||
SDL_strlcpy(_this->vulkan_config.loader_path, path,
|
||||
SDL_arraysize(_this->vulkan_config.loader_path));
|
||||
vkGetInstanceProcAddr =
|
||||
(PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
|
||||
*(void**)&vkGetInstanceProcAddr = SDL_LoadFunction(
|
||||
_this->vulkan_config.loader_handle,
|
||||
"vkGetInstanceProcAddr");
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ write_pipe(int fd, const void* buffer, size_t total_length, size_t *pos)
|
||||
bytes_written = SDL_SetError("Pipe select error");
|
||||
} else {
|
||||
if (length > 0) {
|
||||
bytes_written = write(fd, buffer + *pos, SDL_min(length, PIPE_BUF));
|
||||
bytes_written = write(fd, (Uint8*)buffer + *pos, SDL_min(length, PIPE_BUF));
|
||||
}
|
||||
|
||||
if (bytes_written > 0) {
|
||||
@@ -114,10 +114,10 @@ read_pipe(int fd, void** buffer, size_t* total_length, SDL_bool null_terminate)
|
||||
if (output_buffer == NULL) {
|
||||
bytes_read = SDL_OutOfMemory();
|
||||
} else {
|
||||
SDL_memcpy(output_buffer + pos, temp, bytes_read);
|
||||
SDL_memcpy((Uint8*)output_buffer + pos, temp, bytes_read);
|
||||
|
||||
if (null_terminate == SDL_TRUE) {
|
||||
SDL_memset(output_buffer + (new_buffer_length - 1), 0, 1);
|
||||
SDL_memset((Uint8*)output_buffer + (new_buffer_length - 1), 0, 1);
|
||||
}
|
||||
|
||||
*buffer = output_buffer;
|
||||
|
||||
@@ -147,7 +147,7 @@ SDL_WAYLAND_LoadSymbols(void)
|
||||
#include "SDL_waylandsym.h"
|
||||
|
||||
#define SDL_WAYLAND_MODULE(modname) thismod = &SDL_WAYLAND_HAVE_##modname;
|
||||
#define SDL_WAYLAND_SYM(rc,fn,params) WAYLAND_##fn = (SDL_DYNWAYLANDFN_##fn) WAYLAND_GetSym(#fn,thismod);
|
||||
#define SDL_WAYLAND_SYM(rc,fn,params) *(void**)&WAYLAND_##fn = WAYLAND_GetSym(#fn,thismod);
|
||||
#define SDL_WAYLAND_INTERFACE(iface) WAYLAND_##iface = (struct wl_interface *) WAYLAND_GetSym(#iface,thismod);
|
||||
#include "SDL_waylandsym.h"
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
typedef struct SDL_PrivateGLESData
|
||||
{
|
||||
int dummy;
|
||||
} SDL_PrivateGLESData;
|
||||
|
||||
/* OpenGLES functions */
|
||||
|
||||
@@ -56,13 +56,12 @@ int Wayland_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
return -1;
|
||||
SDL_strlcpy(_this->vulkan_config.loader_path, path,
|
||||
SDL_arraysize(_this->vulkan_config.loader_path));
|
||||
vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
|
||||
_this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
|
||||
*(void**)&vkGetInstanceProcAddr = SDL_LoadFunction(_this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
|
||||
if(!vkGetInstanceProcAddr)
|
||||
goto fail;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = (void *)vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkEnumerateInstanceExtensionProperties =
|
||||
(void *)((PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr)(
|
||||
(PFN_vkEnumerateInstanceExtensionProperties)_this->vulkan_config.vkGetInstanceProcAddr(
|
||||
VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
|
||||
if(!_this->vulkan_config.vkEnumerateInstanceExtensionProperties)
|
||||
goto fail;
|
||||
@@ -139,7 +138,7 @@ SDL_bool Wayland_Vulkan_CreateSurface(_THIS,
|
||||
(PFN_vkCreateWaylandSurfaceKHR)vkGetInstanceProcAddr(
|
||||
(VkInstance)instance,
|
||||
"vkCreateWaylandSurfaceKHR");
|
||||
VkWaylandSurfaceCreateInfoKHR createInfo = {};
|
||||
VkWaylandSurfaceCreateInfoKHR createInfo;
|
||||
VkResult result;
|
||||
|
||||
if(!_this->vulkan_config.loader_handle)
|
||||
@@ -154,6 +153,7 @@ SDL_bool Wayland_Vulkan_CreateSurface(_THIS,
|
||||
" extension is not enabled in the Vulkan instance.");
|
||||
return SDL_FALSE;
|
||||
}
|
||||
SDL_zero(createInfo);
|
||||
createInfo.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
|
||||
createInfo.pNext = NULL;
|
||||
createInfo.flags = 0;
|
||||
|
||||
@@ -1086,7 +1086,9 @@ IsWin10FCUorNewer(void)
|
||||
HMODULE handle = GetModuleHandleW(L"ntdll.dll");
|
||||
if (handle) {
|
||||
typedef LONG(WINAPI* RtlGetVersionPtr)(struct SDL_WIN_OSVERSIONINFOW*);
|
||||
RtlGetVersionPtr getVersionPtr = (RtlGetVersionPtr)GetProcAddress(handle, "RtlGetVersion");
|
||||
RtlGetVersionPtr getVersionPtr;
|
||||
|
||||
*(void**)&getVersionPtr = GetProcAddress(handle, "RtlGetVersion");
|
||||
if (getVersionPtr != NULL) {
|
||||
struct SDL_WIN_OSVERSIONINFOW info;
|
||||
SDL_zero(info);
|
||||
|
||||
@@ -354,10 +354,10 @@ IME_Init(SDL_VideoData *videodata, HWND hwnd)
|
||||
SDL_ClearError();
|
||||
return;
|
||||
}
|
||||
videodata->ImmLockIMC = (LPINPUTCONTEXT2 (WINAPI *)(HIMC))SDL_LoadFunction(videodata->ime_himm32, "ImmLockIMC");
|
||||
videodata->ImmUnlockIMC = (BOOL (WINAPI *)(HIMC))SDL_LoadFunction(videodata->ime_himm32, "ImmUnlockIMC");
|
||||
videodata->ImmLockIMCC = (LPVOID (WINAPI *)(HIMCC))SDL_LoadFunction(videodata->ime_himm32, "ImmLockIMCC");
|
||||
videodata->ImmUnlockIMCC = (BOOL (WINAPI *)(HIMCC))SDL_LoadFunction(videodata->ime_himm32, "ImmUnlockIMCC");
|
||||
*(void**)&videodata->ImmLockIMC = SDL_LoadFunction(videodata->ime_himm32, "ImmLockIMC");
|
||||
*(void**)&videodata->ImmUnlockIMC = SDL_LoadFunction(videodata->ime_himm32, "ImmUnlockIMC");
|
||||
*(void**)&videodata->ImmLockIMCC = SDL_LoadFunction(videodata->ime_himm32, "ImmLockIMCC");
|
||||
*(void**)&videodata->ImmUnlockIMCC = SDL_LoadFunction(videodata->ime_himm32, "ImmUnlockIMCC");
|
||||
|
||||
IME_SetWindow(videodata, hwnd);
|
||||
videodata->ime_himc = ImmGetContext(hwnd);
|
||||
@@ -654,9 +654,9 @@ IME_SetupAPI(SDL_VideoData *videodata)
|
||||
if (!hime)
|
||||
return;
|
||||
|
||||
videodata->GetReadingString = (UINT (WINAPI *)(HIMC, UINT, LPWSTR, PINT, BOOL*, PUINT))
|
||||
*(void**)&videodata->GetReadingString =
|
||||
SDL_LoadFunction(hime, "GetReadingString");
|
||||
videodata->ShowReadingWindow = (BOOL (WINAPI *)(HIMC, BOOL))
|
||||
*(void**)&videodata->ShowReadingWindow =
|
||||
SDL_LoadFunction(hime, "ShowReadingWindow");
|
||||
|
||||
if (videodata->ShowReadingWindow) {
|
||||
|
||||
@@ -119,15 +119,15 @@ WIN_GL_LoadLibrary(_THIS, const char *path)
|
||||
|
||||
/* Load function pointers */
|
||||
handle = _this->gl_config.dll_handle;
|
||||
_this->gl_data->wglGetProcAddress = (void *(WINAPI *) (const char *))
|
||||
*(void**)&_this->gl_data->wglGetProcAddress =
|
||||
SDL_LoadFunction(handle, "wglGetProcAddress");
|
||||
_this->gl_data->wglCreateContext = (HGLRC(WINAPI *) (HDC))
|
||||
*(void**)&_this->gl_data->wglCreateContext =
|
||||
SDL_LoadFunction(handle, "wglCreateContext");
|
||||
_this->gl_data->wglDeleteContext = (BOOL(WINAPI *) (HGLRC))
|
||||
*(void**)&_this->gl_data->wglDeleteContext =
|
||||
SDL_LoadFunction(handle, "wglDeleteContext");
|
||||
_this->gl_data->wglMakeCurrent = (BOOL(WINAPI *) (HDC, HGLRC))
|
||||
*(void**)&_this->gl_data->wglMakeCurrent =
|
||||
SDL_LoadFunction(handle, "wglMakeCurrent");
|
||||
_this->gl_data->wglShareLists = (BOOL(WINAPI *) (HGLRC, HGLRC))
|
||||
*(void**)&_this->gl_data->wglShareLists =
|
||||
SDL_LoadFunction(handle, "wglShareLists");
|
||||
|
||||
if (!_this->gl_data->wglGetProcAddress ||
|
||||
@@ -409,7 +409,7 @@ WIN_GL_InitExtensions(_THIS)
|
||||
}
|
||||
_this->gl_data->wglMakeCurrent(hdc, hglrc);
|
||||
|
||||
wglGetExtensionsStringARB = (const char *(WINAPI *) (HDC))
|
||||
*(void**)&wglGetExtensionsStringARB =
|
||||
_this->gl_data->wglGetProcAddress("wglGetExtensionsStringARB");
|
||||
if (wglGetExtensionsStringARB) {
|
||||
extensions = wglGetExtensionsStringARB(hdc);
|
||||
@@ -420,13 +420,9 @@ WIN_GL_InitExtensions(_THIS)
|
||||
/* Check for WGL_ARB_pixel_format */
|
||||
_this->gl_data->HAS_WGL_ARB_pixel_format = SDL_FALSE;
|
||||
if (HasExtension("WGL_ARB_pixel_format", extensions)) {
|
||||
_this->gl_data->wglChoosePixelFormatARB = (BOOL(WINAPI *)
|
||||
(HDC, const int *,
|
||||
const FLOAT *, UINT,
|
||||
int *, UINT *))
|
||||
*(void**)&_this->gl_data->wglChoosePixelFormatARB =
|
||||
WIN_GL_GetProcAddress(_this, "wglChoosePixelFormatARB");
|
||||
_this->gl_data->wglGetPixelFormatAttribivARB =
|
||||
(BOOL(WINAPI *) (HDC, int, int, UINT, const int *, int *))
|
||||
*(void**)&_this->gl_data->wglGetPixelFormatAttribivARB =
|
||||
WIN_GL_GetProcAddress(_this, "wglGetPixelFormatAttribivARB");
|
||||
|
||||
if ((_this->gl_data->wglChoosePixelFormatARB != NULL) &&
|
||||
@@ -438,9 +434,9 @@ WIN_GL_InitExtensions(_THIS)
|
||||
/* Check for WGL_EXT_swap_control */
|
||||
_this->gl_data->HAS_WGL_EXT_swap_control_tear = SDL_FALSE;
|
||||
if (HasExtension("WGL_EXT_swap_control", extensions)) {
|
||||
_this->gl_data->wglSwapIntervalEXT =
|
||||
*(void**)&_this->gl_data->wglSwapIntervalEXT =
|
||||
WIN_GL_GetProcAddress(_this, "wglSwapIntervalEXT");
|
||||
_this->gl_data->wglGetSwapIntervalEXT =
|
||||
*(void**)&_this->gl_data->wglGetSwapIntervalEXT =
|
||||
WIN_GL_GetProcAddress(_this, "wglGetSwapIntervalEXT");
|
||||
if (HasExtension("WGL_EXT_swap_control_tear", extensions)) {
|
||||
_this->gl_data->HAS_WGL_EXT_swap_control_tear = SDL_TRUE;
|
||||
@@ -721,9 +717,8 @@ WIN_GL_CreateContext(_THIS, SDL_Window * window)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wglCreateContextAttribsARB =
|
||||
(PFNWGLCREATECONTEXTATTRIBSARBPROC) _this->gl_data->
|
||||
wglGetProcAddress("wglCreateContextAttribsARB");
|
||||
*(void**)&wglCreateContextAttribsARB =
|
||||
_this->gl_data->wglGetProcAddress("wglCreateContextAttribsARB");
|
||||
if (!wglCreateContextAttribsARB) {
|
||||
SDL_SetError("GL 3.x is not supported");
|
||||
context = temp_context;
|
||||
|
||||
@@ -113,16 +113,16 @@ WIN_CreateDevice(int devindex)
|
||||
|
||||
data->userDLL = SDL_LoadObject("USER32.DLL");
|
||||
if (data->userDLL) {
|
||||
data->CloseTouchInputHandle = (BOOL (WINAPI *)(HTOUCHINPUT)) SDL_LoadFunction(data->userDLL, "CloseTouchInputHandle");
|
||||
data->GetTouchInputInfo = (BOOL (WINAPI *)(HTOUCHINPUT, UINT, PTOUCHINPUT, int)) SDL_LoadFunction(data->userDLL, "GetTouchInputInfo");
|
||||
data->RegisterTouchWindow = (BOOL (WINAPI *)(HWND, ULONG)) SDL_LoadFunction(data->userDLL, "RegisterTouchWindow");
|
||||
*(void**)&data->CloseTouchInputHandle = SDL_LoadFunction(data->userDLL, "CloseTouchInputHandle");
|
||||
*(void**)&data->GetTouchInputInfo = SDL_LoadFunction(data->userDLL, "GetTouchInputInfo");
|
||||
*(void**)&data->RegisterTouchWindow = SDL_LoadFunction(data->userDLL, "RegisterTouchWindow");
|
||||
} else {
|
||||
SDL_ClearError();
|
||||
}
|
||||
|
||||
data->shcoreDLL = SDL_LoadObject("SHCORE.DLL");
|
||||
if (data->shcoreDLL) {
|
||||
data->GetDpiForMonitor = (HRESULT (WINAPI *)(HMONITOR, MONITOR_DPI_TYPE, UINT *, UINT *)) SDL_LoadFunction(data->shcoreDLL, "GetDpiForMonitor");
|
||||
*(void**)&data->GetDpiForMonitor = SDL_LoadFunction(data->shcoreDLL, "GetDpiForMonitor");
|
||||
} else {
|
||||
SDL_ClearError();
|
||||
}
|
||||
@@ -256,7 +256,7 @@ D3D_LoadDLL(void **pD3DDLL, IDirect3D9 **pDirect3D9Interface)
|
||||
typedef HRESULT (WINAPI *Direct3DCreate9Ex_t)(UINT SDKVersion, IDirect3D9Ex **ppD3D);
|
||||
Direct3DCreate9Ex_t Direct3DCreate9ExFunc;
|
||||
|
||||
Direct3DCreate9ExFunc = (Direct3DCreate9Ex_t)SDL_LoadFunction(*pD3DDLL, "Direct3DCreate9Ex");
|
||||
*(void**)&Direct3DCreate9ExFunc = SDL_LoadFunction(*pD3DDLL, "Direct3DCreate9Ex");
|
||||
if (Direct3DCreate9ExFunc) {
|
||||
IDirect3D9Ex *pDirect3D9ExInterface;
|
||||
HRESULT hr = Direct3DCreate9ExFunc(D3D_SDK_VERSION, &pDirect3D9ExInterface);
|
||||
@@ -271,7 +271,7 @@ D3D_LoadDLL(void **pD3DDLL, IDirect3D9 **pDirect3D9Interface)
|
||||
}
|
||||
#endif /* USE_D3D9EX */
|
||||
|
||||
Direct3DCreate9Func = (Direct3DCreate9_t)SDL_LoadFunction(*pD3DDLL, "Direct3DCreate9");
|
||||
*(void**)&Direct3DCreate9Func = SDL_LoadFunction(*pD3DDLL, "Direct3DCreate9");
|
||||
if (Direct3DCreate9Func) {
|
||||
*pDirect3D9Interface = Direct3DCreate9Func(D3D_SDK_VERSION);
|
||||
if (*pDirect3D9Interface) {
|
||||
@@ -338,9 +338,7 @@ DXGI_LoadDLL(void **pDXGIDLL, IDXGIFactory **pDXGIFactory)
|
||||
if (*pDXGIDLL) {
|
||||
HRESULT (WINAPI *CreateDXGI)(REFIID riid, void **ppFactory);
|
||||
|
||||
CreateDXGI =
|
||||
(HRESULT (WINAPI *) (REFIID, void**)) SDL_LoadFunction(*pDXGIDLL,
|
||||
"CreateDXGIFactory");
|
||||
*(void**)&CreateDXGI = SDL_LoadFunction(*pDXGIDLL, "CreateDXGIFactory");
|
||||
if (CreateDXGI) {
|
||||
GUID dxgiGUID = {0x7b7166ec,0x21c7,0x44ae,{0xb2,0x1a,0xc9,0xae,0x32,0x1a,0xe3,0x69}};
|
||||
if (!SUCCEEDED(CreateDXGI(&dxgiGUID, (void**)pDXGIFactory))) {
|
||||
|
||||
@@ -57,13 +57,13 @@ int WIN_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
return -1;
|
||||
SDL_strlcpy(_this->vulkan_config.loader_path, path,
|
||||
SDL_arraysize(_this->vulkan_config.loader_path));
|
||||
vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
|
||||
*(void**)vkGetInstanceProcAddr = SDL_LoadFunction(
|
||||
_this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
|
||||
if(!vkGetInstanceProcAddr)
|
||||
goto fail;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = (void *)vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkEnumerateInstanceExtensionProperties =
|
||||
(void *)((PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr)(
|
||||
(PFN_vkEnumerateInstanceExtensionProperties)_this->vulkan_config.vkGetInstanceProcAddr(
|
||||
VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
|
||||
if(!_this->vulkan_config.vkEnumerateInstanceExtensionProperties)
|
||||
goto fail;
|
||||
|
||||
@@ -63,7 +63,8 @@ WINRT_GLES_LoadLibrary(_THIS, const char *path)
|
||||
}
|
||||
|
||||
/* Load ANGLE/WinRT-specific functions */
|
||||
CreateWinrtEglWindow_Old_Function CreateWinrtEglWindow = (CreateWinrtEglWindow_Old_Function) SDL_LoadFunction(_this->egl_data->egl_dll_handle, "CreateWinrtEglWindow");
|
||||
CreateWinrtEglWindow_Old_Function CreateWinrtEglWindow;
|
||||
*(void**)&CreateWinrtEglWindow = SDL_LoadFunction(_this->egl_data->egl_dll_handle, "CreateWinrtEglWindow");
|
||||
if (CreateWinrtEglWindow) {
|
||||
/* 'CreateWinrtEglWindow' was found, which means that an an older
|
||||
* version of ANGLE/WinRT is being used. Continue setting up EGL,
|
||||
|
||||
@@ -172,14 +172,12 @@ SDL_X11_LoadSymbols(void)
|
||||
#include "SDL_x11sym.h"
|
||||
|
||||
#define SDL_X11_MODULE(modname) thismod = &SDL_X11_HAVE_##modname;
|
||||
#define SDL_X11_SYM(a,fn,x,y,z) X11_##fn = (SDL_DYNX11FN_##fn) X11_GetSym(#fn,thismod);
|
||||
#define SDL_X11_SYM(a,fn,x,y,z) *(void**)&X11_##fn = X11_GetSym(#fn,thismod);
|
||||
#include "SDL_x11sym.h"
|
||||
|
||||
#ifdef X_HAVE_UTF8_STRING
|
||||
X11_XCreateIC = (SDL_DYNX11FN_XCreateIC)
|
||||
X11_GetSym("XCreateIC", &SDL_X11_HAVE_UTF8);
|
||||
X11_XGetICValues = (SDL_DYNX11FN_XGetICValues)
|
||||
X11_GetSym("XGetICValues", &SDL_X11_HAVE_UTF8);
|
||||
*(void**)&X11_XCreateIC = X11_GetSym("XCreateIC", &SDL_X11_HAVE_UTF8);
|
||||
*(void**)&X11_XGetICValues = X11_GetSym("XGetICValues", &SDL_X11_HAVE_UTF8);
|
||||
#endif
|
||||
|
||||
if (SDL_X11_HAVE_BASEXLIB) {
|
||||
|
||||
@@ -189,29 +189,21 @@ X11_GL_LoadLibrary(_THIS, const char *path)
|
||||
|
||||
/* Load function pointers */
|
||||
handle = _this->gl_config.dll_handle;
|
||||
_this->gl_data->glXQueryExtension =
|
||||
(Bool (*)(Display *, int *, int *))
|
||||
*(void**)&_this->gl_data->glXQueryExtension =
|
||||
GL_LoadFunction(handle, "glXQueryExtension");
|
||||
_this->gl_data->glXGetProcAddress =
|
||||
(void *(*)(const GLubyte *))
|
||||
*(void**)&_this->gl_data->glXGetProcAddress =
|
||||
GL_LoadFunction(handle, "glXGetProcAddressARB");
|
||||
_this->gl_data->glXChooseVisual =
|
||||
(XVisualInfo * (*)(Display *, int, int *))
|
||||
*(void**)&_this->gl_data->glXChooseVisual =
|
||||
X11_GL_GetProcAddress(_this, "glXChooseVisual");
|
||||
_this->gl_data->glXCreateContext =
|
||||
(GLXContext(*)(Display *, XVisualInfo *, GLXContext, int))
|
||||
*(void**)&_this->gl_data->glXCreateContext =
|
||||
X11_GL_GetProcAddress(_this, "glXCreateContext");
|
||||
_this->gl_data->glXDestroyContext =
|
||||
(void (*)(Display *, GLXContext))
|
||||
*(void**)&_this->gl_data->glXDestroyContext =
|
||||
X11_GL_GetProcAddress(_this, "glXDestroyContext");
|
||||
_this->gl_data->glXMakeCurrent =
|
||||
(int (*)(Display *, GLXDrawable, GLXContext))
|
||||
*(void**)&_this->gl_data->glXMakeCurrent =
|
||||
X11_GL_GetProcAddress(_this, "glXMakeCurrent");
|
||||
_this->gl_data->glXSwapBuffers =
|
||||
(void (*)(Display *, GLXDrawable))
|
||||
*(void**)&_this->gl_data->glXSwapBuffers =
|
||||
X11_GL_GetProcAddress(_this, "glXSwapBuffers");
|
||||
_this->gl_data->glXQueryDrawable =
|
||||
(void (*)(Display*,GLXDrawable,int,unsigned int*))
|
||||
*(void**)&_this->gl_data->glXQueryDrawable =
|
||||
X11_GL_GetProcAddress(_this, "glXQueryDrawable");
|
||||
|
||||
if (!_this->gl_data->glXQueryExtension ||
|
||||
@@ -341,13 +333,11 @@ X11_GL_InitExtensions(_THIS)
|
||||
|
||||
vinfo = X11_GL_GetVisual(_this, display, screen);
|
||||
if (vinfo) {
|
||||
GLXContext (*glXGetCurrentContextFunc) (void) =
|
||||
(GLXContext(*)(void))
|
||||
X11_GL_GetProcAddress(_this, "glXGetCurrentContext");
|
||||
GLXContext (*glXGetCurrentContextFunc)(void);
|
||||
GLXDrawable (*glXGetCurrentDrawableFunc)(void);
|
||||
|
||||
GLXDrawable (*glXGetCurrentDrawableFunc) (void) =
|
||||
(GLXDrawable(*)(void))
|
||||
X11_GL_GetProcAddress(_this, "glXGetCurrentDrawable");
|
||||
*(void**)&glXGetCurrentContextFunc = X11_GL_GetProcAddress(_this, "glXGetCurrentContext");
|
||||
*(void**)&glXGetCurrentDrawableFunc = X11_GL_GetProcAddress(_this, "glXGetCurrentDrawable");
|
||||
|
||||
if (glXGetCurrentContextFunc && glXGetCurrentDrawableFunc) {
|
||||
XSetWindowAttributes xattr;
|
||||
@@ -373,9 +363,7 @@ X11_GL_InitExtensions(_THIS)
|
||||
X11_XFree(vinfo);
|
||||
}
|
||||
|
||||
glXQueryExtensionsStringFunc =
|
||||
(const char *(*)(Display *, int)) X11_GL_GetProcAddress(_this,
|
||||
"glXQueryExtensionsString");
|
||||
*(void**)&glXQueryExtensionsStringFunc = X11_GL_GetProcAddress(_this, "glXQueryExtensionsString");
|
||||
if (glXQueryExtensionsStringFunc) {
|
||||
extensions = glXQueryExtensionsStringFunc(display, screen);
|
||||
} else {
|
||||
@@ -385,8 +373,7 @@ X11_GL_InitExtensions(_THIS)
|
||||
/* Check for GLX_EXT_swap_control(_tear) */
|
||||
_this->gl_data->HAS_GLX_EXT_swap_control_tear = SDL_FALSE;
|
||||
if (HasExtension("GLX_EXT_swap_control", extensions)) {
|
||||
_this->gl_data->glXSwapIntervalEXT =
|
||||
(void (*)(Display*,GLXDrawable,int))
|
||||
*(void**)&_this->gl_data->glXSwapIntervalEXT =
|
||||
X11_GL_GetProcAddress(_this, "glXSwapIntervalEXT");
|
||||
if (HasExtension("GLX_EXT_swap_control_tear", extensions)) {
|
||||
_this->gl_data->HAS_GLX_EXT_swap_control_tear = SDL_TRUE;
|
||||
@@ -395,26 +382,23 @@ X11_GL_InitExtensions(_THIS)
|
||||
|
||||
/* Check for GLX_MESA_swap_control */
|
||||
if (HasExtension("GLX_MESA_swap_control", extensions)) {
|
||||
_this->gl_data->glXSwapIntervalMESA =
|
||||
(int(*)(int)) X11_GL_GetProcAddress(_this, "glXSwapIntervalMESA");
|
||||
_this->gl_data->glXGetSwapIntervalMESA =
|
||||
(int(*)(void)) X11_GL_GetProcAddress(_this,
|
||||
"glXGetSwapIntervalMESA");
|
||||
*(void**)&_this->gl_data->glXSwapIntervalMESA =
|
||||
X11_GL_GetProcAddress(_this, "glXSwapIntervalMESA");
|
||||
*(void**)&_this->gl_data->glXGetSwapIntervalMESA =
|
||||
X11_GL_GetProcAddress(_this, "glXGetSwapIntervalMESA");
|
||||
}
|
||||
|
||||
/* Check for GLX_SGI_swap_control */
|
||||
if (HasExtension("GLX_SGI_swap_control", extensions)) {
|
||||
_this->gl_data->glXSwapIntervalSGI =
|
||||
(int (*)(int)) X11_GL_GetProcAddress(_this, "glXSwapIntervalSGI");
|
||||
*(void**)&_this->gl_data->glXSwapIntervalSGI =
|
||||
X11_GL_GetProcAddress(_this, "glXSwapIntervalSGI");
|
||||
}
|
||||
|
||||
/* Check for GLX_ARB_create_context */
|
||||
if (HasExtension("GLX_ARB_create_context", extensions)) {
|
||||
_this->gl_data->glXCreateContextAttribsARB =
|
||||
(GLXContext (*)(Display*,GLXFBConfig,GLXContext,Bool,const int *))
|
||||
*(void**)&_this->gl_data->glXCreateContextAttribsARB =
|
||||
X11_GL_GetProcAddress(_this, "glXCreateContextAttribsARB");
|
||||
_this->gl_data->glXChooseFBConfig =
|
||||
(GLXFBConfig *(*)(Display *, int, const int *, int *))
|
||||
*(void**)&_this->gl_data->glXChooseFBConfig =
|
||||
X11_GL_GetProcAddress(_this, "glXChooseFBConfig");
|
||||
}
|
||||
|
||||
|
||||
@@ -57,14 +57,14 @@ int X11_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
if(!_this->vulkan_config.loader_handle)
|
||||
return -1;
|
||||
SDL_strlcpy(_this->vulkan_config.loader_path, path, SDL_arraysize(_this->vulkan_config.loader_path));
|
||||
vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
|
||||
*(void**)&vkGetInstanceProcAddr = SDL_LoadFunction(
|
||||
_this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
|
||||
if(!vkGetInstanceProcAddr)
|
||||
goto fail;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = (void *)vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkGetInstanceProcAddr = vkGetInstanceProcAddr;
|
||||
_this->vulkan_config.vkEnumerateInstanceExtensionProperties =
|
||||
(void *)((PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr)(
|
||||
VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
|
||||
(PFN_vkEnumerateInstanceExtensionProperties)
|
||||
_this->vulkan_config.vkGetInstanceProcAddr(VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
|
||||
if(!_this->vulkan_config.vkEnumerateInstanceExtensionProperties)
|
||||
goto fail;
|
||||
extensions = SDL_Vulkan_CreateInstanceExtensionsList(
|
||||
@@ -108,7 +108,7 @@ int X11_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||
videoData->vulkan_xlib_xcb_library = SDL_LoadObject(libX11XCBLibraryName);
|
||||
if(!videoData->vulkan_xlib_xcb_library)
|
||||
goto fail;
|
||||
videoData->vulkan_XGetXCBConnection =
|
||||
*(void**)&videoData->vulkan_XGetXCBConnection =
|
||||
SDL_LoadFunction(videoData->vulkan_xlib_xcb_library, "XGetXCBConnection");
|
||||
if(!videoData->vulkan_XGetXCBConnection)
|
||||
{
|
||||
@@ -184,7 +184,7 @@ SDL_bool X11_Vulkan_CreateSurface(_THIS,
|
||||
PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR =
|
||||
(PFN_vkCreateXcbSurfaceKHR)vkGetInstanceProcAddr((VkInstance)instance,
|
||||
"vkCreateXcbSurfaceKHR");
|
||||
VkXcbSurfaceCreateInfoKHR createInfo = {};
|
||||
VkXcbSurfaceCreateInfoKHR createInfo;
|
||||
VkResult result;
|
||||
if(!vkCreateXcbSurfaceKHR)
|
||||
{
|
||||
@@ -192,6 +192,7 @@ SDL_bool X11_Vulkan_CreateSurface(_THIS,
|
||||
" extension is not enabled in the Vulkan instance.");
|
||||
return SDL_FALSE;
|
||||
}
|
||||
SDL_zero(createInfo);
|
||||
createInfo.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
|
||||
createInfo.connection = videoData->vulkan_XGetXCBConnection(videoData->display);
|
||||
if(!createInfo.connection)
|
||||
@@ -214,7 +215,7 @@ SDL_bool X11_Vulkan_CreateSurface(_THIS,
|
||||
PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR =
|
||||
(PFN_vkCreateXlibSurfaceKHR)vkGetInstanceProcAddr((VkInstance)instance,
|
||||
"vkCreateXlibSurfaceKHR");
|
||||
VkXlibSurfaceCreateInfoKHR createInfo = {};
|
||||
VkXlibSurfaceCreateInfoKHR createInfo;
|
||||
VkResult result;
|
||||
if(!vkCreateXlibSurfaceKHR)
|
||||
{
|
||||
@@ -222,6 +223,7 @@ SDL_bool X11_Vulkan_CreateSurface(_THIS,
|
||||
" extension is not enabled in the Vulkan instance.");
|
||||
return SDL_FALSE;
|
||||
}
|
||||
SDL_zero(createInfo);
|
||||
createInfo.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
|
||||
createInfo.dpy = videoData->display;
|
||||
createInfo.window = (xcb_window_t)windowData->xwindow;
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
{ \
|
||||
__m128i red_mask, tmp1, tmp2, tmp3, tmp4; \
|
||||
\
|
||||
red_mask = _mm_set1_epi16(0xF800); \
|
||||
red_mask = _mm_set1_epi16((short)0xF800); \
|
||||
RGB1 = _mm_and_si128(_mm_unpacklo_epi8(_mm_setzero_si128(), R1), red_mask); \
|
||||
RGB2 = _mm_and_si128(_mm_unpackhi_epi8(_mm_setzero_si128(), R1), red_mask); \
|
||||
RGB3 = _mm_and_si128(_mm_unpacklo_epi8(_mm_setzero_si128(), R2), red_mask); \
|
||||
@@ -145,7 +145,7 @@ PACK_RGB24_32_STEP1(R1, R2, G1, G2, B1, B2, RGB1, RGB2, RGB3, RGB4, RGB5, RGB6)
|
||||
#define PACK_PIXEL \
|
||||
__m128i rgb_1, rgb_2, rgb_3, rgb_4, rgb_5, rgb_6, rgb_7, rgb_8; \
|
||||
__m128i rgb_9, rgb_10, rgb_11, rgb_12, rgb_13, rgb_14, rgb_15, rgb_16; \
|
||||
__m128i a = _mm_set1_epi8( 0xFF ); \
|
||||
__m128i a = _mm_set1_epi8((char)0xFF); \
|
||||
\
|
||||
PACK_RGBA_32(r_8_11, r_8_12, g_8_11, g_8_12, b_8_11, b_8_12, a, a, rgb_1, rgb_2, rgb_3, rgb_4, rgb_5, rgb_6, rgb_7, rgb_8) \
|
||||
\
|
||||
@@ -156,7 +156,7 @@ PACK_RGB24_32_STEP1(R1, R2, G1, G2, B1, B2, RGB1, RGB2, RGB3, RGB4, RGB5, RGB6)
|
||||
#define PACK_PIXEL \
|
||||
__m128i rgb_1, rgb_2, rgb_3, rgb_4, rgb_5, rgb_6, rgb_7, rgb_8; \
|
||||
__m128i rgb_9, rgb_10, rgb_11, rgb_12, rgb_13, rgb_14, rgb_15, rgb_16; \
|
||||
__m128i a = _mm_set1_epi8( 0xFF ); \
|
||||
__m128i a = _mm_set1_epi8((char)0xFF); \
|
||||
\
|
||||
PACK_RGBA_32(b_8_11, b_8_12, g_8_11, g_8_12, r_8_11, r_8_12, a, a, rgb_1, rgb_2, rgb_3, rgb_4, rgb_5, rgb_6, rgb_7, rgb_8) \
|
||||
\
|
||||
@@ -167,7 +167,7 @@ PACK_RGB24_32_STEP1(R1, R2, G1, G2, B1, B2, RGB1, RGB2, RGB3, RGB4, RGB5, RGB6)
|
||||
#define PACK_PIXEL \
|
||||
__m128i rgb_1, rgb_2, rgb_3, rgb_4, rgb_5, rgb_6, rgb_7, rgb_8; \
|
||||
__m128i rgb_9, rgb_10, rgb_11, rgb_12, rgb_13, rgb_14, rgb_15, rgb_16; \
|
||||
__m128i a = _mm_set1_epi8( 0xFF ); \
|
||||
__m128i a = _mm_set1_epi8((char)0xFF); \
|
||||
\
|
||||
PACK_RGBA_32(a, a, r_8_11, r_8_12, g_8_11, g_8_12, b_8_11, b_8_12, rgb_1, rgb_2, rgb_3, rgb_4, rgb_5, rgb_6, rgb_7, rgb_8) \
|
||||
\
|
||||
@@ -178,7 +178,7 @@ PACK_RGB24_32_STEP1(R1, R2, G1, G2, B1, B2, RGB1, RGB2, RGB3, RGB4, RGB5, RGB6)
|
||||
#define PACK_PIXEL \
|
||||
__m128i rgb_1, rgb_2, rgb_3, rgb_4, rgb_5, rgb_6, rgb_7, rgb_8; \
|
||||
__m128i rgb_9, rgb_10, rgb_11, rgb_12, rgb_13, rgb_14, rgb_15, rgb_16; \
|
||||
__m128i a = _mm_set1_epi8( 0xFF ); \
|
||||
__m128i a = _mm_set1_epi8((char)0xFF); \
|
||||
\
|
||||
PACK_RGBA_32(a, a, b_8_11, b_8_12, g_8_11, g_8_12, r_8_11, r_8_12, rgb_1, rgb_2, rgb_3, rgb_4, rgb_5, rgb_6, rgb_7, rgb_8) \
|
||||
\
|
||||
|
||||
Reference in New Issue
Block a user