diff options
| author | 3gg <3gg@shellblade.net> | 2024-05-04 16:51:29 -0700 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2024-05-04 16:51:29 -0700 |
| commit | 8222bfe56d4dabe8d92fc4b25ea1b0163b16f3e1 (patch) | |
| tree | 763389e42276035ac134d94eb1dc32293b88d807 /src/contrib/SDL-2.30.2/docs/README-windows.md | |
Initial commit.
Diffstat (limited to 'src/contrib/SDL-2.30.2/docs/README-windows.md')
| -rw-r--r-- | src/contrib/SDL-2.30.2/docs/README-windows.md | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/contrib/SDL-2.30.2/docs/README-windows.md b/src/contrib/SDL-2.30.2/docs/README-windows.md new file mode 100644 index 0000000..cd29c1f --- /dev/null +++ b/src/contrib/SDL-2.30.2/docs/README-windows.md | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | # Windows | ||
| 2 | |||
| 3 | ## LLVM and Intel C++ compiler support | ||
| 4 | |||
| 5 | SDL will build with the Visual Studio project files with LLVM-based compilers, such as the Intel oneAPI C++ | ||
| 6 | compiler, but you'll have to manually add the "-msse3" command line option | ||
| 7 | to at least the SDL_audiocvt.c source file, and possibly others. This may | ||
| 8 | not be necessary if you build SDL with CMake instead of the included Visual | ||
| 9 | Studio solution. | ||
| 10 | |||
| 11 | Details are here: https://github.com/libsdl-org/SDL/issues/5186 | ||
| 12 | |||
| 13 | |||
| 14 | ## OpenGL ES 2.x support | ||
| 15 | |||
| 16 | SDL has support for OpenGL ES 2.x under Windows via two alternative | ||
| 17 | implementations. | ||
| 18 | |||
| 19 | The most straightforward method consists in running your app in a system with | ||
| 20 | a graphic card paired with a relatively recent (as of November of 2013) driver | ||
| 21 | which supports the WGL_EXT_create_context_es2_profile extension. Vendors known | ||
| 22 | to ship said extension on Windows currently include nVidia and Intel. | ||
| 23 | |||
| 24 | The other method involves using the | ||
| 25 | [ANGLE library](https://code.google.com/p/angleproject/). If an OpenGL ES 2.x | ||
| 26 | context is requested and no WGL_EXT_create_context_es2_profile extension is | ||
| 27 | found, SDL will try to load the libEGL.dll library provided by ANGLE. | ||
| 28 | |||
| 29 | To obtain the ANGLE binaries, you can either compile from source from | ||
| 30 | https://chromium.googlesource.com/angle/angle or copy the relevant binaries | ||
| 31 | from a recent Chrome/Chromium install for Windows. The files you need are: | ||
| 32 | |||
| 33 | - libEGL.dll | ||
| 34 | - libGLESv2.dll | ||
| 35 | - d3dcompiler_46.dll (supports Windows Vista or later, better shader | ||
| 36 | compiler) *or* d3dcompiler_43.dll (supports Windows XP or later) | ||
| 37 | |||
| 38 | If you compile ANGLE from source, you can configure it so it does not need the | ||
| 39 | d3dcompiler_* DLL at all (for details on this, see their documentation). | ||
| 40 | However, by default SDL will try to preload the d3dcompiler_46.dll to | ||
| 41 | comply with ANGLE's requirements. If you wish SDL to preload | ||
| 42 | d3dcompiler_43.dll (to support Windows XP) or to skip this step at all, you | ||
| 43 | can use the SDL_HINT_VIDEO_WIN_D3DCOMPILER hint (see SDL_hints.h for more | ||
| 44 | details). | ||
| 45 | |||
| 46 | Known Bugs: | ||
| 47 | |||
| 48 | - SDL_GL_SetSwapInterval is currently a no op when using ANGLE. It appears | ||
| 49 | that there's a bug in the library which prevents the window contents from | ||
| 50 | refreshing if this is set to anything other than the default value. | ||
| 51 | |||
| 52 | ## Vulkan Surface Support | ||
| 53 | |||
| 54 | Support for creating Vulkan surfaces is configured on by default. To disable | ||
| 55 | it change the value of `SDL_VIDEO_VULKAN` to 0 in `SDL_config_windows.h`. You | ||
| 56 | must install the [Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) in order to | ||
| 57 | use Vulkan graphics in your application. | ||
| 58 | |||
