1Windows
2================================================================================
3
4================================================================================
5OpenGL ES 2.x support
6================================================================================
7
8SDL has support for OpenGL ES 2.x under Windows via two alternative
9implementations.
10The most straightforward method consists in running your app in a system with
11a graphic card paired with a relatively recent (as of November of 2013) driver
12which supports the WGL_EXT_create_context_es2_profile extension. Vendors known
13to ship said extension on Windows currently include nVidia and Intel.
14
15The other method involves using the ANGLE library (https://code.google.com/p/angleproject/)
16If an OpenGL ES 2.x context is requested and no WGL_EXT_create_context_es2_profile
17extension is found, SDL will try to load the libEGL.dll library provided by
18ANGLE.
19To obtain the ANGLE binaries, you can either compile from source from
20https://chromium.googlesource.com/angle/angle or copy the relevant binaries from
21a recent Chrome/Chromium install for Windows. The files you need are:
22
23    * libEGL.dll
24    * libGLESv2.dll
25    * d3dcompiler_46.dll (supports Windows Vista or later, better shader compiler)
26    or...
27    * d3dcompiler_43.dll (supports Windows XP or later)
28
29If you compile ANGLE from source, you can configure it so it does not need the
30d3dcompiler_* DLL at all (for details on this, see their documentation).
31However, by default SDL will try to preload the d3dcompiler_46.dll to
32comply with ANGLE's requirements. If you wish SDL to preload d3dcompiler_43.dll (to
33support Windows XP) or to skip this step at all, you can use the
34SDL_HINT_VIDEO_WIN_D3DCOMPILER hint (see SDL_hints.h for more details).
35
36Known Bugs:
37
38    * SDL_GL_SetSwapInterval is currently a no op when using ANGLE. It appears
39      that there's a bug in the library which prevents the window contents from
40      refreshing if this is set to anything other than the default value.
41
42Vulkan Surface Support
43==============
44
45Support for creating Vulkan surfaces is configured on by default. To disable it change the value of `SDL_VIDEO_VULKAN` to 0 in `SDL_config_windows.h`. You must install the [Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) in order to use Vulkan graphics in your application.
46