Commit graph

3738 commits

Author SHA1 Message Date
Lectem a7eeff24f0 move Pop methods out of class body 2016-12-26 14:42:06 +01:00
Lectem c5bfad527e IPC helpers example 2016-12-26 14:07:29 +01:00
Lectem 09e966a107 IPC helpers 2016-12-26 14:07:29 +01:00
wwylele e844f294a1 Frontend: emulate motion sensor 2016-12-26 10:52:16 +02:00
wwylele fc8f22bd7e Common: add Quaternion 2016-12-26 10:41:26 +02:00
wwylele 5ddc3b5a56 vector math: add implementation of Length and Normalize 2016-12-26 10:41:26 +02:00
wwylele 078d188544 MathUtil: add PI constant 2016-12-26 10:41:26 +02:00
wwylele 9d5a7fd3f7 Common::Event: add WaitUntil 2016-12-26 10:41:26 +02:00
Jannik Vogel 1404a3c19a Minor cleanup in GLSL code 2016-12-25 21:38:10 +01:00
Jannik Vogel 98bb00a643 Offset lighting LUT samples correctly 2016-12-25 21:37:26 +01:00
wwylele 0372b0ea28 Core: reset cpu_core in Shutdown to make IsPoweredOn work properly 2016-12-24 20:55:38 +02:00
bunnei 77b58b740d Merge pull request #2369 from MerryMage/core-frontend
core: Move emu_window and key_map into core
2016-12-23 17:35:35 -05:00
Yuri Kunde Schlesner dc07e6c89a Merge pull request #2370 from wwylele/where-is-my-shared-font
file_util: fix missing sysdata path
2016-12-23 12:42:40 -08:00
wwylele 2c0bde2fb7 file_util: fix missing sysdata path 2016-12-23 22:19:14 +02:00
MerryMage 4aaaea9758 core: Move emu_window and key_map into core
* Removes circular dependences (common should not depend on core)
2016-12-23 13:42:39 +00:00
mailwl 3a05b161bc Service/NWM: add nwm services 2016-12-22 22:51:27 +03:00
bunnei d4ad36796f Merge pull request #2366 from MerryMage/MemoryReadCode
arm_dynarmic: Provide MemoryReadCode callback
2016-12-22 14:25:15 -05:00
bunnei 37e91013ec Merge pull request #2343 from bunnei/core-cleanup
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
MerryMage 608278503c arm_dynarmic: Provide MemoryReadCode callback
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
bunnei 09b7c9788d Merge pull request #2285 from mailwl/csnd-format
csnd:SND: Reformat source code
2016-12-22 00:47:50 -05:00
bunnei d445aad022 ThreadContext: Move from "core" to "arm_interface". 2016-12-22 00:27:49 -05:00
bunnei 8cfd0762fd core: Replace "AppCore" nomenclature with just "CPU". 2016-12-22 00:27:46 -05:00
bunnei 796a0ae11b Merge pull request #2361 from lioncash/disasm
disassembler: Remove mutable specifier from breakpoints member variable
2016-12-22 00:15:06 -05:00
bunnei 1fd7cfb69e Address clang-format issues. 2016-12-21 23:48:14 -05:00
bunnei 5d22844f3e core: Remove HLE module, consolidate code & various cleanups. 2016-12-21 23:48:13 -05:00
bunnei d504f6cf08 core: Consolidate core and system state, remove system module & cleanups. 2016-12-21 23:29:13 -05:00
bunnei b2fcbaedf4 file_util: Remove unused paths. 2016-12-21 23:29:12 -05:00
bunnei 98bf7cc82f core: Consolidate top-level system state into a singleton. 2016-12-21 23:29:04 -05:00
bunnei fdcff791c3 loader: Remove duplicate docstrings. 2016-12-21 23:27:50 -05:00
Lioncash 0ecbd152b1 citra-qt: Move graphics debugging code into its own folder
Keeps all graphics debugging stuff from cluttering up the root debugger
folder
2016-12-21 17:19:21 -05:00
Lioncash 20112a1c26 disassembler: Remove mutable specifier from breakpoints member variable
Breakpoints has been const correct with regards to what the
DisassmblerModel needs for quite a while now.
2016-12-21 14:12:41 -05:00
bunnei 79b3a1a1e7 Merge pull request #2319 from yuriks/profile-scopes
VideoCore: Make profiling scope more representative
2016-12-21 13:33:49 -05:00
bunnei 9cef48a53f Merge pull request #2357 from lioncash/ui
citra-qt: Move bits of constructor behavior to named functions
2016-12-21 13:33:16 -05:00
Lioncash bf5974f077 citra-qt: Move bits of constructor behavior to named functions
Makes the initialization process a tad easier to grok,
since the constructor isn't just a glob of random unrelated behaviors.
2016-12-19 15:12:28 -05:00
Albin Bernhardsson 0a2259ad11 Use GL_TRUE when setting color_mask 2016-12-19 19:06:35 +01:00
bunnei a50f5b4746 Merge pull request #2318 from yuriks/trace-opt
VideoCore: Inline IsPicaTracing
2016-12-18 21:15:24 -05:00
bunnei 9a26d8ac0a Merge pull request #2351 from CaptV0rt3x/master
Fixed game_list focus issue.
2016-12-18 16:12:21 -05:00
bunnei 9538499cbd Merge pull request #2347 from citra-emu/revert-2321-flush-pages
Revert "Memory: Always flush whole pages from surface cache"
2016-12-18 16:11:26 -05:00
CaptV0rt3x 258f683672 line fixup for travis ci 2016-12-19 00:52:54 +05:30
Vamsi Krishna 5d3470c841 screen swap - Hotkey mapping 2016-12-19 00:49:57 +05:30
Vamsi Krishna c8117b76a0 Fixed GPLv2 license text in the start. 2016-12-19 00:06:27 +05:30
Vamsi Krishna 255b58025b Fixed game_list focusing issue.
added line render_window->setFocus();
2016-12-18 16:13:51 +05:30
bunnei 1224db246e Revert "Memory: Always flush whole pages from surface cache" 2016-12-17 19:13:33 -05:00
wwylele c62bc4e616 Thread: remove the thread from the thread list when exiting 2016-12-17 19:23:52 +02:00
Yuri Kunde Schlesner 5095e23921 Merge pull request #2335 from yuriks/shader-refactor
Misc. Shader refactors
2016-12-16 20:45:57 -08:00
bunnei b1806d9a8f Merge pull request #2303 from freiro/citra-qt_missing_sdl2_dll
Copy SDL2.dll when compiling citra-qt with msvc
2016-12-16 11:35:55 -05:00
bunnei bad8f6c78d Merge pull request #2337 from lioncash/gdb
gdbstub: const correctness changes
2016-12-16 11:32:33 -05:00
Merry 6da3657eff Merge pull request #2322 from MerryMage/ctx-mnu
game_list: Add a context menu with "Open Save Location"  option
2016-12-16 15:08:04 +00:00
wwylele ea4217939a Kernel: remove object's waiting thread if it is dead 2016-12-16 12:33:18 +02:00
Lioncash cae211f90c gdbstub: const correctness changes
Also uses size_t as the length indicator type, as is common with buffers.
2016-12-16 04:06:26 -05:00
Yuri Kunde Schlesner 7d4827f520 VideoCore/Shader: Extract DebugData out from UnitState 2016-12-16 00:16:25 -08:00
Yuri Kunde Schlesner e847c70fb6 Remove unnecessary cast 2016-12-16 00:15:55 -08:00
Yuri Kunde Schlesner d94a04ced7 VideoCore/Shader: Extract evaluate_condition lambda to function scope 2016-12-16 00:15:51 -08:00
Yuri Kunde Schlesner fc3d8c77c8 VideoCore/Shader: Extract call lambda up a scope and remove unused param 2016-12-15 23:08:05 -08:00
Yuri Kunde Schlesner 4a688688b1 VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset 2016-12-15 23:08:05 -08:00
Yuri Kunde Schlesner ec7b3940b0 VideoCore/Shader: Move DebugData to a separate file 2016-12-15 23:08:05 -08:00
bunnei 034651fa7f Merge pull request #2260 from Subv/scheduling
Threading: Reworked the way our scheduler works.
2016-12-16 00:41:22 -05:00
bunnei 56fee7ed29 Merge pull request #2316 from endrift/macos-gcc
Common: Fix gcc build on macOS
2016-12-16 00:40:40 -05:00
Yuri Kunde Schlesner 89a8f963ce Merge pull request #2328 from wwylele/fix-trace
Fix debug build from #2249
2016-12-15 21:06:12 -08:00
Yuri Kunde Schlesner 37dc16c1bb Merge pull request #2332 from lioncash/gdb
gdbstub: Remove global variable from public interface
2016-12-15 21:05:20 -08:00
Yuri Kunde Schlesner ceed2efb4e Merge pull request #2320 from mailwl/cecd-update
Service/CECD: Add cecd:ndm service
2016-12-15 21:01:51 -08:00
bunnei 7aa9f479d2 Merge pull request #2331 from lioncash/trunc
hid: Get rid of a double -> float truncation warning
2016-12-15 17:45:24 -05:00
wwylele 267f26d7df FS: fix debug build from #2249 2016-12-16 00:22:36 +02:00
Lioncash bec7bc3ec9 gdbstub: Remove global variable from public interface
Currently, this is only ever queried, so adding a function to check if the
server is enabled is more sensible.

If directly modifying this externally is ever desirable, it should be done
by adding a function to the interface, rather than exposing implementation
details directly.
2016-12-15 16:37:22 -05:00
Sebastian Valle 9df75ff6d6 Merge pull request #2330 from lioncash/pragma
core: Add missing #pragma once directives where applicable
2016-12-15 16:06:43 -05:00
Lioncash 7c1a069ab6 hid: Get rid of a double -> float truncation warning
float literals need to have the 'f' prefix.
2016-12-15 15:52:15 -05:00
Lioncash cb4293adf1 core: Add missing #pragma once directives where applicable 2016-12-15 15:40:51 -05:00
Lioncash 8e6bf2478f act: Fix docstring typo
These aren't the AM services.
2016-12-15 14:51:45 -05:00
Yuri Kunde Schlesner 52b26a026e Merge pull request #2325 from yuriks/fix-index
shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing
2016-12-15 11:19:24 -08:00
bunnei 338e24ae80 Merge pull request #2314 from mailwl/account
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
MerryMage ee1822efa9 main: Open folder when open save folder location context menu is clicked 2016-12-15 18:43:11 +00:00
MerryMage 33831718fa game_list: Implement context menu for items in list
* Add a context menu with a "Open Save Data Location" action
2016-12-15 18:43:10 +00:00
MerryMage af97174940 loader: Implement ReadProgramId 2016-12-15 18:42:38 +00:00
Yuri Kunde Schlesner 50a3f434a0 shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing 2016-12-15 10:02:42 -08:00
MerryMage 6e2d70a777 archive_source_sd_savedata: Add static method to get a specific save data path 2016-12-15 09:59:41 +00:00
Yuri Kunde Schlesner 415064165a Memory: Always flush whole pages from surface cache
This prevents individual writes touching a cached page, but which don't
overlap the surface, from constantly hitting the surface cache lookup.
2016-12-14 23:46:59 -08:00
mailwl c7a28acce4 Service/CECD: Add cecd:ndm service 2016-12-15 09:52:40 +03:00
Yuri Kunde Schlesner 66efdff1a7 VideoCore: Make profiling scope more representative 2016-12-14 22:52:09 -08:00
Yuri Kunde Schlesner eb75205231 VideoCore: Inline IsPicaTracing
Speeds up ALBW main menu slightly (~3%)
2016-12-14 22:06:40 -08:00
Yuri Kunde Schlesner d8fc6ee91b VideoCore: Eliminate an unnecessary copy in the drawcall loop 2016-12-14 21:00:29 -08:00
Yuri Kunde Schlesner 3bf8e16d21 Merge pull request #2309 from yuriks/shader-jit-xbyak
Convert shader JIT to Xbyak
2016-12-14 20:44:30 -08:00
Yuri Kunde Schlesner c99b5e3122 Merge pull request #2249 from Subv/sessions_v3
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14 20:35:33 -08:00
Yuri Kunde Schlesner 8ec064951f shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts 2016-12-14 20:06:09 -08:00
Yuri Kunde Schlesner 2d892f845c VideoCore: Convert x64 shader JIT to use Xbyak for assembly 2016-12-14 20:06:08 -08:00
Subv 3e80a1a1c1 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:45:36 -05:00
Subv 00decc1180 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:35:01 -05:00
mailwl 11e9681df2 Service/ACT: move ACT services to folder 2016-12-14 09:05:46 +03:00
freiro 04e6500b5d Modularized Qt and SDL file copying
Now cmake relies on two submodules to copy the libraries in the proper folders
2016-12-13 21:05:00 +01:00
Jeffrey Pfau 12cca651ce Common: Fix gcc build on macOS 2016-12-13 10:20:33 -08:00
JamePeng 7af1081bb0 Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code 2016-12-13 17:01:53 +08:00
Yuri Kunde Schlesner 08c37e1eda Merge pull request #2312 from lioncash/guard
time_stretch: Add missing #pragma once directive
2016-12-12 22:21:09 -08:00
Lioncash dc6a23e0f6 time_stretch: Add missing #pragma once directive 2016-12-12 19:16:46 -05:00
mailwl a88468d683 csnd:SND reformat source code 2016-12-12 21:19:36 +03:00
Sebastian Valle 9eaa37e9ab Merge pull request #2275 from jbeich/pthread
Unbreak QT-only build after 37d6cbc200
2016-12-11 14:45:35 -05:00
Sebastian Valle 7993d67ca9 Merge pull request #2267 from JayFoxRox/fix-mingw-cc
Support mingw cross-compilation
2016-12-11 14:44:21 -05:00
mailwl e3828ed7fa APT::GetStartupArgument: force clear startup argument 2016-12-11 22:36:12 +03:00
freiro b3b35563ce Modularization of copy_msvc_libraries cmake funct
Created a new folder in Citra's root called CMakeModules that should
contain cmake functions used by the various CMakeLists.txt.
2016-12-11 15:36:34 +01:00
Lioncash b24112862e citra-qt: Make constructors explicit where applicable 2016-12-11 14:18:06 +00:00
freiro 0fb7af11d3 Removed redundant Qt check and other fixes
This removes a redundant check and moves part of the code to a separate
function.
2016-12-11 15:10:21 +01:00
Lioncash 94f0a00f0e citra-qt: Add missing #pragma once directives 2016-12-11 12:12:03 +00:00
Lioncash 2a1cf1e2ce game_list: Make slots private functions
The new Qt event syntax allows for regular member functions to be used in
connect(), so explicitly indicating slots isn't necessary.
2016-12-11 11:45:50 +00:00
Lioncash c22f539978 game_list: Make the constructor explicit 2016-12-11 11:45:50 +00:00
Lioncash ada0edd082 game_list: Make the AddEntry argument a const reference
appendRow takes a QList by const reference, so it doesn't need to be
modifiable.
2016-12-11 11:45:50 +00:00
Lioncash da804ef0ff game_list: Replace 0 literals with nullptr 2016-12-11 11:45:50 +00:00
Lioncash f5636c45fb game_list: Use QT5's new event connection syntax
Makes for more compact code in most places.
2016-12-11 11:45:50 +00:00
Lioncash bd25e19ee8 game_list: Pass the parent constructor argument to the QWidget base class
If the control was ever passed an explicit parent, a potential memory leak
would happen, as the game list wouldn't be freed.

However, in our case, the game list was placed within a layout, which
automatically performs reparenting, avoiding this issue.
2016-12-11 11:45:50 +00:00
freiro 3600ce8ff2 [MSVC] Copy SDL2.dll to build folder
CMake now copies SDL2.dll when compiling citra with citra-qt as a target
on MSVC.
2016-12-11 12:22:37 +01:00
Yuri Kunde Schlesner 4f102ed17e Merge pull request #2300 from lioncash/qt
graphics_cmdlist: Minor changes
2016-12-11 01:42:43 -08:00
Lioncash e221b00122 graphics_cmdlists: Get rid of variable shadowing 2016-12-11 04:33:24 -05:00
Emmanuel Gil Peyrot 01e0d578d3 Core: Add a forgotten #include <cstring> for memcpy. 2016-12-11 01:20:45 +00:00
Lioncash a1f25eb04a graphics_cmdlists: Get rid of an unused variable 2016-12-10 20:01:27 -05:00
Lioncash 520b6a7ae4 graphics_cmdlists: Make LoadTexture and TextureInfoWidget src arguments const 2016-12-10 20:01:22 -05:00
Lioncash 95adb797c5 graphics_cmdlists: Make LoadImage internally linked
Puts the TextureInfoWidget definition in the anonymous namespace as well,
as it's only used in the translation unit as well.
2016-12-10 20:00:40 -05:00
Lioncash b0ebdfae34 Add all services to the Service namespace
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
MerryMage 0713074841 configure_input: Modernize and cleanup input configuration tab
* Removed use of raw QTimer* pointer.
* Update to use type-safe QObject::connect.
* getKeyName can be a static local function.
* Prefer to use function arguments instead of member variables.
* Store Qt::Key instead of converting string back into keycode.
2016-12-10 23:30:28 +00:00
Subv 7066deff78 Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout. 2016-12-10 13:29:31 -05:00
Yuri Kunde Schlesner fde4d073f1 Merge pull request #2296 from MerryMage/auto_is_auto
audio_core: SelectSink should default to auto if sink_id is invalid
2016-12-09 20:34:10 -08:00
MerryMage b5cfe1d2f4 audio_core: SelectSink should default to auto if sink_id is invalid 2016-12-10 01:26:22 +00:00
bunnei 1a981fe1ea Merge pull request #2291 from lioncash/svc
service: Add the cfg:nor service
2016-12-09 14:15:20 -05:00
Subv 6df6ad46c4 Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass. 2016-12-09 12:52:12 -05:00
Subv 79f53e6daa Kernel/IPC: Small codestyle cleanup 2016-12-09 12:39:12 -05:00
Subv d4815e828d WaitSynch: Removed unused variables and reduced SharedPtr copies.
Define a variable with the value of the sync timeout error code.

Use a boost::flat_map instead of an unordered_map to hold the equivalence of objects and wait indices in a WaitSynchN call.
2016-12-09 12:23:09 -05:00
Lioncash fd2837ad16 service: Add cfg:nor service 2016-12-09 05:07:41 -05:00
Yuri Kunde Schlesner 0154ff2075 Merge pull request #2292 from lioncash/bool
ptm: Use boolean instead of integral value
2016-12-09 01:43:57 -08:00
Lioncash 508f17b87c ptm: Use boolean instead of integral value
The third parameter of Write is actually a bool type, not an int.
2016-12-09 04:04:28 -05:00
Lioncash 51f6cd48ba service: Drop '_Interface' from cfg service names 2016-12-09 01:08:35 -05:00
Yuri Kunde Schlesner 1441410999 Merge pull request #2287 from lioncash/svc
service: Minor PTM changes
2016-12-08 19:34:32 -08:00
Sebastian Valle 91fce7f5d2 Merge pull request #2280 from Subv/citrace_size
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:45:53 -05:00
Subv 4650bc60b4 Fixed the gpu command list size when creating CiTraces. 2016-12-08 15:21:02 -05:00
Subv 17d8d69c6e Added a framework for partially handling Session disconnections.
Further implementation will happen in a future commit.

Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv 021e732815 Use std::move where appropriate. 2016-12-08 11:06:19 -05:00
Lioncash e7d396142a service: Add the ptm:s service
3dbrew documents this as being the exact same as ptm:sysm
2016-12-08 06:14:55 -05:00
Lioncash 9becdeada9 service: Add common ptm:u commands to other ptm services
3dbrew indicates that all services have access to these commands
except for ptm:sets.
2016-12-08 06:13:10 -05:00
Lioncash aa096138bd service: Drop '_Interface' in ptm service class names
Inheriting from Service::Interface makes this obvious.
2016-12-08 06:13:04 -05:00
Lioncash 0e025b7b4e service: Add ptm::gets and ptm::sets services 2016-12-08 05:43:08 -05:00
Yuri Kunde Schlesner b185a33a1d Merge pull request #2286 from lioncash/svc
service: Add mvd and qtm services
2016-12-08 01:49:45 -08:00
Yuri Kunde Schlesner cc0ab41783 Merge pull request #2274 from degasus/master
Drop framebuffer completeness check.
2016-12-08 01:36:42 -08:00
Lioncash c7a1fc1d0a service: Add mvd and qtm services
Adds the two New3DS-only modules.

3dbrew was used for command information.
2016-12-08 04:34:03 -05:00
Yuri Kunde Schlesner 9164ea53fb Merge pull request #2284 from lioncash/svc
service: Add nfc services
2016-12-08 00:34:09 -08:00
Yuri Kunde Schlesner e0dc074739 Merge pull request #2277 from lioncash/explicit
file_sys: Make a few single-argument constructors explicit
2016-12-08 00:29:38 -08:00
Lioncash c74ecaaa85 service: Add nfc services
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Yuri Kunde Schlesner 0666271a28 Merge pull request #2283 from lioncash/svc
service: Update function tables
2016-12-07 22:45:12 -08:00
Yuri Kunde Schlesner 5a757542eb Merge pull request #2281 from lioncash/applet
applet: minor interface changes
2016-12-07 22:36:40 -08:00
Lioncash 2ab9afdb37 ssl_c: Update function table
Updated based off information from 3dbrew
2016-12-08 00:57:53 -05:00
Lioncash 80db6356ae ptm: Update ptm_sysm function table
Updated based off information from 3dbrew.
2016-12-08 00:57:53 -05:00
Lioncash 1a85727f71 pm_app: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:57:45 -05:00
Lioncash 5caec2fcda nwm_uds: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash 0f53c14ca1 nim: Update function tables
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash 34401e8a9e http_c: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash de5b0f4e25 gsp_lcd: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash b3b4017185 fs_user: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash 7033aa361e dlp_srvr: Update function table 2016-12-08 00:56:46 -05:00
Lioncash f9c458cd04 cfg: Update function tables
Updated based off information from 3dbrew
2016-12-08 00:56:46 -05:00
Lioncash bd088ae36b cecd_u: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash 4b7f949d77 boss_p: Update function table 2016-12-08 00:56:45 -05:00
Lioncash 7598d8532c act: Update function tables
Updated based off information from 3dbrew.
2016-12-08 00:56:39 -05:00
Lioncash 523979a6ed apt: Update apt function tables
Updated based off information from 3dbrew.
2016-12-07 22:53:10 -05:00
Lioncash a8f59eab50 Update AM service function tables
Updated based off information from 3dbrew.
2016-12-07 20:55:59 -05:00
Lioncash 6ba0395316 file_sys: Make a few single-argument constructors explicit
Prevents implicit conversions.
2016-12-07 17:26:56 -05:00
Lioncash 7055dbf489 applet: Move common IsRunning underlying variable to the Applet class
Gets rid of basic duplication.
2016-12-07 17:13:46 -05:00
Lioncash 748807f130 applet: Make virtual destructor defaulted 2016-12-07 17:04:14 -05:00
Lioncash e214e0fca4 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 aa8236a9b6 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
wwylele a88ec032cd Config: auto-select region and language 2016-12-07 20:52:42 +02:00
Jan Beich 61f52b5d33 tests: add missing libcore dependency after 37d6cbc200
$ (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 7da33afec8 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 fdf1d042e0 Use boost remove_erase_if instead of the erase-remove idiom 2016-12-06 19:31:53 -05:00
Subv bf232b89f3 Improved the algorithm for GetHighestPriorityReadyThread. 2016-12-06 19:15:32 -05:00
emmauss 4865993e6f Implement Frame rate limiter (#2223)
* implement frame limiter

* fixes
2016-12-06 14:33:19 -05:00
Jannik Vogel 869743d34c ASSERT that shader was linked successfully 2016-12-05 21:11:24 +01:00
Jannik Vogel d676c9a06f Report shader uniform block size in case of mismatch 2016-12-05 21:11:24 +01:00
Jannik Vogel d8142ae075 Print broken shader code to log 2016-12-05 21:11:24 +01:00
Subv 06b2b80d31 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 7eaf6faa7d 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 305cc20144 gdbstub: Remove unused include 2016-12-05 19:09:16 +01:00
Jannik Vogel 19b1180952 Unify Windows ICON resource name 2016-12-05 19:09:16 +01:00
Jannik Vogel 89e57a3fb0 Support mingw cross-compile 2016-12-05 19:09:16 +01:00
Subv 708ece3fff 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 728bb5f40b Kernel: Remove the Redirection handle type. 2016-12-05 11:13:22 -05:00
Subv 977039e722 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 44c59feca6 Threading: Added some utility functions and const correctness. 2016-12-04 09:58:36 -05:00
Yuri Kunde Schlesner 6fb4f73dec 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 515096c197 OpenGL: Non-zero stride only makes sense for linear buffers 2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner 2271fa76fb OpenGL: Ensure framebuffer binding is restored if completion check fails 2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner f207da3a5a OpenGL: Fix DisplayTransfer accel when input width != output width
Fixes #2246, #2261
2016-12-04 05:21:57 -08:00
Yuri Kunde Schlesner 9b3739ebca 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 5bc10a74f6 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 3020767914 shader_jit: Fix non-SSE4.1 path where FLR would not truncate 2016-12-04 04:26:33 +01:00
Yuri Kunde Schlesner 90fd00648c clang-format: Fix coding style 2016-12-03 01:32:46 -08:00
Subv 4703561c9e Declare empty ServerSession and ClientSession constructors as default. 2016-12-02 22:58:02 -05:00
Jannik Vogel 62c76b4207 shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted 2016-12-02 04:33:15 +01:00
Subv 811d684274 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 63e5851830 Remove unused version.h 2016-12-01 16:38:46 +01:00
Subv 4c4f50dfaf Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00
Subv 4f2326c8a9 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 d2305d375f 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 edcacd7cdd 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 96df92e98f 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 302ef594a6 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 35c7f317cf 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