Commit graph

12591 commits

Author SHA1 Message Date
ReinUsesLisp
a5cfe7d0b1 gl_buffer_cache: Rework to support internalized buffers 2019-07-06 00:37:55 -03:00
ReinUsesLisp
1b416d78b9 gl_buffer_cache: Store in CachedBufferEntry the used buffer handle 2019-07-06 00:37:55 -03:00
ReinUsesLisp
450b4911ed gl_buffer_cache: Return used buffer from Upload function 2019-07-06 00:37:55 -03:00
ReinUsesLisp
388d7506dd gl_rasterizer: Add some commentaries 2019-07-06 00:37:55 -03:00
ReinUsesLisp
39b1990db1 gl_rasterizer: Make DrawParameters rasterizer instance const 2019-07-06 00:37:55 -03:00
ReinUsesLisp
2dfe9aa51e gl_rasterizer: Move index buffer uploading to its own method 2019-07-06 00:37:55 -03:00
Lioncash
c208d57f96 kernel/vm_manager: Handle stack/TLS IO region placement better
Handles the placement of the stack a little nicer compared to the
previous code, which was off in a few ways. e.g.

The stack (new map) region, shouldn't be the width of the entire address
space if the size of the region calculation ends up being zero. It
should be placed at the same location as the TLS IO region and also have
the same size.

In the event the TLS IO region contains a size of zero, we should also
be doing the same thing. This fixes our memory layout a little bit and
also resolves some cases where assertions can trigger due to the memory
layout being incorrect.
2019-07-05 21:57:31 -04:00
Lioncash
d360b7465f core/reporter: Allow moves into SaveToFile()
Taking the json instance as a constant reference, makes all moves into
the parameter non-functional, resulting in copies. Taking it by value
allows moves to function.
2019-07-05 17:45:34 -04:00
Lioncash
770387fadb core/reporter: Add missing includes and forward declarations
Adds missing inclusions to prevent potential compilation issues.
2019-07-05 17:45:24 -04:00
Lioncash
0756025102 core/reporter: Remove unnecessary namespace qualifiers
The Reporter class is part of the Core namespace, so the System class
doesn't need to be qualified.
2019-07-05 17:09:26 -04:00
Lioncash
6e9c716272 core/reporter: Remove pessimizing move in GetHLERequestContextData()
This can inhibit copy-elision, so we can remove this redundant move.
2019-07-05 17:08:13 -04:00
Lioncash
174e596d56 core/reporter: Make bracing consistent
Makes all control statements braced, regardless of their size, making
code more uniform.
2019-07-05 17:05:27 -04:00
Lioncash
5db1fdfa4a core/reporter: Return in error case in SaveToFile()
If the path couldn't be created, then we shouldn't be attempting to save
the file.
2019-07-05 17:02:32 -04:00
Fernando Sahmkow
658934de85 NVServices: Correct delayed responses. 2019-07-05 15:49:35 -04: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
bd05d92c26 nvflinger: Make the force 30 fps still force 30 fps 2019-07-05 15:49:25 -04:00
Fernando Sahmkow
575bf9d7fb nv_services: Fixes to event liberation. 2019-07-05 15:49:24 -04:00
Fernando Sahmkow
4aa0a8add2 nvflinger: Acquire buffers in the same order as they were queued. 2019-07-05 15:49:23 -04:00
Fernando Sahmkow
531e3431fb nv_services: Deglobalize NvServices 2019-07-05 15:49:22 -04:00
Fernando Sahmkow
78c4536960 gpu_asynch: Simplify synchronization to a simpler consumer->producer scheme. 2019-07-05 15:49:20 -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
b18365ed59 Async GPU: do invalidate as synced operation
Async GPU: Always invalidate synced.
2019-07-05 15:49:19 -04:00
Fernando Sahmkow
ff34715d92 Gpu: use an std mutex instead of a spin_lock to guard syncpoints 2019-07-05 15:49:18 -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
1fb8727a9a Gpu: Implement Hardware Interrupt Manager and manage GPU interrupts 2019-07-05 15:49:14 -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
Fernando Sahmkow
feac2e189e nvflinger: Implement swap intervals 2019-07-05 15:49:08 -04:00
Zach Hilman
3f7c8053c6 Merge pull request #2601 from FernandoS27/texture_cache
Implement a new Texture Cache
2019-07-05 13:39:13 -04:00
Fernando Sahmkow
c3c7215820 texture_cache: Address Feedback 2019-07-05 09:46:53 -04:00
Fernando Sahmkow
98de1132e7 texture_cache: Correct Texture Buffer Uploading 2019-07-04 19:38:19 -04:00
Zach Hilman
04ae4a56e1 Merge pull request #2669 from FearlessTobi/move-cpujit-setting
yuzu: Move CPU Jit setting to Debug tab
2019-07-04 15:33:59 -04:00
Zach Hilman
df8e0e1b33 Merge pull request #2555 from lioncash/tls
kernel/process: Decouple TLS handling from threads
2019-07-04 15:32:32 -04:00
fearlessTobi
662ff325bf yuzu: Remove CPU Jit setting from the UI
A normal user shouldn't change this, as it will slow down the emulation and can lead to bugs or crashes. The renaming is done in order to prevent users from leaving this on without a way to turn it off from the UI.
2019-07-04 14:48:08 +02:00
bunnei
387f99c4d6 Merge pull request #2670 from DarkLordZach/fix-merge-discrep-1
gl_shader_cache: Make CachedShader constructor private
2019-07-04 03:03:44 -04:00
bunnei
89a4d5342c Merge pull request #2658 from ogniK5377/QueryAudioDeviceOutputEvent
IAudioDevice::QueryAudioDeviceOutputEvent
2019-07-04 01:42:22 -04:00
bunnei
cfe89534e2 Merge pull request #2638 from DarkLordZach/quest-flag
set: Implement GetQuestFlag with config option
2019-07-04 01:40:41 -04:00
Zach Hilman
113e92bdd1 gl_shader_cache: Make CachedShader constructor private
Fixes missing review comments introduced.
2019-07-03 20:39:46 -04:00
Lioncash
63b8ef17d5 kernel/process: Default initialize all member variables
Ensures a Process instance is always created with a deterministic
initial state.
2019-07-03 20:31:40 -04:00
Lioncash
89a030a376 kernel/process: Decouple TLS handling from threads
Extracts out all of the thread local storage management from thread
instances themselves and makes the owning process handle the management
of the memory. This brings the memory management slightly more in line
with how the kernel handles these allocations.

Furthermore, this also makes the TLS page management a little more
readable compared to the lingering implementation that was carried over
from Citra.
2019-07-03 20:31:40 -04:00