| Age | Commit message (Collapse) | Author |
|
|
|
Converts lingering panic alert calls over to the fmt-capable ones.
|
|
Migrates the vulkan backend over to the fmt-capable logger.
|
|
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.
|
|
Gets rid of the warning for calling [NSView layer] off the main thread.
|
|
Again, needed for MoltenVK.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This gives us a native resolution framebuffer.
|
|
This is a scaling factor, used for hi-dpi configurations.
|
|
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.
|
|
|
|
|
|
|
|
Also allows the work previously done in Prepare to return a failure
status.
|
|
|
|
|
|
The Vulkan backend was not shutting down the AsyncShaderCompiler and
some other instances, causing asserts to hit, followed by a hard crash.
|
|
Should give a decent speedup to boot time.
|
|
|
|
|
|
We still create a pipeline cache object, since that speeds up driver's
creation of pipelines at runtime. However, we should not save it.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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().
|
|
|
|
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.
|
|
|