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
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
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
yellows8
b577367011
Implemented nvioctlNvmap_FromID() and nvioctlNvmap_GetID().
...
Added PARCEL_LOGGING define in parcel.c.
Fixed the 'code' value used in gfxproducerQueueBuffer().
Moved some gfxproducer init into nvgfx.
Moved some nvgfx event init into nvgfxEventInit().
Updated the code using gfxproducerBufferInit() for setting the nvmap-handles.
Disabled a nvQueryEvent() call which now fails.
Other changes.
The setup framebuf/windowbuf is now displayed.
2017-12-27 18:50:15 -05:00
yellows8
619a9a378c
Added nvgfx.
2017-12-27 18:50:14 -05:00
yellows8
caa06c4d6c
Implemented nv. Use TransactParcelAuto instead of TransactParcel when running on >=3.0.0. Added ipcQueryPointerBufferSize(). Minor other change.
2017-11-12 20:34:30 -05:00
yellows8
80890a3b8e
Fixed gfx and parcel issues. Parcel logging adjustments, etc. Changed out_parcel to parcel_reply.
2017-11-08 22:36:30 -05:00
yellows8
1d8c51f6fa
Added svcGetSystemTick. Added LIBNX_PARCEL_ERRBASE to result.h. Added BINDER_FIRST_CALL_TRANSACTION. Added gfxproducer and parcel. Use gfxproducer in gfx and added gfxSwapBuffers().
2017-11-07 13:56:57 -05:00
yellows8
b5abd52b8b
Implemented viSetLayerScalingMode(). Implemented vsync handling. Minor other change.
2017-11-05 00:50:58 -04:00
yellows8
9866f8e8b2
Implemented binder. Added error LIBNX_BADINPUT. Set StrayLayer in viOpenLayer properly.
2017-11-04 18:28:13 -04:00
yellows8
c5e6783870
Return _gfxInit() retval properly. _viOpenLayer and _viCreateStrayLayer are broken.
2017-11-03 13:30:35 -04:00
yellows8
ec1faa34ef
Added display+layer support. Started 'gfx'.
2017-11-03 12:33:33 -04:00