Commit graph

3738 commits

Author SHA1 Message Date
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