Subv
808704c78c
FS: Implement MountSdCard.
2018-03-19 21:21:49 -05:00
Subv
c4ca802b9d
FS: Added an SDMC archive factory and registered it to the SDMC archive on startup.
2018-03-19 21:17:15 -05:00
Subv
7a27a11770
GPU: Added Z buffer registers to Maxwell3D's reg structure.
2018-03-19 16:55:33 -05:00
Subv
21d9519032
GPU: Added the render target (RT) registers to Maxwell3D's reg structure.
2018-03-19 16:46:29 -05:00
N00byKing
1d8b6ad13b
Clang Fixes
2018-03-19 17:53:35 +01:00
N00byKing
d16e08454d
oops
2018-03-19 17:43:04 +01:00
N00byKing
0e72d0d826
More Warning cleanups
2018-03-19 17:27:04 +01:00
N00byKing
ef875d6a35
Clean Warnings (?)
2018-03-19 17:07:08 +01:00
Subv
dcae0c9a4f
GPU: Added the TSC registers to the Maxwell3D register structure.
2018-03-19 00:36:25 -05:00
Subv
cff7b29bba
GPU: Added the TIC registers to the Maxwell3D register structure.
2018-03-19 00:32:57 -05:00
bunnei
23a0d2d7b7
Merge pull request #193 from N00byKing/3184_2_robotic_boogaloo
...
Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
2018-03-18 22:35:47 -04:00
bunnei
2dc3a56e96
Merge pull request #250 from bunnei/buffer-dequeue-wait
...
vi: TransactParcel DequeueBuffer should wait current thread
2018-03-18 22:25:09 -04:00
bunnei
c1c92c30f9
vi: Remove DequeueBuffer and wait until next available buffer.
2018-03-18 20:56:35 -04:00
bunnei
c86af6939c
hle_ipc: Add SleepClientThread to block current thread within HLE routines.
2018-03-18 20:56:34 -04:00
bunnei
2faa83ca13
hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.
2018-03-18 20:56:33 -04:00
bunnei
019f1a0cf0
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
2018-03-18 20:56:33 -04:00
bunnei
e353b9fb3d
thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.
2018-03-18 20:56:32 -04:00
Subv
03156d0c9a
GPU: Implement macro 0xE1A BindTextureInfoBuffer in HLE.
...
This macro simply sets the current CB_ADDRESS to the texture buffer address for the input shader stage.
2018-03-18 19:03:40 -05:00
Subv
7b6868e908
GPU: Implement the BindStorageBuffer macro method in HLE.
...
This macro binds the SSBO Info Buffer as the current ConstBuffer.
This buffer is usually bound to c0 during shader execution.
Games seem to use this macro instead of directly writing the address for some reason.
2018-03-18 16:50:42 -05:00
Subv
85d820b1b4
GPU: Handle writes to the CB_DATA method.
...
Writing to this method will cause the written value to be stored in the currently-set ConstBuffer plus CB_POS.
This method is usually used to upload uniforms or other shader-visible data.
2018-03-18 15:23:24 -05:00
Subv
a64b936cbe
GPU: Move the GPU's class constructor and destructors to a cpp file.
...
This should reduce recompile times when editing the Maxwell3D register structure.
2018-03-18 15:23:24 -05:00
Subv
aa586fa268
GPU: Store uploaded GPU macros and keep track of the number of method parameters.
2018-03-18 11:51:46 -05:00
Subv
7ac8657432
GPU: Macros are specific to the Maxwell3D engine, so handle them internally.
2018-03-18 11:51:45 -05:00
Subv
ccb8da1512
GPU: Renamed ShaderType to ShaderStage as that is less confusing.
2018-03-17 18:32:57 -05:00
Subv
88698c156f
GPU: Store shader constbuffer bindings in the GPU state.
2018-03-17 18:32:57 -05:00
Subv
66dae22790
GPU: Corrected some register offsets and removed superfluous macro registers.
2018-03-17 18:32:56 -05:00
Subv
1d9d9c16e8
GPU: Make the SetShader macro call do the same as the real macro's code.
...
It'll now set the CB_SIZE, CB_ADDRESS and CB_BIND registers when it's called.
Presumably this SetShader function is binding the constant shader uniforms to buffer 1 (c1[]).
2018-03-17 18:32:55 -05:00
Subv
579000e747
GPU: Corrected the parameter documentation for the SetShader macro call.
...
Register 0xE24 is actually a macro that sets some shader parameters in the register structure.
Macros are uploaded to the GPU at startup and have their own ISA, we'll probably write an interpreter for this in the future.
2018-03-17 13:55:42 -05:00
bunnei
516ef4f19f
Merge pull request #242 from Subv/set_shader
...
GPU: Handle the SetShader method call (0xE24) and store the shader config.
2018-03-17 00:34:17 -04:00
Subv
f93d769a1c
GPU: Handle the SetShader method call (0xE24) and store the shader config.
2018-03-16 22:51:06 -05:00
Subv
d2888f7e90
GPU: Added the vertex array registers.
2018-03-16 22:47:45 -05:00
bunnei
cd4e8a989c
Merge pull request #241 from Subv/gpu_method_call
...
GPU: Process command mode 5 (IncreaseOnce) differently from other commands
2018-03-16 22:28:22 -04:00
Subv
29feece4b8
GPU: Process command mode 5 (IncreaseOnce) differently from other commands.
...
Accumulate all arguments before calling the desired method.
Note: Maybe we should do the same for the NonIncreasing mode?
2018-03-16 20:32:44 -05:00
bunnei
0eff775264
Merge pull request #239 from Subv/shaders
...
GPU: Added some shader-related registers.
2018-03-16 21:09:35 -04:00
Subv
bf310a41b8
GPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine.
...
Shader address calculation depends on this value to some extent, we do not currently know what it being 0 entails.
2018-03-16 19:24:41 -05:00
Subv
cbec739e7b
GPU: Added Maxwell registers for Shader Program control.
2018-03-16 19:23:11 -05:00
bunnei
494275fd38
nvflinger: Remove superfluous buffer format check.
2018-03-16 20:11:50 -04:00
bunnei
cc6f22e0e4
process: MirrorMemory should use MemoryState::Mapped.
2018-03-16 19:24:54 -04:00
bunnei
e9a857ce82
process: Unmap previously allocated heap.
2018-03-16 18:32:25 -04:00
bunnei
403f8e79ea
arm_interface: Support unmapping previously mapped memory.
2018-03-16 18:32:24 -04:00
bunnei
34a29ad051
svc: Use more correct values for GetInfo MapRegion and NewMapRegion.
2018-03-16 18:32:23 -04:00
bunnei
8581404482
kernel: Move stack region outside of application heap.
2018-03-16 18:32:23 -04:00
bunnei
69ee9edd8d
memory: Add regions for map region, "new" map region, etc.
2018-03-16 18:32:22 -04:00
bunnei
3923b0f589
process: Fix stack memory state.
2018-03-16 18:32:21 -04:00
bunnei
8be7131033
MemoryState: Add additional memory states and improve naming.
2018-03-16 18:32:21 -04:00
mailwl
fbfa7ddd62
IGeneralService: fix function list
2018-03-16 16:34:12 +03:00
mailwl
9289255314
Service/NIFM: stub cancel function
2018-03-16 11:08:22 +03:00
mailwl
ec030a542f
Service/NIFM: convert to module
2018-03-16 11:00:29 +03:00
bunnei
7d6653268f
core: Move process creation out of global state.
2018-03-14 18:42:19 -04:00
bunnei
8538e0bc3d
Merge pull request #213 from Hexagon12/dynarmic-default
...
Make Dynarmic the default CPU core
2018-03-07 18:21:13 -05:00
Subv
5fb4c718cc
GPU: Intercept writes to the VERTEX_END_GL register.
...
This is the register that gets written after a game calls DrawArrays().
We should collect all GPU state and draw using our graphics API here.
2018-03-04 19:14:04 -05:00
bunnei
80562aaf64
Merge pull request #229 from Subv/ensuresavedata_impl
...
FS: Make EnsureSaveData create the save data if it doesn't already exist.
2018-03-04 15:49:42 -05:00
Subv
84e1c0a430
FS: Use the correct error code when trying to open files that don't exist.
2018-03-04 14:34:48 -05:00
Subv
e4b7a1d160
FS: Stubbed CreateSaveData. It currently does nothing.
2018-03-04 14:31:57 -05:00
Subv
0eefe6e4d1
FS: Make EnsureSaveData create the savedata folder when called for the first time.
2018-03-04 14:30:07 -05:00
Subv
248881fa7f
CoreTiming: Unschedule the pending events when an Interface is destroyed.
2018-03-04 10:34:25 -05:00
bunnei
7e7110b3b9
Merge pull request #226 from Subv/buffer_queue_event
...
Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called
2018-03-03 12:38:18 -05:00
Subv
656e7aab29
Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called.
...
This prevents a thread starvation issue in Puyo Puyo Tetris.
We should hwtest this behavior and figure out where exactly this event is signaled.
2018-03-03 11:51:36 -05:00
mailwl
28669872d9
Service/Set: add more services
2018-03-03 09:03:49 +03:00
bunnei
46fc7d8502
Merge pull request #216 from Subv/savedata
...
Implemented the SaveData archive and MountSaveData.
2018-03-01 22:14:31 -05:00
Subv
3209cff530
SaveData: Use the current titleid when opening the savedata archive.
2018-03-01 19:03:54 -05:00
Subv
827f8ca3c7
Kernel: Store the program id in the Process class instead of the CodeSet class.
...
There may be many CodeSets per Process, so it's wasteful and overcomplicated to store the program id in each of them.
2018-03-01 19:03:53 -05:00
Subv
cc6e4ae6cf
FS: Implement MountSaveData and some of the IFile interface.
2018-03-01 19:03:53 -05:00
Subv
d140c8ecf7
Filesystem: Added a SaveData Factory and associated Disk_FileSystem.
2018-03-01 19:03:52 -05:00
Jules Blok
c74af07c49
thread: Clear the process list on shutdown.
2018-02-27 17:13:39 +01:00
Subv
6e38081165
ResultCode: Mark any error code that isn't 0 as an error.
2018-02-27 09:44:35 -05:00
Vishal Sharma
65f3119074
Removes the use of QKeySequence::Cancel ( #186 )
...
* Removes the use of QKeySequence::Cancel to remove issues while running make
* Corrects characters in a line for travis failure
* Corrects space in a line for travis failure
2018-02-26 21:03:02 -08:00
bunnei
926604fc14
Merge pull request #207 from mailwl/duplicatesession
...
IPC: add domain header to response if only it exists in request
2018-02-26 20:52:56 -08:00
bunnei
f1beb69899
Merge pull request #215 from N00byKing/umapsharedmmry
...
UnmapSharedMemory
2018-02-25 21:04:24 -08:00
shinyquagsire23
e29710818f
file_sys: Style tweaks
...
Asdf
2018-02-25 16:34:29 -07:00
shinyquagsire23
487f8bc018
loader: Check error on NPDM load, use TID for CodeSet
2018-02-25 07:41:36 -07:00
shinyquagsire23
fd3806fd30
loader: Use NPDM information when loading NSOs
2018-02-25 07:02:47 -07:00
shinyquagsire23
2b28fd7809
file_sys: Add support for parsing NPDM files
2018-02-25 07:02:39 -07:00
N00byKing
08c6ac02cf
(Hopefully) Fix MinGW Build
2018-02-25 13:40:22 +01:00
N00byKing
bc88cae0c7
Implements citra-emu/citra#3184
2018-02-25 11:44:21 +01:00
N00byKing
2b41c6e573
Add UnmapSharedMemory
...
C++11 requires spaces on the Identifier
Add inttypes include
clang
2018-02-25 11:38:06 +01:00
bunnei
c45173c9a6
Merge pull request #212 from mailwl/stubs
...
Stub some functions
2018-02-23 21:09:56 -08:00
bunnei
32c509b82d
Merge pull request #217 from shinyquagsire23/time-s-missing
...
time: Add missing time:s functions, used for libnx
2018-02-23 08:52:37 -08:00
bunnei
6bf7108545
Merge pull request #210 from MerryMage/f/dynarmic/sysreg
...
arm_dynarmic: Implement system registers and provide more hooks
2018-02-23 08:51:52 -08:00
shinyquagsire23
a63d4fa5b4
time: Add missing time:s functions, used for libnx
2018-02-23 00:34:15 -07:00
mailwl
e4f94ee30b
Stub more functions
2018-02-22 17:28:15 +03:00
mailwl
910198a29a
Stub am::SetScreenShotPermission, and bsd::StartMonitoring functions
2018-02-22 13:04:23 +03:00
bunnei
7f0ecbf859
Merge pull request #211 from shinyquagsire23/time_local
...
time: Add GetStandardLocalSystemClock, used by libnx
2018-02-22 01:09:01 -05:00
shinyquagsire23
944132dbe5
time: Add GetStandardLocalSystemClock, used by libnx
2018-02-21 18:43:05 -07:00
MerryMage
32d127ad3e
dynarmic: Update to 6b4c6b0
...
6b4c6b0 impl: Update PC when raising exception
7a1313a A64: Implement FDIV (vector)
b2d781d system: Raise exception for YIELD, WFE, WFI, SEV, SEVL
b277bf5 Correct FPSR and FPCR
7673933 A64: Implement USHL
8d0e558 A64: Implement UCVTF (vector, integer), scalar variant
da9a4f8 A64: Partially implement FCVTZU (scalar, fixed-point) and FCVTZS (scalar, fixed-point)
7479684 A64: Implement system register TPIDR_EL0
0fd75fd A64: Implement system registers FPCR and FPSR
31e370c A64: Implement system register CNTPCT_EL0
9a88fd3 A64: Implement system register CTR_EL0
1d16896 A64: Implement NEG (vector)
3184edf IR: Add IR instruction ZeroVector
31f8fbc emit_x64_floating_point: Add maybe_unused to preprocess parameter
567eb1a A64: Implement FMINNM (scalar)
c6d8fa1 A64: Implement FMAXNM (scalar)
616056d constant_pool: Add frame parameter
a3747cb A64: Implement ADDP (scalar)
5cd5d9f reg_alloc: Only exchange GPRs
dd0452a A64: Implement DUP (element), scalar variant
e5732ea emit_x64_floating_point: Correct FP{Max,Min}{32,64} implementations for -0/+0
40eb9c3 A64: Implement FMAX (scalar), FMIN (scalar)
7cef39b fuzz_with_unicorn: QEMU's implementation of FCVT is incorrect
826dce2 travis: Switch unicorn repository
9605f28 a64/config: Allow NaN emulation accuracy to be set
e9435bc a64_emit_x64: Add conf to A64EmitContext
30b596d fuzz_with_unicorn: Explicitly test floating point instructions
be292a8 A64: Implement FSQRT (scalar)
3c42d48 backend_x64: Accurately handle NaNs
4aefed0 fuzz_with_unicorn: Print AArch64 disassembly
2018-02-21 21:39:07 +00:00
MerryMage
e8b9731af3
arm_dynarmic: LOG_INFO on unicorn fallback
2018-02-21 21:39:07 +00:00
MerryMage
cc368de1a0
memory: LOG_ERROR when falling off end of page table
2018-02-21 21:39:07 +00:00
MerryMage
1cdc74c5e9
core: Fix scheduler-shutdown related crash
2018-02-21 16:38:18 +00:00
mailwl
1289a3c3c1
Add warning if Domain request has no domain message header
2018-02-20 22:51:54 +03:00
mailwl
827152d1fd
Fix: change check for domain order and existance of domain message header
2018-02-20 21:59:58 +03:00
mailwl
1572c45aa0
IPC: add domain header to response if only it exists in request
2018-02-20 19:27:49 +03:00
bunnei
6a2197806e
Merge pull request #206 from mailwl/aoc-listaddoncontent
...
Service/AOC: stub ListAddOnContent function
2018-02-20 10:45:50 -05:00
mailwl
46931a9566
Service/AOC: stub ListAddOnContent function
2018-02-20 10:30:12 +03:00
bunnei
678574972a
acc_u0: Stub ListOpenUsers service function.
2018-02-19 17:39:41 -05:00
bunnei
7bee3427d0
service: Add Friend service interface.
2018-02-19 17:34:02 -05:00
bunnei
1d491d636d
logging: Add category for Friend service.
2018-02-19 17:31:54 -05:00
bunnei
23fe6f5be3
Merge pull request #202 from bunnei/scheduler-cleanup
...
Scheduler cleanup
2018-02-19 17:23:05 -05:00
bunnei
8db80d8389
scheduler: Cleanup based on PR feedback.
2018-02-19 16:46:42 -05:00
Subv
5ab285f1f9
AM: Corrected the response in EnsureSaveData.
...
The values are still unknown and the function is still considered a stub.
Puyo Puyo Tetris now tries to call fsp-srv:MountSaveData.
2018-02-18 18:09:52 -05:00
bunnei
ac81c02ed9
kernel: Use Scheduler class for threading.
2018-02-18 15:17:16 -05:00
bunnei
c78d495161
kernel: Add Scheduler, which encapsulates the scheduling loading from Thread module.
2018-02-18 14:58:40 -05:00
bunnei
2d4a6883bc
core: Use shared_ptr for cpu_core.
2018-02-18 14:52:09 -05:00
bunnei
cec0d4f191
kernel: Remove unused address_arbiter code.
2018-02-18 14:46:11 -05:00
bunnei
ec39c9eb32
Merge pull request #201 from Subv/ipc_delay_
...
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
2018-02-18 14:11:34 -05:00
bunnei
5babad5de5
Merge pull request #200 from Subv/bufferproducerfence
...
Make the fence handling in Vi a little less of a hack.
2018-02-18 14:11:04 -05:00
Subv
94ee8fc97b
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
...
Ported from citra PR #3091
The delay specified here is from a Nintendo 3DS, and should be measured in a Nintendo Switch.
This change is enough to prevent Puyo Puyo Tetris's main thread starvation.
2018-02-18 13:25:48 -05:00
Subv
416f692f6e
nvmap: Make IocFromId return the same existing handle instead of creating a new one.
...
Games like Puyo Puyo Tetris and BOTW seem to depend on the buffer always having the same handle
2018-02-17 14:01:01 -05:00
Subv
d758332425
Parcel: Ensure we don't read past the end of the parcels in Vi.
2018-02-17 14:00:44 -05:00
Subv
2662de6e52
Vi: Mark all fences as NO_FENCE in the DequeueBuffer response parcel.
2018-02-17 14:00:30 -05:00
Subv
1b64160d83
Vi: Always write the IGBPBuffer in the RequestBuffer response parcel.
...
This may break libnx homebrew due to a bug in libnx but is required by official games since they always assume that the buffer will be there.
2018-02-17 13:59:45 -05:00
mailwl
6797d4a907
Service/hid: stub some functions
2018-02-16 06:15:05 +03:00
Subv
7a1917e0fd
nvhost-ctrl: Stub NVHOST_IOCTL_CTRL_EVENT_WAIT.
2018-02-14 22:57:57 -05:00
Subv
35d0d06885
Vi: Mark the fences as valid in the DequeueBuffer response parcel.
2018-02-14 22:57:56 -05:00
Subv
d18446f63a
Vi: Added a missing u32 in the DequeueBuffer response parcel.
2018-02-14 22:57:56 -05:00
Subv
b78ffc4abf
Vi: Don't write the IGBPBuffer in the IGBPRequestBufferResponseParcel.
2018-02-14 22:57:55 -05:00
Subv
8dee5663b3
Vi: Properly write the BufferProducerFence object in the DequeueBuffer response parcel.
2018-02-14 22:57:54 -05:00
bunnei
df008a159b
shared_memory: Remove some checks.
2018-02-14 22:24:06 -05:00
bunnei
42c062c620
pl_u: Implement basic shared font loading from RAM dump.
2018-02-14 22:22:41 -05:00
bunnei
fa58d95027
log: Add logging category for NS services.
2018-02-14 21:43:11 -05:00
bunnei
e017184445
hid: Stub GetVibrationDeviceInfo and SendVibrationValues.
2018-02-14 21:16:27 -05:00
bunnei
db873a232c
Merge pull request #188 from bunnei/refactor-buffer-descriptor
...
Refactor IPC buffer descriptor interface
2018-02-14 18:31:53 -05:00
bunnei
88bfec37ce
hle_ipc: Remove const from WriteBuffer size.
2018-02-14 14:21:10 -05:00
Hexagon12
a8d8c21e00
pls, that was easy
2018-02-14 19:47:51 +02:00
James Rowe
61c39f0fdd
Fix fps counter to correctly measure frame end when there was no frame to draw
2018-02-14 10:16:39 -07:00
bunnei
b65c096be5
Merge pull request #190 from bunnei/fix-qt-waittree
...
debugger: Fix wait_tree crash.
2018-02-14 10:18:56 -05:00
bunnei
d939792b9b
Merge pull request #191 from lioncash/log
...
core: Silence formatting specifier warnings
2018-02-14 10:07:03 -05:00
Lioncash
fe0775d2f4
memory: Silence formatting sepecifier warnings
2018-02-14 01:54:54 -05:00
Lioncash
e6bf72877f
nso: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
2ade136ff4
deconstructed_rom_directory: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
eba57fce88
nvdrv/interface: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
ee170cbcea
nvmap: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
983777a317
nvhost_gpu: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
2d388a75f0
nvhost_ctrl: Silence formatting specifier warnings
2018-02-14 01:52:54 -05:00
Lioncash
ce1fe0387f
nvhost_ctrl_gpu: Silence formatting specifier warnings
2018-02-14 01:52:54 -05:00
Lioncash
dc97117a0b
nvhost_as_gpu: Silence formatting specifier warnings
2018-02-14 01:52:49 -05:00
Lioncash
c1146d2a5f
thread: Silence formatting specifier warnings
2018-02-14 01:50:14 -05:00
Lioncash
1e33db8573
vm_manager: Silence formatting specifier warnings
2018-02-14 01:50:14 -05:00
Lioncash
51ce224a96
gdbstub: Silence formatting specifier warnings
2018-02-14 01:50:01 -05:00
bunnei
6fd19f05f1
hle_ipc: Add GetReadBufferSize and check write buffer size.
2018-02-14 00:14:17 -05:00
bunnei
c85e3a2234
debugger: Fix wait_tree crash.
2018-02-14 00:02:14 -05:00
bunnei
516a95721c
service: Remove remaining uses of BufferDescriptor*.
2018-02-13 23:54:13 -05:00
bunnei
d6e52581ac
audio: Use WriteBuffer instead of BufferDescriptorB.
2018-02-13 23:54:12 -05:00
bunnei
f16bb1dfcf
vi: Eliminate direct usage of BufferDescriptorB.
2018-02-13 23:54:12 -05:00
bunnei
d42e77797e
nvdrv: Use ReadBuffer/WriteBuffer functions for Ioctl.
2018-02-13 23:54:12 -05:00
bunnei
8f84665775
vi: Use ReadBuffer/WriteBuffer functions for TransactParcel.
2018-02-13 23:54:11 -05:00
bunnei
fc1b425520
hle_ipc: Add helper functions for reading and writing buffers.
2018-02-13 23:54:07 -05:00
Lioncash
490d0e36a0
maxwell_3d: Make constructor explicit
2018-02-13 23:47:51 -05:00
bunnei
1ce6fff064
hle_ipc: Add helper functions for reading and writing buffers.
2018-02-13 23:26:03 -05:00
bunnei
4f8ee5e456
vi: Fix TransactParcelAuto to support both buffer formats.
2018-02-13 23:26:01 -05:00
bunnei
af8ae770ef
Merge pull request #187 from Subv/maxwell3d_query
...
GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.
2018-02-13 23:25:07 -05:00