| Age | Commit message (Collapse) | Author |
|
Report device enumeration errors with exceptions to be consistent with
other initialization related function calls. Reduces the amount of code
to maintain.
|
|
Move surface initialization code to a separate file. It's unlikely to
use this code outside of Vulkan, but keeping platform-specific code
(Win32, Xlib, Wayland) in its own translation unit keeps things cleaner.
|
|
Move more Vulkan code to report errors with exceptions and report them
through a log before notifying it with an error boolean for backwards
compatibility. In the future we can replace the rasterizer two-step
initialization to always use exceptions.
|
|
Initialize debug callbacks (messenger) from a separate file. This allows
sharing code with different backends.
Change our Vulkan error handling to use exceptions instead of error
codes, simplifying the initialization process.
|
|
Simplify Vulkan's backend initialization code by moving it to a separate
file, allowing us to initialize a Vulkan instance from different
backends.
|
|
vulkan_common/vulkan_wrapper.h
Allows sharing Vulkan wrapper code between different rendering backends.
|
|
Allows us to initialize a Vulkan dynamic library from different backends
without duplicating code.
|
|
|
|
Silences a -Wmaybe-uninitialized warning
|
|
The current texture cache has several points that hurt maintainability
and performance. It's easy to break unrelated parts of the cache
when doing minor changes. The cache can easily forget valuable
information about the cached textures by CPU writes or simply by its
normal usage.The current texture cache has several points that hurt
maintainability and performance. It's easy to break unrelated parts
of the cache when doing minor changes. The cache can easily forget
valuable information about the cached textures by CPU writes or simply
by its normal usage.
This commit aims to address those issues.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add support for building SPIR-V shaders from GLSL and generating headers
to include the text of those same GLSL shaders to consume from OpenGL.
|
|
video_core: Enforce C4715 (not all control paths return a value)
|
|
Removes the unnecesary burden of maintaining separate #ifdef paths and
allows us sharing generic Vulkan code across APIs.
|
|
Most of the time people write code that always returns a value,
terminates execution, throws an exception, or uses an unconventional
jump primitive.
This is not always true when we build without asserts on mainline builds.
To avoid introducing undefined behavior on our most used builds, enforce
this warning signalling an error and stopping the build from shipping.
|
|
|
|
maxwell_3d: Remove unused dirty_pointer array
|
|
gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()
|
|
video_core: Make use of ordered container contains() where applicable
|
|
With C++20, we can use the more concise contains() member function
instead of comparing the result of the find() call with the end
iterator.
|
|
Provides an in-place format string to make it more pleasant to read.
|
|
Resolves a -Wrange-loop-analysis warning.
|
|
map_interval: Change field order to address uninitialized field warning
|
|
shader_ir: std::move node within DeclareAmend()
|
|
Prevents logic errors from occurring from unused values.
|
|
Reduces the amount of dependencies the header pulls in.
|
|
Same behavior, but elides an unnecessary atomic reference count
increment and decrement.
|
|
fmt now automatically prints the numeric value of an enum class member
by default, so we don't need to use casts any more.
Reduces the line noise a bit.
|
|
renderer_vulkan: Add missing `override` specifier
|
|
video_core: Resolve more variable shadowing scenarios pt.3
|
|
Follows our established coding style.
|
|
Removes a documentation comment for a non-existent member.
|
|
This is unused and removing it shrinks the structure by 3584 bytes.
|
|
|
|
Clang complains about `new_chunk`'s constructor using the
then-uninitialized `first_chunk` (even though it's just to get a pointer
into it).
|
|
The previous definition was:
#define NUM(field_name) (sizeof(Maxwell3D::Regs::field_name) / sizeof(u32))
In cases where `field_name` happens to refer to an array, Clang thinks
`sizeof(an array value) / sizeof(a type)` is an instance of the idiom
where `sizeof` is used to compute an array length. So it thinks the
type in the denominator ought to be the array element type, and warns if
it isn't, assuming this is a mistake.
In reality, `NUM` is not used to get array lengths at all, so there is no
mistake. Silence the warning by applying Clang's suggested workaround
of parenthesizing the denominator.
|
|
On Apple platforms, FALSE and TRUE are defined as macros by
<mach/boolean.h>, which is included by various system headers.
Note that there appear to be no actual users of the names to fix up.
|
|
Cleans out the rest of the occurrences of variable shadowing and makes
any further occurrences of shadowing compiler errors.
|
|
Migrates the video core code closer to enabling variable shadowing
warnings as errors.
This primarily sorts out shadowing occurrences within the Vulkan code.
|
|
video_core: Resolve more variable shadowing scenarios
|