Commit Graph

3194 Commits (e9af70eaf3e9d190b2c75c039b004beb71f0e436)
 

Author SHA1 Message Date
Lioncash 532dc797c9 arm_dyncom_dec: Fix decoding of VMLS
Previously, all VMLS variants would misdecode as CDP
(which isn't necessarily wrong in itself, however
VMLS has it's own label of execution)
Lioncash 744f4af3ab services: Update some function tables
bunnei 82087672b7 Merge pull request from lioncash/render
video_core: Make the renderer global a unique_ptr
Lioncash 5e17a586da video_core: Make the renderer global a unique_ptr
bunnei 4bc961d5fd Merge pull request from Subv/sync
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered
bunnei 8a24214b46 Merge pull request from lioncash/unique
core: Use unique_ptr for holding the interpreter instances
Subv 6cccc36505 HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered.
Closes 
bunnei 748856ed9e Merge pull request from lioncash/override
swrasterizer: Add missing override specifier
Lioncash 97dc9634a2 swrasterizer: Add missing override specifier
Lioncash cee8df6ff0 core: Use unique_ptr for holding the interpreter instances
bunnei 73740d74ed Merge pull request from Subv/arbitrateaddress
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
Mathew Maidment 23f5d5a776 Merge pull request from lioncash/mrc-apsr
dyncom: Handle modifying the APSR via an MRC instruction
Lioncash fddfe946c8 dyncom: Handle modifying the APSR via an MRC instruction
Subv 29032ce9b6 SVC: Fixed ArbitrateAddress to behave as it does on hardware.
This was verified with hwtests that i plan to upload later on.
bunnei 8f39297c53 Merge pull request from lioncash/warn
svc: Remove superfluous printf argument
bunnei 40599c24ea Merge pull request from LFsWang/master
Add a return value in ForeachDirectoryEntry
Lioncash 270cbb0119 svc: Remove superfluous printf argument
Subv 282f2c8042 HLE/Sockets: Fixed the buffer offset in recvfrom.
Closes 
Mathew Maidment 031443199b Merge pull request from lioncash/memory
dyncom: Minor changes
LFsWang 8376821776 Add missing return values in ForeachDirectoryEntry
ForeachDirectoryEntry is changed by  ,but return value at last line
was missing.
Lioncash d09b7a3c12 dyncom: Remove PC dispatch from several instructions
These instructions aren't capable of using the PC as a destination
Yuri Kunde Schlesner ed20141346 Merge pull request from yuriks/reset-rasterizer
VideoCore: Sync state after changing rasterizers
Yuri Kunde Schlesner 015d7b9779 VideoCore: Sync state after changing rasterizers
This fixes various bugs that appear in the HW rasterizer after switching
between it and the SW one during emulation.
Lioncash 5a531d7ec2 dyncom: Handle unprivileged load/store variants correctly
LDRT/LDRBT/STRBT/STRT should simulate the load or store
as if the host CPU is in user mode.

STRT is also allowed to use the PC as an operand
Yuri Kunde Schlesner bbb96a392d Merge pull request from lioncash/compile
svc: Fix compilation with LOG_TRACE enabled
Lioncash 84afaaa10c svc: Fix compilation with LOG_TRACE enabled
Yuri Kunde Schlesner 402692c08d Merge pull request from yuriks/flipped-framebuffer
OpenGL: Flip framebuffers during transfer rather than when rendering
bunnei 3013f26d70 Merge pull request from Subv/triangle_fan
GPU/PrimitiveAssembler: Fixed drawing triangle fans.
Yuri Kunde Schlesner 31764c48fb Merge pull request from yuriks/merge-rasterizer
VideoCore: Unify interface to OpenGL and SW rasterizers
Yuri Kunde Schlesner 195fedccf0 VideoCore: Unify interface to OpenGL and SW rasterizers
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
bunnei 2589a68c42 Merge pull request from lioncash/dyncom-misc
dyncom: Miscellaneous minor changes
Yuri Kunde Schlesner 03835d04f4 VideoCore: Rename HWRasterizer methods to be less confusing
Yuri Kunde Schlesner da80ece8b9 OpenGL: Rename cache functions to better match what they actually do
Lioncash 56e22e6aac dyncom: Remove static keyword from header functions
Lioncash 1ea0702eaa arm_interface: Make GetNumInstructions const
Lioncash de9a625c7e arm_interface: directly initialize class members
Lioncash d03e7f08ff dyncom: const correctness changes
Subv 7b33e163b9 GPU/PrimitiveAssembler: Fixed drawing triangle fans.
It was skipping the second vertex assignment and using uninitialized garbage when assembling the corresponding triangle.
Yuri Kunde Schlesner cf81e08389 OpenGL: Flip framebuffers during transfer rather than when rendering
Yuri Kunde Schlesner 95dbc6eb0e OpenGL: Add support for glFrontFace in the state tracker
bunnei 87df493b5b Merge pull request from Subv/cam
Services/Cam: Added new log type and camera enums from 3dbrew.
bunnei 644d1e7ca3 Merge pull request from yuriks/tev-buffer-delay
PICA: Properly emulate 1-stage delay in the combiner buffer
Yuri Kunde Schlesner e9c209ccc8 PICA: Properly emulate 1-stage delay in the combiner buffer
This was discovered and verified by @fincs. The tev combiner buffer
actually lags behind by one stage, meaning stage 1 reads the initial
color, stage 2 reads stage 0's output, and so on.

Fixes character portraits in Fire Emblem: Awakening and world textures
in Zelda: ALBW. Closes .
Yuri Kunde Schlesner bec9049597 Merge pull request from yuriks/svcGetSystemInfo
Kernel: Implement svcGetSystemInfo
Yuri Kunde Schlesner 84a22cb594 Kernel: Implement svcGetSystemInfo
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
Mathew Maidment 32f92b4a69 Merge pull request from lioncash/zero
armstate: Zero out the registers on creation
Lioncash 5e2b66d2a4 armstate: Zero out the registers on creation
std::array isn't always guaranteed to explicitly zero out it's contents
without an initializer list.
Subv 1d02eb0587 Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.
The VFP registers are 64 bits each, and there are 32 of them.
bunnei e906165229 Merge pull request from lioncash/clean
csnd_snd: Get rid of type punning
bunnei 48265fa94c Merge pull request from archshift/refactor-scandir
Refactor ScanDirectoryTreeAndCallback to separate errors and retvals