Commit Graph

3577 Commits

Author SHA1 Message Date
Lioncash
6f71fb2954 applet: Make virtual destructor defaulted 2016-12-07 17:04:14 -05:00
Lioncash
d3f4fd1777 applet: Make constructor protected
Considering the class is abstract, there's no need to make the constructor
public.
2016-12-07 16:50:32 -05:00
Markus Wick
d0d49bb951 OpenGL: Drop framebuffer completeness check.
This OpenGL call synchronize the worker thread of the nvidia blob.
It can be verified on linux with the __GL_THREADED_OPTIMIZATIONS=1 environment variable.
Those errors should not happen on tested drivers.
It was used as a workaround for https://bugs.freedesktop.org/show_bug.cgi?id=94148
2016-12-07 22:09:13 +01:00
Jan Beich
774d3112af tests: add missing libcore dependency after 75ee2f8c67
$ (cmake -DENABLE_SDL2:BOOL=false /path/to/citra; gmake)
[...]
[ 85%] Linking CXX executable tests
../common/libcommon.a(microprofile.cpp.o): In function `MicroProfileThreadStart(pthread**, void* (*)(void*))':
src/common/microprofile.cpp:(.text+0x41): undefined reference to `pthread_create'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
2016-12-07 18:30:49 +00:00
bunnei
8d529a5cda Merge pull request #2232 from wwylele/other-save
FS: implement archives for other game save data
2016-12-07 10:17:02 -05:00
Subv
7cde5b83bc Use boost remove_erase_if instead of the erase-remove idiom 2016-12-06 19:31:53 -05:00
Subv
1f286b72a1 Improved the algorithm for GetHighestPriorityReadyThread. 2016-12-06 19:15:32 -05:00
emmauss
c4e4fa53d9 Implement Frame rate limiter (#2223)
* implement frame limiter

* fixes
2016-12-06 14:33:19 -05:00
Jannik Vogel
fc4591fa49 ASSERT that shader was linked successfully 2016-12-05 21:11:24 +01:00
Jannik Vogel
4088afe23c Report shader uniform block size in case of mismatch 2016-12-05 21:11:24 +01:00
Jannik Vogel
0edc986861 Print broken shader code to log 2016-12-05 21:11:24 +01:00
Subv
c93c5a72bb Return an error code when connecting to a saturated port.
The error code was taken from the 3DS kernel.
2016-12-05 13:59:57 -05:00
Subv
61a2fe8c3b HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time. 2016-12-05 13:44:41 -05:00
Jannik Vogel
0aee903ada gdbstub: Remove unused include 2016-12-05 19:09:16 +01:00
Jannik Vogel
d2c39bdb29 Unify Windows ICON resource name 2016-12-05 19:09:16 +01:00
Jannik Vogel
45d941d62e Support mingw cross-compile 2016-12-05 19:09:16 +01:00
Subv
00f0c77570 Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05 12:05:00 -05:00
Subv
29d809b6e1 Kernel: Remove the Redirection handle type. 2016-12-05 11:13:22 -05:00
Subv
dd8887c8cf KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it. 2016-12-05 11:02:08 -05:00
Subv
bdad00c73f Threading: Added some utility functions and const correctness. 2016-12-04 09:58:36 -05:00
Yuri Kunde Schlesner
efc8179747 GSP: Downgrade log severity of SetAxiConfigQoSMode
This function doesn't need to do anything for HLE and some games call it
quite often, spamming up the logs.
2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner
8a1f96011d OpenGL: Non-zero stride only makes sense for linear buffers 2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner
2600633b89 OpenGL: Ensure framebuffer binding is restored if completion check fails 2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner
ba7f213655 OpenGL: Fix DisplayTransfer accel when input width != output width
Fixes #2246, #2261
2016-12-04 05:21:57 -08:00
Yuri Kunde Schlesner
4f0f88bc6a Merge pull request #2259 from JayFoxRox/fix-fallback
shader_jit: Fix non-SSE4.1 path where FLR would not truncate
2016-12-03 22:11:39 -08:00
Subv
8634b8cb83 Threading: Reworked the way our scheduler works.
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.

The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.

This new implementation is based off reverse-engineering of the real kernel.

See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
Jannik Vogel
2d8097eecc shader_jit: Fix non-SSE4.1 path where FLR would not truncate 2016-12-04 04:26:33 +01:00
Yuri Kunde Schlesner
4d5e42240c clang-format: Fix coding style 2016-12-03 01:32:46 -08:00
Subv
2ce61344d6 Declare empty ServerSession and ClientSession constructors as default. 2016-12-02 22:58:02 -05:00
Jannik Vogel
e2cb7d7833 shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted 2016-12-02 04:33:15 +01:00
Subv
ed210c32b3 Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call. 2016-12-01 10:47:06 -05:00
Jannik Vogel
8efeb6ee2b Remove unused version.h 2016-12-01 16:38:46 +01:00
Subv
2eceee3a4c Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00
Subv
009b15b3aa A bit of a redesign.
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 23:12:35 -05:00
Subv
c5e7e0fa26 IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-11-30 23:04:00 -05:00
Subv
c19afd2118 Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
2016-11-30 23:03:59 -05:00
Subv
0a33d915f8 fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication. 2016-11-30 23:02:06 -05:00
Subv
073653e858 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions.
Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed.

HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-30 23:02:05 -05:00
Yuri Kunde Schlesner
68c00ee771 Merge pull request #2228 from freiro/winver_fix
Move WINVER definition to cmake and a bit of cleanup
2016-11-30 15:47:08 -08:00
freiro
0c22e52f52 WINVER definition moved to CMake and cleanup 2016-11-30 15:47:09 +01:00
Subv
e3e4f27447 ClangFormat: Fixed the clang-format errors 2016-11-30 09:37:37 -05:00
mailwl
5b136aa211 Set client SDK version to Service APIs 2016-11-30 09:51:14 +03:00
Subv
aea9a91100 Build: Fixed a few warnings. 2016-11-29 16:51:53 -05:00
wwylele
589b642790 FileSys: Implement OtherSaveData 2016-11-29 23:50:00 +02:00
wwylele
b25f19ac26 FS: add missing MediaType 2016-11-29 23:50:00 +02:00
wwylele
5af117e00c FileSys: abstract SD save data archive source 2016-11-29 23:50:00 +02:00
Yuri Kunde Schlesner
3174bfd50c Merge pull request #2196 from Subv/system_mode
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
2016-11-27 17:04:11 -08:00
Yuri Kunde Schlesner
e279a6955e Merge pull request #2222 from linkmauve/die-frameskip-die
Remove the broken frame_skip option
2016-11-27 16:01:45 -08:00
Sebastian Valle
4ba5acdaff Merge pull request #2132 from wwylele/fix-fs-err
Correct FS error codes & add path boundary checks
2016-11-27 18:56:56 -05:00
Subv
d171409f29 Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application).

This allows Home Menu to boot without modifications.
Closes #1849
2016-11-27 18:03:48 -05:00
Emmanuel Gil Peyrot
0820c99462 GPU: Remove the broken frame_skip option.
Fixes #1960.
2016-11-27 21:19:56 +00:00
Subv
4623415026 RasterizerGL: Use GL_TRUE and 0xFF in the stencil and depth masks instead of simply true and -1 2016-11-27 13:09:11 -05:00
Subv
743b0e71d9 Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer. 2016-11-27 12:16:10 -05:00
Sebastian Valle
d3b7f57b2b Merge pull request #2168 from mailwl/mic
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
Yuri Kunde Schlesner
a0b30189e5 Merge pull request #2185 from freiro/local_folder
Change "user" folder default location to AppData/Roaming/ on Windows systems
2016-11-26 14:07:43 -08:00
freiro
593ec7fa74 Move to AppData/Roaming/Citra/ 2016-11-26 22:57:36 +01:00
MerryMage
27be446049 dynarmic: Add ticks based on ticks executed, not ticks requested 2016-11-26 20:32:33 +00:00
freiro
972b289c78 Removed /user/ from path 2016-11-26 01:00:52 +01:00
mailwl
ec15e485c9 Output parameters to log 2016-11-25 09:37:20 +03:00
mailwl
d4cadf11fc MIC_U: Stub service funcions 2016-11-25 09:37:19 +03:00
James Rowe
bbe57a66ca Expose page table to dynarmic for optimized reads and writes to the JIT 2016-11-24 20:41:18 -07:00
freiro
79317b63d9 Switch to AppData/Roaming 2016-11-24 16:42:31 +01:00
jphalimi
82210ab480 Cache Vertices instead of Output registers (#2165)
This patch brings +3% performance improvement on average. It removes
ToVertex() as an important hotspot of the emulator.
2016-11-23 23:10:34 -05:00
pippo2931
0c9c97e5ea Bravely Default/Second stuck #1822 (#2188)
* Bravely Default/Second stuck #1822
CancelLibraryApplet stub

* Log parameter.

* Taking care of comments

* Sync with 3DBrew

* White space ?

* lower case
2016-11-23 22:57:56 -05:00
Yuri Kunde Schlesner
ef421696e3 Merge pull request #2186 from wwylele/config9
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner
fefa645ec7 Merge pull request #1654 from JamePeng/errdisp
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
wwylele
75affa13f7 Fix format error from #2195 2016-11-22 20:17:28 +02:00
freiro
5dd31f204a Improve verbosity of audio errors with SDL_GetError() 2016-11-22 17:28:11 +01:00
bunnei
2de470c9b2 Merge pull request #2195 from Subv/factor_check
GPU/CiTrace: Avoid calling GetTextures() when not necessary.
2016-11-19 22:21:11 -05:00
bunnei
f1798c1db6 Merge pull request #2193 from Subv/pulse_events
Kernel/Events: Log an error when trying to create Pulse events and timers
2016-11-19 22:19:45 -05:00
Subv
1323ab2f5f Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application).

This allows Home Menu to boot without modifications.
Closes #1849
2016-11-19 20:40:04 -05:00
Sebastian Valle
6c8857d2bb Merge pull request #2192 from Subv/applet_enums
APT/Applets: Renamed the members of the SignalType enum.
2016-11-19 20:30:26 -05:00
Subv
050e9be15b GPU/CiTrace: Avoid calling GetTextures() when not necessary. 2016-11-19 19:27:00 -05:00
James Rowe
f68f37b520 Merge pull request #2194 from jroweboy/extremely-minor-clangformat-change
Minor formatting change
2016-11-19 13:51:14 -07:00
James Rowe
19acec351c Minor formatting change 2016-11-19 13:35:07 -07:00
Subv
4ab8692475 Kernel/Events: Log an error when trying to create Pulse events and timers.
Related to #1904
2016-11-19 14:00:08 -05:00
Subv
d7ab4fd53d APT/Applets: Renamed the members of the SignalType enum.
Names now make sense and match 3dbrew.
2016-11-19 13:42:07 -05:00
wwylele
282195b450 tests: add a work-around for macOS linking error 2016-11-19 18:55:35 +02:00
wwylele
d7d6975af0 FileSys: rename SaveDataCheck archive to NCCH archive
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-11-19 18:55:35 +02:00
wwylele
f775a3781b FileSys: remove unused DiskArchive
All "subclasses" of DiskArchive are splitted out. This class is useless
2016-11-19 18:55:34 +02:00
wwylele
5c6e13a171 PTM & CFG: use the correct path and error code according to the new FileSys policy 2016-11-19 18:55:34 +02:00
wwylele
0647f86649 FileSys: w->rw permission lift only happens in SDMC archive 2016-11-19 18:55:34 +02:00
wwylele
0987783699 FileSys: add SDMCWriteOnlyArchive 2016-11-19 18:55:34 +02:00
wwylele
93aa14e345 FileSys: add SDMCArchive
Now DiskArchive only serves for SDMC, then it should be just a "SDMCArchive"
2016-11-19 18:24:37 +02:00
wwylele
a879984c06 FileSys: add ExtSaveDataArchive
ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
2016-11-19 18:24:37 +02:00
wwylele
7166fdc490 FileSys: add SaveDataArchive
The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
2016-11-19 17:17:19 +02:00
wwylele
9a0405858a FileSys: remove Open from FileBackend
Same as directory, file shouldn't expose Open either.
2016-11-19 17:17:19 +02:00
wwylele
0e754875d1 FileSys: remove Open from DirectoryBackend
Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service
2016-11-19 17:17:19 +02:00
wwylele
75ee2f8c67 FileSys: add PathParser 2016-11-19 17:17:19 +02:00
freiro
3d75e3cd07 Return by value and other fixes 2016-11-19 15:50:16 +01:00
freiro
29bb82cb8e Win32 move default user folder location to AppData 2016-11-19 15:49:52 +01:00
wwylele
dd5c15abd0 cfg: add config block 0x00090000 2016-11-17 19:34:02 +02:00
bunnei
fb13bfe693 Merge pull request #2172 from jroweboy/fix-mingw
Fix mingw compilation support
2016-11-15 20:07:23 -05:00
bunnei
5a31552764 Merge pull request #1753 from jroweboy/frame_layouts
Support additional screen layouts.
2016-11-15 19:57:08 -05:00
James Rowe
c3ea6f4ddb Add mingw compile support 2016-11-13 23:50:46 -07:00
James Rowe
793339b73a Round the rectangle size to prevent float to int casting issues
And other minor style changes
2016-11-12 10:49:47 -07:00
Pringo
51750dc8f5 Minor Menu Fixes 2016-11-11 09:58:55 -08:00
James Rowe
d9305b0a07 Add default hotkey to swap primary screens.
Also minor style changes
2016-11-05 03:46:43 -06:00
James Rowe
5f72aade77 Rework frame layouts to use a max rectangle instead of hardcoded calculations 2016-11-05 02:55:58 -06:00
SonofUgly
e40c23463f LargeFrameLayout + Swapped
Make small screen stay at 1x, and large screen maintain its aspect ratio.
2016-11-05 02:55:53 -06:00
James Rowe
2b1654ad9b Support additional screen layouts.
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
2016-11-05 02:55:41 -06:00
mailwl
af7f5bef8d Style fix 2016-11-02 09:38:44 +03:00
mailwl
5872abeab9 Rename AcConfig, change types u8 to u32 2016-11-02 09:38:44 +03:00
mailwl
a62df98686 AC_U: Stub functions, used if EULA agreed 2016-11-02 09:38:44 +03:00
wwylele
4dd8a831bd FileSys: make Archive interfaces return error code
and make the mode parameter a reference since it is a BitField union
2016-11-01 18:30:32 +02:00
bunnei
ae2fab4a0e Merge pull request #2126 from wwylele/stub-nwm
NWM: stub Initialize with an error
2016-10-31 16:16:12 -04:00
bunnei
946b62c03d Merge pull request #2123 from jbeich/freebsd
Fix build on DragonFly and FreeBSD
2016-10-31 15:33:39 -04:00
mailwl
3c37ee434a Small fix to let IDA see target.xml 2016-10-28 20:50:45 +03:00
Jan Beich
2240cb2eb0 build: add default install for DragonFly, Solaris, etc. 2016-10-27 23:28:30 +00:00
Jan Beich
702439b519 core: some errno values are uncommon on Unix
src/core/hle/service/soc_u.cpp:107:6: error: 'ENODATA' was not declared in this scope
     {ENODATA, 43},
      ^
src/core/hle/service/soc_u.cpp:117:6: error: 'ENOSR' was not declared in this scope
     {ENOSR, 53},
      ^
src/core/hle/service/soc_u.cpp:118:6: error: 'ENOSTR' was not declared in this scope
     {ENOSTR, 54},
      ^
src/core/hle/service/soc_u.cpp:139:6: error: 'ETIME' was not declared in this scope
     {ETIME, 75},
      ^
2016-10-27 23:28:30 +00:00
Jan Beich
94d23b480e common: use system bswap* functions on more BSDs 2016-10-27 23:28:30 +00:00
Jan Beich
ddd8709e14 common: use system CPUID routine on DragonFly as well 2016-10-27 23:28:30 +00:00
Jan Beich
3d801be97d common: some FreeBSD headers are incomplete to avoid namespace pollution
In file included from src/common/x64/cpu_detect.cpp:16:
/usr/include/machine/cpufunc.h:66:17: error: unknown type name 'u_int'
static __inline u_int
                ^
/usr/include/machine/cpufunc.h:67:6: error: unknown type name 'u_int'
bsfl(u_int mask)
     ^
/usr/include/machine/cpufunc.h:69:2: error: unknown type name 'u_int'
        u_int   result;
        ^
/usr/include/machine/cpufunc.h:75:17: error: unknown type name 'u_long'; did you mean 'long'?
static __inline u_long
                ^
/usr/include/machine/cpufunc.h:76:6: error: unknown type name 'u_long'; did you mean 'long'?
bsfq(u_long mask)
     ^
/usr/include/machine/cpufunc.h:78:2: error: use of undeclared identifier 'u_long'; did you mean
      'long'?
        u_long  result;
        ^
[...]
2016-10-27 23:28:30 +00:00
Anthony J. Bentley
26af2b644c common: convert to standard stat()/fstat() interfaces
Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.

glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.

Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
2016-10-27 23:28:30 +00:00
Jan Beich
51f92f0e4e common: stat64 is non-standard, hide on a random Unix
src/common/file_util.cpp:79:19: error: variable has incomplete type 'struct stat64'
    struct stat64 file_info;
                  ^
src/common/file_util.cpp:79:12: note: forward declaration of 'stat64'
    struct stat64 file_info;
           ^
src/common/file_util.cpp:99:19: error: variable has incomplete type 'struct stat64'
    struct stat64 file_info;
                  ^
src/common/file_util.cpp:99:12: note: forward declaration of 'stat64'
    struct stat64 file_info;
           ^
src/common/file_util.cpp:342:19: error: variable has incomplete type 'struct stat64'
    struct stat64 buf;
                  ^
src/common/file_util.cpp:342:12: note: forward declaration of 'stat64'
    struct stat64 buf;
           ^
src/common/file_util.cpp:359:19: error: variable has incomplete type 'struct stat64'
    struct stat64 buf;
                  ^
src/common/file_util.cpp:359:12: note: forward declaration of 'stat64'
    struct stat64 buf;
           ^
4 errors generated.
2016-10-27 23:28:29 +00:00
Jan Beich
8ce1ec7ffa common: only FreeBSD has thread affinity compatible with Linux
src/common/thread.cpp:90:5: error: unknown type name 'cpu_set_t'; did you mean 'cpuset_t'?
    cpu_set_t cpu_set;
    ^~~~~~~~~
    cpuset_t
/usr/include/sys/_cpuset.h:48:24: note: 'cpuset_t' declared here
typedef struct _cpuset cpuset_t;
                       ^
1 error generated.
2016-10-27 23:28:29 +00:00
Jan Beich
1410bd3bd0 common: define routines to set thread name on more BSDs
src/common/thread.cpp:123:5: error: use of undeclared identifier 'pthread_setname_np'
    pthread_setname_np(pthread_self(), szThreadName);
    ^
1 error generated.
2016-10-27 23:28:29 +00:00
mailwl
f672c7bd24 FRD: fix GetMyFriendKey 2016-10-25 09:54:29 +03:00
Ricardo de Almeida Gonzaga
13d46f6820 Fix typos 2016-10-20 12:26:59 -02:00
wwylele
32789a70fb NWM: stub Initialize with an error 2016-10-12 22:33:44 +08:00
bunnei
cc7f1155a8 Merge pull request #2024 from JamePeng/update-boss-code
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
bunnei
d989102c9c Merge pull request #2082 from yuriks/shader-interp-crash
Fix/mask crash in shader debugger in Mii Maker
2016-10-06 19:35:37 -04:00
JamePeng
691f069743 Rework the code of err:f service 2016-10-06 21:03:12 +08:00
bunnei
09c3e444d4 Merge pull request #1652 from wwylele/kernal-tool
Debugger: implement wait tree widget
2016-10-04 23:01:56 -04:00
bunnei
7ed97fb89a Merge pull request #2106 from wwylele/delete-recursive
FS: implement DeleteDirectoryRecursively
2016-10-03 20:34:56 -04:00
bunnei
49b10339bf Merge pull request #2103 from wwylele/gpu-reg-cleanup
GPU: DisplayTransfer & MemoryFill cleanup and param check
2016-10-03 20:21:55 -04:00
JamePeng
bd8c80a7b4 Update the stub code of BOSS 2016-10-02 17:36:57 +08:00
wwylele
257e7afb79 fs: clean up log format 2016-10-02 12:39:28 +08:00
wwylele
96b0e9476b fs: implement DeleteDirectoryRecursively 2016-10-02 11:29:16 +08:00
Yuri Kunde Schlesner
d9a904f9cb VideoCore: Shader interpreter cleanups 2016-09-29 21:15:49 -07:00
Yuri Kunde Schlesner
6219654ded Common: Remove dangerous Vec[234] array constructors
They're not currently used, and it's easy to accidentally pass a single
pointer argument to them, causing an out-of-bounds read.
2016-09-29 21:11:36 -07:00
Yuri Kunde Schlesner
26b68313b9 VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfo
As far as I can tell, memset was replaced by a fill without correcting
the parameter type, causing an out-of-bounds array read in the Vec4
constructor.
2016-09-29 21:11:36 -07:00
Yuri Kunde Schlesner
01667d9a35 OpenGL: Take cached viewport sub-rect into account for scissor
Fixes #1938
2016-09-29 20:55:24 -07:00
wwylele
58ae94af4c gpu: DisplayTransfer: a less amazing algorithm for flip
the old implementation modifies the loop variable in the loop. Though it actually works, it is really confusing. Makes it morereadable now.
2016-09-29 10:01:34 +08:00
wwylele
30ab0fa45d gpu: keep the old signal strategy for null pointer
previous commits changes the behaviour of interrupt when meeting invalid params. Regresses to the same behaviour as before
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele
48470e57fc gpu: add validity check for TextureCopy, DisplayTransfer and FillMemory
prevent further operation with invalid values which may cause assertion failure or divided by zero.
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele
3f87d70f0e memory: fix IsValidVirtualAddress for RasterizerCachedMemory
RasterizerCachedMemory doesn't has pointer but should be considered as valid
2016-09-29 10:01:34 +08:00
wwylele
c88cdc9a2b gpu: move MemoryFill, TextureCopy and DisplayTransfer into functions
The old code indented too much to read. Split into functions and do general cleanup.
2016-09-29 10:01:34 +08:00
wwylele
d2419570b9 rasterizer: separate TextureCopy from DisplayTransfer 2016-09-29 10:01:34 +08:00
wwylele
3aa047cd1d qt: shutdown system if error 2016-09-22 16:40:33 +08:00
wwylele
85a83158fb move ResetType to kernel.h 2016-09-22 13:52:52 +08:00
wwylele
1c0179ad1b name objects 2016-09-22 13:52:52 +08:00
wwylele
f69a543110 implement wait tree widget 2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner
f120e78b56 Remove special rules for Windows.h and library includes 2016-09-21 00:16:33 -07:00
Yuri Kunde Schlesner
84fbbe2629 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
ebdae19fd2 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
396a8d91a4 Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Yuri Kunde Schlesner
784b96d87f Tweak formatting settings 2016-09-18 21:13:38 -07:00
Emmanuel Gil Peyrot
dc8479928c Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
bfc454e951 Dyncom: Disable clang-format on the decoding table. 2016-09-18 09:36:57 +09:00
Emmanuel Gil Peyrot
dc17944ce4 Sources: Add a .clang-format configuration file. 2016-09-18 09:36:55 +09:00
Yuri Kunde Schlesner
a3afeb4687 VideoCore: Fix dangling lambda context in shader interpreter
The static meant that after the first execution, these lambda context
would be pointing to a random location on the stack. Fixes a random
crash when using the interpreter.
2016-09-15 22:15:11 -07:00
bunnei
1b95f61d82 arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg. 2016-09-15 17:58:06 -04:00
bunnei
57ce84d471 microprofile: Double buffer size to 16MB. 2016-09-15 17:49:31 -04:00
bunnei
05e120a4cc arm: ResetContext shouldn't be part of ARM_Interface. 2016-09-15 17:49:30 -04:00
bunnei
85861d44b7 arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword. 2016-09-15 17:49:30 -04:00
bunnei
b7aef81cb4 dyncom: Use VFP_FPSCR/VFP_FPEXC. 2016-09-15 17:49:29 -04:00
bunnei
d532f6b496 qt: Add UI configuration option to enable CPU JIT. 2016-09-15 17:49:28 -04:00
bunnei
14085ec670 core: Add configuration option for CPU JIT. 2016-09-15 17:49:27 -04:00
bunnei
1976a2d773 dynarmic: Implement ARM CPU interface. 2016-09-15 17:49:26 -04:00
Yuri Kunde Schlesner
81bb315839 Merge pull request #2064 from linkmauve/remove-readdir_r
Switch to readdir() from readdir_r()
2016-09-13 10:54:42 -07:00
Emmanuel Gil Peyrot
519e7013be Common: readdir_r() is deprecated, switch to readdir(). 2016-09-13 22:11:23 +09:00
wwylele
c0262001d8 Qt: fix birthday combo box updating 2016-09-13 16:15:42 +08:00
MerryMage
991cdda3fc audio_core: Tweak audio latency 2016-09-07 15:27:32 +01:00
Yuri Kunde Schlesner
c3307b41db Merge pull request #2050 from MerryMage/adpcm
codec: Fix ADPCM distortion caused by incorrect nibble order
2016-09-03 12:37:44 -07:00
fincs
0bbda3bab4 codec: Fix ADPCM distortion caused by incorrect nibble order
Closes #2049.

Signed-off-by: MerryMage <MerryMage@users.noreply.github.com>
2016-09-03 14:06:25 +01:00
wwylele
bdc59c4c21 Qt: unify running detection 2016-09-02 20:18:45 +08:00
bunnei
09063dc5bb Merge pull request #2032 from bunnei/qt-graphics
Qt graphics configure & V-Sync option
2016-08-31 22:20:54 -04:00
bunnei
a71013cf16 qt: Rename all "toogle" to "toggle". 2016-08-31 22:12:20 -04:00
MerryMage
dc3f6a34f8 configure_audio: User-configuratble option to enable/disable audio stretching 2016-08-31 16:59:37 +01:00
MerryMage
904a319694 audio_core: Add EnableStretching to interface so that one can toggle stretching on and off 2016-08-31 16:56:30 +01:00
MerryMage
0ef4185644 sink: Change EnqueueSamples to take a pointer to a buffer instead of a std::vector 2016-08-31 16:55:10 +01:00
Jannik Vogel
7a79fa7a90 OpenGL: Avoid error on unsupported lighting LUT 2016-08-30 19:30:26 +02:00
bunnei
7c934c5164 Merge pull request #2023 from yuriks/autobase-bcfnt
Auto-detect original shared_font.bin memory base
2016-08-30 09:26:38 -04:00
bunnei
74842116b2 qt: Add an option to settings for enabling V-Sync. 2016-08-29 21:42:33 -04:00
bunnei
02702c6605 qt: Recreate GL context on startup to support changing V-Sync. 2016-08-29 21:42:32 -04:00
bunnei
7299895b48 system: Add a function to see if the emulator is running. 2016-08-29 21:42:31 -04:00
bunnei
08ad9b36d4 config: Add a setting for graphics V-Sync. 2016-08-29 21:42:30 -04:00
bunnei
2267f98941 qt: Add a configuration tab for Graphics and move relevant fields. 2016-08-29 21:42:29 -04:00
Yuri Kunde Schlesner
474586bc53 Merge pull request #1948 from wwylele/cro++
Implemented CRO
2016-08-28 22:21:24 -07:00
Yuri Kunde Schlesner
950f6c0c20 Merge pull request #1987 from Lectem/ipcdescriptors
fix #1942 and add a few IPC functions for descriptors
2016-08-27 09:58:35 -07:00
wwylele
1c9612b791 LDR: Implement CRO 2016-08-27 21:38:06 +08:00
wwylele
2161f52661 ARM: add ClearInstructionCache function 2016-08-27 21:38:06 +08:00
wwylele
b2df959733 Memory: add ReadCString function 2016-08-27 21:38:06 +08:00
Yuri Kunde Schlesner
1f7ec4be9b Auto-detect original shared_font.bin memory base
This allows a file dumped from either an o3DS or a n3DS (and potentially
even an original unrebased file) to be used.
2016-08-27 01:04:26 -07:00
MerryMage
15b2eec4bd dyncom: Read-after-write in SMLA
In the case when RD === RN, RD was updated before AddOverflow was called
to check for an overflow, resulting in an incorrect state of the Q flag.
2016-08-22 15:13:33 +01:00
bunnei
7b4dcacbb2 citra: Default to HW renderer. 2016-08-15 23:30:02 -04:00
MerryMage
50407a8dc8 Dyncom: Correct implementation of STM for R15 2016-08-14 00:49:34 +01:00
Lectem
a94fb932ff fix #1942 and adds a few IPC functions for descriptors 2016-08-02 16:45:15 +02:00
Anon
e91327c86a Input GUI: Add tab to remap controls (#1900) 2016-07-29 08:45:49 -04:00
bunnei
47fcd68b01 Merge pull request #1950 from JamePeng/fix-apt-0x0055004-and-0x00560000
Correct APT::0x00550040 and APT::0x00560000 function
2016-07-28 20:50:49 -04:00
Henrik Rydgard
9a9e9dc375 Instead of segfaulting, log an error to remind the user to dump the shared font file 2016-07-28 21:47:57 +02:00
bunnei
5c743ddfa8 Merge pull request #1959 from MerryMage/revsh-upstream
dyncom: Fix translation of thumb REVSH
2016-07-28 08:43:51 -04:00
MerryMage
60c93ca3b5 dyncom: Fix translation of thumb REVSH 2016-07-28 11:51:29 +01:00
bunnei
c523ff2a98 Merge pull request #1966 from dwhinham/info_plist_fix
CMake: Fix Info.plist template for citra_qt/OSX
2016-07-26 15:14:48 -04:00
Alexandre LittleWhite Laurent
7331b79021 Protection against a resize of size 0 2016-07-23 21:02:05 +02:00
wwylele
d63a76f4ce CoreTiming: avoid overflow 2016-07-23 14:30:23 +03:00
wwylele
00c34e4df7 HLE: implement system time 2016-07-23 14:30:23 +03:00
Dale Whinham
78b97ee364 CMake: Fix Info.plist template for citra_qt/OSX
The Info.plist template incorrectly uses parentheses instead of curly braces,
which means that building the .app bundle using regular 'make' results in the
variable not being replaced, and hence the app bundle won't start because the
executable name is incorrect.

This commit fixes this issue.
2016-07-21 21:33:54 +01:00
JamePeng
d5aa474788 Correct APT::0x00550040 and APT::0x00560000 function 2016-07-15 19:47:01 +08:00