Commit graph

51 commits

Author SHA1 Message Date
N00byKing 1212e9e231 Clean Warnings (?) 2018-03-19 17:07:08 +01:00
bunnei bae5ccd6d2 vi: Remove DequeueBuffer and wait until next available buffer. 2018-03-18 20:56:35 -04:00
Subv 26797bd41c Parcel: Ensure we don't read past the end of the parcels in Vi. 2018-02-17 14:00:44 -05:00
Subv 34f6578f62 Vi: Mark all fences as NO_FENCE in the DequeueBuffer response parcel. 2018-02-17 14:00:30 -05:00
Subv 5172ce6d8f Vi: Always write the IGBPBuffer in the RequestBuffer response parcel.
This may break libnx homebrew due to a bug in libnx but is required by official games since they always assume that the buffer will be there.
2018-02-17 13:59:45 -05:00
Subv d3f8e79fc5 Vi: Mark the fences as valid in the DequeueBuffer response parcel. 2018-02-14 22:57:56 -05:00
Subv 9ec8dcff8a Vi: Added a missing u32 in the DequeueBuffer response parcel. 2018-02-14 22:57:56 -05:00
Subv f449136900 Vi: Don't write the IGBPBuffer in the IGBPRequestBufferResponseParcel. 2018-02-14 22:57:55 -05:00
Subv b4be5d2e65 Vi: Properly write the BufferProducerFence object in the DequeueBuffer response parcel. 2018-02-14 22:57:54 -05:00
bunnei d64dfffda6 vi: Eliminate direct usage of BufferDescriptorB. 2018-02-13 23:54:12 -05:00
bunnei acdbc95583 vi: Use ReadBuffer/WriteBuffer functions for TransactParcel. 2018-02-13 23:54:11 -05:00
bunnei a92ac370cf vi: Fix TransactParcelAuto to support both buffer formats. 2018-02-13 23:26:01 -05:00
bunnei 72da0a304c vi: Add FENCE_HACK, which is useful for booting BOTW. 2018-02-12 21:24:40 -05:00
bunnei bfc7ad5ef7 vi: Stub TransactParcel CancelBuffer. 2018-02-12 21:24:39 -05:00
bunnei b11fd075b9 TransactParcel: Move WriteBlock to narrowest scope. 2018-02-12 21:24:38 -05:00
bunnei b3ac6d5f45 vi: Parse IGBPQueueBufferRequestParcel params and expose buffer flip vertical. 2018-02-11 21:00:41 -05:00
bunnei 74a9748176 vi: Fix OpenLayer and CreateStrayLayer. 2018-02-11 17:28:07 -05:00
bunnei 51d611d186 vi: Implement TransactParcelAuto. 2018-02-09 23:33:49 -05:00
bunnei 7b6423defd IGBPQueueBufferRequestParcel: Don't enforce buffer length.
- Another fix for libnx.
2018-02-09 23:33:49 -05:00
bunnei 057dca7d64 IGBPRequestBufferResponseParcel: Fix response for libnx. 2018-02-09 23:33:43 -05:00
bunnei 1967ed0f07 IApplicationDisplayService::CloseDisplay: Fix response params size. 2018-02-08 23:20:23 -05:00
mailwl ff9d0996a8 Service: stub some functions in am, audio, time, vi services 2018-02-07 15:11:17 +03:00
bunnei 951526d8b8 logger: Add VI service logging category. 2018-02-04 22:26:44 -05:00
bunnei e6a83e2024 Merge pull request #154 from mailwl/vi_create_stray_array
vi::CreateStrayLayer : add padding to request
2018-02-02 09:01:21 -08:00
mailwl be7ef9498d Services/vi: add vi:s and vi:u services 2018-02-02 12:59:50 +03:00
mailwl 9b3b9fe930 vi::CreateStrayLayer : add padding to request 2018-02-02 12:03:02 +03:00
bunnei f328cb2c7c hle: Rename RequestBuilder to ResponseBuilder. 2018-01-24 22:24:10 -05:00
bunnei 427b97e60c service: Fix all incorrect IPC response headers. 2018-01-24 22:21:33 -05:00
Subv 696b61b9c3 Services: Vi shouldn't be responsible for creating nvflinger.
It is now created during Service initialization and passed to all the services that need it.
2018-01-22 13:40:02 -05:00
Subv edb1c9589b VI: Move BufferQueue and NVFlinger to their own folder/namespace. 2018-01-22 11:54:58 -05:00
Subv bd76a7d7f7 VI: Implement the Query transaction of IHOSBinderDriver, and stubbed some results. 2018-01-21 11:13:47 -05:00
River City Ransomware 39827d573a Fixes some cast warnings, partial port of citra #3064 (#106)
* Fixes some cast warnings, partially fixes citra #3064

* Converted casts to uint32_t to u32

* Ran clang-format
2018-01-19 18:01:41 -05:00
gdkchan c22db301b8 Fix dispdrv typo 2018-01-18 23:21:26 -03:00
bunnei 99283876f5 Merge pull request #90 from lioncash/vi-override
vi: Minor clean up/correctness changes
2018-01-17 23:55:07 -05:00
Lioncash 88bfa0f287 vi: Make constructors explicit where applicable
Prevents implicit conversions.
2018-01-17 20:21:16 -05:00
Lioncash 077cbaa3da vi: Add missing override specifiers 2018-01-17 20:16:48 -05:00
Lioncash 62310a11ce vi: Copy data directly into the std::vector within Parcel's ReadBlock function
Previously this would unnecessarily zero-initialize the vector before
copying the actual data into the vector instance.
2018-01-17 20:09:41 -05:00
Subv fd950afe3a NV: Move the nvdrv classes into the Nvidia namespace, and move the functionality to a s single module that services call. 2018-01-16 19:03:49 -05:00
Subv d0477951b9 VI: Stubbed GetNativeHandle, Create/DestroyStrayLayer and CloseDisplay 2018-01-16 19:01:03 -05:00
bsaleil 2d46f08fa0 vi: Add IManagerDisplayService::CloseDisplay function 2018-01-15 01:29:00 -05:00
bunnei f0bccde0a0 renderer: Render previous frame when no new one is available. 2018-01-14 23:54:56 -05:00
bunnei 182548ec86 yuzu: Update license text to be consistent across project. 2018-01-13 16:22:39 -05:00
bunnei 7e02ba1ae3 core: Include <algorithm> where used. 2018-01-11 22:36:56 -05:00
Subv 81bcb331f8 NV: Move the nv device nodes to their own directory and namespace. 2018-01-10 23:28:40 -05:00
Subv 8c39b10e47 VI: Use a Pulse event instead of OneShot for the vblank events.
This prevents missing frames if the vblank fires between the DequeueBuffer and Wait(vsync) calls
2018-01-10 23:28:36 -05:00
Subv 2d5bf5a379 NV: Expose the nvdisp_disp0 device and a weak reference to the nvdrv:a service.
NVFlinger will call into the nvdisp_disp0 device to perform screen flips, bypassing the ioctl interface.

We now have the address of the framebuffer to draw, we just need to actually put it on the screen.
2018-01-10 23:28:29 -05:00
Subv 91a0d29466 NV: Determine what buffer to draw for each layer of each display.
Don't try to draw buffers that the guest application is using, only queued buffers are eligible for drawing.

Drawing actual pixels is still not implemented.
2018-01-10 23:28:25 -05:00
Subv 1b907ea655 NV: Signal all display's vsync event 60 times per second. 2018-01-10 23:28:22 -05:00
Subv 67222ea3a6 NV: Give each display its own vsync event. 2018-01-10 23:28:19 -05:00
Subv a7c31ad468 NV: Keep track of Displays, Layers and BufferQueues in nvflinger. 2018-01-10 23:28:16 -05:00