- Introduced NativeHandle (display/types.h)
- Introduced NvGraphicBuffer (nvidia/graphic_buffer.h)
- Renamed BqQueueBufferInput to BqBufferInput
- Renamed BqQueueBufferOutput to BqBufferOutput
- BqGraphicBuffer is now defined and marshalled in a way that matches
official sw more closely, with a pointer to a NativeHandle instead of
inline flattened data and other miscellaneous junk
- Const correctness fixes
- bqSetPreallocatedBuffer now has flattening logic for BqGraphicBuffer
- bqRequestBuffer doesn't have this logic for now, passing anything other
than NULL will fail
- gfx.c updated to use the refactored buffer producer
- NvBuffer replaced with NvMap, which only manages the creation of
raw nvmap objects. Users must map these objects manually to
address spaces.
- nvAddressSpaceBindToChannel removed.
- nvChannelSetNvmapFd is now automatic and has been removed.
- Nv3DContext, NvCmdList, NvErrorNotifier, NvGpfifo, NvGpu and
NvZcullContext have all been removed.
- Introduced NvGpuChannel, which provides all functionality that was
part of said removed objects.
- Other miscellaneous changes and fixes.
- Now contains a 'page_size' field, used throughout the functions
- Removed NvPageSize
- Removed nvAddressSpaceReserveAlign/AtFixedAddr/Full
- Added nvAddressSpaceAlloc/AllocFixed/Free (replacing above functions)
- Removed nvAddressSpaceMapBuffer/UnmapBuffer
- Added nvAddressSpaceMap/MapFixed/Modify/Unmap (replacing above functions)
- Adapted NvBuffer/NvGpu to use the new functions
Gets rid of trivial warnings caused by headers not being included into
the relevant .c file, empty parameter lists missing void, or functions
missing a prototype in the header.
- nvAddressSpaceMapBuffer now accepts a flags parameter instead of
hardcoding NvMapBufferFlags_IsCacheable.
- NvBufferFlags was incorrect and was thus removed.
- nvBufferCreate/nvBufferCreateRw replaced with nvBufferCreate, with
an extra 'is_cacheable' bool parameter. There's no such thing as a
"read-only/read-write" buffer.
- nvBufferMakeCpuUncached/nvBufferMakeCpuCached were removed.
- NvCmdList:
- Added 'offset' parameter: start of the cmdlist within the buffer
- Added nvCmdListReset for resetting a cmdlist (offset/num_cmds cleared)
- NvGpfifo:
- nvGpfifoCreate: disabled fence wait
- nvGpfifoSubmit -> nvGpfifoSubmitCmdList:
- Added fence_incr parameter
- Cleaned up flags and gpfifo entry creation
- Now advances cmdlist offset by the number of cmds submitted
instead of going back to the beginning