[client] windows: add native display and input

This commit is contained in:
Geoffrey McRae
2026-09-12 11:19:07 +10:00
parent 18541865f0
commit a7d2e4592f
17 changed files with 3180 additions and 24 deletions

View File

@@ -22,37 +22,49 @@
#include "egl_dynprocs.h"
struct EGLDynProcs g_egl_dynProcs = {0};
struct EGLDynProcs g_egl_dynProcs = { 0 };
void egl_dynProcsInit(void)
{
g_egl_dynProcs.eglGetPlatformDisplay = (PFNEGLGETPLATFORMDISPLAYPROC)
g_egl_dynProcs.eglGetPlatformDisplay =
(PFNEGLGETPLATFORMDISPLAYPROC)
eglGetProcAddress("eglGetPlatformDisplay");
g_egl_dynProcs.eglGetPlatformDisplayEXT = (PFNEGLGETPLATFORMDISPLAYPROC)
g_egl_dynProcs.eglGetPlatformDisplayEXT =
(PFNEGLGETPLATFORMDISPLAYEXTPROC)
eglGetProcAddress("eglGetPlatformDisplayEXT");
g_egl_dynProcs.glEGLImageTargetTexture2DOES = (PFNGLEGLIMAGETARGETTEXTURE2DOESPROC)
g_egl_dynProcs.glEGLImageTargetTexture2DOES =
(PFNGLEGLIMAGETARGETTEXTURE2DOESPROC)
eglGetProcAddress("glEGLImageTargetTexture2DOES");
g_egl_dynProcs.eglSwapBuffersWithDamageKHR = (PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC)
g_egl_dynProcs.eglSwapBuffersWithDamageKHR =
(PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC)
eglGetProcAddress("eglSwapBuffersWithDamageKHR");
g_egl_dynProcs.eglSwapBuffersWithDamageEXT = (PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)
g_egl_dynProcs.eglSwapBuffersWithDamageEXT =
(PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)
eglGetProcAddress("eglSwapBuffersWithDamageEXT");
g_egl_dynProcs.glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKKHRPROC)
g_egl_dynProcs.glDebugMessageCallback =
(PFNGLDEBUGMESSAGECALLBACKKHRPROC)
eglGetProcAddress("glDebugMessageCallback");
g_egl_dynProcs.glDebugMessageCallbackKHR = (PFNGLDEBUGMESSAGECALLBACKKHRPROC)
g_egl_dynProcs.glDebugMessageCallbackKHR =
(PFNGLDEBUGMESSAGECALLBACKKHRPROC)
eglGetProcAddress("glDebugMessageCallbackKHR");
g_egl_dynProcs.glBufferStorageEXT = (PFNGLBUFFERSTORAGEEXTPROC)
g_egl_dynProcs.glBufferStorageEXT =
(PFNGLBUFFERSTORAGEEXTPROC)
eglGetProcAddress("glBufferStorageEXT");
g_egl_dynProcs.eglCreateImage = (PFNEGLCREATEIMAGEPROC)
g_egl_dynProcs.eglCreateImage =
(PFNEGLCREATEIMAGEPROC)
eglGetProcAddress("eglCreateImage");
g_egl_dynProcs.eglDestroyImage = (PFNEGLDESTROYIMAGEPROC)
g_egl_dynProcs.eglDestroyImage =
(PFNEGLDESTROYIMAGEPROC)
eglGetProcAddress("eglDestroyImage");
if (!g_egl_dynProcs.eglCreateImage)
g_egl_dynProcs.eglCreateImage = (PFNEGLCREATEIMAGEPROC)
g_egl_dynProcs.eglCreateImage =
(PFNEGLCREATEIMAGEPROC)
eglGetProcAddress("eglCreateImageKHR");
if (!g_egl_dynProcs.eglDestroyImage)
g_egl_dynProcs.eglDestroyImage = (PFNEGLDESTROYIMAGEPROC)
g_egl_dynProcs.eglDestroyImage =
(PFNEGLDESTROYIMAGEPROC)
eglGetProcAddress("eglDestroyImageKHR");
};
}
#endif