Lioncash
cc3d6fdf73
core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory class
...
With all of the trivial parts of the memory interface moved over, we can
get right into moving over the bits that are used.
Note that this does require the use of GetInstance from the global
system instance to be used within hle_ipc.cpp and the gdbstub. This is
fine for the time being, as they both already rely on the global system
instance in other functions. These will be removed in a change directed
at both of these respectively.
For now, it's sufficient, as it still accomplishes the goal of
de-globalizing the memory code.
2019-11-26 21:55:39 -05:00
bunnei
9e3c8681ce
Merge pull request #2912 from FernandoS27/async-fixes
...
General fixes to Async GPU
2019-10-16 10:34:48 -04:00
Fernando Sahmkow
87f41384a8
Nvdrv: Correct Event setup in Nvdrv
...
Events are supposed to be cleared on quering. This fixes that issue.
2019-10-04 19:59:52 -04:00
Fernando Sahmkow
d9b035cc31
Nvdrv: Do framelimiting only in the CPU Thread
2019-10-04 19:59:50 -04:00
ReinUsesLisp
ac7d5ab87f
service/nvdrv: Silence -Wswitch
2019-10-04 23:41:22 +00:00
Fernando Sahmkow
25054fdd42
Merge pull request #2873 from ogniK5377/new-ioctls
...
Initial implementation of Ioctl2 & Ioctl3
2019-09-22 09:45:29 -04:00
David Marcec
318288f0be
Mark KickOffPb & SubmitGPFIFO as trace
...
These functions are not stubbed and are called fairly often. Due to the nature of how often they're called, we should keep them marked as LOG_TRACE instead of LOG_DEBUG or LOG_WARNING
2019-09-21 15:41:11 +10:00
David Marcec
87e01ad919
Initial implementation of Ioctl2 & Ioctl3
...
Purpose of Ioctl2 and Ioctl3 is to prevent the passing of raw pointers through ioctls
2019-09-19 15:37:25 +10:00
ReinUsesLisp
d762e37a18
gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig
2019-08-21 01:55:25 -03:00
Fernando Sahmkow
cbb5d814bc
Nv_Host_Ctrl: Correct difference calculation
2019-07-05 15:49:34 -04:00
Fernando Sahmkow
94a7beb8b9
NVServices: Address Feedback
2019-07-05 15:49:33 -04:00
Fernando Sahmkow
b8b874005f
NVServices: Styling, define constructors as explicit and corrections
2019-07-05 15:49:32 -04:00
Fernando Sahmkow
a156731a9c
NVFlinger: Correct GCC compile error
2019-07-05 15:49:31 -04:00
Fernando Sahmkow
9db53b51b6
NVServices: Make NVEvents Automatic according to documentation.
2019-07-05 15:49:29 -04:00
Fernando Sahmkow
1238b13642
NVServices: Correct CtrlEventWaitSync to block the ipc until timeout.
2019-07-05 15:49:28 -04:00
Fernando Sahmkow
604dc3f59b
GPU: Correct Interrupts to interrupt on syncpt/value instead of event, mirroring hardware
2019-07-05 15:49:26 -04:00
Fernando Sahmkow
531e3431fb
nv_services: Deglobalize NvServices
2019-07-05 15:49:22 -04:00
Fernando Sahmkow
772d205e8f
nv_host_ctrl: Make Sync GPU variant always return synced result.
2019-07-05 15:49:20 -04:00
Fernando Sahmkow
58f62368b3
nvhost_ctrl: Corrections to event handling
2019-07-05 15:49:17 -04:00
Fernando Sahmkow
095e6b1cd9
Gpu: Mark areas as protected.
2019-07-05 15:49:16 -04:00
Fernando Sahmkow
8c8e96b87c
nv_services: Stub CtrlEventSignal
2019-07-05 15:49:15 -04:00
Fernando Sahmkow
9a3dea2bdc
nv_services: Implement NvQueryEvent, NvCtrlEventWait, NvEventRegister, NvEventUnregister
2019-07-05 15:49:13 -04:00
Fernando Sahmkow
5ff576460e
nv_services: Create GPU channels correctly
2019-07-05 15:49:12 -04:00
Fernando Sahmkow
779c115dbb
video_core: Implement GPU side Syncpoints
2019-07-05 15:49:11 -04:00
Fernando Sahmkow
6fd625d497
nv_services: Correct buffer queue fencing and GPFifo fencing
2019-07-05 15:49:10 -04:00
Lioncash
debd00b300
core/core_timing_util: Amend casing of cyclesTo* functions
...
Makes the casing consistent with all of our general function naming
conventions.
2019-06-04 20:31:46 -04:00
Lioncash
97882b84a8
core/core_timing_util: Use std::chrono types for specifying time units
...
Makes the interface more type-safe and consistent in terms of return
values.
2019-06-04 20:31:24 -04:00
Lioncash
e1391a8268
core: Add missing override specifiers where applicable
...
Applies the override specifier where applicable. In the case of
destructors that are defaulted in their definition, they can
simply be removed.
This also removes the unnecessary inclusions being done in audin_u and
audrec_u, given their close proximity.
2019-04-04 12:19:44 -04:00
bunnei
fabddcb962
Merge pull request #2256 from bunnei/gpu-vmm
...
gpu: Rewrite MemoryManager based on the VMManager implementation.
2019-03-22 18:41:12 -04:00
bunnei
2d7e3fe364
Merge pull request #2090 from FearlessTobi/port-4599
...
Port citra-emu/citra#4244 and citra-emu/citra#4599 : Changes to BitField
2019-03-20 23:44:20 -04:00
bunnei
fa405371ee
gpu: Rewrite virtual memory manager using PageTable.
2019-03-20 22:36:02 -04:00
bunnei
6f872bd580
gpu: Move GPUVAddr definition to common_types.
2019-03-20 22:36:02 -04:00
bunnei
7fccfc3ee7
gpu: Use host address for caching instead of guest address.
2019-03-14 22:34:42 -04:00
bunnei
9d1ee628b2
gpu: Move command processing to another thread.
2019-03-06 21:48:57 -05:00
bunnei
edf09ff450
gpu: Refactor command and swap buffers interface for asynch.
2019-03-06 21:09:09 -05:00
Lioncash
e59ae7210a
common/math_util: Move contents into the Common namespace
...
These types are within the common library, so they should be within the
Common namespace.
2019-02-27 03:38:39 -05:00
Lioncash
1c3371c921
core_timing: Convert core timing into a class
...
Gets rid of the largest set of mutable global state within the core.
This also paves a way for eliminating usages of GetInstance() on the
System class as a follow-up.
Note that no behavioral changes have been made, and this simply extracts
the functionality into a class. This also has the benefit of making
dependencies on the core timing functionality explicit within the
relevant interfaces.
2019-02-15 21:50:25 -05:00
Lioncash
1d2de5c4b5
core_timing: Rename CoreTiming namespace to Core::Timing
...
Places all of the timing-related functionality under the existing Core
namespace to keep things consistent, rather than having the timing
utilities sitting in its own completely separate namespace.
2019-02-12 12:42:17 -05:00
Tobias
cccf8f1423
nvdisp_disp0: change drawing message log level from Warning to Trace
...
This is a leftover from the early yuzu days.
We shouldn't log every time when we are drawing by default, so let's change the log level to Trace.
2019-02-08 19:26:49 +01:00
Weiyi Wang
b10f12b462
remove all occurance of specifying endianness inside BitField
...
This commit it automatically generated by command in zsh:
sed -i -- 's/BitField<\(.*\)_le>/BitField<\1>/g' **/*(D.)
BitField is now aware to endianness and default to little endian. It expects a value representation type without storage specification for its template parameter.
2019-02-06 18:13:45 +01:00
bunnei
4cb0df9192
nvhost_gpu: Skip empty GPU command lists.
2018-12-15 00:33:22 -05:00
bunnei
aa55b8925e
Merge pull request #1801 from ogniK5377/log-before-execute
...
Changed logging to be "Log before execution", Added more error logging, all services/svc should now log on some level
2018-11-29 00:58:46 -05:00
bunnei
a86364480f
dma_pushbuffer: Optimize to avoid loop and copy on Push.
2018-11-27 19:17:33 -05:00
bunnei
f8b215e361
gpu: Rewrite GPU command list processing with DmaPusher class.
...
- More accurate impl., fixes Undertale (among other games).
2018-11-26 23:14:01 -05:00
David Marcec
7caebd7e0e
Improved error messages in AM, HwOpus and NvMap
2018-11-26 20:05:09 +11:00
David Marcec
5ae0d6cba2
Changed logging to be "Log before execution", Added more error logging, all services should now log on some level
2018-11-26 17:06:13 +11:00
bunnei
a9b2d1bb73
nvhost_ctrl_gpu: Implement IoctlGetGpuTime.
...
- Used by Undertale.
2018-11-21 11:43:25 -05:00
bunnei
5459263dcc
Merge pull request #1478 from ogniK5377/remap-invalidhandle-remap
...
Passing an invalid nmap handle to Remap should throw an error
2018-10-12 12:07:14 -04:00
bunnei
d62c113ad3
Merge pull request #1479 from ogniK5377/nmap-revamped
...
Added error codes for nvmap
2018-10-12 12:06:22 -04:00
David Marcec
4055e0555d
Returned an error before processing other remaps
2018-10-12 17:10:41 +11:00