Commit Graph

70 Commits

Author SHA1 Message Date
yellows8
a1462c8b0b Fixed size of bufferProducerGraphicBuffer and removed the union for it. Removed an invalid comment from gfx.c, since bufferProducerRequestBuffer() is used after bufferProducerGraphicBufferInit(). 2018-02-17 19:35:04 -05:00
yellows8
3f90f3b64c Align width/height to 4 in gfxInitResolution() and gfxConfigureCrop(). Updated the image-transfer code in gfxFlushBuffers() for removing the width misalignment handling. 2018-02-16 20:13:47 -05:00
yellows8
83349f946a Use u128 for data-transfer in gfxFlushBuffers() when width is aligned for this. 2018-02-12 18:09:15 -05:00
yellows8
13b4c74723 Updated gfx API. Replaced gfxSetDoubleBuffering() with gfxSetMode(), and added GfxMode enum. Updated gfx.h comments. Updated gfxGetFramebufferDisplayOffset() for using the aligned width. The new GfxMode_LinearDouble is now used by default, apps must not use gfxGetFramebufferDisplayOffset() with this mode. Apps using gfxGetFramebufferDisplayOffset() must be updated. 2018-02-12 16:08:25 -05:00
yellows8
4b2a32af59 Imported transform enums from Android and updated g_gfxQueueBufferData.transform for this. 2018-02-12 11:58:54 -05:00
yellows8
7a9e43b684 Removed outdated todo comment. 2018-02-02 16:22:23 -05:00
yellows8
e78f57d862 Check for fence id NO_FENCE before calling nvgfxEventWait() in _gfxDequeueBuffer(), since that does occur in some cases. 2018-01-25 01:34:31 -05:00
plutoo
b34f59e179 ARM cache operations 2018-01-22 20:29:49 +01:00
plutoo
6fa8370bfb This looks better 2018-01-22 20:11:55 +01:00
TuxSH
5abc4873d8 Include only what is really necessary...
add pragma once in every header, etc.
2018-01-22 18:42:57 +01:00
plutoo
e54bbc54ea Fix codestyle for results 2018-01-21 18:40:23 +01:00
fincs
79e51cb733 More fatalSimple unique error codes (plus some fixing) 2018-01-20 14:41:05 +01:00
fincs
a8a15f7d16 Make fatalSimple error codes unique 2018-01-15 22:48:46 +01:00
plutoo
d8061f67bd Introduce svcWaitForSynchronizationSingle to clean up code 2018-01-13 00:27:47 +01:00
plutoo
fbf0b0643a Missed vi on the first round 2018-01-12 23:53:08 +01:00
shinyquagsire23
3fcd8a1596 This should be the ViServiceType 2018-01-09 03:47:13 -07:00
plutoo
edcf789b6e C was developed in 1972 2018-01-06 13:54:59 +01:00
plutoo
10246ebdbc Binder codestyle fix 2018-01-06 13:39:47 +01:00
plutoo
a63ce5d8bc Align VI code style 2018-01-06 13:34:08 +01:00
plutoo
fee6b42963 Align code style for AM 2018-01-06 05:57:56 +01:00
yellows8
4e77c36c30 Perf adjustments for gfxGetFramebufferDisplayOffset(). 2017-12-29 22:04:15 -05:00
yellows8
28e2759412 Fixed vsync handling. 2017-12-29 18:44:09 -05:00
yellows8
02ec6d5c8a Updated the delay code in gfx-init and removed disabled get-{width/height} code. 2017-12-27 18:52:54 -05:00
yellows8
3c297c2a14 Added comment to vsync func. 2017-12-27 18:52:54 -05:00
yellows8
18a0d45afe Added gfxInitResolutionDefault(). Added gfxConfigureAutoResolution() and gfxConfigureAutoResolutionDefault(). 2017-12-27 18:52:54 -05:00
yellows8
b89036f6fd Added user-specified crop handling with gfxConfigureCrop() and gfxConfigureResolution(). Added gfxGetFramebufferResolution(). Updated gfxGetFramebufferDisplayOffset() for handling this. 2017-12-27 18:52:54 -05:00
yellows8
d62709adc7 Added gfxInitResolution() + added gfx.h comments. Updated gfxGetFramebufferDisplayOffset() so that the returned pixel-offset is in a region that's not displayed when the x/y is out-of-bounds. Fixed g_gfx_framebuf_aligned_{width/height} init when the initial width/height is not the default 0. Updated nvioctlNvhostAsGpu_InitializeEx/nvioctlNvhostAsGpu_AllocSpace usage etc, required for using non-720p framebufs. 2017-12-27 18:52:54 -05:00
yellows8
f00bc78569 Moved framebuf width/height/size fields from nvgfx into gfx + code used with those. Moved g_gfxprod_BufferInitData into gfx + renamed it. Moved code for using bufferProducerGraphicBufferInit() / struct init code into gfx. Removed commented out code for g_nvgfx_totalframebufs init. Replaced hard-coded width/height constants in gfx with the width/height fields. 2017-12-27 18:52:53 -05:00
yellows8
a730cf977f Added bufferProducerRect for crop. Updated a resolution comment and added a comment for crop. 2017-12-27 18:52:53 -05:00
yellows8
dd4a9bbca6 Added bufferProducerGraphicBuffer struct. Parse the bufferProducerRequestBuffer parcel reply properly. Renamed bufferProducerTegraBufferInit to bufferProducerGraphicBufferInit + renamed the enum for it, and handle input/output for it properly. Properly return rc in bufferProducerGraphicBufferInit(). 2017-12-27 18:52:53 -05:00
yellows8
c0780f5267 Fixed flickering. 2017-12-27 18:52:53 -05:00
yellows8
e871eb9695 Added gfxGetFramebufferSize(). 2017-12-27 18:52:53 -05:00
yellows8
c80096e5cc Imported an enum from Android for use with bufferProducerConnect/bufferProducerDisconnect. 2017-12-27 18:52:53 -05:00
yellows8
c921c86922 Updated a comment. 2017-12-27 18:52:53 -05:00
yellows8
3477fff5ee Improved fence handling in _gfxDequeueBuffer(). Clear g_gfx_DequeueBuffer_fence in _gfxInit(). 2017-12-27 18:52:53 -05:00
yellows8
824dadd291 Added better code for gpfifo handling which is disabled, currently broken with the data written into the gpfifo-data mem. Updated nvgfxEventWait(). Load the classnum for nvioctlChannel_AllocObjCtx() from gpu_characteristics. Added disabled code for gpfifo in gfx.c + added a comment. 2017-12-27 18:52:53 -05:00
yellows8
2a26b50459 Removed commented-out code for g_gfxQueueBufferData fence, and added a comment for it. 2017-12-27 18:52:53 -05:00
yellows8
0e1a90a7a9 Changed the RGBA8 define to RGBA8_MAXALPHA and adjusted it + moved it into gfx.h. Added RGBA8 define to gfx.h which is the same as the original except it now uses an input alpha param. Added a comment to gfx.c regarding width/height. 2017-12-27 18:52:53 -05:00
yellows8
945615ece3 Updated nvgfxEventWait() and nvioctlNvhostCtrl_EventWait(). Updated _gfxDequeueBuffer(). 2017-12-27 18:52:53 -05:00
yellows8
2db9a5fdb9 Imported enum for use with bufferProducerQuery(). Changed gfxGetDisplayResolution to static with adjusted name and removed it from the .h. Disabled _gfxGetDisplayResolution. Added disabled get-{resolution/width/height} code. Check fence->is_valid when calling nvgfxEventWait(), with the commented out line. 2017-12-27 18:52:52 -05:00
yellows8
4c1c1ee14b Parse bufferProducerConnect() parcel reply properly. Store the output QueueBufferOutput from bufferProducerConnect/bufferProducerQueueBuffer in gfx.c. 2017-12-27 18:52:52 -05:00
yellows8
63016db072 Updated bufferProducerFence. Updated nvgfxEventWait. Added better initialization validation to binder, etc. In bufferProducerDequeueBuffer(), use sizeof instead of a constant for the fence size. Updated g_gfxQueueBufferData. Fixed validation in _gfxGetNativeWindowID. Other changes. 2017-12-27 18:52:52 -05:00
yellows8
428d0373a8 Fixed output ptr for parcelReadData(). Pass fence ptr to _gfxDequeueBuffer() in gfxSwapBuffers(). 2017-12-27 18:52:52 -05:00
yellows8
6569775e7d Added parcelReadFlattenedObject/parcelWriteFlattenedObject. Parse bufferProducerDequeueBuffer output properly. Handle bufferProducerQueueBuffer input/output properly. Updated vsync handling. Added a 3s delay for gfx-init. Updated g_gfxQueueBufferData, etc. 2017-12-27 18:52:52 -05:00
plutoo
998980843f Fix gfxWaitForVsync 2017-12-27 18:52:52 -05:00
plutoo
806a75c841 More refactoring, renamed graphicsproducer -> bufferproducer 2017-12-27 18:52:52 -05:00
plutoo
2fd13b5556 Moving ioctls to separate files 2017-12-27 18:52:39 -05:00
yellows8
41cd7bb725 Exit gfx properly. Adjusted the name for _gfxproducer_InterfaceDescriptor. 2017-12-27 18:50:16 -05:00
yellows8
e3d0c849ad Implemented {vi/gfx}GetDisplayResolution. Moved gfxGetFramebufferDisplayOffset into the .h as static inline. Added more comments to gfx.h. 2017-12-27 18:50:16 -05:00
yellows8
33c5181237 Added gfxSetDoubleBuffering(). Adjusted g_gfxCurrentBuffer updating. Imported console from libctru with adjustments for Switch. 2017-12-27 18:50:16 -05:00