Age | Commit message (Collapse) | Author |
|
Uses the same type aliases we use for virtual addresses, and converts
one lingering usage of std::array<uint64_t, 2> to u128 for consistency.
|
|
NRO Assets and NACP File Format
|
|
set: Add missing log call in GetAvailableLanguageCodeCount()
|
|
Forgot to include this in 22f448b6327044076959e338811ee576f3dcf093
|
|
string_util: Minor changes
|
|
Cleanup
Review fixes
|
|
set: Amend return value of GetAvailableLanguageCodes()
|
|
This just returns the size of the language code buffer.
|
|
The return code should be 32-bit in size.
|
|
shader_bytecode: Implement other TEXS masks.
|
|
CodeToUTF8() and UTF8ToUTF16()
There's no need to perform the resize separately here, since the
constructor allows presizing the buffer.
Also move the empty string check before the construction of the string
to make the early out more straightforward.
|
|
This is equivalent to doing:
push_back(std::string(""));
which is likely not to cause issues, assuming a decent std::string
implementation with small-string optimizations implemented in its
design, however it's still a little unnecessary to copy that buffer
regardless. Instead, we can use emplace_back() to directly construct the
empty string within the std::vector instance, eliminating any possible
overhead from the copy.
|
|
We can just use the variant of std::string's replace() function that can
replace an occurrence with N copies of the same character, eliminating
the need to allocate a std::string containing a buffer of spaces.
|
|
Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel.
|
|
Frontend: Check for more required OpenGL extensions during startup.
|
|
file_util, vfs: Use std::string_view where applicable
|
|
kernel.
|
|
gl_shader_decompiler: Remove redundant Subroutine construction in AddSubroutine()
|
|
|
|
Implement exclusive monitor
|
|
externals: Update dynarmic to fc6b73bd
|
|
Resolves issues:
* 128-bit exclusive writes on Windows
* Non-updating CNTPCT_EL0
fc6b73 a64_emit_x64: Ensure host has updated ticks in EmitA64GetCNTPCT
888c67 a64_emit_x64: Fix stack misalignment on Windows for 128-bit exclusive writes
352d53 emit_x64_aes: Eliminate extraneous usage of a scratch register in EmitAESInverseMixColumns()
ab7fe7 A64: Implement SADDLV
09bd2b A64: Implement UADDLV
62e86d fp: Use forward declarations where applicable
b3edb7 emit_x64_vector: Append 'v' prefix onto movq in AVX path
|
|
|
|
AddSubroutine()
We don't need to toss away the Subroutine instance after the find() call
and reconstruct another instance with the same data right after it.
Particularly give Subroutine contains a std::set.
|
|
|
|
ReplaceFileWithSubdirectory() takes a VirtualFile and a VirtualDir, but
it was being passed a string as one of its arguments. The only reason
this never caused issues is because this template isn't instantiated
anywhere yet.
This corrects an issue before it occurs.
|
|
Avoids unnecessary construction of std::string instances where
applicable.
|
|
file_util: Remove goto usages from Copy()
|
|
gl_shader_decompiler: Remove unused state tracking and minor cleanup.
|
|
gl_shader_decompiler: Implement SEL instruction.
|
|
file_util: Minor changes to ScanDirectoryTree() and ForeachDirectoryEntry()
|
|
|
|
|
|
Improvements to rasterizer cache
|
|
We can just leverage std::unique_ptr to automatically close these for us
in error cases instead of jumping to the end of the function to call
fclose on them.
|
|
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
|
|
Avoids unnecessary copies when building up the FST entries.
|
|
|
|
|
|
|
|
|
|
|
|
file_util: Remove redundant duplicate return in GetPathWithoutTop()
|
|
video_core: Use nested namespaces where applicable
|
|
common: Remove synchronized_wrapper.h
|
|
file_util: Use an enum class for GetUserPath()
|
|
GPU: Implement the NVGPU_IOCTL_CHANNEL_KICKOFF_PB ioctl2 command.
|
|
This behaves quite similarly to the SubmitGPFIFO command. Referenced from Ryujinx.
Many thanks to @gdkchan for investigating this!
|
|
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
|
|
Given both operands are the same type, there won't be an issue with
overload selection that requires making this explicit.
|