Commit graph

4030 commits

Author SHA1 Message Date
Yuri Kunde Schlesner
b3e13d653f Kernel/IPC: Support translation of null handles
Missed this in my first implementation. Thanks to @wwylele for pointing
out that this was missing.
2017-06-21 14:27:03 -07:00
Weiyi Wang
d910f9cc85 Merge pull request #2789 from yuriks/misc-kernel
Trivial no-op additions
2017-06-21 20:34:12 +03:00
Yuri Kunde Schlesner
03964e9cd2 Merge pull request #2790 from yuriks/remove-movefrom
Remove ResultVal::MoveFrom
2017-06-20 22:04:09 -07:00
Yuri Kunde Schlesner
2cb9a2538b Memory: Add enum definitions for the n3DS FCRAM size 2017-06-20 22:03:25 -07:00
Sebastian Valle
b91c1e214c Merge pull request #2779 from Subv/uds_more2
UDS: Added a hook for updating the connection status when a client connects to the network.
2017-06-21 02:29:00 +00:00
Yuri Kunde Schlesner
c27dad4cd1 ResultVal: Remove MoveFrom()
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
2017-06-18 19:03:15 -07:00
Yuri Kunde Schlesner
ec6a30b8bb ResultVal: Add an rvalue overload of Unwrap() 2017-06-18 18:49:46 -07:00
Yuri Kunde Schlesner
41376f050a Kernel: Add comment about the extended linear heap area 2017-06-18 18:38:40 -07:00
Yuri Kunde Schlesner
d8ee9cb5c3 Kernel/IPC: Add tests for HLERequestContext buffer translation 2017-06-18 16:05:58 -07:00
Yuri Kunde Schlesner
6382e341f8 Kernel/IPC: Make HLERequestContext usable from outside kernel 2017-06-18 16:05:12 -07:00
Yuri Kunde Schlesner
2f5b8ebc73 Merge pull request #2776 from wwylele/geo-factor
Fragment lighting: implement geometric factor
2017-06-18 14:18:48 -07:00
wwylele
7318329bbb gl_rasterizer/lighting: use the formula from the paper for germetic factor 2017-06-18 10:29:02 +03:00
Yuri Kunde Schlesner
ccdeacf149 Stop using reserved operator names (and/or/xor) with Xbyak
Also has the Dynarmic upgrade with the same change
2017-06-17 12:20:22 -07:00
Subv
8cc1a34f7e UDS: Added a hook for updating the connection status when a client connects to the network. 2017-06-15 11:57:49 -05:00
wwylele
a8f1a9cbb4 gl_rasterizer/lighting: implement geometric factor 2017-06-15 14:59:01 +03:00
Yuri Kunde Schlesner
186edf7ed7 Merge pull request #2762 from wwylele/light-cp-tangent
Fragment lighting: implement lut input 5 (CP) and tangent mapping
2017-06-14 20:08:26 -07:00
Yuri Kunde Schlesner
b865e7904d Merge pull request #2743 from wwylele/wrap-fix
pica/rasterizer: implement/stub texture wrap mode 4-7
2017-06-13 21:28:12 -07:00
Sebastian Valle
cc8c999994 Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network. (#2738)
* Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network.

This lets the application know that the host was successfully added to the session.

* Services/UDS: Reset the connection status when destroying the network

* Services/UDS: Reset the connection status's bitmask of changed nodes after reporting it to the game.
2017-06-13 22:00:58 +03:00
Yuri Kunde Schlesner
0056022b1d Merge pull request #2767 from yuriks/quaternion-flip-comment
OpenGL: Update comment on AreQuaternionsOpposite with new information
2017-06-12 16:31:55 -07:00
Yuri Kunde Schlesner
8542637065 Merge pull request #2774 from yuriks/hle-handles
Add basic support for IPC translation for HLE services
2017-06-11 21:39:49 -07:00
Yuri Kunde Schlesner
48b7e2b061 Kernel/IPC: Use boost::small_vector for HLE context objects 2017-06-11 16:34:13 -07:00
Yuri Kunde Schlesner
192a95390e Kernel: Allow clearing request_objects to re-use buffer space
Reduces the necessary allocation to max(in_handles, out_handles) rather
than (in_handles + out_handles).
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
e639024013 Kernel: Basic support for IPC translation for HLE services 2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
7747a25345 Service/sm: Convert srv: to use IPC helpers 2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
a74dbc2c24 IPC: Add Pop/PushObjects methods to RequestParser/Builder
These use the context functions to create and look-up handles for the
user.
2017-06-11 13:10:20 -07:00
Yuri Kunde Schlesner
2102e5e907 IPC: Add basic HLERequestContext support to RequestParser/Builder 2017-06-11 13:10:16 -07:00
Yuri Kunde Schlesner
ccba9e903f Kernel: Add methods in HLERequestContext abstracting handle creation 2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner
1e8c1ed676 ServiceFramework: Use separate copy of command buffer
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
2017-06-11 13:07:33 -07:00
wwylele
bd01da889f gl_rasterizer/lighting: Implement tangent mapping 2017-06-11 21:30:53 +03:00
wwylele
8b2aeb449c gl_rasterizer/lighting: implement lut input 5 (CP) 2017-06-11 21:30:53 +03:00
Sebastian Valle
e789d1f1c4 Merge pull request #2727 from wwylele/spot-light
Fragment lighting: implement spot light
2017-06-11 18:23:47 +00:00
Yuri Kunde Schlesner
5903948a7a OpenGL: Update comment on AreQuaternionsOpposite with new information
While debugging the software renderer implementation, it was noticed
that this is actually exactly what the hardware does, upgrading the
status of this "hack" to being a proper implementation. And there was
much rejoicing.
2017-06-10 01:55:17 -07:00
Kloen Lansfiel
715eb0dee5 Remove unused import in break_points.cpp (#2763) 2017-06-08 21:16:46 -07:00
Yuri Kunde Schlesner
74aaf0d5c7 Merge pull request #2756 from yuriks/service-framework
New service framework
2017-06-08 21:03:03 -07:00
Yuri Kunde Schlesner
211fea5441 Service/sm: Convert 'srv:' to ServiceFramework 2017-06-08 20:59:19 -07:00
Yuri Kunde Schlesner
5a6d4a2f19 Session: Remove/add some forward declarations 2017-06-08 00:33:57 -07:00
Yuri Kunde Schlesner
82a355b3cd Kernel: Ensure objects are kept alive during ClientSession disconnection
Fixes #2760
2017-06-08 00:33:24 -07:00
Yuri Kunde Schlesner
147ec9e842 Service: Remove a few redundant namespace qualifiers 2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
0a7f4f531f Service: Add new ServiceFramework framework for writing HLE services
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)

The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
2017-06-08 00:11:37 -07:00
James Rowe
5639a00972 Merge pull request #2737 from Subv/decryptbeacondata
Services/UDS: Implement DecryptBeaconData.
2017-06-07 10:08:43 -06:00
Yuri Kunde Schlesner
1e267fd653 Kernel: Remove some unnecessary namespace qualifications 2017-06-06 14:51:42 -07:00
Subv
656f26c4df Services/UDS: Implement DecryptBeaconData.
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
2017-06-06 11:31:20 -05:00
Yuri Kunde Schlesner
f68fd997cd Service: Remove unnecessary includes from service.h
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
Yuri Kunde Schlesner
0e3e091a0d Service: Make service registration part of the sm implementation
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
d9e7be32de Service/sm: Use an actual semaphore for the notification semaphore
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
c17330e05f Service: Move SRV interface to a new sm/ subdirectory
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
8a35f3634e Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner
9dd1fd5b9e ResultVal: Add more convenience utils for creating and cascading results 2017-06-06 00:51:57 -07:00
Yuri Kunde Schlesner
41a3feea66 HLE: Move SessionRequestHandler from Service:: to Kernel::
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
2017-06-05 23:40:11 -07:00
wwylele
a13b327035 pica/rasterizer: implement/stub texture wrap mode 4-7 2017-06-04 09:47:25 +03:00