| Age | Commit message (Collapse) | Author |
|
Ensures that our code always has its linkage explicit.
|
|
|
|
1. Ensure that register information available to gdbstub is most up-to-date.
2. There's no reason to check for current_thread == thread when emitting a trap.
Doing this results in random hangs whenever a step happens upon a thread switch.
|
|
kernel/thread: Resolve -Wswitch warnings
|
|
|
|
Only the first element of the returned pair is ever used.
|
|
Some variables aren't used, so we can remove these.
Unfortunately, diagnostics are still reported on structured bindings
even when annotated with [[maybe_unused]], so we need to unpack the
elements that we want to use manually.
|
|
Same behavior, less code.
|
|
We can just specify the initializers.
|
|
ttis and ats will never exceed the length of INT32_MAX in our case, so
this is safe.
|
|
Allows catching cases where internal linkage isn't specified for helper
functions when they should be marked as such.
|
|
These were added in the change that enabled -Wextra on linux builds so
as not to introduce interface changes in the same change as a
build-system flag addition.
Now that the flags are enabled, we can freely change the interface to
make these unnecessary.
|
|
CMakeLists: Specify -Wextra on linux builds
|
|
nouveau expects this to be true but it doesn't set it.
|
|
Implement indexed quads (GL_QUADS used with glDrawElements*) with a
compute pass conversion.
The compute shader converts from uint8/uint16/uint32 indices to uint32.
The format is passed through push constants to avoid having different
variants of the same shader.
- Used by Fast RMX
- Used by Xenoblade Chronicles 2 (it still has graphical due to
synchronization issues on Vulkan)
|
|
buffer_cache: Return handles instead of pointer to handles
|
|
Neither core nor web_services use OpenSSL nor LibreSSL.
However they need to link them as it's a requirement of httplib.
So let's declare this within httplib instead of core and web_services.
|
|
|
|
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
|
|
The original idea of returning pointers is that handles can be moved.
The problem is that the implementation didn't take that in mind and made
everything harder to work with. This commit drops pointer to handles and
returns the handles themselves. While it is still true that handles can
be invalidated, this way we get an old handle instead of a dangling
pointer.
This problem can be solved in the future with sparse buffers.
|
|
decode/shift: Remove unused variable within Shift()
|
|
surface_view: Add missing operator!= to ViewParams
|
|
gl_device: Mark stage_swizzle as constexpr
|
|
surface_base: Make IsInside() a const member function
|
|
control_flow: Make use of std::move in TryInspectAddress()
|
|
Removes a redundant variable that is already satisfied by the IsFull()
utility function.
|
|
Provides logical symmetry to the interface.
|
|
This doesn't modify internal state, so this can be made const.
|
|
video_core: Amend doxygen comment references
|
|
Previously these were all using the red component to derive the indices,
which is definitely not intentional.
|
|
Eliminates redundant atomic reference count increments and decrements.
|
|
Fixes broken documentation references.
|
|
Avoids potential invalid junk data from being read.
|
|
Previously this was mutable even though it shouldn't be.
|
|
Two variables can be references, while two others can be std::moved.
Makes for 4 less atomic reference count increments and decrements.
|
|
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
|
|
Texture Cache: Read current data when flushing a 3D segment.
|
|
shader/memory: Implement RED.E.ADD and minor changes to ATOM
|
|
It's undefined behavior to pass a null pointer to std::fread and
std::fwrite, even if the length passed in is zero, so we must perform
the precondition checking ourselves.
A common case where this can occur is when passing in the data of an
empty std::vector and size, as an empty vector will typically have a
null internal buffer.
While we're at it, we can move the implementation out of line and add
debug checks against passing in nullptr to std::fread and std::fwrite.
|
|
This can result in silent logic bugs within code, and given the amount
of times these kind of warnings are caused, they should be flagged at
compile-time so no new code is submitted with them.
|
|
|
|
gl_rasterizer: Implement constant vertex attributes
|
|
This PR corrects flushing of 3D segments when data of other segments is
mixed, this aims to preserve the data in place.
|
|
maxwell_to_vk: Add uint16 vertex formats
|
|
gl_shader_cache: Use CompileDepth::FullDecompile on GLSL
|
|
gl_texture_cache: Fix layered texture attachment base level
|
|
shader/arithmetic: Add FCMP_CR variant
|
|
Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"
|
|
|
|
Avoid invalid fallbacks.
|