Commit graph

3659 commits

Author SHA1 Message Date
Jannik Vogel
e3e38a80cb OpenGL: Only update depth uniforms if the depth changed 2016-05-14 10:31:18 +02:00
Jannik Vogel
994bc4d6f5 OpenGL: value-initialize variables which cause uninitialised access otherwise 2016-05-14 10:16:11 +02:00
bunnei
3f87b6ce66 Merge pull request #1689 from Subv/shmem
Kernel: Implemented shared memory.
2016-05-13 15:33:44 -04:00
Tony Wasserka
fdeb001799 Merge pull request #1788 from MerryMage/ext-soundtouch
gitmodules: citra-emu/soundtouch → citra-emu/ext-soundtouch
2016-05-13 12:34:24 +02:00
MerryMage
8919b88d0b gitmodules: citra-emu/soundtouch → citra-emu/ext-soundtouch 2016-05-13 11:31:36 +01:00
bunnei
c76499c566 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
ff3b1bf8fa 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
4c39ed52ae Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory. 2016-05-12 20:01:59 -05:00
Subv
1fa691c8ac 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
79d5e41847 Kernel/SharedMemory: Log an error when Map fails. 2016-05-12 20:01:27 -05:00
Subv
4745e9b917 Kernel: Implemented shared memory permissions. 2016-05-12 20:01:26 -05:00
Subv
9d5298b38d APT: Implement relocating the shared font to its true address. 2016-05-12 20:01:20 -05:00
Subv
75bb1e322a Kernel/Memory: Remove the Shared Memory region from the legacy memory map. 2016-05-12 20:00:33 -05:00
Subv
5e39c5f6a5 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
92f55aff1c 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
bunnei
4a50a267f5 Merge pull request #1783 from JayFoxRox/cleanup-shadersetup
Cleanup ShaderSetup (Part 1)
2016-05-12 19:32:44 -04:00
Jannik Vogel
ae5cec8040 Move program_counter and call_stack from UnitState to interpreter 2016-05-12 19:05:42 +02:00
Jannik Vogel
6db8a8fb39 Move default_attributes into Pica state 2016-05-12 19:05:41 +02:00
bunnei
abad1b59c5 Merge pull request #1690 from JayFoxRox/tex-type-3
Pica: Implement texture type 3 (Projection2D)
2016-05-11 21:47:08 -04:00
bunnei
cc44212253 Merge pull request #1780 from JayFoxRox/shadersetup-class
Turn ShaderSetup into a class
2016-05-11 21:37:47 -04:00
Jannik Vogel
631bae020f Turn ShaderSetup into struct 2016-05-11 23:48:24 +02:00
Jannik Vogel
e07857080c OpenGL: Implement texture type 3 2016-05-11 08:07:37 +02:00
Jannik Vogel
03dba17816 Rasterizer: Implement texture type 3 2016-05-11 08:07:36 +02:00
Jannik Vogel
1fe9ac4c45 Pica: Add tc0.w to OutputVertex 2016-05-11 08:07:36 +02:00
Jannik Vogel
22df1fdc1e Pica: Add texture type to state 2016-05-11 08:07:36 +02:00
bunnei
88c2a427ac Merge pull request #1621 from JayFoxRox/w-buffer
Implement W-buffer and fix depth-mapping
2016-05-10 23:00:40 -04:00
bunnei
053add1b26 Merge pull request #1774 from lioncash/warn
gdbstub: Silence missing prototype warnings
2016-05-10 12:14:41 -04:00
Mat M
68ed1cdccc Merge pull request #1773 from lioncash/debug-build
gl_rasterizer: Fix compilation for debug builds
2016-05-10 09:52:05 -04:00
Lioncash
3e1e2007b9 gl_rasterizer: Fix compilation for debug builds 2016-05-10 09:22:02 -04:00
Lioncash
26b0cdf01d gdbstub: Silence missing prototype warnings 2016-05-10 09:17:07 -04:00
Jannik Vogel
9c80e7dc38 OpenGL: Implement W-Buffers and fix depth-mapping 2016-05-10 08:58:52 +02:00
Jannik Vogel
3126ec23d6 Pica: Implement W-Buffer in SW rasterizer 2016-05-10 08:58:52 +02:00
linkmauve
268315ea2b 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
f962670da3 Merge pull request #1771 from lioncash/user
dyncom: Reset the context into user mode correctly
2016-05-09 18:54:09 -04:00
Lioncash
6c54bbf535 dyncom: Reset the context into user mode correctly
The other mode was system mode.
2016-05-09 16:30:55 -04:00
bunnei
894757b15a Merge pull request #1770 from lioncash/format
source: Fix missing logging arguments
2016-05-09 10:37:15 -04:00
Lioncash
0dff30a742 source: Fix missing logging arguments
Silences two warnings on OSX.
2016-05-09 09:41:03 -04:00
bunnei
846d536c97 Merge pull request #1768 from lioncash/swap
Swap: Minor changes
2016-05-09 09:04:15 -04:00
Lioncash
c7fd08b159 swap: Get rid of pointer casting for swapping structs
These shouldn't haphazardly convert types
2016-05-08 23:33:52 -04:00
Lioncash
f1d727abfb 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
26dabace31 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
bunnei
9b7bde02af 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
ade5cd59ff 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
aa4427e490 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
68edf2783a 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
4d43661da7 Merge pull request #1736 from MerryMage/sdl2-sink
AudioCore: SDL2 Sink
2016-05-07 11:08:13 -04:00
Subv
0ae7542a1c 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
0fe512caeb AudioCore: SDL2 Sink 2016-05-07 11:32:48 +01:00