James Rowe
1c4d1d1ace
Move trasnfer_framebuffer to a member of RasterCache. Address review comments
2017-12-23 16:10:32 -07:00
James Rowe
10fb9242ae
Fix clang format
2017-12-23 16:10:32 -07:00
James Rowe
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
James Rowe
7e673af527
Remove the correct intervals from the surface when validating
2017-12-23 16:10:31 -07:00
James Rowe
ac4c589ab5
Workaround for ICE on gcc5
2017-12-23 16:10:31 -07:00
Phantom
9a6a452857
Fix broken surface validation logic since removal of the reinterpret hack
2017-12-23 16:10:30 -07:00
Phantom
f893daa4a2
Perform the same checks on TexCopy params that SW does
2017-12-23 16:10:30 -07:00
James Rowe
91fad7010b
Fix compilation on mac and linux
2017-12-23 16:10:30 -07:00
James Rowe
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
James Rowe
72034b772d
Minor style changes
2017-12-23 16:10:29 -07:00
James Rowe
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
James Rowe
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
James Rowe
24e187891f
OpenGL Rasterizer: Update to use the new cache
2017-12-23 16:10:28 -07:00
James Rowe
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
James Rowe
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
James Rowe
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
James Rowe
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
James Rowe
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
James Rowe
160ac25527
OpenGL State: Change setters so they don't directly write to curstate
2017-12-23 16:10:25 -07:00
James Rowe
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
James Rowe
c821c14908
Settings: Change resolution scaling to an integer instead of a float
2017-12-23 16:10:25 -07:00
Sebastian Valle
c3c684cd2b
Merge pull request #3301 from Subv/exitprocess2
...
Kernel/SVC: Partially implemented svcExitProcess.
2017-12-23 10:49:36 -05:00
wwylele
80ed0f03ac
cmake: add missing ${...} for variables inside generator expressions
2017-12-23 03:00:15 +02:00
Sebastian Valle
ae42267cc7
Merge pull request #3307 from Subv/gsp_new_frame
...
HLE: Convert GSP_GPU to ServiceFramework.
2017-12-21 10:31:41 -05:00
Subv
3652809408
HLE: Convert GSP_GPU to ServiceFramework.
...
The only functional change is the error handling of GSP_GPU::ReadHWRegs function. We previously didn't return error codes (not even for success). The new returns were found by reverse engineering the GSP module.
2017-12-21 10:30:22 -05:00
MerryMage
19814d68c1
gdbstub: Correct typo
...
Constructing and destructing a Core::System instance for the
GetInstance() call isn't the smartest thing to do.
2017-12-20 18:47:06 +00:00
Merry
c6293d7357
Merge pull request #3312 from lioncash/qt5-connect
...
citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
2017-12-19 14:24:39 +00:00
Merry
3f37976fd3
Merge pull request #3309 from wwylele/cro-session-slot
...
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-18 18:22:39 +00:00
Merry
32b2d5bdfe
Merge pull request #3253 from lioncash/mic-ipc
...
mic_u: Migrate to the new service framework
2017-12-18 14:34:47 +00:00
Lioncash
a73f135868
citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
...
This is more type-safe than the string-based signal/slot syntax that was
being used. It also makes the connections throughout the UI code consistent.
2017-12-17 18:44:48 -05:00
Weiyi Wang
4c3a4ab664
Merge pull request #3306 from lioncash/qt4
...
citra_qt: Drop Qt 5 version checks in code
2017-12-17 12:08:21 +02:00
wwylele
eeec04fcaa
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-17 01:43:12 +02:00
Subv
f4b595331f
GSP/GPU: Make FrameBufferInfo::active_fb use the entire u32 instead of just one bit.
...
The GSP module reads the entire 32 bit word from this field to determine the framebuffer.
2017-12-16 13:33:42 -05:00
Lioncash
9ec0609ae5
citra_qt: Drop Qt 5 version checks in code
...
We don't support Qt 4.x anymore.
2017-12-16 13:26:14 -05:00
Lioncash
8e53599deb
game_list: Use forward declarations where applicable
...
Reduces the number of header dependencies propagated by the header file.
2017-12-16 13:14:23 -05:00
Sebastian Valle
125f5d1e68
Merge pull request #3284 from Subv/session_data
...
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
2017-12-16 09:14:34 -05:00
Mat M
d3112aedba
Merge pull request #3295 from lioncash/qt4
...
citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
2017-12-15 19:49:22 -05:00
Lioncash
d613c6f74f
mic_u: Migrate to the new service framework
2017-12-15 19:22:58 -05:00
Lioncash
c681090d06
citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
...
We don't support Qt 4 anymore.
2017-12-15 19:01:21 -05:00
Subv
1856aa7b32
Kernel/SVC: Partially implemented svcExitProcess.
...
Terminating processes with ready threads is not currently implemented and will assert. It is currently unknown how the 3DS kernel stops ready threads or threads running in another core.
2017-12-15 15:47:33 -05:00
Sebastian Valle
4fd28e715e
Merge pull request #3252 from Subv/fs_user
...
HLE/FS: Converted some functions to use IPCHelpers
2017-12-15 15:40:36 -05:00
Sebastian Valle
4b4e1861c7
Merge pull request #3265 from Subv/getappletinfo
...
HLE/APT: Implement GetAppletInfo for LLE applets.
2017-12-15 10:29:53 -05:00
bunnei
95d4d7c864
Merge pull request #3292 from Tilka/inf_nan
...
video_core: fix infinity and NaN conversions
2017-12-15 09:58:48 -05:00
Subv
9a22e8d9ed
HLE/APT: Implement GetAppletInfo for LLE applets.
...
Calling this function for AppletId::Application is not yet implemented because we don't support launching applications from APT.
2017-12-14 19:30:12 -05:00
Subv
674bd550a4
HLE/APT: Stubbed FinishPreloadingLibraryApplet.
...
An applet is considered "loaded" when the parent application calls this function.
2017-12-14 19:30:11 -05:00
Lioncash
761101f64c
input_common: Remove redundant target_sources in CMakeLists
2017-12-14 19:21:02 -05:00
Sebastian Valle
542f14d3c5
Merge pull request #3249 from Subv/logo
...
NCCH: Load the "logo" file from the specified offset if it's present instead of the ExeFS.
2017-12-14 18:30:19 -05:00
Subv
b5bfaaae29
HLE/FS: Use the SessionData parameter of ServiceFramework in the File class.
2017-12-14 18:24:03 -05:00
Subv
daecd812b0
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
...
Some services can have multiple clients at the same time, and they identify the different clients using the server session as a key.
This parameter (if present) should be a structure that contains the per-session data for each service.
The data can be retrieved using ServiceFramework::GetSessionData(session)
2017-12-14 18:24:02 -05:00
Tillmann Karras
fd3ec6be30
video_core: fix infinity and NaN conversions
2017-12-14 19:51:58 +00:00