Commit Graph

203 Commits

Author SHA1 Message Date
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
e128fd58f1 Disabled nvmap objs which aren't used afterwards which don't use an input_offset for MapBufferEx. Moved bufferProducerGraphicBufferInit() code outside of the loop and added a comment. Only use kind 0xdb for MapBufferEx framebuf init in the loop, since the other kind is unrelated to framebuf. 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
a814c79827 Properly setup the data in bufferProducerGraphicBuffer via a struct. Setup size/width/height fields properly in bufferProducerGraphicBuffer, instead of hard-coding. 2017-12-27 18:52:53 -05:00
yellows8
917036cec6 Updated bufferProducerGraphicBuffer struct. 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
edf2d1417a Handle nvioctlChannel_ZCullBind() properly. 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
plutoo
eec87a6ccf Rename account -> acc 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
8485facf99 Parcel refactor again 2017-12-27 18:52:52 -05:00
plutoo
12b2ba6eb6 Revert "Refactoring parcel a little, parcelTransact needs more work"
This reverts commit e97807ef293dc9456b5828235f4dee7716e8a7bc.
2017-12-27 18:52:52 -05:00
plutoo
806a75c841 More refactoring, renamed graphicsproducer -> bufferproducer 2017-12-27 18:52:52 -05:00
plutoo
7f2135754a Refactoring parcel a little, parcelTransact needs more work 2017-12-27 18:52:52 -05:00
plutoo
1cf6bb2056 Moved binder.c to gfx, refactored 2017-12-27 18:52:52 -05:00
plutoo
2fd13b5556 Moving ioctls to separate files 2017-12-27 18:52:39 -05:00
yellows8
99880a7b26 Added the default_font. 2017-12-27 18:50:16 -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
yellows8
94809a1e15 Return pixel offset instead of byte offset in gfxGetFramebufferDisplayOffset(). 2017-12-27 18:50:16 -05:00
yellows8
353faed782 Added x/y bounds checking to gfxGetFramebufferDisplayOffset(). 2017-12-27 18:50:16 -05:00
yellows8
8f459cf958 Use u32 for gfxGetFramebuffer() width/height. Added gfxGetFramebufferDisplayOffset(). 2017-12-27 18:50:16 -05:00
yellows8
24adf197af Moved the single-framebuf-size field from gfx into nvgfx. Use this field instead of hard-coded size in nvgfx, in some cases. Other adjustments. 2017-12-27 18:50:16 -05:00
yellows8
7c826e57e8 Changed g_nvgfx_totalframebufs to 2. Removed the gfxFlushBuffers() call in _gfxInit() and added a dcache-flush in nvmapobjInitialize(). Moved the nvgfxGetFramebuffer() call. Added a delay in _gfxInit(). Changed the initial g_gfxCurrentBuffer value, which is then updated by _gfxDequeueBuffer() later. Adjusted the code for updating g_gfxCurrentBuffer. For the gfxproducerDequeueBuffer() call, changed the value for the async param from 1 to 0. 2017-12-27 18:50:16 -05:00
yellows8
34e22c82df Use total-framebufs value from a global field instead of hard-coding it. 2017-12-27 18:50:15 -05:00
yellows8
0a7de00fe0 Use all 4 buffers with g_gfxCurrentBuffer. 2017-12-27 18:50:15 -05:00
yellows8
283fdabbf6 Renamed gfxproducerBufferInit to gfxproducerTegraBufferInit. Use an enum for the binder 'code' for this. Added comments for the BufferInitData structure. 2017-12-27 18:50:15 -05:00
yellows8
fbce1e8029 Use the output buffer value from gfxproducerDequeueBuffer() with gfxproducer calls. Set g_gfxCurrentBuffer in _gfxDequeueBuffer() with the output buffer value. Removed a comment. 2017-12-27 18:50:15 -05:00
yellows8
ee3a74fa60 nvgfx event adjustments. Fixed loop interation check for running buffer init. Disabled updating a field in g_gfxQueueBufferData with _gfxQueueBuffer(). 2017-12-27 18:50:15 -05:00
yellows8
a85ee0458d Implemented interface for accessing framebuf. Adjustments for gfx init/exit. Removed 0x77 memset for framebuf in nvgfx init. 2017-12-27 18:50:15 -05:00
yellows8
0d3da1d900 Removed outdated parcel-error comments. 2017-12-27 18:50:15 -05:00