75f68c4860
Services/GSP: Mark the thread ids as unused when a GSP session is destroyed.
...
This fixes the games that call RegisterInterruptRelayQueue and UnregisterInterruptRelayQueue frequently.
2018-01-02 12:10:58 -05:00
d17f148e48
Services/GSP: Assign a thread id to each connected session when the session is created.
...
Most applications call AcquireRight before calling RegisterInterruptRelayQueue so we can't assign the thread id there.
This fixes the bug with LLE applets not launching properly.
2018-01-02 12:07:26 -05:00
3f7f2b42c0
Merge pull request #3257 from tgsm/y2r-ipc
...
y2r: convert some functions to use IPC helper
2018-01-02 12:55:56 +02:00
337e9e12eb
Merge pull request #3335 from mailwl/citra-sdl-small-fix
...
citra(SDL) small fixes: fix fall-through
2018-01-01 21:00:10 -08:00
ee779a5a4d
y2r: convert some functions to use IPC helper
2018-01-01 22:46:34 -05:00
e768a92587
add compatibility reporting to qt frontend
2018-01-01 19:25:38 -06:00
e203c10cc2
Merge pull request #3336 from PizzicatoWolf/qt-layout-fixes
...
citra_qt: Resized main config window
2017-12-31 21:17:25 +00:00
743c247f46
Merge pull request #3338 from wwylele/resource-limit-fix
...
Kernel/SVC: fix typo in GetResourceLimitLimitValues
2017-12-31 08:56:02 +02:00
7daa2a51d7
Kernel/SVC: fix typo in GetResourceLimitLimitValues
2017-12-30 23:42:32 +02:00
7f1aec8fbb
Support for textures smaller than 8*8
2017-12-30 07:42:32 +01:00
8fa160395b
Revert index change
2017-12-30 14:51:45 +10:30
e0e4b70f6a
Resized main config window
2017-12-30 14:10:05 +10:30
f93d656e53
citra(SDL) small fixes: fix fall-through, remove u16 'always true' compare
2017-12-29 21:04:10 +03:00
be1d0cee1e
Fix viewport to surface rect clamping
2017-12-29 17:07:01 +01:00
19672cfee8
CachedSurface: Add microprofile scopes for UploadGLTexture and DownloadGLTexture
2017-12-29 17:01:37 +01:00
1591fa8d3d
Remove read_framebuffer_handle and draw_framebuffer_handle from CachedSurface
2017-12-29 17:00:09 +01:00
fb72a9d9fa
Fixed clang whitespace
2017-12-29 06:31:18 +11:00
f17600db1a
Moved when to pause because it wasnt fast enough
2017-12-29 06:17:21 +11:00
bbe6c8890c
Pause emulation OnCoreError
2017-12-29 06:15:59 +11:00
fbef978b98
GSP: Return the correct result code if AcquireRight is called multiple times from the same thread.
2017-12-24 12:15:01 -05:00
68fc3b36e6
HLE/GSP: Only trigger GSP interrupts for the current active GSP thread.
...
This is true for all interrupts except PDC0 and PDC1, which should be triggered for all registered threads.
TODO: The real GSP module seems to only trigger PDC0 after updating the screens (both top and bottom). PDC1 doesn't seem to be triggered at all.
2017-12-24 12:15:00 -05:00
05a44ed353
HLE/GSP: Keep track of the thread that currently has the GPU right.
...
This thread is the only one for which the GSP interrupts should be signaled, except for the PDC0/1 interrupts.
2017-12-24 12:14:59 -05:00
aabb07cca4
HLE/GSP: Make RegisterInterruptRelayQueue work in a per-session basis.
...
The registered interrupt event is unique to each session that calls RegisterInterruptRelayQueue, and only that event should be reset when UnregisterInterruptRelayQueue is called.
2017-12-24 12:14:58 -05:00
1c4d1d1ace
Move trasnfer_framebuffer to a member of RasterCache. Address review comments
2017-12-23 16:10:32 -07:00
10fb9242ae
Fix clang format
2017-12-23 16:10:32 -07:00
4e053220a8
When downloading from a surface into gl_buffer, ingore any x/y offsets in rect and use 0,0 as the origin
2017-12-23 16:10:31 -07:00
7e673af527
Remove the correct intervals from the surface when validating
2017-12-23 16:10:31 -07:00
ac4c589ab5
Workaround for ICE on gcc5
2017-12-23 16:10:31 -07:00
9a6a452857
Fix broken surface validation logic since removal of the reinterpret hack
2017-12-23 16:10:30 -07:00
f893daa4a2
Perform the same checks on TexCopy params that SW does
2017-12-23 16:10:30 -07:00
91fad7010b
Fix compilation on mac and linux
2017-12-23 16:10:30 -07:00
34ff77f5f7
Revert "OpenGL Cache: Ignore format reinterpretation hack"
...
Testing found a few games that did some crazy things which breaks the
assumptions made in that commit.
2017-12-23 16:10:29 -07:00
72034b772d
Minor style changes
2017-12-23 16:10:29 -07:00
0498d34d18
OpenGL Cache: Ignore format reinterpretation hack
...
Several games such as Smash will cause some regions that are cached on
the gpu to be revalidated, but (seemingly) we can just ignore these
cases. If the data is already found on the gpu in dirty_regions, then we
validate those, and skip flushing that region from cpu.
Its unknown if this breaks any games, but it does speed up many games.
Additionally, it removes outlines in the pokemon games.
2017-12-23 16:10:29 -07:00
5b872c41d8
OpenGL Cache: Reorder methods
...
The previous commits added the methods where they were located
originally to try to get an easy to read diff between changes. This
commit fixes compliation since the static methods are now declared
before they are used.
2017-12-23 16:10:28 -07:00
24e187891f
OpenGL Rasterizer: Update to use the new cache
2017-12-23 16:10:28 -07:00
e5adb6a26b
OpenGL Cache: Add the rest of the Cache methods
...
Fills in the rasterizer cache methods using the helper methods added in
the previous commits.
2017-12-23 16:10:27 -07:00
81ea32d1e0
OpenGL Cache: Refactor Surface Cache interface
...
Changes the public interface of the surface cache to make it easier to
use. Reintroduces the cached page count cached pages that was removed in
an earlier commit.
2017-12-23 16:10:27 -07:00
3e1cbb7d14
OpenGL Cache: Split CachedSurface
...
Breaks CachedSurface into two classes, the parameters used to create or
find a cached surface, and the actual cached surface. This also adds a
few helper methods for getting surfaces from cache
2017-12-23 16:10:27 -07:00
0b98b768f5
OpenGL Cache: Add surface utility functions
...
Separates creating and filling surfaces into static functions that
can be reused from the different RasterizerCache methods.
2017-12-23 16:10:26 -07:00
e9e2d444ef
OpenGL Cache: Optimize Morton Copy to copy in tiles
...
Compiles two lookup arrays of functions for the different
configurations of Morton Copy.
2017-12-23 16:10:26 -07:00
160ac25527
OpenGL State: Change setters so they don't directly write to curstate
2017-12-23 16:10:25 -07:00
13606a6d0b
Memory: Remove count of cached pages and add InvalidateRegion
...
In a future commit, the count of cached pages will be reintroduced in
the actual surface cache. Also adds an Invalidate only to the cache
which marks a region as invalid in order to try to avoid a costly flush
from 3ds memory
2017-12-23 16:10:25 -07:00
c821c14908
Settings: Change resolution scaling to an integer instead of a float
2017-12-23 16:10:25 -07:00
c3c684cd2b
Merge pull request #3301 from Subv/exitprocess2
...
Kernel/SVC: Partially implemented svcExitProcess.
2017-12-23 10:49:36 -05:00
f2e1160601
Merge pull request #3326 from wwylele/cmake-gen
...
cmake: add missing ${...} for variables inside generator expressions
2017-12-22 22:25:42 -08:00
80ed0f03ac
cmake: add missing ${...} for variables inside generator expressions
2017-12-23 03:00:15 +02:00
bf23f8d542
HID: convert to ServiceFramework
2017-12-22 12:41:41 +02:00
5345d2e957
fixup!citra_qt: load translation from resource
2017-12-22 12:34:49 +02:00
ae42267cc7
Merge pull request #3307 from Subv/gsp_new_frame
...
HLE: Convert GSP_GPU to ServiceFramework.
2017-12-21 10:31:41 -05:00