| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
- We must always use a GPU thread now, even with synchronous GPU.
|
|
Without using VK_EXT_robustness2, we can't consider the 'enabled' (not
null) vertex buffers as dynamic state, as this leads to invalid Vulkan
state. Move this to static state that is always hashed and compared in
the pipeline key.
The bits for enabled vertex buffers are moved into the attribute state
bitfield. This is not 'correct' as it's not an attribute state, but that
struct has bits to spare, and it's used in an array of 32 elements (the
exact same number of vertex buffer bindings).
|
|
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
|
|
Port citra-emu/citra#5617: "Fix telemetry-related exit crash from use-after-free"
|
|
Co-Authored-By: xperia64 <xperia64@users.noreply.github.com>
|
|
This was only necessary for use with the
avcodec_decode_video2/avcoded_decode_audio4 APIs which are also
deprecated.
Given we use avcodec_send_packet/avcodec_receive_frame, this isn't
necessary, this is even indicated directly within the FFmpeg API changes
document here on 2017-09-26:
https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges#L410
This prevents our code from breaking whenever we update to a newer
version of FFmpeg in the future if they ever decide to fully remove this
API member.
|
|
Resolves variable shadowing scenarios up to the end of the OpenGL code
to make it nicer to review. The rest will be resolved in a following
commit.
|
|
node: Eliminate variable shadowing
|
|
Prevents logic bugs from accidentally ignoring the return value.
|
|
|
|
Removes the usage of moves that don't result in behavior different from
a copy, or otherwise would prevent copy elision from occurring.
|