Sebastian Valle and GitHub
3e4cc6b3d2
Merge pull request #2330 from lioncash/pragma
...
core: Add missing #pragma once directives where applicable
2016-12-15 16:06:43 -05:00
Sebastian Valle and GitHub
ec9130de8d
Merge pull request #2317 from yuriks/vertex-copy
...
VideoCore: Eliminate an unnecessary copy in the drawcall loop
2016-12-15 00:16:04 -05:00
Subv
016307ae65
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:45:36 -05:00
Sebastian Valle and GitHub
c96acc1941
Merge pull request #2166 from endrift/clang-detect
...
CMakeLists: Autodetect clang and only then use libc++
2016-12-13 12:46:42 -05:00
Sebastian Valle and GitHub
da995a4377
Merge pull request #2315 from JamePeng/fix-gsp_gpu-code
...
Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code
2016-12-13 07:32:14 -05:00
Sebastian Valle and GitHub
0f28ed9ce8
Merge pull request #2275 from jbeich/pthread
...
Unbreak QT-only build after 75ee2f8c67
2016-12-11 14:45:35 -05:00
Sebastian Valle and GitHub
2589c30cbe
Merge pull request #2267 from JayFoxRox/fix-mingw-cc
...
Support mingw cross-compilation
2016-12-11 14:44:21 -05:00
Sebastian Valle and GitHub
77fd4f4237
Merge pull request #2154 from mailwl/apt-getstartupargument
...
APT::GetStartupArgument: force clear startup argument
2016-12-11 14:40:44 -05:00
Subv
ebbb55ec8f
Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
2016-12-09 12:52:12 -05:00
Subv
deb83c9fc5
Kernel/IPC: Small codestyle cleanup
2016-12-09 12:39:12 -05:00
Sebastian Valle and GitHub
998390ac1a
Merge pull request #2280 from Subv/citrace_size
...
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:45:53 -05:00
Subv
5719467add
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:21:02 -05:00
Subv
386112da32
Added a framework for partially handling Session disconnections.
...
Further implementation will happen in a future commit.
Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv
f9bcf89510
Use std::move where appropriate.
2016-12-08 11:06:19 -05:00
Subv
c93c5a72bb
Return an error code when connecting to a saturated port.
...
The error code was taken from the 3DS kernel.
2016-12-05 13:59:57 -05:00
Subv
61a2fe8c3b
HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time.
2016-12-05 13:44:41 -05:00
Subv
00f0c77570
Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
...
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05 12:05:00 -05:00
Subv
29d809b6e1
Kernel: Remove the Redirection handle type.
2016-12-05 11:13:22 -05:00
Subv
dd8887c8cf
KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
2016-12-05 11:02:08 -05:00
Subv
a088ebe903
Dynarmic: Update dynarmic to version
...
54d051977f7a6af9c7596ba6a4e6eb467bd1e0bc
dynarmic log:
54d0519 emit_x64: Use movdqa instead of movaps in EmitPackedSubU8
52e1445 Implement USUB8:33 2016 +0000
5c1aab1 Implement CLZ
1a1646d Implement UADD8
7cad694 IR: Implement new pseudo-operation GetGEFromOp
370f654 fuzz_arm: Add tests for parallel add/subtract (modulo)
25f21b5 emit_x64: Inline nzcv computation into EmitFPCompare32 and EmitFPCompare64
52fdec5 CMakeLists: Add support for LLVM on Windows
cede5e4 emit_x64: Use xorps/xorpd when argument to TransferToFP32/TransferToFP64 is an immediate zero
e166965 Implement VCMP2:33 2016 +0000
f2fe376 Support 64-bit immediates
ff00b8c Document register allocator and return stack buffer optimization
95f34c6 reg_alloc: Remove unnecessary breaks after returns (#54 )
dc9707e externals: Update xbyak to 5.32
de1f831 microinstruction: Make use_count private (#53 )
3621a92 reg_alloc: Register allocator related constraints belong with the rest of the register allocator
2016-12-04 21:40:12 -05:00
Subv
2ce61344d6
Declare empty ServerSession and ClientSession constructors as default.
2016-12-02 22:58:02 -05:00
Subv
ed210c32b3
Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.
2016-12-01 10:47:06 -05:00
Subv
2eceee3a4c
Fixed the rebase mistakes.
2016-11-30 23:28:31 -05:00
Subv
009b15b3aa
A bit of a redesign.
...
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 23:12:35 -05:00
Subv
c5e7e0fa26
IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
...
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-11-30 23:04:00 -05:00
Subv
c19afd2118
Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
...
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
2016-11-30 23:03:59 -05:00
Subv
0a33d915f8
fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-11-30 23:02:06 -05:00
Subv
073653e858
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
...
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions.
Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed.
HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-30 23:02:05 -05:00
Sebastian Valle and GitHub
e27d824768
Merge pull request #2243 from MerryMage/r15
...
dynarmic: Fix ABI violation
2016-11-30 17:41:20 -05:00
Subv
e3e4f27447
ClangFormat: Fixed the clang-format errors
2016-11-30 09:37:37 -05:00
Sebastian Valle and GitHub
e5a7f2ef29
Merge pull request #1820 from mailwl/service-ver
...
Set client SDK version to Service APIs
2016-11-30 08:04:23 -05:00
Subv
aea9a91100
Build: Fixed a few warnings.
2016-11-29 16:51:53 -05:00
Sebastian Valle and GitHub
4ba5acdaff
Merge pull request #2132 from wwylele/fix-fs-err
...
Correct FS error codes & add path boundary checks
2016-11-27 18:56:56 -05:00
Subv
d171409f29
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
2016-11-27 18:03:48 -05:00
Subv
4623415026
RasterizerGL: Use GL_TRUE and 0xFF in the stencil and depth masks instead of simply true and -1
2016-11-27 13:09:11 -05:00
Subv
743b0e71d9
Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
2016-11-27 12:16:10 -05:00
Sebastian Valle and GitHub
d3b7f57b2b
Merge pull request #2168 from mailwl/mic
...
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
Subv
1323ab2f5f
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
2016-11-19 20:40:04 -05:00
Sebastian Valle and GitHub
6c8857d2bb
Merge pull request #2192 from Subv/applet_enums
...
APT/Applets: Renamed the members of the SignalType enum.
2016-11-19 20:30:26 -05:00
Subv
050e9be15b
GPU/CiTrace: Avoid calling GetTextures() when not necessary.
2016-11-19 19:27:00 -05:00
Subv
4ab8692475
Kernel/Events: Log an error when trying to create Pulse events and timers.
...
Related to #1904
2016-11-19 14:00:08 -05:00
Subv
d7ab4fd53d
APT/Applets: Renamed the members of the SignalType enum.
...
Names now make sense and match 3dbrew.
2016-11-19 13:42:07 -05:00
Sebastian Valle and GitHub
ff2d1a2b74
Merge pull request #1921 from Subv/fs_funcs
...
HLE/FS: Document some command parameters and implemented command 0x08560240
2016-07-05 14:45:40 -07:00
Sebastian Valle and GitHub
51f4a9fd32
Merge pull request #1850 from mailwl/erreula
...
HLE/Applets: Implement ErrEula applet
2016-07-04 08:52:42 -07:00
Subv
8752f07e8e
HLE/FS: Document some command parameters and implemented command 0x08560240 (CreateLegacySystemSaveData)
2016-07-03 13:42:52 -05:00
Sebastian Valle and GitHub
b48b8ed5e5
Merge pull request #1935 from wwylele/fix-result-module
...
Result: Update the ErrorModule enum
2016-07-03 07:24:29 -07:00
Subv and Yuri Kunde Schlesner
f9be06b15f
PICA: Implement scissor test
2016-06-27 21:14:13 -07:00
Subv
7b445ddff0
Kernel/SVC: Implemented svcCreatePort.
2016-06-11 08:37:37 -05:00
Subv
3d9fbffbab
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
Subv
0aef634a54
Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions.
2016-05-28 13:52:50 -05:00
Subv
660499ac01
Memory: Make ReadBlock and WriteBlock accept void pointers.
2016-05-28 13:52:49 -05:00
Subv
99695d03d2
SOC_U: Remove usage of GetPointer
2016-05-28 13:52:49 -05:00
Subv
64da2bf0cd
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
Subv
ac2de12ed8
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
d261984f54
Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory.
2016-05-12 20:01:59 -05:00
Subv
abf8dcd700
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
5679d066b5
Kernel/SharedMemory: Log an error when Map fails.
2016-05-12 20:01:27 -05:00
Subv
0fb6d2a247
Kernel: Implemented shared memory permissions.
2016-05-12 20:01:26 -05:00
Subv
9005cda664
APT: Implement relocating the shared font to its true address.
2016-05-12 20:01:20 -05:00
Subv
f72bd57212
Kernel/Memory: Remove the Shared Memory region from the legacy memory map.
2016-05-12 20:00:33 -05:00
Subv
1bd0cf542f
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
42a50da76b
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
Subv
5b7f86708c
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
d192fb066d
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
Subv
6970b7d3d5
HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets.
2016-05-07 10:01:40 -05:00
Sebastian Valle
24d064e830
Merge pull request #1706 from mailwl/mii-selector
...
Layout Mii parameters input/output, and return success as result of applet work
2016-05-05 12:56:36 -07:00
Subv
f707026ac5
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
3aa42627a3
HLE/FS: Corrected some style concerns.
2016-03-20 14:52:26 -05:00
Subv
95380d8950
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
d26c6b3212
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
9b2d643451
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
95b34f8081
HLE/FS: Return the proper error codes when opening files.
2016-03-20 14:28:22 -05:00
Subv
802ef6d099
HLE/FS: Fixed the OpenDirectory error code
2016-03-20 14:28:19 -05:00
Subv
96f0e32f83
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
09b0564c75
HLE/FS: Corrected the error codes for DeleteFile
2016-03-20 14:28:14 -05:00
Subv
b350f192bb
HLE/FS: Corrected the error codes for CreateFile
2016-03-20 14:28:10 -05:00
Subv
381a5c053f
HLE/FS: FS::CreateFile takes an u64 for the file size.
2016-03-20 14:28:08 -05:00
Subv
0f8be2d2cc
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
Subv
922b31ebbd
DiskDirectory: Initialize the directory member with valid info.
2016-01-16 09:30:29 -05:00
Subv
d90d5a0ee6
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
Subv
6cccc36505
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
Subv
29032ce9b6
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
Subv
282f2c8042
HLE/Sockets: Fixed the buffer offset in recvfrom.
...
Closes #1277
2015-12-24 09:19:27 -05:00
Subv
7b33e163b9
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
Subv
1d02eb0587
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
Subv
434ae89a6a
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
Subv
823ce62f2f
FragShader: Use an UBO instead of several individual uniforms
2015-11-18 21:03:56 -05:00
Subv
7a37dba75b
GPU/Loaders: Log an error when a loader tries to load from a component beyond the available ones (12).
...
Related to #1170
2015-11-09 21:16:11 -05:00
Subv and bunnei
e3f4233cef
Initial implementation of fragment shader generation with caching.
2015-10-21 21:51:23 -04:00
Subv
58a04c0776
Pica: Added the primitive_restart register (0x25f) to the registers map.
2015-08-31 09:14:18 -05:00
Subv
149ea561a6
Pica: Add the vertex_offset register to the Pica registers map.
2015-08-31 07:02:30 -05:00
Subv
12a11472f1
GPU: Implemented register 0x22A.
...
This is the equivalent of the "first" parameter in glDrawArrays, it tells the GPU the vertex index at which to start rendering.
Register 0x22A doesn't affect indexed rendering.
2015-08-30 15:46:22 -05:00
Subv
ce6a65cec9
Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
...
Closes #1067
2015-08-28 22:01:03 -05:00
Subv
583d777b1a
HWRenderer: Added a workaround for the Intel Windows driver bug that causes glTexSubImage2D to not change the stencil buffer.
...
Reported here https://communities.intel.com/message/324464
2015-08-24 11:28:28 -05:00
Subv
d1b9383d86
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint.
2015-08-23 15:26:17 -05:00
Subv
0c7da9b815
HWRasterizer: Implemented stencil ops 6 and 7.
2015-08-21 11:05:56 -05:00
Subv
7c1f84a92b
SWRasterizer: Implemented stencil ops 6 and 7.
...
IncrementWrap and DecrementWrap, verified with hwtests.
2015-08-21 11:01:42 -05:00
Subv
e43eb130d4
HWRasterizer: Implemented stencil op 1 (GL_ZERO)
2015-08-21 10:59:49 -05:00
Subv
fef1462371
SWRasterizer: Implemented stencil action 1 (GL_ZERO).
...
Verified with hwtests.
2015-08-21 10:35:25 -05:00
Subv
b3e530d005
SWRasterizer: Removed a todo. Verified with hwtests.
2015-08-21 10:09:15 -05:00