Commit graph

3762 commits

Author SHA1 Message Date
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
f80db5278e OpenGL: Support blend equation 2016-05-12 22:57:40 +02:00
MerryMage
c968b5d014 Microprofile: DPI-aware drawing 2016-05-12 21:49:02 +01: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
Lioncash
12d046e185 vertex_loader: Correct forward declaration of InputVertex
It's actually a struct, not a class.
2016-05-08 23:08:18 -04:00
Lioncash
2d9e082cca 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
14eab63906 vertex_loader: Add constructors to facilitate immediate and two-step initialization 2016-05-08 23:03:32 -04:00
Lioncash
7e5de3e7be vertex_loader: initialize_num_total_attributes.
Keeps the public API sane.
2016-05-08 23:03:32 -04:00
Lioncash
9452d8f06e vertex_loader: Use std::array instead of raw C arrays 2016-05-08 23:03:32 -04:00
Lioncash
5a389ce320 vertex_loader: Correct header ordering 2016-05-08 23:01:26 -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