Zach Hilman
1d1a584a6b
Merge pull request #2677 from lioncash/assert
...
kernel/vm_manager: Handle stack/TLS IO region placement a little better
2019-07-06 21:25:27 -04:00
Michael Scire
ce79a125cc
clang-format fixes
2019-07-06 13:52:05 -07:00
Michael Scire
597e3aadf0
am: Implement GetAccumulatedSuspendedTickValue
2019-07-06 12:13:34 -07:00
Lioncash
47070b5fb4
memory: Remove unused includes
...
These aren't used within the central memory management code, so they can
be removed.
2019-07-06 02:24:34 -04:00
Lioncash
38c9502a30
memory: Remove unused PageTable forward declaration
...
This isn't used by anything in the header file, so it can be removed.
2019-07-06 02:24:34 -04:00
Lioncash
fa5791150c
kernel/vm_manager: Rename 'new map' to 'stack'
...
Provides a more accurate name for the memory region and also
disambiguates between the map and new map regions of memory, making it
easier to understand.
2019-07-06 02:24:30 -04:00
ReinUsesLisp
56d7606d2c
buffer_cache: Avoid [[nodiscard]] to make clang-format happy
2019-07-06 01:17:05 -03:00
ReinUsesLisp
09c775cb05
buffer_cache: Try to fix MinGW build
2019-07-06 01:14:05 -03:00
ReinUsesLisp
cb2a4bffd0
gl_rasterizer: Fix nullptr dereference on disabled buffers
2019-07-06 00:37:56 -03:00
ReinUsesLisp
e6d37e10db
gl_rasterizer: Minor style changes
2019-07-06 00:37:55 -03:00
ReinUsesLisp
3a1fafb474
gl_rasterizer: Fix vertex and index data invalidations
2019-07-06 00:37:55 -03:00
ReinUsesLisp
32b4a2e093
gl_buffer_cache: Implement with generic buffer cache
2019-07-06 00:37:55 -03:00
ReinUsesLisp
d3ae5ce80c
buffer_cache: Implement a generic buffer cache
...
Implements a templated class with a similar approach to our current
generic texture cache. It is designed to be compatible with Vulkan and
OpenGL,
2019-07-06 00:37:55 -03:00
ReinUsesLisp
b5fe7c096f
gl_buffer_cache: Remove global system getters
2019-07-06 00:37:55 -03:00
ReinUsesLisp
e9d8c0bdcf
gl_device: Query SSBO alignment
2019-07-06 00:37:55 -03:00
ReinUsesLisp
9499333493
gl_buffer_cache: Implement flushing
2019-07-06 00:37:55 -03:00
ReinUsesLisp
5b82a1bea0
gl_rasterizer: Drop gl_global_cache in favor of gl_buffer_cache
2019-07-06 00:37:55 -03:00
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