summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/main.cpp
AgeCommit message (Collapse)Author
2021-01-27normalize common filenames in VideoBackends/VulkanShawn Hoffman
2020-12-02General: Convert PanicAlerts over to fmt equivalentLioncash
Converts lingering panic alert calls over to the fmt-capable ones.
2020-11-09Vulkan: Migrate logging over to fmtLioncash
Migrates the vulkan backend over to the fmt-capable logger.
2020-04-07Vulkan: Switch from vkCreateMacOSSurfaceMVK() to vkCreateMetalSurfaceEXT()Stenzek
Since we are calling this off the UI thread, we can't use anything which accesses the underlying NSView object. We create and set the Metal layer on the UI thread before the video backend is initialized. This extension is both compatible with MoltenVK and gfx-portability for accepting a layer at surface creation.
2020-03-11Vulkan: Pass CAMetalLayer to MoltenVK instead of NSViewStenzek
Gets rid of the warning for calling [NSView layer] off the main thread.
2020-03-11VideoBackends: Make it possible for PrepareWindow to change the surfaceStenzek
Again, needed for MoltenVK.
2019-11-28Common: Unify logging namespace with CommonLioncash
Previously the logging was a in a little bit of a disarray. Some things were in namespaces, and other things were not. Given this code will feature a bit of restructuring during the transition over to fmt, this is a good time to unify it under a single namespace and also remove functions and types from the global namespace. Now, all functions and types are under the Common::Log namespace. The only outliers being, of course, the preprocessor macros.
2019-10-31Vulkan: Exclusive fullscreen support via VK_EXT_full_screen_exclusiveStenzek
2019-06-08Vulkan: Display a warning when using MoltenVK on HS and earlierStenzek
2019-03-29Vulkan: Simplify command buffer fence trackingStenzek
2019-02-19Move most backend functionality to VideoCommonStenzek
2019-02-15Vulkan: Support runtime selection of WSIStenzek
2019-01-27Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabledStenzek
2019-01-26Vulkan: Set contents scale of Metal layer to screen factorStenzek
This gives us a native resolution framebuffer.
2019-01-25VideoBackends: Store a backbuffer 'scale'Stenzek
This is a scaling factor, used for hi-dpi configurations.
2018-11-07Vulkan: Support macOS via MoltenVKStenzek
The path to the MoltenVK library can be specified by the LIBMOLTENVK_PATH environment variable, otherwise it assumes it is located in the application bundle's Contents/MacOS directory.
2018-10-20VideoBackends: Pass window system info from host on creationStenzek
2018-10-20Drop Host_GetRenderSurface and pass display to backendStenzek
2018-03-10Move shader caches to VideoCommonStenzek
2018-01-27VideoBackends: Combine Initialize/Prepare and Cleanup/Shutdown methodsStenzek
Also allows the work previously done in Prepare to return a failure status.
2018-01-11Vulkan: Move render pass management to ObjectCacheStenzek
2017-10-18Vulkan: Fix crash on shutdown with Virtual XFB enabledStenzek
2017-10-08Vulkan: Fix crash when Core initialisation failsLéo Lam
The Vulkan backend was not shutting down the AsyncShaderCompiler and some other instances, causing asserts to hit, followed by a hard crash.
2017-07-30Vulkan: Multithreaded creation of UID pipeline cachesStenzek
Should give a decent speedup to boot time.
2017-07-30Vulkan: Uber shader supportStenzek
2017-07-30Vulkan: Move shader/pipeline-related methods to ShaderCacheStenzek
2017-07-20Vulkan: Don't save pipeline cache if shader cache is disabledStenzek
We still create a pipeline cache object, since that speeds up driver's creation of pipelines at runtime. However, we should not save it.
2017-03-10VideoBackends: Move max texture size to VideoConfigStenzek
This stops the virtual method call from within the Renderer constructor. The initialization here for GL had to be moved to VideoBackend, as the Renderer constructor will not have been executed before the value is required.
2017-02-01LightingShaderGen: Remove unnecessary includesLioncash
2017-01-29Vulkan: Refactor initialization to only use a single instanceStenzek
Hopefully will fix the crash in vkDestroyInstance on the NV Shield TV, and likely reduce boot times slightly for drivers that take a while to create instances.
2016-12-04Vulkan: Support logging debug reports without enabling validation layersStenzek
There is a caveat, Host GPU must be checked prior to starting the game, as we can't enable the extension at runtime without recreating the instance.
2016-11-03Vulkan: Remove parameters/members of single-instance classesStenzek
There's not a lot of point in passing these around or storing them (texture cache/state tracker mainly) as there will only ever be a single instance of the class. Also adds downcast helpers such as Vulkan::Renderer::GetInstance().
2016-10-03Vulkan: Fix vsync behavior when throttler is temp disabledStenzek
2016-10-03Vulkan: Correct logic for handling target and window size changesStenzek
Should fix a possible reference to deleted framebuffers, as well as fixing the issues with the render area being correct if the game's source area changes, or auto-scaling is enabled.
2016-10-01Implement experimental Vulkan backendStenzek