Commit Graph

2 Commits

Author SHA1 Message Date
Ben Marsh
cbf8b979ed First pass on tidying up all the plugin categories. Reduced everything to a single-level hierarchy, and attempt to group things by broad categories rather than implementation details.
[CL 2521430 by Ben Marsh in Main branch]
2015-04-22 14:40:16 -04:00
Mark Satterthwaite
3670846fc0 Implement optional & off-by-default support for automatic graphics switching on OS X, rather than just relying on the OS, with a GUI plugin for the editor.
- The very large OpenGLMac file has been broken up:
     - MacOpenGLContext provides the FPlatformOpenGLContext wrapper around NSOpenGLContext & various helpers.
     - MacOpenGLQuery provides the GL_TIMESTAMP emulation wrappers.
- The OpenGL/DisplayMask ini setting specifies an explicit display mask for all contexts just as before.
- The OpenGL/RendererID ini setting specifies an explicit rendering device to use for all contexts, but this is just the initial setting.
- The OpenGL/bUseMultipleRenderers ini setting allows contexts to contain multiple GPUs & render windows using the GPU for the appropriate display, only useful for desktops with multiple GPUs, in this mode the explicit rendering device is only used for offscreen rendering. To qualify all GPUs must provide the same OpenGL version.
- The OpenGL/bAllowAutomaticGraphicsSwitching ini setting turns on automatic graphics switching support which allows for switching between discrete & integrated GPUs which provide the same OpenGL version.
- The r.Mac.ExplicitRendererID cvar allows changing the explicit rendering device used when is OpenGL/bAllowAutomaticGraphicsSwitching enabled, rather than the default which updates the contexts to use the online device, whatever that may be.
- Renderer dependent variables are updated whenever the renderer changes to ensure rendering consistency.
- The plugin provides an editor preferences panel & for laptops using bAllowAutomaticGraphicsSwitching a live drop-down in the LevelEditor window to select the current GPU.
#codereview michael.trepka

[CL 2300768 by Mark Satterthwaite in Main branch]
2014-09-17 06:25:07 -04:00