| Age | Commit message (Collapse) | Author |
|
Fortunately this didn't result in any issues, given the block that code
was falling through to would immediately break.
|
|
This forces us to fix all -Wswitch warnings in video_core.
|
|
Now that the GPU is initialized when video backends are initialized,
it's no longer needed to query components once the game is running: it
can be done when yuzu is booting.
This allows us to pass components between constructors and in the
process remove all Core::System references in the video backend.
|
|
externals: Update Xbyak to 5.96
|
|
async_shaders: Mark getters as const member functions
|
|
'driver_id' can only be known on Vulkan 1.1 after creating a logical
device. Move the driver id check to disable
VK_EXT_extended_dynamic_state after the logical device is successfully
initialized.
The Vulkan device will have the extension enabled but it will not be
used.
|
|
I made a request on the Xbyak issue tracker to allow some constructors
to be constexpr in order to avoid static constructors from needing to
execute for some of our register constants.
This request was implemented, so this updates Xbyak so that we can make
use of it.
|
|
Vertex binding's <stride> is bugged on AMD's proprietary drivers when
using VK_EXT_extended_dynamic_state. Blacklist it for now while we
investigate how to report this issue to AMD.
|
|
shader/memory: Amend UNIMPLEMENTED_IF_MSG without a message
|
|
video_core/host_shaders: Add CMake integration for string shaders
|
|
vk_state_tracker: Fix primitive topology
|
|
|
|
This doesn't modify member state, so it can be marked as const.
|
|
memory_manager: Mark IsGranularRange() as a const member function
|
|
video_core: Initialize renderer with a GPU
|
|
While we're at it, we can also mark them as nodiscard.
|
|
This doesn't modify internal member state, so it can be marked as const.
|
|
LabelGLObject takes a string_view, so we don't need to make copies of
the std::string.
|
|
Avoids pulling in unnecessary things that can cause rebuilds when they
aren't required.
|
|
Add the necessary CMake code to copy the contents in a string source
shader (GLSL or GLASM) to a header file then consumed by video_core
files.
This allows editting GLSL in its own files without having to maintain
them in source files.
For now, only OpenGL presentation shaders are moved, but we can add
GLASM presentation shaders and static SPIR-V generation through
glslangValidator in the future.
|
|
This allows us passing any type of string and hinting the length of the
string to the OpenGL driver.
|
|
Add an extra step in GPU initialization to be able to initialize render
backends with a valid GPU instance.
|
|
gl_shader_disk_cache: Make use of std::nullopt where applicable
|
|
macro-interpreter: Resolve -Wself-assign-field warning
|
|
State track the current primitive topology with a regular comparison
instead of using dirty flags.
This fixes a bug in dirty flags for this particular state and it also
avoids unnecessary state changes as this property is stored in a
frequently changed bit field.
|
|
common/telemetry: Migrate namespace into the Common namespace
|
|
vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()
|
|
Migrates the Telemetry namespace into the Common namespace to make the
code consistent with the rest of our common code.
|
|
common/fileutil: Convert namespace to Common::FS
|
|
vulkan_renderer: Async shader/graphics pipeline compilation
|
|
async_shaders: Resolve -Wpessimizing-move warning
|
|
Addressing feedback from Rodrigo
|
|
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
|
|
common: Make use of [[nodiscard]] where applicable
|
|
maxwell_3d: Resolve -Wextra-semi warning
|
|
Seems like all compilers don't support std::span yet.
|
|
lz4_compression/zstd_compression: Make use of std::span in interfaces
|
|
textures/decoders: Fix block linear to pitch copies
|
|
We need to provide a message for this variant of the macro, so we can
simply log out the type being used.
|
|
This was assigning the field to itself, which is a no-op. The size
doesn't change between its initial assignment and this one, so this is a
safe change to make.
|
|
Given this is implicitly creating a std::optional, we can move the
vector into it.
|
|
Allows the compiler to avoid unnecessarily zeroing out the internal
buffer of std::optional on some implementations.
|
|
Prevents pessimization of the move constructor (which thankfully didn't
actually happen in practice here, given std::thread isn't copyable).
|
|
Semicolons after a function definition aren't necessary.
|