f217d6c66f
Add ioctl commands with their params and size check
2018-05-23 12:32:37 +02:00
58d9078742
Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE ( #440 )
...
* Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE
struct + 4 seems to be hard coded at 0 and struct + 0 seems to be ignored?
* IocGetWaitbase -> IocChannelGetWaitbaseCommand
* Added super late fixes
2018-05-22 17:41:19 -04:00
525492428d
GPU: Implemented the nvmap Free ioctl.
...
It releases a reference to an nvmap object
2018-05-20 14:25:57 -05:00
72b5c448cf
GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl.
...
It removes a mapping previously created with the MapBufferEx ioctl.
2018-05-20 14:25:56 -05:00
e7b0e8a3cc
More accurate GetTPCMasks impl
2018-05-10 21:01:39 -07:00
7c9644646f
general: Make formatting of logged hex values more straightforward
...
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
2018-05-02 09:49:36 -04:00
0c8b7c00e8
GPU: Don't write to invalid memory locations when handling ioctls that don't have an output.
2018-05-01 14:54:15 -05:00
8475496630
general: Convert assertion macros over to be fmt-compatible
2018-04-27 10:04:02 -04:00
7391741a20
Merge branch 'master' of https://github.com/yuzu-emu/yuzu into service-impl
2018-04-26 14:28:54 -07:00
285d8d8b7d
nvdrv: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:27 -04:00
bf25299272
Merge pull request #384 from Subv/nvhost-remap
...
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
2018-04-23 15:23:55 -04:00
0d6eafe11a
NvDrv/nvhost-as-gpu: Ensure that the object passed to MapBufferEx has already been allocated.
...
Also added a consistency check and a comment for the case when the object id is different than its handle. The real nvservices doesn't make a distinction between ids and handles, each object gets an unique handle which doubles as its id.
2018-04-23 11:21:46 -05:00
e4bd0bddea
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
...
It takes a previously-reserved (AllocateSpace) GPU memory address and maps it to the address of the nvmap object passed to Remap.
2018-04-23 11:21:46 -05:00
e862c50a70
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 11:13:53 -05:00
27650499bc
GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.
2018-04-22 19:02:18 -07:00
f3137d3bc1
Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids)
2018-04-21 22:04:24 -07:00
ccca5e7c28
service: Use nested namespace specifiers where applicable
...
Tidies up namespace declarations
2018-04-19 22:20:28 -04:00
cc89b7bfcb
Various fixes and clang
2018-04-11 14:48:56 +03:00
177bdb94df
Updated nvmemp with new service names.
2018-04-10 20:28:15 +03:00
4d1a2509df
Updated nvdrv with more service names.
2018-04-10 20:26:49 +03:00
054393917e
renderer_opengl: Fixes for properly flushing & rendering the framebuffer.
2018-03-23 15:49:04 -04:00
ec4e1a3685
renderer_opengl: Better handling of framebuffer transform flags.
2018-03-23 14:58:27 -04:00
e12c2cf8c6
nvdisp_disp0: Always flush and invalidate framebuffer region.
...
- Workaround for texture forwarding until we have a better place.
2018-03-22 23:18:04 -04:00
bfe45774f1
video_core: Move FramebufferInfo to FramebufferConfig in GPU.
2018-03-22 21:04:30 -04:00
1d8b6ad13b
Clang Fixes
2018-03-19 17:53:35 +01:00
ef875d6a35
Clean Warnings (?)
2018-03-19 17:07:08 +01:00
416f692f6e
nvmap: Make IocFromId return the same existing handle instead of creating a new one.
...
Games like Puyo Puyo Tetris and BOTW seem to depend on the buffer always having the same handle
2018-02-17 14:01:01 -05:00
7a1917e0fd
nvhost-ctrl: Stub NVHOST_IOCTL_CTRL_EVENT_WAIT.
2018-02-14 22:57:57 -05:00
8dee5663b3
Vi: Properly write the BufferProducerFence object in the DequeueBuffer response parcel.
2018-02-14 22:57:54 -05:00
db873a232c
Merge pull request #188 from bunnei/refactor-buffer-descriptor
...
Refactor IPC buffer descriptor interface
2018-02-14 18:31:53 -05:00
eba57fce88
nvdrv/interface: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
ee170cbcea
nvmap: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
983777a317
nvhost_gpu: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
2d388a75f0
nvhost_ctrl: Silence formatting specifier warnings
2018-02-14 01:52:54 -05:00
ce1fe0387f
nvhost_ctrl_gpu: Silence formatting specifier warnings
2018-02-14 01:52:54 -05:00
dc97117a0b
nvhost_as_gpu: Silence formatting specifier warnings
2018-02-14 01:52:49 -05:00
516a95721c
service: Remove remaining uses of BufferDescriptor*.
2018-02-13 23:54:13 -05:00
d42e77797e
nvdrv: Use ReadBuffer/WriteBuffer functions for Ioctl.
2018-02-13 23:54:12 -05:00
be5ba4d952
Merge pull request #178 from Subv/command_buffers
...
GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines
2018-02-12 13:51:52 -05:00
6cddf9d88e
Make a GPU class in VideoCore to contain the GPU state.
...
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
2018-02-11 23:44:12 -05:00
e01a8f2187
GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines.
2018-02-11 22:42:48 -05:00
ba2426aa3f
nvdrv: Make the GPU memory manager available to nvhost-gpu.
2018-02-11 21:30:23 -05:00
6fce1414c3
vi: Parse IGBPQueueBufferRequestParcel params and expose buffer flip vertical.
2018-02-11 21:00:41 -05:00
22caeee64f
nvdrv: Fix QueryEvent for libnx.
2018-02-09 00:56:45 -05:00
ca99063600
nvhost_ctrl_gpu: Implement ZCullGetInfo.
2018-02-08 23:17:59 -05:00
a39a65cbe0
nvhost_as_gpu: Implement AllocateSpace and MapBufferEx.
2018-02-07 23:31:28 -05:00
c711253798
nvdrv: Add MemoryManager class to track GPU memory.
2018-02-07 23:31:26 -05:00
196f8dff08
nvmap: Refactor to expose nvmap objects.
2018-02-07 22:55:12 -05:00
703880c9ab
nvhost_as_gpu: Add nvmap as a class member.
2018-02-07 22:55:09 -05:00
d129905a66
Extra nvdrv support ( #162 )
...
* FinishInitalize needed for 3.0.1+ games
* nvdrv:s and nvdrv:t both use NVDRV
* Most settings return 0 on hardware, disabled NV_MEMORY_PROFILER for now.
NVN_THROUGH_OPENGL & NVRM_GPU_PREVENT_USE are a few interesting settings to look at. Carefully choosing settings can help with drawing graphics later on
* Initial /dev/nvhost-gpu support
* ZCullBind
* Stubbed SetErrorNotifier
* Fixed SetErrorNotifier log, Added SetChannelPriority
* Allocate GPFIFO Ex2, Allocate Obj Ctx, Submit GPFIFO
* oops
* Fixed up naming/structs/enums. Used vector instead of array for "gpfifo_entry"
* Added missing fixes
* /dev/nvhost-ctrl-gpu
* unneeded struct
* Forgot u32 in enum class
* Automatic descriptor swapping for ioctls, fixed nvgpu_gpu_get_tpc_masks_args being incorrect size
* nvdrv#QueryEvent
* Renamed logs for nvdrv
* Refactor ioctl so nv_result isn't needed
* /dev/nvhost-as-gpu
* Fixed Log service naming, CtxObjects now u32, renamed all structs, added static_asserts to structs, used INSERT_PADDING_WORDS instead of u32s
* nvdevices now uses "Ioctl" union,
* IoctlGpfifoEntry now uses bit field
* final changes
2018-02-05 18:19:31 -08:00