Commit graph

4392 commits

Author SHA1 Message Date
wwylele ff4fe1df8f 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 7dcbdc4c43 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 287ec158ed 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 4d867489a4 rasterizer: separate TextureCopy from DisplayTransfer 2016-09-29 10:01:34 +08:00
wwylele e46c564f76 qt: shutdown system if error 2016-09-22 16:40:33 +08:00
wwylele 1dedb87851 move ResetType to kernel.h 2016-09-22 13:52:52 +08:00
wwylele d1d4b24f76 name objects 2016-09-22 13:52:52 +08:00
wwylele 8b25c12ce8 implement wait tree widget 2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner 32bddfa1f5 Remove special rules for Windows.h and library includes 2016-09-21 00:16:33 -07:00
Yuri Kunde Schlesner fa5d9d8266 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot 1138ec0d49 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 1e4a5da9f4 Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Yuri Kunde Schlesner 5288648a23 Tweak formatting settings 2016-09-18 21:13:38 -07:00
Emmanuel Gil Peyrot 628ed4376a Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot b26517b08c Dyncom: Disable clang-format on the decoding table. 2016-09-18 09:36:57 +09:00
Emmanuel Gil Peyrot c2b031b928 Sources: Add a .clang-format configuration file. 2016-09-18 09:36:55 +09:00
Yuri Kunde Schlesner 300e68c5df 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 45bc24774f arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg. 2016-09-15 17:58:06 -04:00
bunnei 139dceacb2 microprofile: Double buffer size to 16MB. 2016-09-15 17:49:31 -04:00
bunnei acdc361fc0 arm: ResetContext shouldn't be part of ARM_Interface. 2016-09-15 17:49:30 -04:00
bunnei 5a7c1e9b5d arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword. 2016-09-15 17:49:30 -04:00
bunnei 5cf4dd301d dyncom: Use VFP_FPSCR/VFP_FPEXC. 2016-09-15 17:49:29 -04:00
bunnei 230c55daa9 qt: Add UI configuration option to enable CPU JIT. 2016-09-15 17:49:28 -04:00
bunnei 678aa9b0f0 core: Add configuration option for CPU JIT. 2016-09-15 17:49:27 -04:00
bunnei f1072aa569 dynarmic: Implement ARM CPU interface. 2016-09-15 17:49:26 -04:00
Yuri Kunde Schlesner cef3c7fccc 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 721bb69d6e Common: readdir_r() is deprecated, switch to readdir(). 2016-09-13 22:11:23 +09:00
wwylele 53f72f198f Qt: fix birthday combo box updating 2016-09-13 16:15:42 +08:00
MerryMage de4fa45fb5 audio_core: Tweak audio latency 2016-09-07 15:27:32 +01:00
Yuri Kunde Schlesner 61b84257ae 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 61bde9974b 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 e64309bac9 Qt: unify running detection 2016-09-02 20:18:45 +08:00
bunnei fe9d040a82 Merge pull request #2032 from bunnei/qt-graphics
Qt graphics configure & V-Sync option
2016-08-31 22:20:54 -04:00
bunnei da4e6eb4b5 qt: Rename all "toogle" to "toggle". 2016-08-31 22:12:20 -04:00
MerryMage 0984c45a3f configure_audio: User-configuratble option to enable/disable audio stretching 2016-08-31 16:59:37 +01:00
MerryMage 96febf8f85 audio_core: Add EnableStretching to interface so that one can toggle stretching on and off 2016-08-31 16:56:30 +01:00
MerryMage 559ca8ae8a 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 e22a00f35f OpenGL: Avoid error on unsupported lighting LUT 2016-08-30 19:30:26 +02:00
bunnei c12841c714 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 232ecb7666 qt: Add an option to settings for enabling V-Sync. 2016-08-29 21:42:33 -04:00
bunnei fb0d00db47 qt: Recreate GL context on startup to support changing V-Sync. 2016-08-29 21:42:32 -04:00
bunnei e3672db866 system: Add a function to see if the emulator is running. 2016-08-29 21:42:31 -04:00
bunnei cfefb55db2 config: Add a setting for graphics V-Sync. 2016-08-29 21:42:30 -04:00
bunnei 2d64553023 qt: Add a configuration tab for Graphics and move relevant fields. 2016-08-29 21:42:29 -04:00
Yuri Kunde Schlesner 88ba584975 Merge pull request #1948 from wwylele/cro++
Implemented CRO
2016-08-28 22:21:24 -07:00
Yuri Kunde Schlesner 743c85eb94 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 901e7157e3 LDR: Implement CRO 2016-08-27 21:38:06 +08:00
wwylele 913472e010 ARM: add ClearInstructionCache function 2016-08-27 21:38:06 +08:00
wwylele 3008911345 Memory: add ReadCString function 2016-08-27 21:38:06 +08:00
Yuri Kunde Schlesner a0d0aa24be 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 abe5d64fd6 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 c122148bd4 citra: Default to HW renderer. 2016-08-15 23:30:02 -04:00
MerryMage 0da5e44c89 Dyncom: Correct implementation of STM for R15 2016-08-14 00:49:34 +01:00
Lectem 7df4925923 fix #1942 and adds a few IPC functions for descriptors 2016-08-02 16:45:15 +02:00
Anon 9e4923c36c Input GUI: Add tab to remap controls (#1900) 2016-07-29 08:45:49 -04:00
bunnei 1d27e68bd6 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 58e61fa817 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 e249b4a5ef Merge pull request #1959 from MerryMage/revsh-upstream
dyncom: Fix translation of thumb REVSH
2016-07-28 08:43:51 -04:00
MerryMage a7711eaf4f dyncom: Fix translation of thumb REVSH 2016-07-28 11:51:29 +01:00
bunnei e43f8c1fdc 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 bfc9c4e48f Protection against a resize of size 0 2016-07-23 21:02:05 +02:00
wwylele 9abf787fed CoreTiming: avoid overflow 2016-07-23 14:30:23 +03:00
wwylele eaf9f27128 HLE: implement system time 2016-07-23 14:30:23 +03:00
Dale Whinham f5cd8a3eac 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 24ff9f557a Correct APT::0x00550040 and APT::0x00560000 function 2016-07-15 19:47:01 +08:00
bunnei 0102b0ac82 Merge pull request #1890 from LFsWang/fix-encode-problem
Fix boot_filename encode on Windows
2016-07-14 22:25:52 -04:00
Yuri Kunde Schlesner 7b50bcee79 Merge pull request #1894 from wwylele/set-config-block
Implement config savegame editing & clean up
2016-07-09 20:39:19 -07:00
wwylele 031589a960 Qt: add system settings config tab 2016-07-10 06:22:38 +03:00
bunnei 5c3394ba22 Merge pull request #1940 from JamePeng/fix-archive-error-code
Fix the errorcode of archive handle
2016-07-06 18:37:43 -04:00
Sebastian Valle 02f3161c48 Merge pull request #1921 from Subv/fs_funcs
HLE/FS: Document some command parameters and implemented command 0x08560240
2016-07-05 14:45:40 -07:00
JamePeng c7d5fee7fb Fix the errorcode of archive handle 2016-07-05 00:39:09 +08:00
mailwl 367f5dc215 HLE/Applets: Implement ErrEula applet 2016-07-04 09:54:51 +03:00
Subv e5bc6593a3 HLE/FS: Document some command parameters and implemented command 0x08560240 (CreateLegacySystemSaveData) 2016-07-03 13:42:52 -05:00
Sebastian Valle c961b73823 Merge pull request #1935 from wwylele/fix-result-module
Result: Update the ErrorModule enum
2016-07-03 07:24:29 -07:00
wwylele 5489701b38 Service::CFG/FS: add and refactor out utilities for front-end 2016-07-03 08:23:59 +03:00
wwylele 9f0ad67398 Service::CFG: move known block ID to an enum 2016-07-03 08:23:59 +03:00
wwylele e8231e3594 Service::CFG: add SetConfigInfoBlk4 2016-07-03 08:23:58 +03:00
Yuri Kunde Schlesner 287807b43c Merge pull request #1933 from yuriks/scissor
PICA: Implement scissor test
2016-07-02 02:18:46 -07:00
wwylele 340c64dbbe Service::CFG: add missing language 2016-07-02 11:44:25 +03:00
wwylele f4156c0f09 Service::CFG: name sound output modes 2016-07-02 11:44:25 +03:00
wwylele ce3e33ef50 Result: fix and update ErrorModule 2016-06-30 11:26:53 +03:00
Yuri Kunde Schlesner 6bc2f3e2a8 Merge pull request #1869 from wwylele/dont-be-lazy
Switch context to the same thread if necessary
2016-06-28 21:03:52 -07:00
bunnei 2270d7b0f0 Merge pull request #1867 from mailwl/srv-update
srv: Update according 3dbrew
2016-06-28 18:53:10 -04:00
Yuri Kunde Schlesner 8e13889337 OpenGL: Add scaled resolution support to scissor 2016-06-27 22:16:04 -07:00
Yuri Kunde Schlesner e1b005a568 PICA: Scissor fixes and cleanups 2016-06-27 21:14:39 -07:00
Subv 4a9e0e5430 PICA: Implement scissor test 2016-06-27 21:14:13 -07:00
scurest de4705914d Remove superfluous std::move in return std::move(local_var) 2016-06-25 13:26:21 -05:00
bunnei 835b9a4cff Merge pull request #1923 from yuriks/fix-recursive
Fix recursive scanning of directories
2016-06-22 16:27:12 -04:00
Yuri Kunde Schlesner 8e468474ab Fix recursive scanning of directories
ForeachDirectoryEntry didn't actually do anything with the `recursive`
parameter, and the corresponding callback parameter was shadowing the
actual recursion counters in the user functions.
2016-06-19 00:12:15 -07:00
Yuri Kunde Schlesner 6a35762dec Qt: Fix MicroProfile dpi scaling 2016-06-18 23:37:09 -07:00
bunnei 198562daa9 Merge pull request #1877 from wwylele/wait-fix-timeout
Thread: update timeout when reruning WaitSynch
2016-06-18 01:08:22 -04:00
bunnei d699c457af Merge pull request #1898 from archshift/interpreter-split-take2
Refactor arm_dyncom_interpreter into several files (take 2)
2016-06-16 14:47:55 -04:00
bunnei 4842f01487 Merge pull request #1875 from JayFoxRox/fog
Implement standard fog (fog mode 5)
2016-06-15 17:55:36 -04:00
archshift b1f3ae6056 Make arm_dyncom_trans* into a fully fledged compilation unit 2016-06-12 01:54:45 -07:00
archshift 3b371f5816 arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive 2016-06-12 00:31:52 -07:00
bunnei 29f66ef6b9 Merge pull request #1842 from Subv/ports
Kernel: Added ClientPort and ServerPort classes, along with svcCreatePort.
2016-06-11 22:46:35 -04:00
Subv a350b5274f Kernel/SVC: Implemented svcCreatePort. 2016-06-11 08:37:37 -05:00
wwylele 6cc4c40241 hid: add missing header 2016-06-11 08:45:29 +03:00
Mat M fbfab3de59 Merge pull request #1897 from linkmauve/sdl2-config-fix
SDL2: Add forgotten default config changes from 493a777880
2016-06-10 22:38:51 -04:00
bunnei 80ca5c518d Merge pull request #1789 from wwylele/input-refactor
Refactor input mapping & implement circle pad modifier
2016-06-10 22:28:58 -04:00
archshift 090a9166fc arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func
This allows us to get the addressing operation for STRT, LDRT, STRBT,
and LDRBT. We do this so that translation functions don't need to
see the addressing ops directly.
2016-06-10 18:45:48 -07:00
archshift 39e3e9c2d9 arm_dyncom_interpreter: rename operation functions to fit style guide 2016-06-10 18:42:08 -07:00
archshift 31b8dc0ca4 arm_dyncom_interpreter: Rename anonymous enum to TransExtData 2016-06-10 18:35:57 -07:00
archshift 5bf480bf56 arm_dyncom_interpreter.cpp: #include translation info from inc files 2016-06-10 18:25:30 -07:00
Emmanuel Gil Peyrot 6367a7b90f SDL2: Add forgotten default config changes from 493a777880. 2016-06-11 02:19:51 +01:00
archshift d05fcfa487 Revert "Split huge interpreter source file into translation info and interpreter (+ some tiny misc style fixes)" 2016-06-10 17:41:15 -07:00
archshift 65d5333ef6 arm_dyncom_interpreter: rename operation functions to fit style guide 2016-06-08 21:03:49 -07:00
archshift db6bb1477e arm_dyncom_interpreter.cpp: Split by translation and interpreter logic
To facilitate the split, some small changes were made to names of
various structures and functions.
2016-06-08 20:59:24 -07:00
shinyquagsire23 c09f249f90 gdbstub: E0 should be E00 2016-06-08 14:14:59 -07:00
LFsWang 8f2cb5559a Fix boot_filename encode on Windows 2016-06-08 13:53:41 +08:00
bunnei 51ce700c23 Merge pull request #1765 from JayFoxRox/debug-surface-viewer
Debugger: Pica surface viewer
2016-06-07 18:26:24 -04:00
Jannik Vogel 41b823a637 OpenGL: Implement fog 2016-06-07 00:06:28 +02:00
Jannik Vogel 528b4ba2a7 Rasterizer: Implement fog 2016-06-07 00:06:28 +02:00
Jannik Vogel 0d7d513c54 Pica: Add fog state 2016-06-07 00:06:28 +02:00
Jannik Vogel 9a3c245750 OpenGL: Avoid undefined behaviour for UNIFORM_BLOCK_DATA_SIZE 2016-06-07 00:06:28 +02:00
bunnei d905e431e9 Merge pull request #1873 from archshift/remove-config
Remove unused and bitrotted "controller config" files
2016-06-06 17:44:01 -04:00
Subv d5f8d90e34 Kernel: Added ClientPort and ServerPort classes.
This is part of an ongoing effort to implement support for multiple processes.
2016-06-05 09:35:31 -05:00
Lioncash 27d37be329 service: Add other DLP services
Specifically, dlp::CLNT and dlp::FKCL

Moves them to their own folder like with other services.
2016-06-04 19:43:33 -04:00
wwylele 1cef298ca9 Thread: update timeout when rerunning WaitSynch 2016-06-04 09:27:16 +03:00
bunnei f3ca52854e Merge pull request #1863 from mailwl/gpu-threadid-reset
gsp::gpu: Reset g_thread_id in UnregisterInterruptRelayQueue
2016-06-02 21:33:06 -04:00
archshift a06b347518 Remove unused and bitrotted "controller config" files 2016-06-01 20:53:38 -07:00
mailwl ee188dbdc6 gsp::gpu: Reset g_thread_id in UnregisterInterruptRelayQueue 2016-06-01 09:40:15 +03:00
LFsWang afcac8ad30 AddFstEntriesToGameList - prevent loading a directory 2016-06-01 14:04:58 +08:00
bunnei e88a0206f1 Merge pull request #1812 from JayFoxRox/refactor-shader
Retrieve shader result from new OutputRegisters-type
2016-05-31 18:12:56 -04:00
mailwl 1aceb1b912 Fix parameter name in EnableNotification 2016-05-31 10:06:00 +03:00
mailwl 1a6c967927 Fix mistakes, add output header codes 2016-05-31 10:06:00 +03:00
mailwl 3457cc52e4 remove ugly function 2016-05-31 10:06:00 +03:00
mailwl ed74a60f41 srv: Update according 3dbrew 2016-05-31 10:06:00 +03:00
bunnei f4edff9d5d Merge pull request #1751 from linkmauve/no-recursive-readdir
Make recursive FileUtil functions take a maximum recursion
2016-05-30 20:59:10 -04:00
wwylele 5e5f9b099a Switch context on the same thread if necessary 2016-05-30 07:34:53 +03:00
bunnei ea512df6da Merge pull request #1692 from Subv/rm_getpointer2
Memory: Remove most usages of GetPointer
2016-05-29 21:57:07 -04:00
bunnei 87b6cde100 Merge pull request #1756 from wwylele/config-cleanup
Config block: clean up
2016-05-28 20:42:17 -04:00
Subv b502c2e4d0 Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions. 2016-05-28 13:52:50 -05:00
Subv 9d36016350 Memory: Make ReadBlock and WriteBlock accept void pointers. 2016-05-28 13:52:49 -05:00
Subv 86dc841611 SOC_U: Remove usage of GetPointer 2016-05-28 13:52:49 -05:00
MerryMage f9568d9ee2 SSL_C: Remove use of Memory::GetPointer 2016-05-28 13:52:48 -05:00
MerryMage 3f8fdddd22 GSP_GPU: Remove use of Memory::GetPointer 2016-05-28 13:52:47 -05:00
MerryMage c3ad268edc Memory: CopyBlock 2016-05-28 13:44:49 -05:00
MerryMage e0ee10c3e9 DSP_DSP: Remove use of Memory::GetPointer 2016-05-28 13:44:49 -05:00
MerryMage dfe7263cd4 FS/Archive: Remove use of Memory::GetPointer 2016-05-28 13:44:44 -05:00
bunnei acbc48f718 Merge pull request #1857 from MerryMage/rotr-rotl
common_funcs: Provide rotr and rotl for MSVC
2016-05-27 20:50:22 -04:00
MerryMage b7b02d0177 common_funcs: Provide rotr and rotl for MSVC 2016-05-27 10:42:06 +01:00
Mat M c59b338a39 Merge pull request #1568 from JayFoxRox/fix-printf
Fix ftoi and disable VFPv3
2016-05-26 19:03:00 -04:00
bunnei 0109d2fa36 Merge pull request #1810 from JayFoxRox/fix-float-exceptions
Fix float exceptions
2016-05-26 18:28:00 -04:00
bunnei a11ee72171 Merge pull request #1846 from JayFoxRox/missing-dirty-lighting
OpenGL: Set shader_dirty on lighting changes
2016-05-26 17:35:12 -04:00
Mat M 3a55dfa4b2 Merge pull request #1855 from MerryMage/memory-headers-20160526
Memory: Added necessary headers and removed unnecessary header
2016-05-26 14:19:31 -04:00
MerryMage 1d3892255d Memory: Added necessary headers and removed unnecessary header 2016-05-26 18:55:37 +01:00
bunnei 60b4545493 Merge pull request #1817 from linkmauve/smdh-stuff
Improve SMDH support in loaders and frontends
2016-05-25 16:40:36 -04:00
bunnei 588e3c253f New3DS: Minor style cleanup to #1520. 2016-05-24 17:24:11 -04:00
bunnei a465aaaa54 Merge pull request #1520 from JamePeng/checknew3ds
Implement CheckNew3DS and CheckNew3DSApp
2016-05-24 17:19:26 -04:00
bunnei cf069f5234 Merge pull request #1733 from lioncash/vert_loader
VertexLoader: Minor changes
2016-05-23 21:13:34 -04:00
Jannik Vogel e00b2fbcc2 OpenGL: Set shader_dirty on lighting changes 2016-05-23 23:28:13 +02:00
Jannik Vogel d18118b305 Pica: Name LightSrc.config register 2016-05-23 23:28:13 +02:00
Jannik Vogel 16a0830caa Pica: Name lighting.config0 and .config1 registers 2016-05-23 23:28:13 +02:00
Jannik Vogel be4a423c19 OpenGL: Use uniforms for dist_atten_bias and dist_atten_scale 2016-05-23 23:28:13 +02:00
bunnei 9dd735a241 Merge pull request #1837 from wwylele/sync-trap
SVC::WaitSynchronizationN: Reschedule at the end
2016-05-22 20:07:20 -04:00
Emmanuel Gil Peyrot 3272e30eec Loader: Split SMDH into its own header and import helpers from QGameList
Also rewrite Qt wrappers to use those.
2016-05-21 20:15:42 +01:00
MerryMage 30700dfdaf CFG: Remove use of Memory::GetPointer 2016-05-21 11:14:13 -05:00
MerryMage 44dc46d5e1 APT: Remove use of Memory::GetPointer 2016-05-21 11:14:12 -05:00
MerryMage 0352176f4c Kernel/Thread: Remove use of Memory::GetPointer 2016-05-21 11:14:11 -05:00
MerryMage d4cff12856 Applets/swkdb: Remove use of Memory::GetPointer 2016-05-21 11:14:10 -05:00
MerryMage 73cc880444 Memory: ZeroBlock 2016-05-21 11:14:09 -05:00
MerryMage 4ed7963687 FileSys/Path: Replace Memory::GetPointer with Memory::ReadBlock 2016-05-21 11:14:03 -05:00
MerryMage cbb1b25fe0 Debugger/Callstack: Replace Memory::GetPointer with Memory::IsValidVirtualAddress 2016-05-21 11:12:38 -05:00
MerryMage c1c78c27c2 Memory: ReadBlock/WriteBlock 2016-05-21 11:12:36 -05:00
MerryMage b6feee037b Memory: IsValidVirtualAddress/IsValidPhysicalAddress 2016-05-21 11:12:35 -05:00
Emmanuel Gil Peyrot e52461f648 CitraQt: Simplify the game list loader code 2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot 85a4eea460 Loader: Add a GetFileType method to get the type of a loaded file 2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot b0095b9584 Loader, Frontends: Refactor loader creation and game loading
This allows frontends to keep a single loader and use it multiple times
e.g. for code loading and SMDH parsing.
2016-05-21 17:09:56 +01:00
Emmanuel Gil Peyrot 97e8c6c845 Common: Make recursive FileUtil functions take a maximum recursion
Fixes #1115.

Also improves the performances of DiskArchive’s directory
implementation a lot, simply by not going through the entire tree
instead of just listing the first level files.

Thanks to JayRoxFox for rebasing this on current master!
2016-05-21 16:41:02 +01:00
wwylele a9073da0fd SVC::WaitSynchronizationN: Reschedule at the end 2016-05-21 18:29:38 +03:00
bunnei edb77c55ed Merge pull request #1564 from MerryMage/this-is-only-a-test
tests: Infrastructure for unit tests
2016-05-21 10:15:13 -04:00
Jannik Vogel 4511a8505d Refactor Tev stage dumper 2016-05-21 03:11:27 +02:00
Jannik Vogel 79369e240a Extend Tev stage dumper 2016-05-21 03:08:59 +02:00
James Rowe 44d7dc9cb1 Config: Restore previously selected audio sink option (#1824) 2016-05-20 20:37:34 +02:00
bunnei 0133bc5d6d Merge pull request #1797 from MerryMage/audio-mixer
DSP/HLE: Implement mixer processing
2016-05-19 18:11:14 -04:00
MerryMage df2d284556 Tests: Run tests on CI 2016-05-19 19:28:08 +01:00
MerryMage 9d9970fba9 tests: Infrastructure for unit tests 2016-05-19 08:38:03 +01:00
MerryMage ba0f27c797 DSP/HLE: Audio output 2016-05-19 07:25:26 +01:00
MerryMage 8a1bd3ee7a DSP/HLE: Implement mixer processing 2016-05-19 07:24:39 +01:00
bunnei d83ae8ff62 Merge pull request #1785 from MerryMage/mp-dpi
Microprofile: DPI-aware drawing
2016-05-18 18:03:59 -04:00
Maribel 3172c8cdad Config: Audio sink configuration (#1798) 2016-05-18 18:01:03 -04:00
Jannik Vogel 7d2670f08e Remove exceptions parameter from normaliseround VFP functions 2016-05-18 16:28:13 +02:00
Jannik Vogel 053fb90466 Fix exception propagation for VFP single precision 2016-05-18 15:24:42 +02:00
Jannik Vogel afa5e151e8 Fix exception propagation for VFP double precision 2016-05-18 15:24:42 +02:00
Jannik Vogel 128981cf3c Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD 2016-05-18 14:03:02 +02:00
András Domonkos af04290f90 Update ACT:U and create ACT:A (#1809)
* Update ACT_U
* Create act_a.h
* Create act_a.cpp
* Add service ACT:A
* Add ACT:A source and header
* Fix wrong header
2016-05-17 21:28:25 -04:00
bunnei 79da3c3d83 Merge pull request #1800 from JayFoxRox/set-fpscr
Set fpscr for new threads
2016-05-17 21:24:57 -04:00
Jannik Vogel f39adfffe7 Set fpscr for new threads 2016-05-17 08:59:52 +02:00
bunnei 71102889c0 Merge pull request #1786 from JayFoxRox/blend-equation
OpenGL: Support blend equation
2016-05-16 20:00:21 -04:00
Jannik Vogel df3eeea302 Retrieve shader result from new OutputRegisters-type 2016-05-16 18:55:51 +02:00
linkmauve fd368f6138 Merge pull request #1787 from JayFoxRox/refactor-jit
Refactor JIT
2016-05-16 17:54:45 +01:00
Jannik Vogel cc6731695e Fix ftoi behaviour 2016-05-16 15:00:45 +02:00
Jannik Vogel e686f222a9 Respect fpscr in ftoiz 2016-05-16 15:00:45 +02:00
Jannik Vogel c571e1237c Disable VFP3 instructions 2016-05-16 15:00:45 +02:00
bunnei 806e955740 Merge pull request #1792 from JayFoxRox/avoid-uninitialised
Avoid uninitialised in hw renderer + Only sync depth if necessary
2016-05-15 20:44:32 -04:00
Maribel eece919250 DSP_DSP: Remove GetHeadphoneStatus logspam (#1799) 2016-05-15 20:43:01 -04:00
wwylele 3d0953097f fixup! fixup! Refactor input system 2016-05-15 19:35:06 +03:00
wwylele c4d6e9b70d fixup! Refactor input system 2016-05-15 13:35:45 +03:00
wwylele c7bd2af530 implement circle pad modifier 2016-05-15 13:24:22 +03:00
wwylele c1cd474866 Refactor input subsystem 2016-05-15 13:24:22 +03:00
Maribel be941f1ecf AudioCore: Implement time stretcher (#1737)
* AudioCore: Implement time stretcher

* fixup! AudioCore: Implement time stretcher

* fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher
2016-05-14 22:04:03 -04:00
Subv 057cc2f94f Memory: Fixed a regression caused by #1695 and #1689.
Reserve enough space in the vector that holds the linear heap memory to prevent relocations of the backing memory when growing too much.

Closes #1790
2016-05-14 11:24:19 -05:00
Jannik Vogel 8655efef3e OpenGL: Only update depth uniforms if the depth changed 2016-05-14 10:31:18 +02:00
Jannik Vogel dc25f50017 OpenGL: value-initialize variables which cause uninitialised access otherwise 2016-05-14 10:16:11 +02:00
bunnei 8ac23ace82 Merge pull request #1689 from Subv/shmem
Kernel: Implemented shared memory.
2016-05-13 15:33:44 -04:00
Jannik Vogel 208a74a882 Use new shader-jit signature for interpreter 2016-05-13 09:41:55 +02:00
Jannik Vogel b3e96d8e29 Refactor access to state in shader-jit 2016-05-13 09:20:14 +02:00
bunnei 1302ffa822 Merge pull request #1695 from Subv/tls_alloc
Kernel/Threads: Dynamically allocate the TLS region for threads.
2016-05-12 21:51:35 -04:00
Subv 3421ea5445 HLE/Applets: Give each applet its own block of heap memory, and use that when creating the framebuffer shared memory block. 2016-05-12 20:01:59 -05:00
Subv d6c25acc6e Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory. 2016-05-12 20:01:59 -05:00
Subv c50dc194ca APT: Move the shared font loading and relocation functions to their own subdirectory services/apt/bcfnt. 2016-05-12 20:01:54 -05:00
Subv d6223cfecd Kernel/SharedMemory: Log an error when Map fails. 2016-05-12 20:01:27 -05:00
Subv 54871800a9 Kernel: Implemented shared memory permissions. 2016-05-12 20:01:26 -05:00
Subv 9c6e9195ca APT: Implement relocating the shared font to its true address. 2016-05-12 20:01:20 -05:00
Subv 6e4ff1a857 Kernel/Memory: Remove the Shared Memory region from the legacy memory map. 2016-05-12 20:00:33 -05:00
Subv b53900a6ab Kernel/SharedMemory: Properly implemented shared memory support.
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object.
Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock.

Removed the APT Shared Font hack as it is no longer needed.
2016-05-12 20:00:32 -05:00
Subv b2c771eed7 Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
R0 is used as the last parameter instead of R4.
2016-05-12 20:00:29 -05:00
Jannik Vogel 55e804b610 OpenGL: Support blend equation 2016-05-12 22:57:40 +02:00
MerryMage 49dea00b11 Microprofile: DPI-aware drawing 2016-05-12 21:49:02 +01:00
Jannik Vogel ad0acfea14 Move program_counter and call_stack from UnitState to interpreter 2016-05-12 19:05:42 +02:00
Jannik Vogel 101eb11369 Move default_attributes into Pica state 2016-05-12 19:05:41 +02:00
bunnei c08071fe90 Merge pull request #1690 from JayFoxRox/tex-type-3
Pica: Implement texture type 3 (Projection2D)
2016-05-11 21:47:08 -04:00
Jannik Vogel acfb5257dd Turn ShaderSetup into struct 2016-05-11 23:48:24 +02:00
Jannik Vogel 833799a328 OpenGL: Implement texture type 3 2016-05-11 08:07:37 +02:00
Jannik Vogel e149c3cad4 Rasterizer: Implement texture type 3 2016-05-11 08:07:36 +02:00
Jannik Vogel 76be1439f6 Pica: Add tc0.w to OutputVertex 2016-05-11 08:07:36 +02:00
Jannik Vogel 02a17627f5 Pica: Add texture type to state 2016-05-11 08:07:36 +02:00
bunnei 8b57682958 Merge pull request #1621 from JayFoxRox/w-buffer
Implement W-buffer and fix depth-mapping
2016-05-10 23:00:40 -04:00
bunnei 89397e4be2 Merge pull request #1774 from lioncash/warn
gdbstub: Silence missing prototype warnings
2016-05-10 12:14:41 -04:00
Lioncash 4b5da9b606 gl_rasterizer: Fix compilation for debug builds 2016-05-10 09:22:02 -04:00
Lioncash 601a094367 gdbstub: Silence missing prototype warnings 2016-05-10 09:17:07 -04:00
Jannik Vogel 1f3ecfa49a OpenGL: Implement W-Buffers and fix depth-mapping 2016-05-10 08:58:52 +02:00
Jannik Vogel da761012b9 Pica: Implement W-Buffer in SW rasterizer 2016-05-10 08:58:52 +02:00
linkmauve 77d8cfb894 Merge pull request #1704 from JayFoxRox/pod-config
Pica: PicaShaderConfig is TC and cleared before use
2016-05-10 01:16:53 +01:00
bunnei 9423cc8fd1 Merge pull request #1771 from lioncash/user
dyncom: Reset the context into user mode correctly
2016-05-09 18:54:09 -04:00
Lioncash e4ccba3ffa dyncom: Reset the context into user mode correctly
The other mode was system mode.
2016-05-09 16:30:55 -04:00
Lioncash bb6bae806e source: Fix missing logging arguments
Silences two warnings on OSX.
2016-05-09 09:41:03 -04:00
Lioncash fabe55dda3 swap: Get rid of pointer casting for swapping structs
These shouldn't haphazardly convert types
2016-05-08 23:33:52 -04:00
Lioncash a7ce0e430b swap: Get rid of undefined behavior in swapf and swapd
This isn't well-defined in C++.
2016-05-08 23:21:47 -04:00
Lioncash d89a038465 swap: Remove unused methods
Also gets rid of pointer data variants as this prevents the use of
the regular swapping routines as unary predicates in std lib functions.

They also cast to stricter alignment types, which is undefined behavior.
2016-05-08 23:12:04 -04:00
Lioncash b6dd73e5c3 vertex_loader: Correct forward declaration of InputVertex
It's actually a struct, not a class.
2016-05-08 23:08:18 -04:00
Lioncash 38eca6b728 vertex_loader: Provide an assertion for ensuring the loader has been setup
Also adds an assert to ensure that Setup is not called more than once
during a VertexLoader's lifetime.
2016-05-08 23:08:12 -04:00
Lioncash 561157d259 vertex_loader: Add constructors to facilitate immediate and two-step initialization 2016-05-08 23:03:32 -04:00
Lioncash 9f536396ad vertex_loader: initialize_num_total_attributes.
Keeps the public API sane.
2016-05-08 23:03:32 -04:00
Lioncash a20ffc0df1 vertex_loader: Use std::array instead of raw C arrays 2016-05-08 23:03:32 -04:00
Lioncash 4633449bfc vertex_loader: Correct header ordering 2016-05-08 23:01:26 -04:00
bunnei fe04d0f1cc Merge pull request #1766 from Subv/log_cpu
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
2016-05-08 15:03:08 -04:00
bunnei 18ac292259 Merge pull request #1718 from alex-laties/fixup-type-conversions
fixup simple type conversions where possible
2016-05-07 17:24:16 -04:00
bunnei c5171ef9f3 Merge pull request #1761 from Subv/applets_fb
HLE/Applets: Use the correct size for the framebuffer SharedMemory
2016-05-07 17:21:48 -04:00
Alexander Laties 17e9bc5392 fixup simple type conversions where possible 2016-05-07 11:41:55 -04:00
Subv bfee7941e3 Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-07 10:23:03 -05:00
Subv d9baef11f2 Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.
Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries.

This is consistent with what the real kernel does.
2016-05-07 10:18:47 -05:00
bunnei 8417518330 Merge pull request #1736 from MerryMage/sdl2-sink
AudioCore: SDL2 Sink
2016-05-07 11:08:13 -04:00
Subv 6b0496175d HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets. 2016-05-07 10:01:40 -05:00
MerryMage 638de286c2 AudioCore: SDL2 Sink 2016-05-07 11:32:48 +01:00
Jannik Vogel 3261520e19 citra_qt: Replace 'Pica Framebuffer Debugger' with 'Pica Surface Viewer' 2016-05-07 11:30:47 +02:00
bunnei bc76985937 HLE: Fix recent DSP change for Visual Studio. 2016-05-07 00:54:31 -04:00
bunnei 63cd22143c Merge pull request #1544 from linkmauve/move-glad-init
Move glad initialisation to the frontend
2016-05-07 00:33:06 -04:00
wwylele d999f3d0de fix:return proper error 2016-05-06 21:42:13 +03:00
Emmanuel Gil Peyrot f20454b97c Frontends, VideoCore: Move glad initialisation to the frontend
On SDL2 this allows it to use SDL_GL_GetProcAddress() instead of the
default function loader, and fixes a crash when using apitrace with an
EGL context.

On Qt we will need to migrate from QGLWidget to QOpenGLWidget and
QOpenGLContext before we can use gladLoadGLLoader() instead of
gladLoadGL(), since the former doesn’t expose a function loader.
2016-05-06 03:10:14 +01:00
bunnei 200e9d03b2 Merge pull request #1762 from bunnei/global
hle: Get rid of direct global access to g_reschedule
2016-05-05 21:45:57 -04:00
bunnei b28918fc2d HLE: Rename RescheduleIsPending to IsReschedulePending. 2016-05-05 21:34:10 -04:00
bunnei 143ebcaed0 Merge pull request #1700 from wwylele/gamelist-icon
Qt: display game icon and title in the game list
2016-05-05 18:35:24 -04:00
mailwl 5c5954fd5f Layout Mii parameters input/output, and return success as result of applet work 2016-05-05 22:31:33 +03:00
bunnei ea17feed44 Merge pull request #1757 from JayFoxRox/rename-vertexloaded-bp
Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation
2016-05-05 05:54:14 -04:00
bunnei 018da26741 Merge pull request #1734 from MerryMage/dsp-hle-source
DSP/HLE: Implement Source processing
2016-05-04 10:13:59 -04:00
wwylele aad34f5d62 add missing header 2016-05-04 13:02:49 +03:00
wwylele fe31f05925 make the name column larger as default 2016-05-04 13:02:49 +03:00
wwylele a23e3f1cd5 add icon & title to game list 2016-05-04 13:02:49 +03:00
Jannik Vogel db061e0568 Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation 2016-05-04 10:21:51 +02:00
MerryMage f0cc8dc9ed DSP/HLE: Implement Source processing 2016-05-03 20:58:28 +01:00
wwylele 053c44fee5 clean up config block 2016-05-03 19:27:47 +03:00
Jannik Vogel b360295880 Pica: Use a union for PicaShaderConfig 2016-05-03 15:06:49 +02:00
Jannik Vogel 9936dc107f Pica: Add TevStageConfigRaw to PicaShaderConfig (MSVC workaround) 2016-05-03 15:06:46 +02:00
Jannik Vogel 386604cd07 Pica: Make PicaShaderConfig trivially_copyable and clear it before use 2016-05-03 14:10:11 +02:00
Jannik Vogel 8f354eb8a7 OpenGL: Don't copy const_color (Reverts #1745) 2016-05-03 12:34:52 +02:00
bunnei 56d7bea4b8 Merge pull request #1750 from JayFoxRox/cleanup-shader-input
Pica: Replace logic in shader.cpp with loop
2016-05-02 20:44:53 -04:00
Jannik Vogel 22426f3e89 Pica: Replace logic in shader.cpp with loop 2016-05-03 01:40:47 +02:00
bunnei 69da41c235 Merge pull request #1732 from wwylele/config00170000
add config block 0x00170000; remove duplicated content
2016-05-02 19:04:20 -04:00
bunnei 7c323c6408 Merge pull request #1741 from linkmauve/iwyu-video_core
Fix video_core includes (and dependencies) using include-what-you-use
2016-05-01 17:44:57 -04:00
Jannik Vogel 71ec65341b OpenGL: Copy TevStageConfig using a loop. Fixes bug: const_color not copied 2016-05-01 16:35:54 +02:00
wwylele 28b16716c7 remove duplicated function declaration 2016-05-01 07:44:55 +03:00
Jannik Vogel 03a243469b OpenGL: border_color was never set. Fixed. (#1740) 2016-04-30 12:20:23 -07:00
Emmanuel Gil Peyrot c39a267974 VideoCore: Run include-what-you-use and fix most includes. 2016-04-30 17:02:41 +01:00
Emmanuel Gil Peyrot 2d5eb25cad LCD: Remove unneeded #undef with no matching #define. 2016-04-30 13:58:26 +01:00
linkmauve 591a792a31 Merge pull request #1735 from JayFoxRox/remove-tga
Remove TGA dumper
2016-04-30 13:57:45 +01:00
bunnei 022b08da7d Merge pull request #1729 from MerryMage/null-sink
Audio Config: Implement null sink and implement sink configuration
2016-04-30 03:49:11 -04:00
Jannik Vogel 9d522e8441 Remove TGA dumper 2016-04-30 09:43:59 +02:00
MerryMage aa47fc2406 Audio: Add sink selection to configuration files 2016-04-30 07:41:02 +01:00
MerryMage 80c798dec3 AudioCore: List of sink types 2016-04-30 07:39:48 +01:00
MerryMage 3e940fcc96 AudioCore: Implement NullSink 2016-04-30 07:39:37 +01:00
bunnei 63978c1fff Merge pull request #1650 from JamePeng/update-the-ndm-code
Update the stub code of NDM service!
2016-04-30 00:38:15 -04:00
bunnei 86bcd88251 Merge pull request #1647 from mailwl/acu-closeasync
ac:u: stub CloseAsync; align memory size in svc:GetProcessInfo(type=2)
2016-04-30 00:11:08 -04:00
bunnei 025c97bcec Merge pull request #1699 from mailwl/gpu-rights
gsp::Gpu: implement AcquireRight, ReleaseRight functions
2016-04-29 20:50:08 -04:00
bunnei 6b9d36abb1 Merge pull request #1726 from MerryMage/read-write-region
AudioCore: CurrentRegion() -> ReadRegion(), WriteRegion()
2016-04-29 12:18:26 -04:00
MerryMage 1e19d9c579 AudioCore: CurrentRegion() -> ReadRegion(), WriteRegion() 2016-04-29 16:32:29 +01:00
bunnei e956bff1f4 Merge pull request #1723 from MerryMage/audio-interp
AudioCore: Implement interpolation
2016-04-29 10:43:20 -04:00
bunnei df1d6ff8a1 Merge pull request #1730 from hrydgard/vertex-loader
* Remove late accesses to attribute_config

* Refactor: Extract VertexLoader from command_processor.cpp.

Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.

* Move "&" to their proper place, add missing includes and make some properly relative.

* Don't keep base_address in the loader, it doesn't belong there (with it, the loader can't be cached).

* Optimize the vertex loader, nearly doubling its speed.

* Debugger fix

* Move and rename the MemoryAccesses class to MemoryAccessTracker.
2016-04-29 09:42:47 -04:00
wwylele d3e201e276 add config block 0x00170000 2016-04-29 13:31:29 +03:00
Yuri Kunde Schlesner 2396b01d5d Common: Remove section measurement from profiler (#1731)
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-29 00:07:10 -07:00
MerryMage 653ca59147 AudioCore: Implement interpolation 2016-04-29 08:05:41 +01:00
Henrik Rydgard 9f1cffa3e9 Move and rename the MemoryAccesses class to MemoryAccessTracker. 2016-04-29 08:50:21 +02:00
Henrik Rydgård eaf9abfe8e Make Citra build with MICROPROFILE_ENABLED set to 0 (#1709)
* Make Citra build with MICROPROFILE_ENABLED set to 0

* Buildfix with microprofile kept on

* moc did not like a dialog to conditionally exist.

* Cleanup

* Fix end of line
2016-04-28 20:17:31 -04:00
Henrik Rydgard 0a3b4b8cb4 Debugger fix 2016-04-28 22:30:01 +02:00
Henrik Rydgard b9da0f7902 Optimize the vertex loader, nearly doubling its speed. 2016-04-28 22:21:39 +02:00
Henrik Rydgard b57bcfd528 Don't keep base_address in the loader, it doesn't belong there (with it, the loader can't be cached). 2016-04-28 20:17:35 +02:00
Henrik Rydgard ec770c0bbf Move "&" to their proper place, add missing includes and make some properly relative. 2016-04-28 19:40:11 +02:00
Henrik Rydgard c1ee661492 Refactor: Extract VertexLoader from command_processor.cpp.
Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.
2016-04-28 19:05:55 +02:00
Henrik Rydgard 03f90e7dfd Remove late accesses to attribute_config 2016-04-28 18:07:34 +02:00
bunnei 02427a978b Merge pull request #1727 from MerryMage/minor-commit
AudioCore: Move samples_per_frame and num_sources into hle/common.h
2016-04-28 09:47:08 -04:00
bunnei 1a1665c4f4 Merge pull request #1722 from MerryMage/soundtouch
Externals: Add soundtouch
2016-04-28 09:45:15 -04:00
MerryMage 2d50954f85 Externals: Add soundtouch 2016-04-28 13:33:14 +01:00
MerryMage 89e1019dc8 AudioCore: Move samples_per_frame and num_sources into hle/common.h 2016-04-28 11:22:40 +01:00
bunnei 90241218be Merge pull request #1708 from MerryMage/dsp_dsp
DSP Service: Cleanup
2016-04-27 11:34:38 -04:00
MerryMage ed79ec1627 DSP_DSP: Fix log format strings and arguments 2016-04-27 06:35:12 +01:00
MerryMage c622bea535 AudioCore: Hack to prevent regressions: Trigger Binary pipe interrupt every audio frame 2016-04-27 06:35:10 +01:00
MerryMage 70d1edf9c9 DSP_DSP: Add return IPC headers 2016-04-27 06:35:08 +01:00
MerryMage 4827a1bff7 DSP_DSP: Updated interrupt implementation 2016-04-27 06:35:06 +01:00
bunnei 14c69107b7 y2r_u: Cleanup some formatting. 2016-04-26 21:50:56 -04:00
bunnei d7eb6f6a02 Merge pull request #1447 from JamePeng/update-y2r-service
Update the code of service y2r!
2016-04-26 19:29:57 -04:00
Emmanuel Gil Peyrot 2ea4f2851a Qt Frontend: Add Threads::Threads import in CMakeLists.txt.
This had been forgotten in 72fc7f4894.

Fixes #1711.
2016-04-26 21:01:11 +01:00
bunnei 7ffba72141 Merge pull request #1710 from hrydgard/optimize-event-breakpoints
Replace std::map with std::array for graphics event breakpoints
2016-04-25 21:37:43 -04:00
MerryMage 60ad3dcbcb DSP/Pipe: There are 8 pipes 2016-04-25 07:50:53 +01:00
Sam Spilsbury 48693e98fa shader: Shader size is long uint, not uint. 2016-04-25 00:40:03 +08:00
Sam Spilsbury 164d297c6f shader: Handle non-CALL opcodes with a break 2016-04-25 00:39:54 +08:00
Sam Spilsbury 3d9c27ec5f shader: Format string must be provided inline and not as a variable 2016-04-24 23:40:52 +08:00
Sam Spilsbury 7be34067d5 am: title_id is long long uint 2016-04-24 23:40:41 +08:00
Sam Spilsbury 329e5e3437 assert: Allow UNREACHABLE_MSG to have just one argument 2016-04-24 23:40:14 +08:00
Sam Spilsbury 72fc7f4894 CMakeLists: Use imported version of Threads::Threads
This requires bumping up to a minimum of CMake 3.1. The benefit
of using the imported target is that you can switch to the -pthread
compiler flag on request, which may be necessary for some systems if
available.
2016-04-24 23:39:25 +08:00
Henrik Rydgard 76a55f83c7 Replace std::map with std::array for graphics event breakpoints, and allow the compiler to inline. Saves 1%+ in vertex heavy situations. 2016-04-24 14:19:49 +02:00
MerryMage 0b06d3db52 DSP_DSP: Remove unused variable 2016-04-24 09:01:53 +01:00
bunnei 837009b461 Merge pull request #1576 from smspillaz/fix-build-errors-03272016
Fix various build errors encountered on Clang 3.9 on OS X
2016-04-24 02:02:45 -04:00
LittleWhite c803d5a682 Protect use of std::is_trivially_copyable to compile with GCC 4.9 2016-04-23 15:45:35 +02:00
mailwl 592de25b16 return checks if event and memory created 2016-04-23 16:17:03 +03:00
Sam Spilsbury 54a7cb0611 assert: Add _MSG variations for UNREACHABLE and UNIMPLEMENTED 2016-04-23 11:54:02 +08:00
Sam Spilsbury 79efd312a9 pica: Handle default lighting case 2016-04-23 11:54:02 +08:00
Sam Spilsbury 44a7dad1e4 ncch: Use correct format specifier (for long long uint) 2016-04-23 11:54:02 +08:00
Sam Spilsbury f97406b393 fs: Fix what appears to be a typo (filename_size / file_size) 2016-04-23 11:54:02 +08:00
Sam Spilsbury c098a96f7d gdbstub: Don't check if unsigned int is > 0 2016-04-23 11:54:02 +08:00
Sam Spilsbury 3cae13c76b debugger: Warn if we reach an unreachable format 2016-04-23 11:54:02 +08:00
Sam Spilsbury 1ebeffcaff CMakeLists: Use CMAKE_THREAD_LIBS_INIT 2016-04-23 11:48:58 +08:00
mailwl 9d50b79f62 gsp::Gpu: implement AcquireRight, ReleaseRight functions 2016-04-22 21:15:25 +03:00
tfarley bd5a278e47 HWRasterizer: reorder declarations to match defs 2016-04-22 10:52:02 -04:00
tfarley 2680bd4062 HWRasterizer: sync specular uniform for new shaders 2016-04-22 10:48:00 -04:00
bunnei 96d9826ddf Merge pull request #1436 from tfarley/hw-tex-forwarding
Hardware Renderer Texture Forwarding
2016-04-22 08:15:51 -04:00
tfarley 459035a108 HWRasterizer: Texture forwarding 2016-04-21 17:27:56 -04:00
tfarley 621cf30b24 Config: Add scaled resolution option 2016-04-21 17:27:48 -04:00
bunnei c66c6dbf2c Merge pull request #1655 from JayFoxRox/hw-dot3
OpenGL: Implement color combiner Operation::Dot3_RGB
2016-04-21 16:39:36 -04:00
mailwl b15a0b5419 ac:u: stub CloseAsync; check memory size aling in svc:GetProcessInfo(type=2) 2016-04-21 10:34:45 +03:00
JamePeng 170b4c71c0 Update the stub code of NDM service! 2016-04-21 02:25:58 +08:00
JamePeng a69007f498 Update the code of service y2r! 2016-04-20 18:38:01 +08:00
JamePeng 493a777880 Implement CheckNew3DS and CheckNew3DSApp
Append an item[is_new3ds] to config file[System] group

Implement APT::SetNSStateField,it will update the unknown NS_state_field
2016-04-20 18:12:05 +08:00
Emmanuel Gil Peyrot b4944c0b9c SDL2 Frontend: Use argv[0], add a --version, and reorder options. 2016-04-20 01:35:27 +01:00
bunnei af0f444b5a Merge pull request #1672 from wwylele/win-driver-fix
Fix driver root identification on Windows
2016-04-19 17:40:13 -04:00
bunnei 023e567b3e Merge pull request #1612 from ObsidianX/get-set-sockopt
SOC:U GetSockOpt/SetSockOpt
2016-04-18 20:45:19 -04:00
bunnei 8cbe6e70c1 Merge pull request #1625 from JayFoxRox/sw-blend-func
Rasterizer: Allow all blend factors for alpha blend-func
2016-04-17 20:20:15 -04:00
Jannik Vogel c52ea04cf5 Rasterizer: Allow all blend factors for alpha blend-func 2016-04-17 22:44:24 +02:00
Lioncash 0e86c22c25 core: Clean out some unnecessary header includes 2016-04-16 00:08:49 -04:00
bunnei a3fd7cc273 Merge pull request #1667 from wwylele/ncch-loader-fix
loader: only decompress code section
2016-04-15 17:13:34 -04:00
bunnei 7cdc2b824f Merge pull request #1673 from MerryMage/config-minimumSize
Configure Dialog: Remove minimumSize property
2016-04-15 10:00:58 -04:00
wwylele 1656473b42 fix driver root identification on Windows 2016-04-15 14:50:34 +03:00
Mathew Maidment 45f80b65a2 Merge pull request #1671 from lioncash/mem
debug_utils: use std::make_unique for initializing PicaTrace
2016-04-15 07:37:10 -04:00
MerryMage 784e5a7007 Configure Dialog: Remove minimumSize property 2016-04-15 11:34:08 +01:00
JamePeng 68728eef38 Y2R: num_tiles should be allowed when its value is 128 (#1669) 2016-04-14 21:36:07 -07:00
Lioncash c8c5cde430 debug_utils: use std::make_unique for initializing PicaTrace 2016-04-14 22:05:28 -04:00
bunnei 464b3bd20d Merge pull request #1666 from MerryMage/barrier
Thread: Correct Common::Barrier implementation
2016-04-14 22:03:17 -04:00
bunnei 607667571d Merge pull request #1665 from lioncash/file
IOFile: Minor API changes
2016-04-14 16:28:15 -04:00
wwylele 5ce844dff6 ncch:only decompress .code section 2016-04-14 18:33:42 +03:00
MerryMage aecdc328a3 Thread: Make Barrier reusable 2016-04-14 13:59:58 +01:00
MerryMage 3b73cd6dd4 common/thread: Correct code style 2016-04-14 13:58:28 +01:00
bunnei 42045d12c2 shader_jit_x64: Rename RuntimeAssert to Compile_Assert. 2016-04-13 23:04:53 -04:00
bunnei 73c082b647 shader_jit_x64.cpp: Rename JitCompiler to JitShader. 2016-04-13 23:04:53 -04:00
bunnei 76f9651a3a shader_jit_x64: Free memory that's no longer needed after compilation. 2016-04-13 23:04:52 -04:00
bunnei b6e8a9e52c shader_jit_x64: Use a sorted vector instead of a set for keeping track of return addresses. 2016-04-13 23:04:52 -04:00
bunnei 276e57fea6 shader_jit_x64: Use CALL/RET instead of JMP for subroutines. 2016-04-13 23:04:52 -04:00
bunnei 2d9c714baf emitter: Add CALL that can be fixed up. 2016-04-13 23:04:50 -04:00
bunnei 0f9796a63e shader_jit_x64: Separate initialization and code generation for readability. 2016-04-13 23:04:50 -04:00
bunnei aec7a517ea shader_jit_x64: Get rid of unnecessary last_program_counter variable. 2016-04-13 23:04:49 -04:00
bunnei 5e6c1ccac7 shader_jit_x64: Execute certain asserts at runtime.
- This is because we compile the full shader code space, and therefore its common to compile malformed instructions.
2016-04-13 23:04:49 -04:00
bunnei 110725828a shader: Remove unused 'state' argument from 'Setup' function. 2016-04-13 23:04:48 -04:00
bunnei 885208150d shader_jit_x64: Specify shader main offset at runtime. 2016-04-13 23:04:47 -04:00
bunnei 13385606c3 shader_jit_x64: Allocate each program independently and persist for emu session. 2016-04-13 23:04:47 -04:00
bunnei 35f72f88ae shader_jit_x64: Rewrite flow control to support arbitrary CALL and JMP instructions. 2016-04-13 23:04:44 -04:00
bunnei 88fb200dca shader_jit_x64: Fix strict memory aliasing issues. 2016-04-13 23:04:43 -04:00
bunnei 98e70a3040 emitter: Support arbitrary FixupBranch targets. 2016-04-13 23:04:42 -04:00
Lioncash 9b38494bcd file_util: In-class initialize data members 2016-04-13 20:17:24 -04:00
Lioncash 6c42d6bce9 file_util: const qualify IOFile's Tell and GetSize functions 2016-04-13 20:17:23 -04:00
Lioncash dc210b6498 file_util: Don't expose IOFile internals through the API 2016-04-13 20:17:17 -04:00
Lioncash d83fc0b4fd file_util: Check for is_trivially_copyable
Also applies the template checks to ReadArray as well.
2016-04-13 19:20:26 -04:00
Lioncash d1778d9220 file_util: Make IOFile data members private 2016-04-13 19:10:54 -04:00
MerryMage 1d61185821 FileUtil: Missing #include, Add const to IOFile methods 2016-04-12 14:50:20 +01:00
bunnei 7acdfa9894 Merge pull request #1613 from mailwl/anp
Set Kernel config "Hardware Inited" to 1 (true)
2016-04-11 16:26:47 -04:00
Jannik Vogel 6f19be7e17 Use Settings::Apply in SDL frontend 2016-04-11 15:20:05 +02:00
Jannik Vogel ce26f4c099 CitraQt: Apply config at startup 2016-04-11 15:18:00 +02:00
mailwl 00008f93a5 Set Kernel config "Unknown Value" to 0x1 2016-04-11 13:47:52 +03:00
Yuri Kunde Schlesner ff971e3f10 Merge pull request #1657 from JayFoxRox/remove-dump-geometry
Pica: Remove geometry dumper (PICA_DUMP_GEOMETRY)
2016-04-10 19:24:47 -07:00
bunnei fda5058f1d Merge pull request #1368 from LittleWhite-tb/configure-widget
Implementation for a configure widget
2016-04-10 20:21:34 -04:00
Jannik Vogel 4e717ff177 Pica: Remove geometry dumper (PICA_DUMP_GEOMETRY) 2016-04-10 22:07:06 +02:00
Jannik Vogel b9037213f2 OpenGL: Implement color combiner Operation::Dot3_RGB 2016-04-10 15:31:24 +02:00
Mathew Maidment 6edf71b0e4 Merge pull request #1653 from mailwl/blx-lr
Fix BLX LR opcode interpretation
2016-04-09 15:32:42 -04:00
mailwl c4f53f4f6b Fix BLX LR opcode interpretation 2016-04-09 19:11:02 +03:00
bunnei 45a54355ec Merge pull request #1624 from JayFoxRox/buffer-allow-write
Implement buffer-write allow registers
2016-04-09 11:19:23 -04:00
Jannik Vogel f9727e111d OpenGL: Respect buffer-write allow registers 2016-04-08 22:57:11 +02:00
Jannik Vogel 93bc39e372 OpenGL: Split buffer-write mask sync into seperate functions 2016-04-08 22:42:44 +02:00
Jannik Vogel ca9fb9d1d5 Rasterizer: Respect buffer-write allow registers 2016-04-08 22:35:22 +02:00
Jannik Vogel 980cea05c3 OpenGL: Keep stencil-test and framebuffer.depth_format in sync 2016-04-08 22:35:17 +02:00
bunnei 169c54d6b5 Merge pull request #1644 from polaris-/gdb-fixes
Adopted WinterMute's gdbstub changes
2016-04-08 16:03:40 -04:00
JamePeng 1cd0d7fcde update the code of AM service! (#1623) 2016-04-08 15:44:00 -04:00
mailwl 3eb8b8eebb cecd:u: stub GetCecStateAbbreviated (#1648) 2016-04-08 15:39:52 -04:00
mailwl 1b840ce43c Update cpsr (T)humb bit while creating thread 2016-04-08 18:41:09 +03:00
bunnei 313268633c Merge pull request #1639 from linkmauve/fix-double-framebuffer-check
OpenGL: Fix a double framebuffer completeness checks.
2016-04-07 19:52:02 -04:00
polaris- d690fc4ed3 Default to settings from ini for gdbstub 2016-04-06 22:27:28 -04:00
bunnei 4df81f18e0 Merge pull request #1577 from JamePeng/update-apta-func
Append the missing function name"GetAppletInfo", "SetAppCpuTimeLimit" and "GetAppCpuTimeLimit" to APT:A
2016-04-06 21:07:08 -04:00
mailwl f1fb108e03 Fix thumb ADR instruction alignment 2016-04-06 19:46:58 +03:00
polaris- eae9c73db0 Adopted WinterMute's gdbstub changes
This fixes the comments left on the PR (whitespace, SO_REUSEADDR,
comment changes).
2016-04-06 07:01:00 -04:00
JamePeng 943cdb37a3 append SetAppCpuTimeLimit and GetAppCpuTimeLimit to APT:A 2016-04-06 14:24:09 +08:00
bunnei 8a86b69dcd Merge pull request #1435 from mailwl/frd_u
frd:u: Initial stub some functions
2016-04-05 23:04:35 -04:00
Mathew Maidment 3cf5e4d51c Merge pull request #1643 from MerryMage/make_unique
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage 9f9c987924 Common: Remove Common::make_unique, use std::make_unique 2016-04-05 13:31:17 +01:00
bunnei 9ddb84a7f2 Merge pull request #1620 from LFsWang/path
Fix filename&path encode problem on Windows
2016-04-04 21:55:08 -04:00
JamePeng a1f65b8ca9 implement APT::GetStartupArgument 2016-04-05 02:04:58 +08:00
JamePeng 883e0b1292 Append the missing function name"GetAppletInfo" to APT:A 2016-04-05 01:57:18 +08:00
Emmanuel Gil Peyrot 96f8b0992a OpenGL: Fix a double framebuffer completeness checks. 2016-04-03 17:00:44 +01:00
Jannik Vogel 204b5537b8 OpenGL: Check for framebuffer completeness 2016-04-03 17:06:05 +02:00
bunnei c430003c26 Merge pull request #1616 from exhalatio/dlp_dummy
Dummy implementation dlp:SRVR Service.
2016-04-03 10:10:58 -04:00
exhalatio ea94aea447 Dummy implementation dlp:SRVR Service. 2016-04-03 06:05:20 +09:00
bunnei bb188d5fbe Merge pull request #1619 from mailwl/cecd
cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle
2016-04-02 01:43:35 -04:00
Ryan Loebs 4a65ac22db Rework sockopt translation to match the error translation code already in place 2016-04-01 22:19:21 -07:00
bunnei 6e854b4fe3 Merge pull request #1390 from purpasmart96/citra_gsp_error_codes
GSP: Return proper error codes for register writes
2016-04-01 10:50:36 -04:00
Jannik Vogel 4a5f9ab271 Avoid warnings by casting to size_t for ARRAY_SIZE() comparisons 2016-04-01 02:14:43 +02:00
Mathew Maidment 723d1b2e3f Merge pull request #1618 from MerryMage/one-step
Prevent cache overflow when single stepping
2016-03-31 11:00:42 -04:00
bunnei d10864da79 Merge pull request #1419 from mailwl/branch-gsp
Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue
2016-03-31 08:52:38 -04:00
LFsWang 26fb25e106 remove debug code 2016-03-31 20:29:39 +08:00
mailwl 21655cfb63 cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle 2016-03-31 14:59:10 +03:00
LFsWang 04990e5614 fix unicode url problem on windows 2016-03-31 19:21:03 +08:00
LFsWang 9ad1f457de Fix encode problem On Windows 2016-03-31 18:58:37 +08:00
mailwl b6f4f4bb7e Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue 2016-03-31 10:40:25 +03:00
purpasmart96 b1a0f498f2 GSP: Return proper error codes for register writes 2016-03-30 18:31:49 -07:00
bunnei 9dab1f4467 Merge pull request #1572 from MerryMage/audio-filter
DSP: Implement audio filters (simple, biquad)
2016-03-30 20:17:52 -04:00
Ryan Loebs f2750f5b91 Code style 2016-03-30 13:51:34 -07:00
MerryMage c1d2977e0a DynCom: Optimize single stepping 2016-03-30 18:57:59 +01:00
Ryan Loebs 34aa921efe Added GetSockOptName
Filter out and translate invalid sockopt names.
2016-03-30 00:25:19 -07:00
Ryan Loebs c30f930e19 Derp: win32: typedef int socklen_t; 2016-03-29 14:48:25 -07:00
Ryan Loebs 9e2246851d But of course, Windows uses 'int' while Linux uses 'socklen_t' 2016-03-29 14:33:32 -07:00
Ryan Loebs 8dfc45cc72 Compiling on Windows now 2016-03-29 14:24:03 -07:00
Ryan Loebs 428f2a086b Formatting... 2016-03-29 04:45:17 -07:00
Ryan Loebs 4f9f5c81bf Addressing PR comments 2016-03-29 04:42:58 -07:00
Ryan Loebs 15fc212d1c SOC Updates
-Implement GetSockOpt / SetSockOpt
-Fix bug in RecvFrom where sending from localhost
 does not fill in src_addr/src_addr_len on Linux
2016-03-28 23:34:34 -07:00
Ryan Loebs 3ad6ac2a67 Add common methods to all cfg:* ports 2016-03-28 23:32:25 -07:00
MerryMage 66ae4cddb5 DSP: Implement audio filters (simple, biquad) 2016-03-28 15:51:00 +01:00
LittleWhite 611b686333 Compilation fix 2016-03-28 15:33:03 +02:00
bunnei dbc2480ad4 Merge pull request #1541 from LFsWang/path
Fix Qt string encode problem on Windows
2016-03-27 22:03:07 -04:00
mailwl 32a790dbdc frd:u: Initial stub some functions 2016-03-27 10:08:04 +03:00
wwylele 648b2dc071 use reference instead of pointer 2016-03-26 10:50:02 +03:00
wwylele d62fccadc4 remove unnecessary const 2016-03-26 10:46:48 +03:00
bunnei d6b730fe0b Merge pull request #1549 from wwylele/acc_gyro
hid: implement accelerometer and gyroscope back-end
2016-03-25 21:07:21 -04:00
wwylele 586f6b854c implement GyroscopeCalibrateParam 2016-03-25 12:22:02 +03:00
bunnei 9035cce23a Merge pull request #1566 from MerryMage/audio-codec
DSP: Implement audio codecs (PCM8, PCM16, ADPCM)
2016-03-24 17:53:22 -04:00
MerryMage f9d22fe9b5 DSP: Implement audio codecs (PCM8, PCM16, ADPCM) 2016-03-24 03:46:59 +00:00
Yuri Kunde Schlesner 8c337f1d29 Pica: Improve accuracy of immediate-mode support
This partially fixes Etrian Odyssey IV.
2016-03-23 20:18:40 -07:00
Yuri Kunde Schlesner 312441eb72 OpenGL: Don't attempt to draw empty triangle batches
Our code did not handle this well, causing random crashes in some
situations.
2016-03-23 20:02:05 -07:00
LittleWhite aad774fa01 Add more stuff to configure. 2016-03-22 21:53:43 +01:00
wwylele 9fe0c0b898 implement accel and gyro backend 2016-03-22 18:35:03 +02:00
bunnei 60b5818dde Merge pull request #1508 from JayFoxRox/vs-output-map
Respect vs output map
2016-03-22 11:59:12 -04:00
bunnei f326ac4c02 Merge pull request #1560 from lioncash/savedata
archive_extsavedata: Fix member initialization order
2016-03-22 11:56:47 -04:00
bunnei 7ed6e2aaa5 Merge pull request #1563 from lioncash/lolfiq
armstate: Correct FIQ register banking
2016-03-22 08:38:48 -04:00
Lioncash 438bbb84e7 armstate: Correct FIQ register banking
FIQ has seven banked registers (R8 to R14), not two.
2016-03-21 18:56:27 -04:00
LittleWhite 9ddc04971b Whole config is handled by Config class.
This also means : we have only one config file, now
2016-03-21 20:03:18 +01:00
LittleWhite e5b8519b62 Add Configure widget 2016-03-21 20:03:18 +01:00
bunnei d3fd003b1b Merge pull request #1559 from lioncash/vec
soc_u: Get rid of explicit delete and new
2016-03-21 11:19:18 -04:00
Lioncash 29135ab8d1 session: Make helper functions constexpr 2016-03-21 04:07:03 -04:00
Lioncash 327d85b039 loader: Make MakeMagic constexpr 2016-03-21 03:28:22 -04:00
Lioncash 76f892ebb9 hle: Get rid of global access to g_reschedule
This shouldn't be directly exposed if there's already a partial API that operates on it.
We can just provide the rest of that API.
2016-03-21 02:57:12 -04:00
Lioncash 01cd6fbef4 archive_extsavedata: Fix member initialization order
shared appears in the initializer list before mount_point
2016-03-21 02:09:12 -04:00
Lioncash 3bec523130 soc_u: Get rid of explicit delete and new 2016-03-21 01:22:44 -04:00
bunnei ddb87c0f95 Merge pull request #1302 from Subv/save_fix
HLE/FS: Fixed many corner cases in our file handling
2016-03-20 16:11:49 -04:00
Subv b94133bd71 HLE/FS: Change the error code returned when an ExtSaveData archive is not found.
This allows Fire Emblem to boot again.
2016-03-20 14:52:50 -05:00
Subv 438f0cb335 HLE/FS: Corrected some style concerns. 2016-03-20 14:52:26 -05:00
Subv 0e84970817 HLE/FS: Fixed creating the config savefile when it doesn't exist.
This fixes a regression.
2016-03-20 14:30:03 -05:00
Subv 9773d90363 HLE/FS: Implemented GetFormatInfo
Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
2016-03-20 14:30:01 -05:00
Subv 90d5e8b597 HLE/FS: Don't return an error when deleting the ExtSaveData if it does not exist. 2016-03-20 14:28:24 -05:00
Subv 6983167205 HLE/FS: Return the proper error codes when opening files. 2016-03-20 14:28:22 -05:00
Subv a871f0b7d0 HLE/FS: Fixed the OpenDirectory error code 2016-03-20 14:28:19 -05:00
Subv bbbdb660af HLE/FS: Return the proper error codes on file Read/Write operations.
These operations are limited by the open flags specified while opening the file.
2016-03-20 14:28:17 -05:00
Subv e248331abc HLE/FS: Corrected the error codes for DeleteFile 2016-03-20 14:28:14 -05:00
Subv 33fe4fe894 HLE/FS: Corrected the error codes for CreateFile 2016-03-20 14:28:10 -05:00
Subv 3c9508c468 HLE/FS: FS::CreateFile takes an u64 for the file size. 2016-03-20 14:28:08 -05:00
LittleWhite 1cebb2676a Fix missing header 2016-03-20 14:35:51 +01:00
bunnei 07fe93e886 Merge pull request #1538 from lioncash/dot
shader_interpreter: use std::inner_product for the dot product
2016-03-20 00:35:06 -04:00
bunnei e395d2372a Merge pull request #1543 from lioncash/zero
vector_math: Add missing member in Vec4's SetZero function
2016-03-18 09:57:15 -04:00
Lioncash 0c83775827 vector_math: Add missing member in Vec4's SetZero function 2016-03-18 01:49:34 -04:00
bunnei efbf47bd85 Merge pull request #1505 from pippo2931/fef
GetArchiveResource stub
2016-03-18 00:32:53 -04:00
bunnei a52226f4fc Merge pull request #1535 from JayFoxRox/fix-align
PICA: Alignment happens locally in vertex
2016-03-17 20:00:00 -04:00
bunnei ac4d31e9b0 Merge pull request #1539 from lioncash/const
video_core: Don't cast away const
2016-03-17 10:29:40 -04:00
LFsWang b692dbafe3 Fix Qt chinese words encode problem on Windows 2016-03-17 17:18:45 +08:00
Yuri Kunde Schlesner 7be85066fb Merge pull request #1466 from LittleWhite-tb/gamelist-update-recent
Register ROM started through the gamelist in the list of ROM recently started
2016-03-16 23:42:24 -07:00
Lioncash 7b2af63608 video_core: Don't cast away const 2016-03-17 02:01:38 -04:00
Lioncash 6d9e7e962b shader_interpreter: use std::inner_product for the dot product
Same thing, less code.
2016-03-17 01:00:30 -04:00
Lioncash f8c709aaca core/video_core: Make NumIds functions constexpr 2016-03-17 00:29:47 -04:00
Lioncash d04e1ad75c core/video_core: Don't cast away const in subscript operators
Not to say these subscript operators aren't totally ugly as is.
2016-03-17 00:27:15 -04:00
Jannik Vogel 67d9455c24 PICA: Alignment happens locally in vertex 2016-03-17 02:24:20 +01:00
LittleWhite 7cbbcfd995 Register ROM started through the gamelist in the list of ROM recently started 2016-03-16 22:20:39 +01:00
bunnei f514688782 Merge pull request #1519 from JayFoxRox/vp-offset-fix
PICA: Fix viewport offset
2016-03-16 14:19:53 -04:00
bunnei 407c3173df Merge pull request #1503 from bunnei/clear-jit-cache
Clear JIT cache
2016-03-16 13:18:51 -04:00
bunnei 486312578c Merge pull request #1479 from JayFoxRox/mad-encoding
Fix MAD/MADI encoding
2016-03-16 13:17:07 -04:00
bunnei ebf8537848 Merge pull request #1526 from bunnei/sdl-rgb8
SDL2: Explicitly use RGB8 color buffer.
2016-03-15 15:48:59 -04:00
Jannik Vogel 9e29ed3f66 PICA: Fix MAD/MADI encoding 2016-03-15 20:01:25 +01:00
MerryMage 193b0c3b59 citra: Shutdown cleanly if ROM load fails 2016-03-15 03:16:54 +00:00
bunnei c51ecfb37d SDL2: Explicitly use RGB8 color buffer. 2016-03-14 21:59:16 -04:00
Jannik Vogel 0957931bc4 PICA: Fix viewport offset 2016-03-14 18:37:33 +01:00
JamePeng 7d60d58ee1 Reorganize the ndm service path for dummy implement function
SuspendDaemons , ResumeDaemons , OverrideDefaultDaemons

The NDM file move to /core/hle/service/ndm/ now!
2016-03-15 00:42:47 +08:00
Jannik Vogel 3941f74688 Respect vs output map 2016-03-14 13:03:34 +01:00
bunnei 7e665013d9 Merge pull request #1509 from lioncash/noncopy
common: Minor changes to NonCopyable
2016-03-13 16:47:44 -04:00
wwylele 0af67d267f hid: fix pad update 2016-03-13 11:19:17 +02:00
Jannik Vogel 5cf2de5ecf PICA: Align vertex attributes 2016-03-13 04:54:23 +01:00
Lioncash 353df6fd72 common_types: Make NonCopyable constructor constexpr 2016-03-12 21:57:18 -05:00
Lioncash 388b2e938b common_types: Specify const in deleted copy constructor/assignment operator 2016-03-12 21:55:30 -05:00
Lioncash bc06a2c79e svc: Move ResetType enum to the kernel event header 2016-03-12 21:47:41 -05:00
Lioncash bdaa3dcf06 svc: Remove unused ArbitrationType enum
An equivalent enum already exists within address_arbiter.h
2016-03-12 15:09:13 -05:00
Lioncash 219ecd2ee7 svc: Make ResetType an enum class 2016-03-12 15:06:31 -05:00
pippo2931 cc6c9fa8fd Fix header 2016-03-12 11:05:48 -08:00
pippo2931 589bcfff6a GetArchiveResource stub 2016-03-12 11:01:12 -08:00
bunnei fcbcf16024 shader_jit_x64: Clear cache after code space fills up. 2016-03-12 12:15:49 -05:00
bunnei 39b59df530 shader_jit_x64: Make assert outputs more useful & cleanup formatting. 2016-03-12 12:06:28 -05:00
bunnei a5d41a373e shader: Update log message to use proper log class. 2016-03-12 12:03:32 -05:00
bunnei 5858a3a148 Merge pull request #1266 from Subv/miiapplet
HLE/Applets: Implemented a dummy Mii Selector applet.
2016-03-12 11:23:59 -05:00
Subv 32fb947b55 HLE/Applets: Implemented a dummy Mii Selector applet.
This prevents some games (like Super Mario 3D Land) from freezing when trying to launch it, however, it's not complete and won't let you go past Mii selection as the parameter structure hasn't been reverse engineered yet.
2016-03-12 10:59:37 -05:00
bunnei d08af80159 Merge pull request #1500 from lioncash/nullptr
gsp_gpu: Change 0 literal to nullptr
2016-03-12 10:15:02 -05:00
Lioncash 2d0c3f789a gsp_gpu: Change 0 literal to nullptr 2016-03-11 22:59:48 -05:00
Lioncash 282f891de8 hle: Update service function tables 2016-03-11 22:23:51 -05:00
bunnei 7ef7d43242 Merge pull request #1476 from lioncash/emit
emitter: constexpr/misc changes
2016-03-10 01:06:25 -05:00
Yuri Kunde Schlesner e87df3fd32 Merge pull request #1475 from lioncash/align
Common: Get rid of alignment macros
2016-03-09 20:08:38 -08:00
Yuri Kunde Schlesner 2cb56da0c1 Merge pull request #1478 from JayFoxRox/master
Fix attribute mapping in vs debugger
2016-03-09 20:06:49 -08:00
LittleWhite 3009d268e8 Fix missing return 2016-03-09 22:20:08 +01:00
bunnei a62a43a756 Merge pull request #1474 from lioncash/renderer
renderer_base: Minor changes
2016-03-09 10:57:38 -05:00
Jannik Vogel 49010f5379 Fix attribute mapping in vs debugger 2016-03-09 13:15:37 +01:00
Lioncash 11f0ba5143 emitter: templatize ImmPtr 2016-03-09 03:13:01 -05:00
Lioncash adc46f6a4f emitter: constexpr-ify helper functions 2016-03-09 03:13:00 -05:00
Lioncash eaf4973993 emitter: Get rid of CanDoOpWith
This was removed in Dolphin as there were no particular uses for it.
I'm sure the same will apply to citra.
2016-03-09 03:12:59 -05:00
Lioncash fad503ce71 emitter: constexpr-ify OpArg 2016-03-09 03:12:53 -05:00
Lioncash 3a2c84f5a4 emitter: friend class OpArg with XEmitter 2016-03-09 02:25:00 -05:00
Lioncash ba1b8314f4 emitter: Remove unimplemented prototype 2016-03-09 02:20:00 -05:00
Lioncash f932c2f4ac Common: Get rid of alignment macros
The gl rasterizer already uses alignas,
so we may as well move everything over.
2016-03-09 01:31:14 -05:00
bunnei ceed7d1030 Merge pull request #1344 from LittleWhite-tb/error-output
Output errors in GUI
2016-03-08 23:12:04 -05:00
Lioncash 451cd3e77d renderer_base: In-class initialize variables 2016-03-08 21:46:47 -05:00
Lioncash b759bf3513 render_base: Clarify/normalize getter functions 2016-03-08 21:45:24 -05:00
Lioncash c9f47a9b3c renderer_base: Don't directly expose the rasterizer unique_ptr
There's no reason to allow direct access to the unique_ptr instance. Only
its contained pointer.
2016-03-08 21:31:44 -05:00
LittleWhite 59fe02348a Improve error report from Init() functions
Add error popup when citra initialization failed
2016-03-08 22:05:25 +01:00
bunnei c1fd14653e Merge pull request #1441 from MerryMage/dsp-pipes
AudioCore: Implement Pipe 2
2016-03-07 20:29:30 -05:00
bunnei bf46727f9a Merge pull request #1467 from LittleWhite-tb/bug-shader-object
Set the appropriate locale to get float conversion working using to_string
2016-03-07 20:23:48 -05:00
LittleWhite 8a7526eda8 Set the appropriate locale to get float conversion working using std::to_string 2016-03-07 19:51:35 +01:00
MerryMage 447d9a5677 DSP: Implement Pipe 2
Pipe 2 is a DSP pipe that is used to initialize both the DSP hardware (the
application signals to the DSP to initialize) and the application (the DSP
provides the memory location of structures in the shared memory region).
2016-03-06 21:25:44 +00:00
bunnei 7ab5618389 Merge pull request #1462 from yuriks/depth-test-write
Pica: Write depth value even when depth test is disabled
2016-03-06 11:16:21 -05:00
Yuri Kunde Schlesner 46dc35ae20 Memory: Do correct Phys->Virt address translation for non-APP linheap 2016-03-05 22:09:59 -08:00
Mathew Maidment 1e3d77932e Merge pull request #1455 from yuriks/ResultVal-union
core: Use unrestricted union to hold storage of ResultVal value
2016-03-05 23:29:14 -05:00
Yuri Kunde Schlesner d2ce686d97 Pica: Write depth value even when depth test is disabled
This has been confirmed on hardware. Fixes Etrian Odyssey IV.
2016-03-05 20:16:20 -08:00
MerryMage adb7e78b17 DSP: Print hash of firmware to console 2016-03-06 00:11:17 +00:00
Yuri Kunde Schlesner 16cb116917 core: Use unrestricted union to hold storage of ResultVal value 2016-03-05 00:13:20 -08:00
Yuri Kunde Schlesner 990a3e6038 Loader/NCCH: Log the program ID during loading
This is useful for all sorts of things, but mainly to identify save
folders more easily.
2016-03-04 23:53:10 -08:00
bunnei 7f45943e6b Merge pull request #1429 from mailwl/branch-acu
ac:u IsConnected implemented
2016-03-05 02:10:25 -05:00
bunnei 60ffdd31be Merge pull request #1389 from yuriks/stub-cam
Stub CAM:U service
2016-03-04 10:11:09 -05:00
mailwl a26b4a58bc ac:u: Stub IsConnected 2016-03-04 15:59:02 +03:00
LittleWhite c4c48d4ab3 Display errors in GUI when loading ROM failed 2016-03-03 22:52:29 +01:00
bunnei 79a345a1db Merge pull request #1394 from ds84182/immediate-mode-vtx
Add immediate mode vertex submission
2016-03-03 10:51:15 -05:00
Dwayne Slater 141fe87a0f Add immediate mode vertex submission 2016-03-02 22:16:38 -05:00
bunnei 0f79bf074b Merge pull request #1403 from MerryMage/sdl
Dependencies: Remove GLFW, Add SDL2
2016-03-02 20:32:32 -05:00
MerryMage e0f6f23b3e Config: Use unique_ptr instead of raw pointer 2016-03-02 14:25:06 +00:00
bunnei 15c904d19d Merge pull request #1434 from Kloen/legend
Add THREADPROCESSORID_ALL on SVC::CreateThread
2016-03-02 09:09:09 -05:00
MerryMage f2c32b7336 Dependencies: Remove GLFW, Add SDL2
citra: Remove GLFW, Add SDL2

FindSDL2: Do not CACHE SDL2_* variables if library is not found

EmuWindow_SDL2: Set minimal client area at initialisation time

EmuWindow_SDL2: Corrections

EmuWindow_SDL2: Fix no decorations on startup on OS X

cmake: windows_copy_files
2016-03-02 14:09:02 +00:00
bunnei 25ba135264 Merge pull request #1297 from Subv/saves
DiskDirectory: Initialize the directory member with valid info.
2016-03-01 17:16:05 -05:00
Kloen c72411acb2 ThreadProcessorId_All on SVC::CreateThread 2016-03-01 12:03:32 +01:00
Yuri Kunde Schlesner f91de86e81 Service/CFG: Fix potential endianess issue 2016-02-29 23:56:02 -08:00
Yuri Kunde Schlesner 37a56c1060 Service/CFG: Add block 0x000A0000 (username) to default config file 2016-02-29 23:55:48 -08:00
Yuri Kunde Schlesner 599af1f430 Service/CAM: Add doxycomments to all service functions 2016-02-29 22:53:36 -08:00
Yuri Kunde Schlesner 612dd84ebe Merge pull request #1427 from MerryMage/emit-lbit
x64 Emitter: Fix L bit in VEX prefix
2016-02-28 03:12:57 -08:00
MerryMage 7ca5dd5e08 x64 Emitter: Fix L bit in VEX prefix 2016-02-27 12:45:26 +00:00
mailwl 7695b324c9 Initial implementation ir:user 2016-02-26 18:39:28 +03:00
bunnei bce29a5751 Merge pull request #1352 from LittleWhite-tb/exit_check
Add check before closure when emulation is running
2016-02-26 08:36:33 -05:00
bunnei dee2df194d Merge pull request #1424 from MerryMage/lut_init
renderer_opengl: Initalise fragment shader LUT textures
2016-02-25 19:36:27 -05:00
bunnei 62b36fb925 Merge pull request #1386 from MerryMage/audio-core-skeleton
Audio Core: Skeleton
2016-02-25 19:21:50 -05:00
MerryMage 0e58079fcd renderer_opengl: Initalise fragment shader LUT textures 2016-02-26 00:12:38 +00:00
bunnei 87ffba7a6f Merge pull request #1395 from ds84182/padding-attributes
Add support for padding vertex attributes
2016-02-24 18:15:16 -08:00
MerryMage d2710b784a AudioCore: Skeleton Implementation
This commit:
* Adds a new subproject, audio_core.
* Defines structures that exist in DSP shared memory.
* Hooks up various other parts of the emulator into audio core.

This sets the foundation for a later HLE DSP implementation.
2016-02-21 13:13:52 +00:00
Dwayne Slater 77879fcf08 Fix out of bounds array access when loading a component >= 12 2016-02-20 19:03:14 -05:00
Dwayne Slater ad2c86d416 Add support for padding vertex attributes 2016-02-20 19:00:31 -05:00
Yuri Kunde Schlesner 56ddccd40e Service/CAM: Dummy implementation of some functions
Thanks to @mailwl for the initial version of the stubs.
2016-02-13 01:16:08 -08:00
MerryMage 867c111e99 BitField: Make trivially copyable and remove assignment operator 2016-02-12 19:51:16 +00:00
bunnei a5f5751b75 pica: Cleanup lighting register definitions and documentation. 2016-02-05 17:20:25 -05:00
bunnei 0a12278cd2 gl_rasterizer: Use alignas(16) instead of explicit padding. 2016-02-05 17:20:24 -05:00
bunnei 1dd1f58218 renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types. 2016-02-05 17:20:23 -05:00
bunnei a6ad0df69f gl_rasterizer: Fix issue with interpolation of opposite quaternions. 2016-02-05 17:20:23 -05:00
bunnei 0e48729a3a pica_types: Fix typo in docstring. 2016-02-05 17:20:22 -05:00
bunnei cc283bfedd pica_types: Replace float24/20/16 with a template class. 2016-02-05 17:20:22 -05:00
bunnei 27523be7a4 command_processor: Add an assertion to ensure LUTs are not written past their boundaries. 2016-02-05 17:20:20 -05:00
bunnei fb6e05281c gl_rasterizer: Remove unnecessary casts. 2016-02-05 17:20:19 -05:00
bunnei a30c609b75 gl_rasterizer: Fix PicaShaderConfig on GCC. 2016-02-05 17:20:19 -05:00
bunnei 4e22e5544a gl_rasterizer: Initial implementation of bump mapping. 2016-02-05 17:20:19 -05:00
bunnei da4f531a59 gl_shader_gen: Fix bug in LUT range (should within range [0, 255] not [0, 256]). 2016-02-05 17:20:17 -05:00
bunnei ff25eb8cc9 gl_shader_gen: Implement lighting red, green, and blue reflection. 2016-02-05 17:20:16 -05:00
bunnei 4f0fc85f84 gl_shader_gen: View should be normalized. 2016-02-05 17:20:15 -05:00
bunnei d376a783ea gl_shader_gen: Implement fragment lighting fresnel effect. 2016-02-05 17:20:13 -05:00
bunnei b07c7c26c6 gl_shader_gen: Implement fragment lighting specular 1 component. 2016-02-05 17:19:16 -05:00
bunnei f878148e30 gl_shader_gen: Add support for D0 LUT scaling. 2016-02-05 17:18:36 -05:00
bunnei 481017a334 gl_shader_gen: Refactor lighting config to match Pica register naming.
- Also implement D0 LUT enable.
2016-02-05 17:17:35 -05:00
bunnei 1bb0aa6c01 pica: Cleanup and add some comments to lighting registers. 2016-02-05 17:17:34 -05:00
bunnei 2658c7f266 gl_rasterizer: Minor naming refactor on Pica register naming. 2016-02-05 17:17:33 -05:00
bunnei f7510ba8f0 gl_shader_gen: Reorganize and cleanup lighting code.
- No functional difference.
2016-02-05 17:17:33 -05:00
bunnei 9cd5c49ee5 gl_shader_gen: Fix directional lights. 2016-02-05 17:17:32 -05:00
bunnei aabc988463 gl_shader_gen: Fix bug with lighting where clamp highlights was only applied to last light. 2016-02-05 17:17:32 -05:00
bunnei 14877aa76f gl_shader_gen: View vector needs to be normalized when computing half angle vector. 2016-02-05 17:17:31 -05:00
bunnei bb3014fb28 renderer_opengl: Use textures for fragment shader LUTs instead of UBOs.
- Gets us LUT interpolation for free.
- Some older Intel GPU drivers did not support the big UBOs needed to store the LUTs.
2016-02-05 17:17:31 -05:00
bunnei 81511f08fa renderer_opengl: Initial implementation of basic specular lighting. 2016-02-05 17:17:30 -05:00
bunnei 49cd958486 renderer_opengl: Implement HW fragment lighting distance attenuation. 2016-02-05 17:17:30 -05:00
bunnei 11fba4e8d0 renderer_opengl: Implement HW fragment lighting LUTs within our default UBO. 2016-02-05 17:17:29 -05:00
bunnei 07b07a2f24 renderer_opengl: Implement diffuse component of HW fragment lighting. 2016-02-05 17:17:29 -05:00
bunnei 3c3e328340 pica: Implement decoding of basic fragment lighting components.
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
2016-02-05 17:17:28 -05:00
bunnei 8a9194f06e pica: Implement fragment lighting LUTs. 2016-02-05 17:17:27 -05:00
bunnei fe094ec9a0 pica: Add decodings for distance attenuation and LUT registers. 2016-02-05 17:17:26 -05:00
bunnei d5edd881d3 pica: Add pica_types module and move float24 definition. 2016-02-05 17:17:26 -05:00
bunnei 20336f286a Merge pull request #1391 from tfarley/hw-fb-sync-fix
hwrasterizer: Use proper cached framebuffer addr/size
2016-02-05 17:03:58 -05:00
Lioncash e9114a6976 backend: defaulted move constructor/assignment 2016-02-04 22:39:33 -05:00
LittleWhite 3a13842bb2 Add a configuration entry to enable/disable the check 2016-02-04 22:15:42 +01:00
LittleWhite 68325884e3 Add check before closure when emulation is running
Implement confirmation in a specific function
Fix typos and coding style

Coding convention
2016-02-04 22:15:42 +01:00
tfarley 958e67ab53 hwrasterizer: Use proper cached fb addr/size 2016-02-03 15:52:34 -05:00
bunnei 11f8d32e41 Merge pull request #1387 from lioncash/func
services: minor changes
2016-02-03 12:14:48 -05:00
Yuri Kunde Schlesner e82e3f64fd OpenGL: Downgrade GL_DEBUG_SEVERITY_NOTIFICATION to Debug logging level
The nVidia driver is *extremely* spammy on this category, sending a
message on every buffer or texture upload, slowing down the emulator and
making the log useless.
2016-02-02 22:44:13 -08:00
Lioncash c731d31b7c services: Get rid of unnecessary includes 2016-02-02 01:40:23 -05:00
Lioncash 9bcfc35ba0 services: Update function tables 2016-02-01 21:49:44 -05:00
bunnei 7a6eac7fa4 Merge pull request #1377 from MerryMage/mmio
Memory: Implemented MMIO
2016-01-30 19:03:33 -05:00
MerryMage e614492dca Memory: Implement MMIO 2016-01-30 18:41:04 +00:00
Lioncash 15d0530902 color: Make trivial helpers constexpr 2016-01-27 22:14:17 -05:00
bunnei 9259a8baa5 Merge pull request #1367 from yuriks/jit-jmp
Shader JIT: Fix off-by-one error when compiling JMPs
2016-01-27 09:19:28 -05:00
bunnei 70832a600e Merge pull request #1369 from yuriks/jmpu-inverted
Shader: Implement "invert condition" feature of IFU instruction
2016-01-26 09:58:16 -05:00
bunnei 63bd25553b Merge pull request #1370 from yuriks/gpureg-names
Debugger: Use 3dbrew names for GPU registers
2016-01-25 13:37:12 -05:00
Yuri Kunde Schlesner bd34d04c6b Merge pull request #1373 from lioncash/cast
elf: Don't cast away const
2016-01-25 00:41:32 -08:00
Lioncash f290c57dee elf: Don't cast away const 2016-01-25 02:36:57 -05:00
Yuri Kunde Schlesner c45fd2c986 Merge pull request #1372 from lioncash/tie
key_map: Use std::tie for comparisons
2016-01-24 22:38:37 -08:00
Lioncash fa95cad2f9 key_map: Use std::tie for comparisons 2016-01-25 01:19:21 -05:00
Lioncash 4a87f38e9c archive_backend: Remove unnecessary const from return types
This doesn't return by reference so const isn't really necessary
2016-01-25 00:14:53 -05:00
Yuri Kunde Schlesner c922298b37 Debugger: Use 3dbrew names for GPU registers
This list was imported from the 3dbrew wiki page and is pretty much
complete.
2016-01-24 20:29:44 -08:00
Yuri Kunde Schlesner b4c68589f6 Shader: Implement "invert condition" feature of IFU instruction
If the bit 0 of the JMPU instruction is set, then the jump condition
will be inverted. That is, a jump will happen when the boolean is false
instead of when it is true.
2016-01-24 20:29:06 -08:00
Yuri Kunde Schlesner d1096d9adc Shader JIT: Fix off-by-one error when compiling JMPs
There was a mistake in the JMP code which meant that one instruction at
the destination would be skipped when the jump was taken. This commit
also changes the meaning of the culprit parameter to make it less
confusing and avoid similar mistakes in the future.
2016-01-24 02:15:56 -08:00
bunnei 4cecbb0c85 Merge pull request #1334 from tfarley/hw-depth-modifiers
hwrasterizer: Use depth offset
2016-01-20 22:27:33 -05:00
tfarley ee33d54b6f hwrasterizer: Use depth offset 2016-01-20 21:57:59 -05:00
rob turner 0d435fe4d8 ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode name 2016-01-19 18:42:16 +01:00
Lioncash 3b682a824e command_processor: Get rid of variable shadowing 2016-01-17 02:22:51 -05:00
Subv 155cba90f3 DiskDirectory: Initialize the directory member with valid info. 2016-01-16 09:30:29 -05:00
bunnei 416bbdb33a Merge pull request #1327 from Subv/unmap_memblock
HLE/SVC: Implement UnmapMemoryBlock.
2016-01-14 22:27:36 -05:00
Subv d9c4c1622f HLE/SVC: Implement UnmapMemoryBlock.
This implementation will need to be (almost completely) changed when we implement multiprocess support.
2016-01-14 11:29:19 -05:00
bunnei 7bac11c61b Merge pull request #1196 from linkmauve/khr_debug
Add optional GL_KHR_debug support
2016-01-12 22:54:52 -05:00
archshift b1ebd54cb6 Change default gameListRootDir from "" to "."
Not much thought went into that one...
2016-01-06 16:54:14 -08:00
bunnei b113fd3b63 Merge pull request #1283 from Subv/soc_fixup
HLE/Sockets: Fixed the buffer offset in recvfrom.
2016-01-05 13:52:25 -05:00
bunnei 1214013422 Merge pull request #1330 from archshift/add-defaults
Gamelist: supply default settings for QSettings config
2016-01-03 11:14:44 -05:00
archshift 8e9fde2828 Gamelist: supply default settings for QSettings config 2016-01-01 13:54:06 -08:00
bunnei b5c04be814 Merge pull request #1310 from lioncash/services
services: Update some function tables
2015-12-30 21:30:07 -05:00
bunnei 09d711ef82 Merge pull request #1316 from lioncash/decode
arm_dyncom_dec: Fix decoding of VMLS
2015-12-30 21:29:35 -05:00
Lioncash 49e3979ae6 arm_dyncom_dec: Fix decoding of VMLS
Previously, all VMLS variants would misdecode as CDP
(which isn't necessarily wrong in itself, however
VMLS has it's own label of execution)
2015-12-30 14:23:07 -05:00
Lioncash 58a100d3b7 services: Update some function tables 2015-12-30 11:29:21 -05:00
Lioncash 4dcc5fe6ab video_core: Make the renderer global a unique_ptr 2015-12-30 08:52:01 -05:00
bunnei 17aef3b4ff Merge pull request #1306 from Subv/sync
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered
2015-12-29 22:36:29 -05:00
bunnei c3ca1bae68 Merge pull request #1303 from lioncash/unique
core: Use unique_ptr for holding the interpreter instances
2015-12-29 22:34:32 -05:00
Subv 9aa852982f HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered.
Closes #1139
2015-12-29 20:35:25 -05:00
Lioncash d70ea5b6aa swrasterizer: Add missing override specifier 2015-12-29 18:35:38 -05:00
Lioncash a64af28cf2 core: Use unique_ptr for holding the interpreter instances 2015-12-29 18:03:08 -05:00
bunnei 46e5b62d14 Merge pull request #1300 from Subv/arbitrateaddress
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
2015-12-28 22:23:51 -05:00
Lioncash 39609e9d6e dyncom: Handle modifying the APSR via an MRC instruction 2015-12-28 07:52:04 -05:00
Subv a2c2b28b54 SVC: Fixed ArbitrateAddress to behave as it does on hardware.
This was verified with hwtests that i plan to upload later on.
2015-12-27 18:44:42 -05:00
bunnei 556bd5d159 Merge pull request #1296 from lioncash/warn
svc: Remove superfluous printf argument
2015-12-27 16:19:48 -05:00
bunnei 63530270da Merge pull request #1290 from LFsWang/master
Add a return value in ForeachDirectoryEntry
2015-12-27 16:18:43 -05:00
Lioncash 4ab2d11182 svc: Remove superfluous printf argument 2015-12-25 14:21:45 -05:00
Subv 2e01b5d390 HLE/Sockets: Fixed the buffer offset in recvfrom.
Closes #1277
2015-12-24 09:19:27 -05:00
Mathew Maidment 9fe5afd035 Merge pull request #1287 from lioncash/memory
dyncom: Minor changes
2015-12-23 04:56:04 -05:00
LFsWang d8d9d5d916 Add missing return values in ForeachDirectoryEntry
ForeachDirectoryEntry is changed by #1256 ,but return value at last line
was missing.
2015-12-23 16:26:38 +08:00
Lioncash 0908f894ca dyncom: Remove PC dispatch from several instructions
These instructions aren't capable of using the PC as a destination
2015-12-20 21:19:02 -05:00
Yuri Kunde Schlesner b7109a1113 VideoCore: Sync state after changing rasterizers
This fixes various bugs that appear in the HW rasterizer after switching
between it and the SW one during emulation.
2015-12-20 17:37:15 -08:00
Lioncash 2f0474efa5 dyncom: Handle unprivileged load/store variants correctly
LDRT/LDRBT/STRBT/STRT should simulate the load or store
as if the host CPU is in user mode.

STRT is also allowed to use the PC as an operand
2015-12-19 19:05:50 -05:00
Lioncash 00ca148685 svc: Fix compilation with LOG_TRACE enabled 2015-12-12 18:14:36 -05:00
Yuri Kunde Schlesner 10a89e10ca Merge pull request #1267 from yuriks/flipped-framebuffer
OpenGL: Flip framebuffers during transfer rather than when rendering
2015-12-09 20:35:15 -08:00
bunnei 0545d2f2f3 Merge pull request #1269 from Subv/triangle_fan
GPU/PrimitiveAssembler: Fixed drawing triangle fans.
2015-12-08 10:27:40 -05:00
Yuri Kunde Schlesner e73547de5b Merge pull request #1272 from yuriks/merge-rasterizer
VideoCore: Unify interface to OpenGL and SW rasterizers
2015-12-07 20:21:06 -08:00
Yuri Kunde Schlesner 102d39fe20 VideoCore: Unify interface to OpenGL and SW rasterizers
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
2015-12-07 20:20:38 -08:00
Yuri Kunde Schlesner 192829165a VideoCore: Rename HWRasterizer methods to be less confusing 2015-12-06 19:08:37 -08:00
Yuri Kunde Schlesner c2526d440e OpenGL: Rename cache functions to better match what they actually do 2015-12-06 17:02:52 -08:00
Lioncash 8813673601 dyncom: Remove static keyword from header functions 2015-12-06 15:14:51 -05:00
Lioncash 0f083bdf0f arm_interface: Make GetNumInstructions const 2015-12-06 15:07:59 -05:00
Lioncash dd441a3dd6 arm_interface: directly initialize class members 2015-12-06 15:07:00 -05:00
Lioncash 93cd3dccc5 dyncom: const correctness changes 2015-12-06 15:03:06 -05:00
Subv c94a1a0375 GPU/PrimitiveAssembler: Fixed drawing triangle fans.
It was skipping the second vertex assignment and using uninitialized garbage when assembling the corresponding triangle.
2015-12-06 10:48:05 -05:00
Yuri Kunde Schlesner 30c70c905f OpenGL: Flip framebuffers during transfer rather than when rendering 2015-12-04 22:23:39 -08:00
Yuri Kunde Schlesner 8e478d8b99 OpenGL: Add support for glFrontFace in the state tracker 2015-12-04 21:58:26 -08:00
bunnei 3a96788f4f Merge pull request #1252 from Subv/cam
Services/Cam: Added new log type and camera enums from 3dbrew.
2015-12-03 22:01:45 -05:00
Yuri Kunde Schlesner 7b9807c835 PICA: Properly emulate 1-stage delay in the combiner buffer
This was discovered and verified by @fincs. The tev combiner buffer
actually lags behind by one stage, meaning stage 1 reads the initial
color, stage 2 reads stage 0's output, and so on.

Fixes character portraits in Fire Emblem: Awakening and world textures
in Zelda: ALBW. Closes #1140.
2015-11-30 22:45:18 -08:00
Yuri Kunde Schlesner 5bed732b03 Kernel: Implement svcGetSystemInfo
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
Lioncash af06eaf78d armstate: Zero out the registers on creation
std::array isn't always guaranteed to explicitly zero out it's contents
without an initializer list.
2015-11-29 15:16:34 -05:00
Subv a84d5aa51e Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.
The VFP registers are 64 bits each, and there are 32 of them.
2015-11-29 13:06:45 -05:00
bunnei ae854d124f Merge pull request #1225 from lioncash/clean
csnd_snd: Get rid of type punning
2015-11-28 23:32:05 -05:00
archshift 6e66a1244e Refactor ScanDirectoryTreeAndCallback to separate errors and retvals
ScanDirectoryTreeAndCallback, before this change, coupled error/return
codes and actual return values (number of entries found). This caused
confusion and difficulty interpreting the precise way the function
worked.

Supersedes, and closes #1255.
2015-11-27 13:33:38 -08:00
bunnei 4cbe626fc7 renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location. 2015-11-25 22:33:24 -05:00
Pierre de La Morinerie 1c196456f0 Use regular uniform location
The support for GL_ARB_explicit_uniform_location is not that good
(53% according to http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_explicit_uniform_location).

This fix the shader compilation on Intel HD 4000 (#1222).
2015-11-25 11:56:11 +01:00
bunnei 56f3db72cb Merge pull request #1248 from polaris-/add-ssl-stubs
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-24 16:15:21 -05:00
Subv 092d5b04ec Services/Cam: Added new log type and camera enums from 3dbrew.
Followup to #1102
Original author @mailwl
2015-11-23 17:17:28 -05:00
polaris- 18990ff322 Add stub functions for Initialize and GenerateRandomData in ssl:C 2015-11-22 16:54:51 -05:00
bunnei 2b68cf07c7 Merge pull request #1246 from polaris-/patch-1
Fix read and write register blocks in gdbstub
2015-11-22 13:38:50 -05:00
polaris- 7603ea3da1 Add Initialize and GenerateRandomData stubs 2015-11-22 09:27:46 -05:00
polaris- ec1195c252 Fix read and write register blocks in gdbstub
Previously, the padding wasn't correctly accounted for which caused the gdbstub to read and write everything after R15 (starting with the dummy FPA registers) incorrectly, which caused CPSR to not be handled correctly. Everything appears to be working as expected with this change.
2015-11-22 07:48:26 -05:00
bunnei 9be370a2cf Merge pull request #1237 from Subv/ubos
Shaders: Use UBOs instead of individual uniforms in the generated frag shaders
2015-11-18 22:20:12 -05:00
Subv 9acdb1e7f2 FragShader: Use an UBO instead of several individual uniforms 2015-11-18 21:03:56 -05:00
wwylele 8b6d444dd1 fix failure on gcc and clang 2015-11-12 20:39:30 +02:00
wwylele 3b7cbb25e3 disable unary minus when the type is not signed
silent warning C4146 on msvc
2015-11-12 20:39:28 +02:00
bunnei 5f52cec725 Merge pull request #1122 from polaris-/gdbstub
gdbstub implementation
2015-11-11 23:21:31 -05:00
Subv b797ef4d9a GPU/Loaders: Log an error when a loader tries to load from a component beyond the available ones (12).
Related to #1170
2015-11-09 21:16:11 -05:00
polaris- 505489551d Fix bug with reading addresses and lengths 2015-11-03 21:50:53 -05:00
polaris- fd7f61becf Change headers 2015-10-29 06:17:29 -04:00
Lioncash 1349faf744 csnd_snd: Get rid of type punning 2015-10-28 16:10:21 -04:00
bunnei 58857f832e Merge pull request #1165 from esoteric-programmer/master
Added CSND_ExecuteType0Commands stub.
2015-10-28 15:19:13 -04:00
Matthias Ernst 5c7881c4a3 Added CSND stub. 2015-10-28 19:04:01 +01:00
bunnei 62c57400e8 Merge pull request #1208 from archshift/free-bytes
Implement FS_User::GetFreeBytes
2015-10-28 11:30:25 -04:00
archshift 5da25ae7d0 Implement FS_User::GetFreeBytes 2015-10-27 23:33:59 -07:00
Filiph Sandström 23e1121337 Fix copy paste 2015-10-24 13:17:04 +02:00
Emmanuel Gil Peyrot 705dd2b552 OpenGL: Log GL_KHR_debug messages we receive
This allows the driver to communicate errors, warnings and improvement
suggestions about our usage of the API.
2015-10-24 02:30:51 +01:00
Filiph Sandström d248fba5e3 Fix wrong branch 2015-10-23 23:58:54 +02:00
Filiph Sandström 29077f65a2 Add GetTotalStepCount Stub 2015-10-23 23:52:13 +02:00
Filiph Sandström bf5793c2f8 Update ptm.h 2015-10-23 23:50:51 +02:00
bunnei 5559dad63d Merge pull request #1209 from wwylele/file-path-encoding
citra-qt: Change file path encoding
2015-10-22 22:41:39 -04:00
polaris- ac325ce61a Add some headers so TravisCI will hopefully work 2015-10-22 00:31:49 -04:00
polaris- f4520eb266 Use CHAR_BIT instead of 8 2015-10-22 00:19:44 -04:00
polaris- 4e0ae45d99 Handle changes pointed out in comments on PR 2015-10-22 00:11:25 -04:00
bunnei b7b11eb5e7 gl_shader_gen: Use explicit locations for vertex shader attributes. 2015-10-21 22:29:56 -04:00
bunnei 1eb1fd06d1 gl_shader_gen: Optimize code for AppendAlphaTestCondition.
- Also add a comment to AppendColorCombiner.
2015-10-21 22:29:56 -04:00
bunnei 7bad07b3ef gl_rasterizer: Define enum types for each vertex texcoord attribute. 2015-10-21 21:59:47 -04:00
bunnei 4175a09b7d gl_shader_gen: Various cleanups to shader generation. 2015-10-21 21:59:44 -04:00
bunnei 2fd9b1999f gl_rasterizer: Use MMH3 hash for shader cache hey.
- Includes a check to confirm no hash collisions.
2015-10-21 21:58:59 -04:00
bunnei 61b33d7266 gl_shader_gen: Require explicit uniform locations.
- Fixes uniform issue on AMD.
2015-10-21 21:54:56 -04:00
bunnei aa1dec1953 gl_shader_gen: Rename 'o' to 'attr' in vertex/fragment shaders. 2015-10-21 21:53:19 -04:00
bunnei 3ed0610e5d gl_shader_gen: AppendAlphaModifier default should be 0.0, not vec4(0.0). 2015-10-21 21:53:18 -04:00
bunnei e69743a943 gl_shader_gen: Fix bug where TEV stage outputs should be clamped. 2015-10-21 21:53:18 -04:00
bunnei 589d3e2e20 gl_rasterizer: Add documentation to ShaderCacheKey. 2015-10-21 21:53:17 -04:00
bunnei 06d9c2795c gl_shader_gen: Add additional function documentation. 2015-10-21 21:53:17 -04:00
bunnei 711a23b8ca gl_shader_util: Cleanup header file + add docstring. 2015-10-21 21:53:16 -04:00
bunnei d8eca2f795 gl_shader_gen: Various cleanups + moved TEV stage generation to its own function. 2015-10-21 21:53:16 -04:00
bunnei eefabd6b7d renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups. 2015-10-21 21:53:14 -04:00
bunnei 44a1dcc088 gl_rasterizer: Move logic for creating ShaderCacheKey to a static function. 2015-10-21 21:53:05 -04:00
bunnei 05e11e151d gl_shader_util: Use vec3 constants for AppendColorCombiner. 2015-10-21 21:51:24 -04:00
bunnei a81772552c gl_rasterizer: Fix typo in uploading TEV const color uniforms. 2015-10-21 21:51:24 -04:00
bunnei 9722d39bc5 gl_shader_util: Fix precision bug with alpha testing.
- Alpha testing is not done with float32 precision, this makes the HW renderer match the SW renderer.
2015-10-21 21:51:23 -04:00
Subv 8733dd568d Initial implementation of fragment shader generation with caching. 2015-10-21 21:51:23 -04:00
polaris- 37b35180c5 Add a register variable to loops 2015-10-21 07:45:35 -04:00
polaris- 6c4f45627c Update register read loops to go with last commit 2015-10-21 07:40:30 -04:00
polaris- 86a42ff827 Pad responses to gdb for VFP registers 2015-10-21 07:19:03 -04:00
polaris- 82f537482d Try to add support for VFP registers 2015-10-21 07:14:43 -04:00
polaris- 0de246f668 Fix buffer overflow comments 2015-10-21 06:49:49 -04:00
wwylele 91874459b3 change file path encoding to Local8bit()
to support non-latin characters
2015-10-20 20:58:23 +03:00
bunnei 6793fd7899 Merge pull request #1207 from kemenaran/persist-citra-settings-in-qt
citra-qt: save hardware-rendering and shaders-jit settings
2015-10-20 10:31:13 -04:00
bunnei 030fabe840 Merge pull request #1204 from kemenaran/qt-add-mac-icon
citra-qt: Add icon to the OS X app
2015-10-20 10:21:03 -04:00
bunnei 7de1f406b8 Merge pull request #1199 from Gareth422/encryption-check
Loader: Implement NCCH encryption check
2015-10-20 10:17:31 -04:00
Pierre de La Morinerie b95e88c55d citra-qt: persist hardware-rendering and shaders-jit settings
Before this changing these settings from the GUI would apply the
settings, but they were reseted to the default values when exiting
citra.
2015-10-18 14:08:23 +02:00
Pierre de La Morinerie 2754ac64b7 citra-qt: Add icon to Mac app
Previously the Mac app didn't have any icon.
2015-10-14 15:02:36 +02:00
polaris- 6621f16576 Remove unnecessary new lines, changed Deinit to Shutdown 2015-10-11 20:07:58 -04:00
Gareth Poole 780fd6247f Loader: Change NCCH header types to be explicitly little-endian 2015-10-10 22:35:22 -04:00
Gareth Poole 1874d33c0b Loader: Implement encryption check 2015-10-10 22:34:17 -04:00
bunnei d52e81d425 Merge pull request #1194 from linkmauve/no-newline
Remove newlines in LOG_* calls
2015-10-10 14:42:17 -04:00
Emmanuel Gil Peyrot b0c7762520 CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
The LOG_* function itself already appends one.
2015-10-09 22:14:56 +01:00
Gareth Poole cfeae1a4f5 Fixed spelling errors 2015-10-09 17:09:52 -04:00
bunnei f172b66738 Merge pull request #1189 from archshift/game-list-toggle-window
Game list: propely hide on toggling window mode
2015-10-07 10:33:11 -04:00
Rohit Nirmal c157d4ddd6 Silence -Wsign-compare warnings. 2015-10-06 22:16:15 -05:00
archshift df14491cf3 Game list: propely hide on toggling window mode
Properly hides the game list upon toggling from external
window mode to single window mode. Previously, both the game
list and the render window would have been shown at the same
time upon toggling.
2015-10-06 12:20:26 -07:00
Pierre de La Morinerie 831cb390ae citra-qt: Fix mouse events coordinates on high-DPI screens 2015-10-04 23:11:05 +02:00
Pierre de La Morinerie 11e08f4d23 citra-qt: Enable high-DPI widgets on Mac app
The OS will render the widgets using the system screen DPI (instead of
being locked at @1x resolution).

This has no impact on the existing high-DPI rendering code in Citra,
which means that the resolution of the emulated content is increased
to the real number of pixels, as on other platforms.
2015-10-04 23:11:05 +02:00
Pierre de La Morinerie 3e2b782f5f citra-qt: Use custom Info.plist for Mac builds
Instead of letting CMake re-generate an automatic Info.plist file on
every build, use our own. This allows greater control on the application
bundle settings.
2015-10-04 23:11:05 +02:00
polaris- 8205925b08 Use BreakpointAddress struct instead of passing address directly 2015-10-04 11:22:31 -04:00
polaris- f808a4307d Toggle use_gdbstub in citra GLFW 2015-10-04 11:22:07 -04:00
polaris- 1d319e5b46 Implement gdbstub 2015-10-04 11:16:59 -04:00
bunnei 4d5cf75d8d Merge pull request #1176 from lioncash/vs2015-code-junking-day
Obligatory "Throw out workarounds VS2013 once limited us to" PR
2015-10-03 13:19:03 -04:00
bunnei bc1663cbb8 Merge pull request #1095 from archshift/game-list
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
archshift dfaed461ff Game list: save and load column sizes, sort order, to QSettings 2015-10-01 19:39:15 -07:00
archshift 7b1025c819 Add menu item for selecting the game list folder 2015-10-01 19:39:14 -07:00
archshift 6da3f4480e Initial implementation of a game list 2015-10-01 19:39:14 -07:00
archshift cad06d5d41 Add helper function for creating a readable byte size string. 2015-10-01 19:39:14 -07:00
archshift eb41ca3d00 Don't show render window until a game is started 2015-10-01 19:39:14 -07:00
Lioncash 03af08ae81 bit_field: Re-enable code on MSVC 2015-10-01 15:43:42 -04:00
bunnei 00238a02b0 Merge pull request #1180 from lioncash/symbol
symbols: Minor changes
2015-10-01 11:20:21 -04:00
archshift 7b96bd3136 Split up FileUtil::ScanDirectoryTree to be able to use callbacks for custom behavior
Converted FileUtil::ScanDirectoryTree and FileUtil::DeleteDirRecursively
to use the new ScanDirectoryTreeAndCallback function internally.
2015-09-30 21:04:47 -07:00
archshift 976a199623 Expose loader helper functions for identifying files. 2015-09-30 21:04:47 -07:00
Lioncash 84a0b184f5 symbols: Replace an insert call with emplace 2015-09-30 11:55:58 -04:00
Lioncash 3564f8ae6f symbols: Get rid of initial underscores in variable names 2015-09-30 11:54:44 -04:00
Lioncash 7b63b5f819 symbols: Directly initialize TSymbol members 2015-09-30 11:53:01 -04:00
Lioncash d5071c2b9a symbols: Simplify GetSymbol 2015-09-30 11:51:06 -04:00
bunnei 5fb9ab82fd Merge pull request #1177 from linkmauve/fix-msvc-todo
Use a constexpr function for country initialization in service/cfg
2015-09-30 11:06:47 -04:00
Lioncash 42e88c9a16 ivfc_archive: Fix a printf specifier 2015-09-30 08:19:42 -04:00
Emmanuel Gil Peyrot 918f616a46 Service/CFG: Use a constexpr function for country initialization
This fixes a TODO left over from when we supported MSVC 2013.
2015-09-30 04:02:48 +01:00
bunnei 9d8aeef475 Merge pull request #1172 from martinlindhe/fix-warnings
Fix some xcode 7 (llvm) warnings
2015-09-29 22:00:27 -04:00
Martin Lindhe b36b9d6923 fix some xcode 7.0 warnings 2015-09-29 23:11:09 +02:00
LittleWhite c5dedacaff Fix for the refresh issue when no rendering is done 2015-09-24 21:48:41 +02:00
bunnei 4a07e855cd Merge pull request #1160 from lioncash/clang
Silence some clang warnings
2015-09-21 21:29:55 -04:00
bunnei 8a434a954e Merge pull request #1106 from Kloen/fix-connect
citra-qt: Fix connect error on startup (#449)
2015-09-21 21:16:48 -04:00
Cruel aad98addf2 Implement 3dsx RomFS 2015-09-21 13:03:18 -04:00
polaris- 021fab70ac Implement gdbstub 2015-09-19 22:28:02 -04:00
Kloen 98aa9421db citra-qt: Fix connect error on startup 2015-09-18 11:36:59 +02:00
Lioncash 2c2f1250d2 hash: Get rid of unused functions 2015-09-16 08:54:28 -04:00
Lioncash 08147474cb general: Silence some warnings when using clang 2015-09-16 08:51:53 -04:00
Yuri Kunde Schlesner 318429ff53 Service/CFG: Add default entry for block 0x000A0001 (birthday) 2015-09-14 17:39:52 -03:00
Yuri Kunde Schlesner 6b451adbf2 Service/CFG: Correct flags in 2 default blocks
Verified against a 9.2.0-20 config save
2015-09-14 17:39:51 -03:00
Yuri Kunde Schlesner 737572c283 Service/CFG: Add additional blocks to default save data
These blocks are required by various games to boot.
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner 6a8deb9b91 Fix narrowing conversion warning 2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner 9a28ef260b Service/CFG: Move several private types from the header to the cpp 2015-09-14 17:39:49 -03:00
Yuri Kunde Schlesner 8fa38e6011 Service/CFG: Clean up default block creation 2015-09-14 17:39:48 -03:00
Yuri Kunde Schlesner d309230ccc Merge pull request #1123 from yuriks/gsp-flush
GSP: Implement command 0x05, used for flushing caches
2015-09-14 17:00:45 -03:00
bunnei 2131d2309a Merge pull request #1111 from LittleWhite-tb/qt-close-renderwindow
Stop emulation when render window is closed
2015-09-14 15:23:08 -04:00
Yuri Kunde Schlesner 222d77c31a GSP: Implement command 0x05, used for flushing caches
May fix additional texture caching issues. (Though mostly in homebrew, I
haven't seen any commercial software use this to flush anything but
command lists.)
2015-09-14 16:19:05 -03:00
Lioncash f28802e883 memory_util: Remove unnecessary assignment in FreeMemoryPages 2015-09-11 23:16:34 -04:00
Lioncash 36c2bedcd8 memory_util: Remove commented out printf statements 2015-09-11 23:12:28 -04:00
Lioncash 1ab765ff61 general: Replace 0 literals with nullptr where applicable 2015-09-11 23:11:01 -04:00
Lioncash 82efda5aaf synchronized_wrapper: Add missing return in SynchronizedRef move assignment operator 2015-09-11 22:00:21 -04:00
Yuri Kunde Schlesner 79e63380bd Merge pull request #1147 from lioncash/nullptr
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 18:56:41 -03:00
Yuri Kunde Schlesner a60cb41964 Merge pull request #1149 from lioncash/override
graphics_breakpoints_p: Add missing override specifier
2015-09-11 18:24:24 -03:00
Yuri Kunde Schlesner c483ea3ea9 Merge pull request #1142 from lioncash/hdrqt
citra_qt: Reorganize headers
2015-09-11 18:17:24 -03:00
Yuri Kunde Schlesner 39109851c5 Merge pull request #1143 from lioncash/vcore-hdr
video_core: Reorganize headers
2015-09-11 18:17:02 -03:00
Lioncash c9aecc0404 graphics_breakpoints_p: Add missing override specifier 2015-09-11 16:32:02 -04:00
Lioncash 5c77b656b8 General: Replace NULL and '0' usages with nullptr where applicable 2015-09-11 14:59:49 -04:00
bunnei a923570acf Merge pull request #1144 from lioncash/remove
common: Get rid of debug_interface.h
2015-09-11 09:47:36 -04:00
Lioncash ad57b24255 common: Get rid of a cast in swap.h 2015-09-11 08:54:33 -04:00
Lioncash 75b3e911ec common: Get rid of debug_interface.h
This is technically unused. Also removes TMemChecks because it relies on this.
Whenever memory breakpoints are implemented for real, it should be designed to
match the codebase debugging mechanisms.
2015-09-11 08:12:08 -04:00
Lioncash 2cd98a45cb video_core: Reorganize headers 2015-09-11 07:31:15 -04:00
Lioncash 0638df7136 citra_qt: Reorganize headers 2015-09-11 00:57:24 -04:00
Lioncash c95206abdd video_core: Remove unnecessary includes from headers 2015-09-11 00:10:03 -04:00
Yuri Kunde Schlesner 13310a9b26 Merge pull request #1130 from lioncash/block
memory: Get rid of pointer casts
2015-09-10 18:05:24 -03:00
bunnei 4d6cd8e7b4 Merge pull request #1133 from lioncash/emplace-back
gl_rasterizer: Replace push_back calls with emplace_back in AddTriangle
2015-09-10 15:07:06 -04:00
bunnei dc51bb8df1 Merge pull request #1136 from lioncash/proto
renderer_opengl: Remove unimplemented function declaration
2015-09-10 11:29:33 -04:00
bunnei 8d08a24e9b Merge pull request #1137 from lioncash/doc
General: Fix up doxygen comments
2015-09-10 11:29:16 -04:00
Lioncash 54fa043c92 General: Fix up doxygen comments 2015-09-10 11:20:21 -04:00
Lioncash a56b8437e6 renderer_opengl: Remove unimplemented function declaration 2015-09-10 10:45:44 -04:00
Lioncash 1d7a9c8752 video_core: Remove unused variables 2015-09-10 10:26:21 -04:00
Yuri Kunde Schlesner 0a72f8446b Merge pull request #1131 from lioncash/uninit
y2r: Give local variables an initial value
2015-09-10 01:21:58 -03:00
Lioncash b69c9fd82b gl_rasterizer: Replace push_back calls with emplace_back in AddTriangle 2015-09-10 00:20:30 -04:00
Lioncash 9f37facda2 memory: Get rid of pointer casts 2015-09-10 00:09:55 -04:00
Lioncash 62c80d9331 disk_archive: Remove unimplemented constructor declarations 2015-09-09 23:49:03 -04:00
Lioncash 42f3cbb213 y2r: Give local variables an initial value
Keeps compilers/static analyzers quiet.
2015-09-09 23:38:55 -04:00
Yuri Kunde Schlesner e351e56465 CMake: Add option to download Qt and GLFW binaries over HTTP 2015-09-08 19:35:12 -03:00
Yuri Kunde Schlesner c1b3177248 Merge pull request #1125 from yuriks/uilayout-config
citra-qt: Separate UI layout state in a separate section of the config
2015-09-07 23:52:13 -03:00
Yuri Kunde Schlesner 40e1b07b68 citra-qt: Separate UI layout state in a separate section of the config
Closes #1113
2015-09-07 22:11:21 -03:00
Yuri Kunde Schlesner 5f59563a28 citra-qt: Trim recently used files list to size when insterting new item
Even though they weren't visible in the UI, old entries would never be
removed from the list and would be stored in the config file across
sessions.
2015-09-07 22:00:08 -03:00
bunnei f0b46ec853 Merge pull request #1118 from Kloen/monospace-font
citra-qt: Use monospace font on Disassembler and ARM Registers
2015-09-07 17:52:07 -04:00
bunnei 2c6071b3bc Merge pull request #1121 from aroulin/shader-minor-fixes
Shader: Use constants and proper type casts
2015-09-07 15:59:24 -04:00
Yuri Kunde Schlesner 65b26655ac Shader Debugger: Allow editing of input vertex data 2015-09-07 16:46:31 -03:00
Yuri Kunde Schlesner 1b79a72723 Shader Debugger: Highlight current instruction instead of focusing
This avoid some annoying focus stealing in some situations, and looks
nicer in general.
2015-09-07 16:46:31 -03:00
Yuri Kunde Schlesner 5dd7b48297 Shader Debugger: Remove useless signal 2015-09-07 16:46:30 -03:00
Yuri Kunde Schlesner 43ba2134d4 Shader Debugger: Fix only first vertex attribute being loaded 2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner c1bdf33021 Shader Debugger: Fix freeze when double-clicking shader disassembly 2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner 8d415842f3 Shader Debugger: Improve space efficiency of the layout 2015-09-07 16:46:28 -03:00
Yuri Kunde Schlesner db791bc10e Shader Disassembly: Fix printing of jump offsets 2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner 968518e740 Shader Disassembly: Fix disassembly of IFU/CALLU instructions 2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner 21c8b3c305 Shader Disassembly: Implement support for MAD/MADI 2015-09-07 16:46:26 -03:00
Yuri Kunde Schlesner 5752fbdaa3 Shader Disassembly: Introduce variables to hold common subexpressions 2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner 3e2dc6f659 Shader Debugger: Initialize input_vertex to prevent crashes
If the first type of breakpoint to be hit wasn't "Vertex Loaded", the
input_vertex would contain garbage, which would be passed to the shader
interpreter and ocasionally cause crashes.
2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner 8b76af8d0e Shader Disassembly: Cleanup code and improve output alignment 2015-09-07 16:46:23 -03:00
Kloen 0f0ef03bf6 citra-qt: Use monospace font on Disassembler and ARM Registers 2015-09-07 21:02:45 +02:00
LittleWhite f8f97c3da1 Stop emulation when render window is closed 2015-09-07 20:34:39 +02:00
aroulin 964fa561c5 Shader JIT: Use SCALE constant from emitter 2015-09-07 16:50:28 +02:00
aroulin f588077bbb Shader: Fix size_t to int casts of register offsets 2015-09-07 16:50:28 +02:00
Lioncash 8da17cb2b3 Merge pull request #1114 from archshift/conditioncode_al
DynCom: Converted all magic 0xE condition code checks to ConditionCode::AL
2015-09-06 01:29:28 -04:00
archshift 358f54fa1d DynCom: Converted all 0xE condition code checks to ConditionCode::AL 2015-09-05 22:24:42 -07:00
Yuri Kunde Schlesner 7f9a9f1339 OpenGL: Use Sampler Objects to decouple sampler config from textures
Fixes #978
2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner def0e7f71f OpenGL: Remove ugly and endian-unsafe color pointer casts 2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner efc72d0a4a OpenGL: Add support for Sampler Objects to state tracker 2015-09-03 15:09:50 -03:00
Yuri Kunde Schlesner c42f680c75 citra-qt: Move system shutdown to run inside EmuThread
This stops (for some reason sporadic) crashes and OpenGL errors during
shutdown, when the OpenGL renderer tries to clean up objects from the
UI thread, which has no OpenGL context active.
2015-09-03 15:09:50 -03:00
Yuri Kunde Schlesner 2453064ccd Merge pull request #1087 from yuriks/opengl-glad
Replace the previous OpenGL loader with a glad-generated 3.3 one
2015-09-03 15:07:01 -03:00
bunnei 1eacf4a3d2 Merge pull request #1101 from archshift/camu-service-names
Add cam:u service function names to its function table
2015-09-03 07:53:18 -04:00
archshift 0b274a5ca5 Add cam:u service function names to its function table 2015-09-03 01:56:59 -07:00
bunnei 43266c052e Merge pull request #1088 from aroulin/x64-emitter-abi-call
x64: Proper stack alignment in shader JIT function calls
2015-09-02 08:46:58 -04:00
aroulin 7019a4eaeb video_core: Fix format specifiers warnings 2015-09-02 08:20:00 +02:00
aroulin 89a7c9068f x64: Proper stack alignment in shader JIT function calls
Import Dolphin stack handling and register saving routines
Also removes the x86 parts from abi files
2015-09-01 23:39:52 +02:00
aroulin 22bc3b66d3 Common: Import BitSet from Dolphin 2015-09-01 23:39:52 +02:00
bunnei f4e3d89fdd Merge pull request #1072 from yuriks/GetSystemTick-advance-time
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
2015-09-01 08:21:29 -04:00
bunnei e80c88786e Merge pull request #1083 from yuriks/microprofile-vs2015
Common: Fix MicroProfile compilation in MSVC2015
2015-08-31 21:20:36 -04:00
Tony Wasserka c4eca8d513 Merge pull request #1092 from Subv/vertex_offset
Pica: Add the vertex_offset register to the Pica registers map.
2015-08-31 18:17:59 +02:00
Subv f747cb94de Pica: Added the primitive_restart register (0x25f) to the registers map. 2015-08-31 09:14:18 -05:00
Subv 018d0f8c8f Pica: Add the vertex_offset register to the Pica registers map. 2015-08-31 07:02:30 -05:00
aroulin 36ef773fe7 Shader JIT: Fix SGE/SGEI NaN behavior
SGE was incorrectly emulated w.r.t. NaN behavior as the CMPSS SSE
instruction was used with NLT
2015-08-31 08:16:15 +02:00
bunnei 70363eec82 Merge pull request #1059 from Subv/vertex_offset
GPU: Implemented register 0x22A PICA_REG_DRAW_VERTEX_OFFSET
2015-08-30 17:12:33 -04:00
Subv ad61138359 GPU: Implemented register 0x22A.
This is the equivalent of the "first" parameter in glDrawArrays, it tells the GPU the vertex index at which to start rendering.

Register 0x22A doesn't affect indexed rendering.
2015-08-30 15:46:22 -05:00
bunnei 546ffa0046 Merge pull request #1085 from Subv/fs_stat
Services/FS: Correctly tell the guest app whether a file was correctly opened or not
2015-08-30 11:44:39 -04:00
Yuri Kunde Schlesner 084c527a95 Increase required OpenGL version to 3.3
This gives us several niceties such as Sampler Objects, shader attribute
locations and Timer Queries.
2015-08-30 08:45:57 -03:00
Yuri Kunde Schlesner e5cc2e2ef0 Replace the previous OpenGL loader with a glad-generated 3.3 one
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
2015-08-30 08:45:56 -03:00
Yuri Kunde Schlesner e5bcc24426 SVC: Advance time when calling GetSystemTick to escape busy-wait loops
Cubic Ninja waited for the frame to end by spinning on a loop calling
GetSystemTick while doing nothing else. Since GetSystemTick doesn't
cause a reschedule (which advances time), this meant that very little
emulated time would pass inside that loop, causing the game to spend
most of the frame burning away CPU.
2015-08-30 00:07:02 -03:00
bunnei d4266dd0ae Merge pull request #1049 from Subv/stencil
Rasterizer: Corrected the stencil implementation.
2015-08-29 20:06:25 -04:00
Subv 3334ae7b74 Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
Closes #1067
2015-08-28 22:01:03 -05:00
Yuri Kunde Schlesner b5ae1497e6 Common: Fix MicroProfile compilation in MSVC2015 2015-08-28 06:12:12 -03:00
Yuri Kunde Schlesner 6bef26d764 Kernel: Fix wrong linear heap base on titles using newer kernels
Typo which sneaked in through review on #1025
2015-08-27 23:52:40 -03:00
bunnei 3b600b3498 Merge pull request #1075 from yuriks/ControlMem-fixes
Fix heap-management regressions
2015-08-27 19:43:55 -04:00
Yuri Kunde Schlesner 698a15f0e3 Merge pull request #1065 from yuriks/shader-fp
Shader FP compliance fixes
2015-08-27 16:34:13 -07:00
bunnei 3cc5b3c4ad gl_rasterizer_cache: Detect and ignore unnecessary texture flushes. 2015-08-27 19:07:53 -04:00
aroulin 2c48cd4b6c Shader JIT: Fix float to integer rounding in MOVA
MOVA converts new address register values from floats to integers using truncation
2015-08-27 15:26:41 +02:00
Yuri Kunde Schlesner 990ff3f241 Kernel: Fix assertion failure when ControlMemory is called with size=0 2015-08-26 21:29:05 -03:00
Yuri Kunde Schlesner b9b540a222 Core: Improve APT Shared Font hack
Should fix invalid read loops in some games
2015-08-26 21:28:58 -03:00
bunnei eff02466f7 Merge pull request #1074 from lioncash/bool
dyncom: Minor changes to CondPassed
2015-08-26 18:44:52 -04:00
archshift 89241b3e89 Shader JIT: ifdef out reference to ifdef'd out shader_map
shader_map was only defined on x86 architectures, but was cleared on shutdown
with no ifdef protection. Ifdef this out so non-x86 architectures can be built.
2015-08-26 22:28:19 +00:00
Lioncash 3fb10e8f62 dyncom: Simplify some comparisons in CondPassed 2015-08-26 00:10:23 -04:00
Lioncash f8425c3dad dyncom: Change return type of CondPassed to bool 2015-08-25 23:59:01 -04:00
Lioncash efad1a17bf citra-qt: Add a missing header guard to util.h 2015-08-25 23:07:33 -04:00
Yuri Kunde Schlesner 424b0fa646 Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner 2436b1c104 citra-qt: Add helper function to get a monospace QFont 2015-08-24 22:16:28 -03:00
bunnei 7010a27c7d Merge pull request #1063 from Subv/hw_renderer_debug_fb
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint
2015-08-24 13:02:44 -04:00
Subv 4afd01e55e HWRenderer: Added a workaround for the Intel Windows driver bug that causes glTexSubImage2D to not change the stencil buffer.
Reported here https://communities.intel.com/message/324464
2015-08-24 11:28:28 -05:00
Yuri Kunde Schlesner 08e13a10f7 fixup! Shaders: Fix multiplications between 0.0 and inf 2015-08-24 02:10:11 -03:00
Yuri Kunde Schlesner 9023d7a1d4 Shader JIT: Tiny micro-optimization in DPH 2015-08-24 01:48:37 -03:00
Yuri Kunde Schlesner 9a4a0cc8e0 Shaders: Fix multiplications between 0.0 and inf
The PICA200 semantics for multiplication are so that when multiplying
inf by exactly 0.0, the result is 0.0, instead of NaN, as defined by
IEEE. This is relied upon by games.

Fixes #1024 (missing OoT interface items)
2015-08-24 01:48:15 -03:00
Yuri Kunde Schlesner 8b0a7e7afe Shaders: Explicitly conform to PICA semantics in MAX/MIN 2015-08-24 01:46:58 -03:00
Yuri Kunde Schlesner c0959ca635 Shader JIT: Add name to second scratch register (XMM4) 2015-08-24 01:46:10 -03:00
Lioncash 33955e171b shader_jit: Replace two MDisp usages with MatR 2015-08-24 00:39:50 -04:00
Yuri Kunde Schlesner f02539e59d Shader JIT: Fix CMP NaN behavior to match hardware 2015-08-24 01:29:40 -03:00
bunnei 986b526e83 Merge pull request #1062 from aroulin/shader-rcp-rsq
Shader: RCP and RSQ computes only the 1st component
2015-08-23 17:56:35 -04:00
bunnei ff54784aac Merge pull request #1057 from aroulin/shader-dph-dphi
Shader: Implement DPH and DPHI in interpreter/JIT
2015-08-23 17:47:09 -04:00
Subv ebb0e78d80 HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint. 2015-08-23 15:26:17 -05:00
aroulin 8367db5dcd Shader: Use std::sqrt for float instead of sqrt 2015-08-23 22:03:07 +02:00
aroulin 2bcee80587 Shader: RCP and RSQ computes only the 1st component 2015-08-23 22:01:17 +02:00
aroulin 5429dbf738 x64-emitter: add RCPSS SSE instruction 2015-08-23 15:42:58 +02:00
Lioncash 3a56bd4a9e Merge pull request #1058 from lioncash/ptr
emitter: Remove pointer casts
2015-08-22 18:42:47 -04:00
Yuri Kunde Schlesner 91fcf7f484 Fix broken boot introduced by last-minute change in #1025 2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner e3936a67b7 Merge pull request #1025 from yuriks/heap-management
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00
aroulin fd789c6858 Shader: implement DPH/DPHI in JIT 2015-08-22 11:09:53 +02:00
aroulin 677a97c8bf Shader: implement DPH/DPHI in interpreter
Tests revealed that the component with w=1 is
SRC1 and not SRC2, it is now fixed on 3dbrew.
2015-08-22 11:09:53 +02:00
Lioncash b150e1d68f emitter: Remove pointer casts
This should also technically silence quite a few ubsan warnings.
2015-08-21 17:09:33 -04:00
Subv c0ddc0df52 HWRasterizer: Implemented stencil ops 6 and 7. 2015-08-21 11:05:56 -05:00
Subv aee8f01e0a SWRasterizer: Implemented stencil ops 6 and 7.
IncrementWrap and DecrementWrap, verified with hwtests.
2015-08-21 11:01:42 -05:00
Subv 2caf213ae0 HWRasterizer: Implemented stencil op 1 (GL_ZERO) 2015-08-21 10:59:49 -05:00
Subv 9a3d5a11f3 SWRasterizer: Implemented stencil action 1 (GL_ZERO).
Verified with hwtests.
2015-08-21 10:35:25 -05:00
Subv cbf5ed0c78 SWRasterizer: Removed a todo. Verified with hwtests. 2015-08-21 10:09:15 -05:00
Subv 97b1a10560 SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.
The HW renderer already did this.
2015-08-21 09:48:43 -05:00
Subv be58cead12 Rasterizer: Abstract duplicated stencil code into a lambda. 2015-08-21 09:45:36 -05:00
Subv 9c8f4fdd75 GLRasterizer: Implemented stencil testing in the hw renderer. 2015-08-20 10:11:09 -05:00
Subv 7d816d5168 GPU/Rasterizer: Corrected the stencil implementation.
Verified the behavior with hardware tests.
2015-08-20 10:10:35 -05:00
Lioncash 70ca886a39 emitter: Remove unnecessary defines 2015-08-20 04:45:32 -04:00
Lioncash fdd90321ea emitter: Remove unnecessary else keywords 2015-08-20 04:45:31 -04:00
Lioncash 911d072bf6 emitter: Remove unused code 2015-08-20 04:45:30 -04:00
Lioncash 3bcd976780 emitter: Remove unimplemented JMP prototype 2015-08-20 04:45:29 -04:00
Lioncash c46738bebc emitter: Pass OpArg by reference where possible 2015-08-20 04:45:28 -04:00
Lioncash 62626196cb emitter: Remove unnecessary inline specifiers
Functions implemented in a class definition are already implicitly inline.
2015-08-20 04:45:22 -04:00
bunnei cbcf9e8eaf Merge pull request #1035 from darkf/mingw-fix
Fix building under MinGW
2015-08-19 20:40:31 -04:00
bunnei addc2ed6fe Merge pull request #1055 from aroulin/shader-sge-sgei-slt
Shader: Implement SGE, SGEI and SLT in interpreter/JIT
2015-08-19 19:58:49 -04:00
Yuri Kunde Schlesner d7230928d6 Merge pull request #1045 from LittleWhite-tb/qt-recent-files
Improvements for MRU
2015-08-19 13:04:03 -07:00
LittleWhite 02b4412e66 Improvements for MRU
avoid duplicates
always put the last file loaded to top of the list
2015-08-19 21:33:34 +02:00
aroulin d1c8dcd844 Shader: implement SGE, SGEI and SLT in JIT 2015-08-19 14:29:39 +02:00
aroulin 76afa48b0c Shader: implement SGE, SGEI in interpreter 2015-08-19 14:29:39 +02:00
Yuri Kunde Schlesner 8220a201eb Merge pull request #996 from yuriks/texture-copy
GPU: Implement TextureCopy-mode display transfers
2015-08-18 20:52:40 -07:00
bunnei 4b36548b41 Merge pull request #1047 from aroulin/shader-ex2-lg2
Shader: Save caller-saved registers in JIT before a CALL
2015-08-18 22:02:25 -04:00
aroulin 12e2cb045f Shader: Save caller-saved registers in JIT before a CALL 2015-08-19 03:40:07 +02:00
bunnei b358d3e07a Merge pull request #1037 from aroulin/shader-ex2-lg2
Shader: Implement EX2 and LG2 in interpreter/JIT
2015-08-18 19:42:32 -04:00
darkf 8d212ff881 Fix building under MinGW 2015-08-17 22:21:14 -07:00
bunnei 21029bea74 Merge pull request #1034 from yuriks/rg8-textures
videocore: Added RG8 texture support
2015-08-16 22:17:12 -04:00
aroulin 28f5cdc0dd Shader: implement EX2 and LG2 in JIT 2015-08-17 01:12:34 +02:00
LittleWhite a98d1fc3fa Fix Linux GCC 4.9 build (complaining about undeclared memset) 2015-08-16 17:21:08 +02:00
aroulin 7ca01b779f Shader: implement EX2 and LG2 in interpreter 2015-08-16 15:54:30 +02:00
Tony Wasserka ca1fea38dc Build fix for Debug configurations. 2015-08-16 15:14:54 +02:00
Tony Wasserka d6b1591b01 Merge pull request #997 from Lectem/cmdlist_full_debug
citra-qt: Improve pica command list widget (add mask, fix some issues)
2015-08-16 13:34:45 +02:00
Tony Wasserka 7617e7144d citra-qt/VertexShader: Minor UI improvements.
Renamed "Iteration index" to the (hopefully) more intuitive "Cycle Index".
Added flexible space at the bottom of the widget.
2015-08-16 14:12:12 +02:00
Tony Wasserka 397aeb8a9e citra-qt: Fix comment style. 2015-08-16 14:12:11 +02:00
Tony Wasserka 1c1a9ab09b Introduce a shader tracer to allow inspection of input/output values for each processed instruction. 2015-08-16 14:12:11 +02:00
Tony Wasserka 9a1820ea61 Pica/DebugUtils: Include uniform information into shader dumps. 2015-08-16 13:22:01 +02:00
Tony Wasserka 41dda548cd citra-qt: Improve shader debugger.
Now supports dumping the current shader and recognizes a larger number of output semantics.
2015-08-16 13:22:00 +02:00
Tony Wasserka c677d18727 citra-qt: Print the correct swizzle mask for SRC2 in the shader disassembler. 2015-08-16 13:19:40 +02:00
Yuri Kunde Schlesner 63a0b6de7b Merge pull request #1033 from bbarenblat/master
Handle `FileType::CIA` in `switch` statements
2015-08-15 22:40:29 -07:00
Yuri Kunde Schlesner b0b3c7304b citra-qt: Give RG8 format a proper name in the texture viewer 2015-08-16 02:36:33 -03:00
Patrick Martin 78b1877f9e videocore: Added RG8 texture support 2015-08-16 02:21:50 -03:00
Yuri Kunde Schlesner 209113743f GPU: Implement TextureCopy-mode display transfers
Fixes glitchy garbage in Fire Emblem 3D scenes.
2015-08-16 01:52:51 -03:00
bunnei 2465e43a42 Merge pull request #1017 from LittleWhite-tb/qt-recent-files
citra-qt: save path for recent files loaded
2015-08-16 00:22:10 -04:00
bunnei e3de8e63c3 Merge pull request #1032 from lioncash/swap
vfp: use std::swap where applicable
2015-08-16 00:20:35 -04:00
Yuri Kunde Schlesner 984bea6698 Kernel: Remove unused legacy heap MapBlock_* functions 2015-08-16 01:03:49 -03:00
Yuri Kunde Schlesner bad440fdc9 APT: Adjust shared font hack so it works with the new linear heap code 2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner 00e9d19f28 Kernel: Implement svcGetProcessInfo in a basic way
This also adds some basic memory usage accounting. These two types are
used by Super Smash Bros. during startup.
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner e34643a3e4 Kernel: Add more infrastructure to support different memory layouts
This adds some structures necessary to support multiple memory regions
in the future. It also adds support for different system memory types
and the new linear heap mapping at 0x30000000.
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner cbc7419408 HLE: Remove empty ConfigMem and SharedPage Shutdown functions 2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner 6bb23baf0a Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h} 2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner 168d376c67 Memory: Move address type conversion routines to memory.cpp/h
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner 521cb56792 Process: Store kernel compatibility version during loading 2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner 8850ade24d Kernel: Properly implement ControlMemory FREE and COMMIT 2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner fbcf0558f3 Memory: Move PAGE_MASK and PAGE_BITS to memory.h 2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner ce332ef416 VMManager: Introduce names for used ResultCodes 2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner f287e6dff4 VMManager: Make LogLayout log level configurable as a parameter 2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner c31e812624 VMManager: Change block offsets to size_t 2015-08-16 01:03:43 -03:00
Lioncash d7335fa5f0 vfp: use std::swap where applicable 2015-08-15 19:08:51 -04:00
Yuri Kunde Schlesner 86f72f80e1 Merge pull request #1031 from bbarenblat/master
Handle invalid `Log::Class`
2015-08-15 15:34:12 -07:00
bunnei 5c7e9ffce7 Shader: Use a POD struct for registers. 2015-08-15 18:03:27 -04:00
bunnei 4ffc095fa3 Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64. 2015-08-15 18:03:27 -04:00
bunnei e019e69016 Common: Cleanup CPU capability detection code. 2015-08-15 18:03:26 -04:00
bunnei 15e9a59ad0 Common: Move cpu_detect to x64 directory. 2015-08-15 18:03:26 -04:00
bunnei f9e3228caa x64: Refactor to remove fake interfaces and general cleanups. 2015-08-15 18:03:25 -04:00
bunnei fe33a705de JIT: Support negative address offsets. 2015-08-15 18:01:22 -04:00
bunnei c03924e60e Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
2015-08-15 18:01:07 -04:00
bunnei be08c22685 Common: Added MurmurHash3 hash function for general-purpose use. 2015-08-15 17:33:46 -04:00
bunnei 3d35d53b8d Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP. 2015-08-15 17:33:45 -04:00
bunnei 432d1c5263 Common: Ported over Dolphin's code for x86 CPU capability detection. 2015-08-15 17:33:44 -04:00
bunnei 5794310781 Shader: Define a common interface for running vertex shader programs. 2015-08-15 17:33:44 -04:00
bunnei 2d100ebae3 Shader: Move shader code to its own subdirectory, "shader". 2015-08-15 17:33:42 -04:00
bunnei f622a78544 GPU: Refactor "VertexShader" namespace to "Shader".
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-08-15 17:33:41 -04:00
Benjamin Barenblat ef432342ce Properly indicate that CIA support is not implemented yet
Make `Loader::LoadFile` return an `ErrorNotImplemented` if you call
it on a CIA file.
2015-08-15 16:05:38 -04:00
Benjamin Barenblat b57680c39f Give CIA file type a name
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
2015-08-15 15:45:27 -04:00
Benjamin Barenblat c96107a440 Handle invalid Log::Class
Add a case of `Log::Class::Count` to the switch statement that
dispatches on `Log::Class`.  The case simply calls the `UNREACHABLE`
macro.
2015-08-15 15:39:45 -04:00
bunnei 4b7664fe12 Merge pull request #1027 from lioncash/debugger
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
archshift 58e2d19f08 Stop defining GCC always_inline attributes as __forceinline
__forceinline is a MSVC extension, which may confuse some people working on the codebase.
Furthermore, the C++ standard dictates that all names which contain adjacent underscores are reserved.
2015-08-11 19:45:15 -07:00
bunnei 452edce407 Merge pull request #893 from linkmauve/remove-uint._t-int._t
Replace standard uint*_t and int*_t with CommonTypes’ u* and s* types
2015-08-11 17:55:24 -04:00
Emmanuel Gil Peyrot fe83e1f777 ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types. 2015-08-11 22:38:44 +01:00
bunnei 0387001b57 Merge pull request #1023 from yuriks/gl-state-bugs
OpenGL: Fix state tracking in situations with reused object handles
2015-08-11 17:19:45 -04:00
LittleWhite 35a2f138b8 Add menu and logic to save and load recently loaded files.
This menu is only for ROM and will not save symbols recently loaded.
When the menu is empty, the menu is disabled (greyed out)
2015-08-11 18:45:44 +02:00
aroulin 1af26ea3d8 arm_disasm: ARMv6 mul/div and abs media instructions
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
2015-08-11 12:48:28 +02:00
aroulin 0e37ee5692 arm_disasm: ARMv6 parallel add/sub media instructions
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
2015-08-11 12:48:23 +02:00
aroulin e752fd5728 arm_disasm: ARMv6 reversal media instructions
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
2015-08-09 13:52:51 +02:00
aroulin 86d63d8fd8 arm_disasm: ARMv6 saturation media instructions
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
aroulin aecd0de63e arm_disasm: ARMv6 packing and sign-extend media instructions
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
2015-08-09 01:31:03 +02:00
Lioncash b104d30596 Merge pull request #1026 from lioncash/disasm
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
Lioncash 9f1b35f27f registers: Support viewing VFP registers 2015-08-07 02:11:07 -04:00
Lioncash daabb4fab3 arm_interface: Implement interface for retrieving VFP registers 2015-08-06 21:24:25 -04:00
Lioncash 32461be3ab registers: Fix a typo with CPSR's name 2015-08-06 21:11:25 -04:00
Lioncash 59d5358068 arm_disasm: Remove unnecessary code
This part of disassembly only determines the opcode, there's no need for offset calculation here.
2015-08-06 19:55:41 -04:00
aroulin 4721ff6747 Disassembler: ARMv6K REX instructions 2015-08-06 15:50:54 +02:00
aroulin 0d4ad676e9 Disassembler: ARMv6K hint instructions 2015-08-06 15:25:08 +02:00
Yuri Kunde Schlesner fe3a7af354 OpenGL: Fix state tracking in situations with reused object handles
If an OpenGL object is created, bound to a binding using the state
tracker, and then destroyed, a newly created object can be assigned the
same numeric handle by OpenGL. However, even though it is a new object,
and thus needs to be bound to the binding again, the state tracker
compared the current and previous handles and concluded that no change
needed to be made, leading to failure to bind objects in certain cases.

This manifested as broken text in VVVVVV, which this commit fixes along
with similar texturing problems in other games.
2015-08-06 00:59:37 -03:00
Yuri Kunde Schlesner 60df1c9b2b OpenGL: Remove redundant texture.enable_2d field from OpenGLState
All uses of this field where it's false can just set the texture id to 0
instead.
2015-08-05 22:55:22 -03:00
bunnei 983c93be94 Merge pull request #1018 from bbarenblat/master
Handle invalid `Log::Level::Count`
2015-08-05 11:59:06 -04:00
Yuri Kunde Schlesner a96502edd3 Videocore: Implement simple vertex caching
This gives a ~2/3 reduction in the amount of vertices that need to be
processed through the vertex loaders and the vertex shader, yielding a
good speedup.
2015-08-04 23:41:47 -03:00
Benjamin Barenblat 2a886560e8 Use UNREACHABLE macro for impossible cases in previous commit
Use the UNREACHABLE macro instead of `ASSERT(false, ...);`.
2015-08-02 18:30:24 -04:00
Yuri Kunde Schlesner 48393d452c Common: Work around bug in MSVC2015 standard library
The char16_t/char32_t implementations aren't present in the library and
cause linker errors. This is a known issue that wasn't fixed in VS2015
RTM.
2015-08-02 19:03:55 -03:00
Benjamin Barenblat 067d2e7e2b Handle invalid Log::Level::Count
Add a case of `Log::Level::Count` to all switch statements that
dispatch on `Log::Level`.  The case simply asserts `false` and notes
the invalid log level.
2015-08-02 12:55:31 -04:00
LittleWhite cb405ad1b4 Save the path leading where the last file have been loaded
I use two variables to save the path for the ROMs and the symbols.
Use of QSettings to avoid new member variable to the class.
Global settings of QSettings is done in main.
2015-07-31 17:51:01 +02:00
bunnei ce65925bc3 Merge pull request #1008 from lioncash/pc
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-30 10:44:50 -04:00
bunnei bb7eb5c574 Merge pull request #1006 from yuriks/fb-commit-profile
OpenGL: Add a profiler category measuring framebuffer readback
2015-07-30 10:39:38 -04:00
bunnei a5f77c9886 Merge pull request #1014 from lioncash/unused-warn
core: Eliminate some unused variable warnings
2015-07-29 16:47:44 -04:00
bunnei 9221e6e67a Merge pull request #1011 from lioncash/initializer
citra-qt: Adjust initializer list order
2015-07-29 16:46:34 -04:00
bunnei 31c1bb901b Merge pull request #963 from yuriks/gpu-fixes
Misc. GPU vertex loading fixes
2015-07-29 16:45:17 -04:00
Yuri Kunde Schlesner ea1b04f5da Merge pull request #1013 from lioncash/unused
dyncom: Remove an unused variable
2015-07-29 09:59:37 -07:00
Lioncash 75631b2a9f core: Eliminate some unused variable warnings 2015-07-29 12:34:18 -04:00
Lioncash 46663d657f dyncom: Remove an unused variable
This was used prior to InterpreterTranslate existing.
2015-07-29 12:21:16 -04:00
bunnei d3eb63a773 Merge pull request #1012 from lioncash/prototype
core: Fix missing prototype warnings
2015-07-29 12:18:29 -04:00
Lioncash 12a9e8502c core: Fix missing prototype warnings 2015-07-29 12:12:39 -04:00
Lioncash 5df3afd522 citra-qt: Adjust initializer list order
Silences a warning.
2015-07-29 12:03:59 -04:00
Lioncash 13ddf60f60 citra-qt: Pass string by const reference 2015-07-29 11:54:07 -04:00
Yuri Kunde Schlesner 8165de065b Merge pull request #1009 from lioncash/table
am_net: Update function table data
2015-07-29 08:40:19 -07:00
Lioncash 6b25e93119 am_net: Add missing function to the function table 2015-07-29 11:37:55 -04:00
Lioncash bed3618480 am_net: Add correct function name to the function table 2015-07-29 11:37:09 -04:00
bunnei e5606d9d6e Merge pull request #982 from Subv/home
Service/APT: Return proper parameters in GetLockHandle.
2015-07-29 11:12:17 -04:00
Lioncash 2e420aba3c dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM 2015-07-29 10:57:47 -04:00
Lioncash 2182adff9e dyncom: Handle left-operand PC correctly for data-processing ops
This is considered deprecated in the ARM manual (using PC as an operand),
however, this is still able to be executed on the MPCore (which I'm quite
sure would be rare to begin with).
2015-07-28 20:14:08 -04:00
bunnei 4ccc171db4 Merge pull request #899 from zawata/Winsock-Deprecation
SOC:U : Fix WinSock function deprecation
2015-07-28 16:44:29 -04:00
Yuri Kunde Schlesner 428154da45 OpenGL: Add a profiler category measuring framebuffer readback 2015-07-28 17:37:46 -03:00
LittleWhite 5e1c32048f Update Start menu text to match with the real state of the emulator.
Move start menu text update in ShutdownGame as adviced by neobrain
2015-07-28 21:04:14 +02:00
Trung Do cc98866b25 Settings: Fix saving wrong values for input configuration 2015-07-28 13:51:09 -04:00
bunnei fe15cf0019 Merge pull request #1003 from lioncash/armcruft
dyncom: Minor cleanups.
2015-07-28 09:58:42 -04:00
Tony Wasserka 62adb4ee7b Merge pull request #873 from jroweboy/input_array
Move input values into an array.
2015-07-28 13:17:12 +02:00
Lioncash 9be4ef3879 dyncom: Remove an unnecessary typedef 2015-07-28 03:41:25 -04:00
Lioncash 89540ea761 dyncom: Use enum class for instruction decoding results 2015-07-28 02:27:57 -04:00
James Rowe 1bc7829ee9 Move input values into an array 2015-07-27 21:41:21 -06:00
Lioncash 7e4fb4db19 dyncom: Remove code duplication regarding thumb instructions 2015-07-27 22:22:00 -04:00
Lioncash a507ea23c1 dyncom: Migrate exclusive memory access control into armstate 2015-07-27 22:06:59 -04:00
Lioncash db4e99c186 dyncom: Remove duplicated typedef and extern
These are already present in arm_dyncom_dec.h.
2015-07-27 22:06:51 -04:00
bunnei 62caa89f48 Merge pull request #1001 from lioncash/arm
dyncom: Centralize state-related functions.
2015-07-27 01:09:46 -04:00
bunnei e1a3fed6ff Merge pull request #991 from yuriks/globjects
OpenGL: Make OpenGL object resource wrappers fully inline
2015-07-26 16:37:33 -04:00
Lioncash 816b1ca776 dyncom: Use std::array for register arrays 2015-07-26 13:21:04 -04:00
Lioncash 0ecc6e2f04 dyncom: Use ARMul_State as an object
Gets rid of C-like parameter passing.
2015-07-26 13:18:32 -04:00
bunnei cb76453ec4 Merge pull request #992 from yuriks/hot-path-debug
VideoCore: #ifdef out some debugging routines
2015-07-26 11:45:51 -04:00
Lectem facb2555a9 citra-qt/debug_utils: Use lock_guard everywhere
unique_lock were being used as lock_guards.
Also replaced manual lock/unlock by lock_guard for harmonization.
2015-07-26 16:28:44 +02:00
Lectem b335cce22e citra-qt/command list: Do not recreate a widget after each selection
Recreating / replacing a widget is slow since it triggers a layout pass.
2015-07-26 16:23:28 +02:00
Lectem e663751f8b citra-qt/command list: Add mask column 2015-07-26 16:23:12 +02:00
Lectem cd06f5cedb citra-qt/command list: monospace font on windows 2015-07-26 16:07:46 +02:00
Yuri Kunde Schlesner 1762267de4 OpenGL: Make OpenGL object resource wrappers fully inline
The functions are so simple that having them separate only bloats the
code and hinders optimization.
2015-07-26 10:58:58 -03:00
Tony Wasserka 72237a9305 Merge pull request #987 from yuriks/regnames
Videocore: Don't reinitialize register name map on every query.
2015-07-26 15:56:56 +02:00
Yuri Kunde Schlesner e130dac7de Videocore: Don't reinitialize register name map on every query
This greatly speeds up the command list debug widget.
2015-07-26 10:10:10 -03:00
Yuri Kunde Schlesner a99fb226fe Merge pull request #995 from linkmauve/remove-dead-option
Remove dead gpu_refresh_rate option from the default ini file
2015-07-26 05:18:39 -07:00
Emmanuel Gil Peyrot 168997df46 Citra: Remove dead gpu_refresh_rate option from the default ini file. 2015-07-26 13:16:51 +01:00
Tony Wasserka 7a132e2a77 Merge pull request #986 from Lectem/better_widgets
citra-qt: Improve pica command list widget.
2015-07-26 14:09:03 +02:00
Yuri Kunde Schlesner 4909a1486e Videocore: Simplify variables in vertex shader interpreter
Simplifies the code and gives a tiny speed-up.
2015-07-26 08:49:35 -03:00
Yuri Kunde Schlesner 877d2a0e48 Videocore: Replace std::stack in shader interpreter with static_vector
Shaves off 1/3rd of the vertex shader time in Fire Emblem
2015-07-26 08:49:35 -03:00
Yuri Kunde Schlesner 13347997ba VideoCore: #ifdef out some debugging routines
Some disabled debugging functionality was being called from rendering
routines in VideoCore. Although disabled, many of them still allocated
memory or did some extra work that was enough to show up in a profiler.
Gives a slight (~2ms) speedup.
2015-07-26 06:55:47 -03:00
Lioncash 03213f893e dyncom: Remove unnecessary initialization code.
Targeting ARM version variants was only a thing on armemu.

The reset routine also does basically the same thing as NewState.
2015-07-25 22:10:54 -04:00
Lioncash 3257d797e1 dyncom: Remove unnecessary abort-related cruft
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-25 22:10:53 -04:00
Lioncash dfb424b6d1 dyncom: Rename armdefs.h to armstate.h 2015-07-25 22:10:44 -04:00
Lioncash 4bb1a5ca47 dyncom: Get rid of skyeye typedefs 2015-07-25 20:52:10 -04:00
Lioncash 0191c26521 dyncom: Move helper functions to their own header 2015-07-25 20:35:18 -04:00
Lioncash 6b73e4566b dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common 2015-07-25 20:01:44 -04:00
Yuri Kunde Schlesner 453764aefc Merge pull request #989 from lioncash/extern
armdefs: Remove unnecessary extern keywords
2015-07-25 15:40:23 -07:00
Lioncash f7ba683dc3 armdefs: Remove unnecessary extern keywords 2015-07-25 18:32:57 -04:00
Lioncash 43d799fd9d loader: Remove unnecessary else usages 2015-07-25 18:10:13 -04:00
Lectem e286cfbadf citra-qt/command list: Enable uniform row heights and automatically resize columns.
Uniform row heights enables some optimisations for a smoother scrolling.
Resize columns to content so that we don't have to do it manually
2015-07-25 22:13:23 +02:00
Lectem 129e3dedc3 citra-qt/command list: Split register and value columns.
Also removed the extra spaces for each cell
2015-07-25 22:13:04 +02:00
Yuri Kunde Schlesner 24d7c05c8d Merge pull request #888 from zawata/Warning-Fixes-2
Core\HLE : Fix Warning
2015-07-25 12:55:34 -07:00
Yuri Kunde Schlesner 00529c71d4 Address error that remained in last merge 2015-07-25 16:54:51 -03:00
Yuri Kunde Schlesner 9a0f9f12cd Merge pull request #892 from zawata/another-warning-fixes
Yet More Warning Fixes
2015-07-25 12:50:32 -07:00
Yuri Kunde Schlesner 43e1f56ff5 Merge pull request #981 from Subv/checkboxes
Qt/GPU Breakpoints: Changed the widget to have a checkbox next to each bp type
2015-07-25 12:00:10 -07:00
Subv 599744921d Service/APT: Fixed a regression, PreloadLibraryApplet should also start an applet when called. 2015-07-23 21:32:30 -05:00
Subv ce31184557 Service/APT: Return proper parameters in GetLockHandle.
Documented some APT functions
This allows applets to boot.
2015-07-23 20:46:11 -05:00
Subv 23fd13dd64 Qt/GPU Breakpoints: Changed the widget so that we don't have to select and click the Enable button when enabling/disabling a breakpoint, now it is done via a checkbox next to the breakpoint's name. 2015-07-23 19:37:52 -05:00
Yuri Kunde Schlesner a989522384 Merge pull request #983 from yuriks/null-memory-fill
GSP: Don't try to write memory fill registers if start address is 0
2015-07-23 17:31:38 -07:00
Yuri Kunde Schlesner 3b61dd97e0 GSP: Don't try to write memory fill registers if start address is 0
Verified to be what GSP does via REing. Fixes invalid virt->phys
translation error spam in some games.
2015-07-23 21:20:01 -03:00
Tony Wasserka 1760eb5ca6 Merge pull request #980 from Subv/more_breakpoints
Qt/GPU Breakpoints: Added three more breakpoint types.
2015-07-24 01:58:11 +02:00
Yuri Kunde Schlesner 1fe9b0b82e VideoCore: Fix values of unset components in input attribute arrays
If an input attribute array had a field with less than 4 components, the
remaining components were left unset if not specified by a default
vertex attribute. If neither mechanism would set a component, it would
assume a garbage value.

It has been verified that the hardware behavior is to instead to set the
missing components from the fixed default of (0 0 0 1). The default
vertex attribute values aren't used at all if a vertex array is
specified for that attribute.

Fixes UI graphics on Fire Emblem: Awakening, a small texturing glitch
when selecting a character in Cubic Ninja, as well as eliminating the
unset-W hack which was required for Ocarina of Time to not have
garbled triangles.

This change has been tested against hardware.
2015-07-23 16:51:25 -03:00
Yuri Kunde Schlesner 4e09202226 VideoCore: Saturate vertex colors before interpolating
During testing, it was discovered that hardware does not interpolate
colors output by the vertex shader as-is. Rather, it drops the sign and
saturates the value to 1.0. This is done before interpolation, such that
(e.g.) interpolating outputs 1.5 and -0.5 is equivalent to as if the
shader had output the values 1.0 and 0.5 instead, with the interpolated
value never crossing 0.0.

This change has been tested against hardware.
2015-07-23 16:51:24 -03:00
Subv 6c0ea5f5e8 Qt/GPU Breakpoints: Added three more breakpoint types:
* IncomingDisplayTransfer: Triggered just before a display transfer is performed.
* GSPCommandProcessed: Triggered right after a GSP command is processed.
* BufferSwapped: Triggered when the frames flip
2015-07-23 11:47:34 -05:00
bunnei cea45af64d Merge pull request #977 from yuriks/glenable-tex2d
GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
2015-07-23 10:07:35 -04:00
Subv 7b4961e968 Rasterizer/GL: Set the border color when binding a texture. 2015-07-22 18:41:37 -05:00
Yuri Kunde Schlesner e5c4fe0098 GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
In OpenGL 3, texturing is always enabled, and this call is invalid.
While it produced no effect in the rest of the execution, it wouldn't
have the intended effect of disabling texturing for that unit. Instead
bind a null texture to the unit.
2015-07-22 01:22:09 -03:00
bunnei 3a5352baf8 Merge pull request #968 from Subv/texture_filtering
GPU: Added registers for min and mag texture filters
2015-07-21 18:27:50 -04:00
bunnei 4a9e97d67d Merge pull request #962 from Subv/am_app
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
2015-07-21 18:26:31 -04:00
Subv 009e34f08a GPU: Added registers for min and mag texture filters and implemented them in the hw renderer. 2015-07-21 16:26:09 -05:00
bunnei d0b45d45b5 Merge pull request #966 from Subv/log
Services/Logging: Log more useful information when some operations fail.
2015-07-21 15:14:35 -04:00
Subv f5bff67b0b Services/Logging: Log more useful information when some operations fail.
Namely OpenFileDirectly, OpenDirectory and OpenArchive
2015-07-21 13:49:08 -05:00
bunnei dcc8f1bef2 Merge pull request #957 from Subv/hwtest_crash
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
2015-07-21 12:11:48 -04:00
Tony Wasserka aa6dfdb827 Merge pull request #929 from neobrain/geoshader_definitions
Pica/Shader: Add geometry shader definitions.
2015-07-21 15:24:48 +02:00
Lioncash 043b2f882a Merge pull request #964 from lioncash/svc
dyncom: Pass SVC immediates directly.
2015-07-21 05:49:05 -04:00
Yuri Kunde Schlesner a48aa4f924 Resolve issue accidentally left unaddressed in PR #930 2015-07-21 06:48:30 -03:00
Lioncash c2689b8c2c dyncom: Pass SVC immediates directly.
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-21 03:56:29 -04:00
Sebastian Valle baba0efcd1 Merge pull request #959 from Subv/home
Services/CFG: Added some missing functions to cfg:s
2015-07-21 01:28:02 -05:00
Subv 13f93a0188 Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
Named the service functions in am:app as per 3dbrew.

This fixes an illegal read loop in Steel Diver
2015-07-21 00:12:13 -05:00
Yuri Kunde Schlesner 8833852acd Merge pull request #930 from neobrain/copypaste_commandlist
citra-qt: Add support for copying the command list contents to clipboard.
2015-07-20 21:44:57 -07:00
Subv 38a7f1b727 Services/CFG: Added some missing functions to cfg:s 2015-07-20 19:52:07 -05:00
Subv 275aaeef9c Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
They'll be reset if needed during the next svcWaitSynchronization call (if there's any pending)
2015-07-20 17:15:54 -05:00
bunnei cd2bb2dc69 Merge pull request #939 from Subv/queryprocmem
Kernel/SVC: Implemented svcQueryProcessMemory
2015-07-20 00:34:41 -04:00
bunnei 863a963911 Merge pull request #951 from Subv/bit5
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
2015-07-19 22:42:44 -04:00
bunnei 9a3b21bcf9 Merge pull request #944 from Subv/spam
GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist.
2015-07-19 22:40:57 -04:00
bunnei 21a696abde Merge pull request #946 from archshift/update-frdu
Add more frd:u unknown service commands from 3dbrew
2015-07-19 22:39:51 -04:00
zawata 395e63d5aa SOC:U : Update deprecated function gethostbyname() to getaddrinfo() 2015-07-19 19:32:12 -07:00
Subv 63dbff9b1f GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
It tells the GPU to not swizzle/de-swizzle the input during the transfer.
2015-07-19 21:30:42 -05:00
Lioncash a2f0a3d019 dyncom: Properly retrieve the PC value in BX if used. 2015-07-19 22:20:14 -04:00
Yuri Kunde Schlesner ae985bf500 Pica: Correct switched S/T texture wrapping registers
This was found and hwtested by Lectem
2015-07-19 19:27:23 -03:00
Yuri Kunde Schlesner 5a75cf8fd2 Pica: Fix DP3 instruction, which wasn't assigning to the w component 2015-07-19 19:01:59 -03:00
archshift 84a88005e2 Change trace/unimplemented service call logs to use hex
Changes the log to use hex in the parameter list instead of decimal.
2015-07-19 13:34:38 -07:00
archshift d1e6afaba1 Add more frd:u unknown service commands from 3dbrew 2015-07-19 13:30:20 -07:00
Subv a694caeee0 GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist. 2015-07-19 14:09:23 -05:00
Subv 3600c32483 Rasterizer/Textures: Fixed a bug where the I4 format would get twice the real stride.
Also added its name to the texture viewer widget
2015-07-19 13:15:23 -05:00
zawata 6933a50aeb Vertex Shader : Undo casting 2015-07-19 04:12:42 -07:00
zawata 04756bdaf6 Video_Core : Type fixes 2015-07-19 04:12:40 -07:00
zawata 972dccc3f6 Core : Change variable type
and fix various warnings
2015-07-19 04:12:39 -07:00
zawata f7050021de Video_Core: Finally fix pesky warning 2015-07-19 04:08:44 -07:00
zawata c66b5ca3d9 Citra_QT : Another Conversion Warning Fix 2015-07-19 03:59:52 -07:00
zawata 017437e8d7 Video_Core : Change Tabs to Spaces
This really should be universalized, I keep getting errors creating
commits because lines I've edited use tabs instead of spaces(and yes I
did read the contributing guide and i know they are supposed to be
spaces)
2015-07-19 03:59:50 -07:00
zawata 716120da3d Video_Core : Fix Conversion Warnings 2015-07-19 03:59:49 -07:00
zawata 1be1ff23a9 Core : Fix Conversion Warnings 2015-07-19 03:59:47 -07:00
zawata 6e9a6ca6bf Common : Fix Conversion Warnings 2015-07-19 03:59:46 -07:00
zawata 3c802b06e9 Citra_QT : Fix Conversion Warnings 2015-07-19 03:59:44 -07:00
Yuri Kunde Schlesner 71be5853e0 Merge pull request #941 from citra-emu/armv6-thumb-mov
Dyncom: Support for a new ARMv6 Thumb MOV encoding
2015-07-18 12:49:02 -07:00
Emmanuel Gil Peyrot fcdc8118eb Common: Remove the unused and commented GetThemeDir prototype from FileUtil. 2015-07-18 13:08:19 +01:00
Yuri Kunde Schlesner 13286903e6 Dyncom: Support for a missing ARMv6 Thumb MOV encoding 2015-07-18 03:41:49 -03:00
Subv 83fa3f977d Kernel/SVC: Implemented svcQueryProcessMemory 2015-07-17 14:55:35 -05:00
Yuri Kunde Schlesner 41513cfb0c Merge pull request #938 from Subv/querymem
Kernel/SVC: Implemented svcQueryMemory.
2015-07-17 12:33:26 -07:00
Subv 9e2962081a Kernel/SVC: Implemented svcQueryMemory. 2015-07-17 11:03:56 -05:00
bunnei 32be6a4553 Merge pull request #937 from yuriks/codeset-leak
Ensure all kernel objects are released during shutdown
2015-07-17 11:03:28 -04:00
zawata f723a498e7 Core\HLE : Fix Warning
"signed/unsigned mismatch"
2015-07-17 00:50:53 -07:00
Yuri Kunde Schlesner dc39d06950 Ensure all kernel objects are released during shutdown
This commit fixes several kernel object leaks. The most severe of them
was threads not being removed from the private handle table used for
CoreTiming events. This resulted in Threads never being released, which
in turn held references to Process, causing CodeSets to never be freed
when loading other applications.
2015-07-17 02:24:13 -03:00
Lioncash 23dbbb786a arm_dyncom_interpreter: Simplify assignment in SMLAW
Also a side-benefit of not having implementation-defined behavior.
2015-07-16 22:08:12 -04:00
bunnei 946f0ee2f4 Merge pull request #918 from yuriks/romfs
Do not load entire RomFS to memory, read from the file as needed instead (rebased)
2015-07-16 18:08:46 -04:00
Tony Wasserka 7fd03750bd citra-qt: Add support for copying the command list contents to clipboard. 2015-07-15 17:51:59 +02:00
Tony Wasserka 33568494af Pica/Shader: Add geometry shader definitions. 2015-07-15 17:31:57 +02:00