Commit graph

9348 commits

Author SHA1 Message Date
Weiyi Wang
365e6fdefd string_util: unify UTF8<->UTF16 conversion to codecvt 2018-10-02 16:10:34 +02:00
Weiyi Wang
82389b903b string_util: remove TString conversion for windows
First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
2018-10-02 16:10:20 +02:00
Weiyi Wang
f876f9b85c string_util: remove ShiftJIS/CP1252 conversion function
We always use unicode internally. Any dirty work of conversion with other codec should be handled by frontend framework (Qt). Further more, ShiftJIS/CP1252 are not special (they are not code set used by 3ds, or any guest/host dependencies we have), so there is no reason to specifically include them
2018-10-02 16:10:01 +02:00
fearlessTobi
c32e0c6847 Review comments - part 5 2018-10-02 16:04:10 +02:00
fearlessTobi
cd5b9645a4 Review comments -part 4 2018-10-02 15:30:49 +02:00
fearlessTobi
015fa7e556 Review comments - part 3 2018-10-02 15:30:48 +02:00
Weiyi Wang
2b4cefc8f9 web_backend: protect jwt cache with a mutex 2018-10-02 15:30:48 +02:00
fearlessTobi
dd6c300d9f Address more review comments 2018-10-02 15:30:48 +02:00
fearlessTobi
fb46c8b426 Address a bunch of review comments 2018-10-02 15:30:48 +02:00
fearlessTobi
92e939952c Port web_service from Citra 2018-10-02 15:30:48 +02:00
fearlessTobi
5a8a2160ce Add submodules 2018-10-02 15:30:48 +02:00
Zach Hilman
783af4adca deconstructed_rom_directory: Force NSO loader to patch NSOs 2018-10-01 16:02:50 -04:00
Zach Hilman
0b69a38532 nso: Add framework to support patching of uncompressed NSOs 2018-10-01 16:02:50 -04:00
Zach Hilman
4f26c89688 patch_manager: Add PatchNSO function
While PatchExeFS operated on the entire directory, this function operates on the uncompressed NSO. Avoids copying decompression code to PatchManager.
2018-10-01 16:02:50 -04:00
Zach Hilman
d913dba14a patch_manager: Use strings for patch type instead of enum 2018-10-01 16:02:50 -04:00
Zach Hilman
11b272edff file_sys: Implement function to apply IPS patches 2018-10-01 16:01:46 -04:00
Zach Hilman
6d26c40ebb nso: Replace NSOHeader padding bytes with build ID 2018-10-01 16:01:46 -04:00
bunnei
a2e3838e4b Merge pull request #1407 from DarkLordZach/dlc
aoc_u: Implement functions and add support for DLC loading
2018-10-01 15:56:39 -04:00
bunnei
bf615fc651 Merge pull request #1422 from ReinUsesLisp/fixup-points
gl_rasterizer: Fixup unassigned point sizes
2018-10-01 10:34:53 -04:00
ReinUsesLisp
f4a4427ff3 gl_rasterizer: Fixup unassigned point sizes 2018-10-01 01:18:24 -03:00
bunnei
bc5dde2765 Merge pull request #1330 from raven02/tlds
TLDS: Add 1D sampler
2018-09-30 21:53:38 -04:00
bunnei
31b1d17e28 Merge pull request #1420 from MerryMage/dynarmic
externals: Update dynarmic to 4e6848d
2018-09-30 21:25:35 -04:00
bunnei
a3bb4a448a Merge pull request #1322 from bunnei/tex-cubemap
gl_rasterizer_cache: Implement cubemap textures.
2018-09-30 21:19:00 -04:00
bunnei
7f9de80563 Merge pull request #1403 from DarkLordZach/install-sysnand
qt: Install System TitleTypes to System NAND
2018-09-30 21:08:44 -04:00
Zach Hilman
0ad053c374 aoc_u: Extract AccumulateAOCTitleIDs to separate function 2018-09-30 21:07:22 -04:00
Zach Hilman
7e0956b870 aoc_u: Implement GetAddOnContentBaseId
Command #5
2018-09-30 21:01:35 -04:00
Zach Hilman
85c1dc0fbf aoc_u: Implement Count, List and Prepare AddOnContent
Commands #2, #3, and #7
2018-09-30 21:01:35 -04:00
Zach Hilman
3a963f105f romfs_factory: Read from all locations with StorageId None
Previous behavior was to assert. Seems to mirror expected game behavior.
2018-09-30 21:01:35 -04:00
Zach Hilman
cfc63b8736 patch_manager: Add DLC recognition to PatchManager 2018-09-30 21:01:35 -04:00
bunnei
e0aedfac10 Merge pull request #1338 from raven02/service_vi
Implement ISystemDisplayService::GetDisplayMode
2018-09-30 15:39:54 -04:00
bunnei
d08d31fc94 Merge pull request #1417 from lioncash/context
svc: Implement svcGetThreadContext
2018-09-30 15:32:27 -04:00
bunnei
0e020d2fee gl_rasterizer_cache: Fixes to how we do render to cubemap.
- Fixes issues with Splatoon 2.
2018-09-30 15:10:14 -04:00
MerryMage
bce3ef0e72 externals: Update dynarmic to 4e6848d
4e6848d A32/ir_emitter: Bugfix: ExceptionRaised was producing incorrect PC
41ba9fd value: Move ImmediateToU64() to be a part of Value's interface
c6a6271 reg_alloc: Emit AVX instructions where able
aedd32a abi: Emit AVX instructions where able
f2d9337 a64_exclusive_monitor: Loosen memory ordering requirements
7ca709d travis: Make macOS builds use Xcode 10
14dd45e Fix VShift terminology
88554c4 emit_x64_vector: AVX512 implementation of EmitVectorLogicalVShiftS16
ab4e316 emit_x64_vector: AVX512 implementation of EmitVectorLogicalVShiftS64
0ea84f3 emit_x64_vector: AVX2 implementation of EmitVectorLogicalVShiftS32
c77a2c5 emit_x64_vector: AVX512 implementation of EmitVectorLogicalVShiftU16()
e9441fd emit_x64_vector: AVX2 implementation of EmitVectorLogicalVShiftU64()
0e9c33c emit_x64_vector: AVX2 implementation of EmitVectorLogicalVShiftU32()
8f85274 emit_x64_vector: SSSE3 variant of EmitVectorCountLeadingZeros8()
be05e75 Merge pull request #397 from VelocityRa/dec-shift-fix
bc328fc decoders: Cast to correctly-sized type before shifting
9c3d2d1 a64_emit_x64: Lowercase PAGE_SIZE
f538d29 emit_x64_vector_floating_point: SSE4.1 implementation of EmitFPVectorToFixed
1603a6e emit_x64_vector_floating_point: EmitFPVectorRoundInt: Use FCODE
2e1ccaf emit_x64_vector: AVX implementation for EmitVectorCountLeadingZeros8
555bfda emit_x64_vector: SSE implementation of EmitVectorCountLeadingZeros16
71c2589 externals: Update Xbyak to 5.73
1ec1b2f Squashed 'externals/xbyak/' changes from 1de435ed..42462ef9
2018-09-30 19:45:27 +01:00
bunnei
2d8977768f gl_rasterizer_cache: Add check for array rendering to cubemap texture. 2018-09-30 14:31:58 -04:00
bunnei
84375d04ee gl_rasterizer_cache: Implement render to cubemap. 2018-09-30 14:31:58 -04:00
bunnei
977f2bafa7 gl_shader_decompiler: TEXS: Implement TextureType::TextureCube. 2018-09-30 14:31:58 -04:00
bunnei
dcc44650fe gl_rasterizer_cache: Add support for SurfaceTarget::TextureCubemap. 2018-09-30 14:31:58 -04:00
bunnei
5b1e1c081e gl_rasterizer_cache: Implement LoadGLBuffer for Texture2DArray. 2018-09-30 14:31:57 -04:00
bunnei
b0fded32c6 gl_rasterizer_cache: Update BlitTextures to support non-Texture2D ColorTexture surfaces. 2018-09-30 14:31:57 -04:00
bunnei
036c50c9a3 gl_rasterizer_cache: Track texture target and depth in the cache. 2018-09-30 14:31:57 -04:00
bunnei
09de119f10 gl_rasterizer_cache: Workaround for Texture2D -> Texture2DArray scenario. 2018-09-30 14:31:56 -04:00
bunnei
08d7415a8a gl_rasterizer_cache: Keep track of surface 2D size separately from total size. 2018-09-30 14:31:56 -04:00
raven02
7cb5586653 Fix trailing whitespace 2018-09-30 23:51:10 +08:00
Merry
4da7fb192d Merge pull request #1418 from FearlessTobi/port-4269
Port citra-emu/citra#4269: "OSX: Set MACOSX_DEPLOYMENT_TARGET to 10.13"
2018-09-30 13:51:21 +01:00
B3n30
3c1e2a99e1 OSX: Set MACOSX_DEPLOYMENT_TARGET to 10.13 2018-09-30 13:34:49 +02:00
Lioncash
5238113b9c kernel/svc: Implement svcGetThreadContext()
Now that we have all of the rearranging and proper structure sizes in
place, it's fairly trivial to implement svcGetThreadContext(). In the
64-bit case we can more or less just write out the context as is, minus
some minor value sanitizing. In the 32-bit case we'll need to clear out
the registers that wouldn't normally be accessible from a 32-bit
AArch32 exectuable (or process).
2018-09-30 05:29:40 -04:00
Lioncash
7942c5ca0d kernel/process: Add a data member to determine if a process is 64-bit or not.
This will be necessary for the implementation of svcGetThreadContext(),
as the kernel checks whether or not the process that owns the thread
that has it context being retrieved is a 64-bit or 32-bit process.

If the process is 32-bit, then the upper 15 general-purpose registers
and upper 16 vector registers are cleared to zero (as AArch32 only has
15 GPRs and 16 128-bit vector registers. not 31 general-purpose
registers and 32 128-bit vector registers like AArch64).
2018-09-30 05:29:40 -04:00
Lioncash
9d8f4d934b kernel/process: Make data member variables private
Makes the public interface consistent in terms of how accesses are done
on a process object. It also makes it slightly nicer to reason about the
logic of the process class, as we don't want to expose everything to
external code.
2018-09-30 02:30:01 -04:00
Lioncash
f4dbd712a0 arm_interface: Add missing fpsr/tpidr members to the ThreadContext struct
Internally within the kernel, it also includes a member variable for the
floating-point status register, and TPIDR, so we should do the same here to match
it.

While we're at it, also fix up the size of the struct and add a static
assertion to ensure it always stays the correct size.
2018-09-30 02:29:57 -04:00
raven02
821b66cde5 Implement ISystemDisplayService::GetDisplayMode 2018-09-30 10:04:03 +08:00