Age | Commit message (Collapse) | Author |
|
Avoids the need to repeat "std::" twice
|
|
alignment size for avoiding false sharing
MSVC 19.11 (A.K.A. VS 15.3)'s C++ standard library implements P0154R1
(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html)
which defines two new constants within the <new> header, std::hardware_destructive_interference_size
and std::hardware_constructive_interference_size.
std::hardware_destructive_interference_size defines the minimum
recommended offset between two concurrently-accessed objects to avoid
performance degradation due to contention introduced by the
implementation (with the lower-bound being at least alignof(max_align_t)).
In other words, the minimum offset between objects necessary to avoid
false-sharing.
std::hardware_constructive_interference_size on the other hand defines
the maximum recommended size of contiguous memory occupied by two
objects accessed wth temporal locality by concurrent threads (also
defined to be at least alignof(max_align_t)). In other words the maximum
size to promote true-sharing.
So we can simply use this facility to determine the ideal alignment
size. Unfortunately, only MSVC supports this right now, so we need to
enclose it within an ifdef for the time being.
|
|
Implemented IProfile::GetImageSize
|
|
audio_core: Replace includes with forward declarations where applicable.
|
|
Implemented GetDefaultDisplayResolution
|
|
core/core_cpu: Replace exclusive monitor include with forward declaration
|
|
svc_wrap: Convert the PARAM macro into a function
|
|
Stubbed ActivateConsoleSixAxisSensor & StartConsoleSixAxisSensor
|
|
gl_shader_decompiler: Avoid truncation warnings within LD_A and ST_A code
|
|
shader_decompiler: Implemented (Partialy) Control Codes and CSETP
|
|
shader_decompiler: Asserts for Texture Instructions
|
|
* Fix bug where default username value for yuzu_cmd create an userprofile with uninitialize data as username
* Fix format
* Apply code review changes
* Remove nullptr check
|
|
kernel/svc: Handle invalid address cases within svcArbitrateLock() and svcArbitrateUnlock()
|
|
arm_interface: Remove ARM11-isms from the CPU interface
|
|
arm_dynarmic: Correct ExclusiveWrite128()'s operation
|
|
|
|
|
|
|
|
|
|
|
|
This can just be a regular function, getting rid of the need to also
explicitly undef the define at the end of the file. Given FuncReturn()
was already converted into a function, it's #undef can also be removed.
|
|
Previously the second half of the value being written would overwrite
the first half. Thankfully this wasn't a bug that was being encountered,
as the function is currently unused.
|
|
This modifies the CPU interface to more accurately match an
AArch64-supporting CPU as opposed to an ARM11 one. Two of the methods
don't even make sense to keep around for this interface, as Adv Simd is
used, rather than the VFP in the primary execution state. This is
essentially a modernization change that should have occurred from the
get-go.
|
|
named variant
We already have a ResultCode constant for the case of an invalid
address, so we can just use it instead of re-rolling that ResultCode
type.
|
|
The kernel does the equivalent of the following check before proceeding:
if (address + 0x8000000000 < 0x7FFFE00000) {
return ERR_INVALID_MEMORY_STATE;
}
which is essentially what our IsKernelVirtualAddress() function does. So
we should also be checking for this.
The kernel also checks if the given input addresses are 4-byte aligned,
however our Mutex::TryAcquire() and Mutex::Release() functions already
handle this, so we don't need to add code for this case.
|
|
|
|
These are internally stored as u64 values, so using u32 here causes
truncation warnings. Instead, we can just use u64 and preserve the bit
width.
|
|
Implemented (Partialy) Shader Header
|
|
We don't need to include this as a dependency within the header. A
regular forward declaration will suffice here.
|
|
|
|
|
|
|
|
This isn't used within this header and isn't necessary.
|
|
Avoids propagating includes in headers where it's not necessary to do
so.
|
|
Avoids including unnecessary headers within the audio_renderer.h header,
lessening the likelihood of needing to rebuild source files including
this header if they ever change.
Given std::vector allows forward declaring contained types, we can move
VoiceState to the cpp file and hide the implementation entirely.
|
|
|
|
|
|
Optimized Texture Swizzling
|
|
service/vi: Replace includes with forward declarations where applicable
|
|
kernel/errors: Amend error code for ERR_NOT_FOUND
|
|
audio_core/time_stretch: Silence truncation warnings in Process()
|
|
gl_shader_decompiler: Get rid of variable shadowing within LEA instructions
|
|
services/sm: Amend error code constants
|
|
cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
|
|
kernel/svc: Handle a few error cases within memory-related functions
|
|
cubeb_sink: Correct context name in ListCubebSinkDevices()
|
|
Port #4192 from Citra: "svc: change unknown to thread in CreateThread"
|
|
Port #4171 from Citra: "Tests: Remove glad test OS X work-around"
|
|
Port #4182 from Citra: "Prefix all size_t with std::"
|
|
Implement RenderTargetFormat::BGR5A1_UNORM
|