Commit graph

3962 commits

Author SHA1 Message Date
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
bunnei
5e5698bebd Merge pull request #1783 from JayFoxRox/cleanup-shadersetup
Cleanup ShaderSetup (Part 1)
2016-05-12 19:32:44 -04: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
bunnei
5a855ff6fd Merge pull request #1780 from JayFoxRox/shadersetup-class
Turn ShaderSetup into a class
2016-05-11 21:37:47 -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
Mat M
50228cb631 Merge pull request #1773 from lioncash/debug-build
gl_rasterizer: Fix compilation for debug builds
2016-05-10 09:52:05 -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
bunnei
1837b9173e Merge pull request #1770 from lioncash/format
source: Fix missing logging arguments
2016-05-09 10:37:15 -04:00
Lioncash
bb6bae806e source: Fix missing logging arguments
Silences two warnings on OSX.
2016-05-09 09:41:03 -04:00
bunnei
16968b9333 Merge pull request #1768 from lioncash/swap
Swap: Minor changes
2016-05-09 09:04:15 -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