Subv
e119e17d18
nvhost_gpu: Added checks to ensure we don't read past the end of the entries when handling a GPU command list.
2018-07-30 20:09:13 -05:00
Subv
2482aca7c3
nvhost_ctrl_gpu: Only read the input parameters if they are actually there.
...
Passing nullptr to memcpy is undefined behavior.
2018-07-30 20:08:36 -05:00
Lioncash
f9951352f6
service/nvdrv: Take std::string in Open() by const reference
...
Avoids copies from being made, since the string is only ever used for
lookup, the data is never transfered anywhere.
Ideally, we'd use a std::string_view here, but devices is a
std::unordered_map, not a std::map, so we can't use heterogenous lookup
here.
2018-07-25 17:37:43 -04:00
Lioncash
a2cd07d094
service/nvdrv: Use std::move where applicable
...
Avoids unnecessary reference count increments and decrements.
In one case, we don't need to make a shared_ptr copy at all,
just to call a member function.
2018-07-25 17:31:08 -04:00
Subv
5c49e56d41
GPU: Implement the NVGPU_IOCTL_CHANNEL_KICKOFF_PB ioctl2 command.
...
This behaves quite similarly to the SubmitGPFIFO command. Referenced from Ryujinx.
Many thanks to @gdkchan for investigating this!
2018-07-21 15:50:02 -05:00
bunnei
31413f0d2f
Merge pull request #717 from lioncash/explicit
...
hle/service: Make constructors explicit where applicable
2018-07-19 16:08:07 -07:00
Lioncash
c061c2bf3c
hle/service: Make constructors explicit where applicable
...
Prevents implicit construction and makes these lingering non-explicit
constructors consistent with the rest of the other classes in services.
2018-07-19 12:25:02 -04:00
Lioncash
dc35c3f9d7
nvdrv: Take std::string by const reference in GetDevice()
...
This is only ever used as a lookup into the device map, so we don't need to
take the std::string instance by value here.
2018-07-19 11:40:36 -04:00
bunnei
c3dd456d51
vi: Partially implement buffer crop parameters.
2018-07-17 20:13:17 -04:00
David Marcec
0944bfe3cb
NvOsGetConfigU32 production impl
...
Settings are only used when RMOS_SET_PRODUCTION_MODE is set to 0.
If production mode is set, the error code 0x30006 is returned instead
2018-07-10 14:10:17 +10:00
bunnei
1b3dd30ba8
nvhost_ctrl: Fix NvOsGetConfigU32 for Snipper Clips.
2018-07-08 17:01:46 -04:00
James Rowe
0d46f0df12
Update clang format
2018-07-02 21:45:47 -04:00
James Rowe
638956aa81
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
Subv
6c0c81dfdc
GPU: Remove a surface from the cache when its backing memory is being unmapped from the GPU's MMU.
2018-07-01 10:50:06 -05:00
Subv
a093feca62
nvmap: Return the address of the nvmap object when Freeing it for the last time.
...
This behavior is confirmed by reverse engineering.
2018-07-01 10:48:50 -05:00
Subv
a3d82ef5d9
Build: Fixed some MSVC warnings in various parts of the code.
2018-06-20 11:39:10 -05:00
greggameplayer
be09dfeed9
nvdrv/devices/nvidia_ctrl_gpu : add IoctlCommands with their params ( #524 )
...
* add IoctlCommands with their params in nvidia_ctrl_gpu.h
* add function related to the changes done previously
* fix clang-format
* delete trailing whitespace
* correct mistake
2018-06-06 08:31:17 -05:00
greggameplayer
4fad069870
Nvdrv/devices/nvhost_gpu : Add some IoctlCommands with their params ( #511 )
...
* Add some IoctlCommand with their params to nvhost_gpu
* fix clang-format
* delete trailing whitespace
* fix some clang-format
* delete one other trailing whitespace
* last clang-format fix
2018-06-04 16:12:02 -04:00
bunnei
41faeeeb03
Merge pull request #484 from mailwl/nvhost-nvdec
...
Services/nvdrv: add '/dev/nvhost-nvdec' device
2018-06-03 11:18:00 -04:00
mailwl
9a273bb23b
Services/nvdrv: add '/dev/nvhost-nvdec' device
2018-05-30 12:49:28 +03:00
bunnei
6306655665
nvhost_ctrl: Stub out IocCtrlEventRegister.
2018-05-29 22:39:31 -04:00
bunnei
0658973a4e
nvhost_ctrl: Stub out IocCtrlEventWaitAsyncCommand.
2018-05-29 22:35:41 -04:00
David Marcec
6138075df0
NvOsGetConfigU32 should return null instead of 0 for default output
2018-05-26 17:48:09 -07:00
bunnei
87f21657f8
Merge pull request #466 from mailwl/nv-timeout
...
Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
2018-05-25 22:31:06 -04:00
David
e3a92b09ba
Stubbed NVGPU_GPU_IOCTL_ZBC_SET_TABLE ( #463 )
...
We have no clue on what this actually does yet so stubbing it since it's just input only should be fine for now
2018-05-24 18:36:12 -04:00
mailwl
e6a87428ae
Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
...
Used in Nintendo Labo ToyCon 1&2
2018-05-24 16:49:34 +03:00
greggameplayer
3c26b7179d
change some functions
...
according to the changes made previously
2018-05-23 14:09:24 +02:00
greggameplayer
8c648b59cd
correct placement and add size check
2018-05-23 12:34:42 +02:00
greggameplayer
f217d6c66f
Add ioctl commands with their params and size check
2018-05-23 12:32:37 +02:00
David
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
Subv
525492428d
GPU: Implemented the nvmap Free ioctl.
...
It releases a reference to an nvmap object
2018-05-20 14:25:57 -05:00
Subv
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
David Marcec
e7b0e8a3cc
More accurate GetTPCMasks impl
2018-05-10 21:01:39 -07:00
Lioncash
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
Subv
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
Lioncash
8475496630
general: Convert assertion macros over to be fmt-compatible
2018-04-27 10:04:02 -04:00
David Marcec
7391741a20
Merge branch 'master' of https://github.com/yuzu-emu/yuzu into service-impl
2018-04-26 14:28:54 -07:00
Lioncash
285d8d8b7d
nvdrv: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:27 -04:00
bunnei
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
Subv
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
Subv
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
Subv
e862c50a70
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 11:13:53 -05:00
David Marcec
27650499bc
GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.
2018-04-22 19:02:18 -07:00
David Marcec
f3137d3bc1
Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids)
2018-04-21 22:04:24 -07:00
Lioncash
ccca5e7c28
service: Use nested namespace specifiers where applicable
...
Tidies up namespace declarations
2018-04-19 22:20:28 -04:00
Hexagon12
cc89b7bfcb
Various fixes and clang
2018-04-11 14:48:56 +03:00
Hexagon12
177bdb94df
Updated nvmemp with new service names.
2018-04-10 20:28:15 +03:00
Hexagon12
4d1a2509df
Updated nvdrv with more service names.
2018-04-10 20:26:49 +03:00
bunnei
054393917e
renderer_opengl: Fixes for properly flushing & rendering the framebuffer.
2018-03-23 15:49:04 -04:00
bunnei
ec4e1a3685
renderer_opengl: Better handling of framebuffer transform flags.
2018-03-23 14:58:27 -04:00