summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gpu: Make memory_manager privateLioncash2018-08-281-6/+6
| | | | | | | | | | Makes the class interface consistent and provides accessors for obtaining a reference to the memory manager instance. Given we also return references, this makes our more flimsy uses of const apparent, given const doesn't propagate through pointers in the way one would typically expect. This makes our mutable state more apparent in some places.
* nvdrv: Get rid of indirect inclusionsLioncash2018-08-071-2/+3
|
* renderer_base: Make Rasterizer() return the rasterizer by referenceLioncash2018-08-041-2/+2
| | | | | | | All calling code assumes that the rasterizer will be in a valid state, which is a totally fine assumption. The only way the rasterizer wouldn't be is if initialization is done incorrectly or fails, which is checked against in System::Init().
* video_core: Eliminate the g_renderer global variableLioncash2018-08-041-5/+6
| | | | | | | | | | | | | | We move the initialization of the renderer to the core class, while keeping the creation of it and any other specifics in video_core. This way we can ensure that the renderer is initialized and doesn't give unfettered access to the renderer. This also makes dependencies on types more explicit. For example, the GPU class doesn't need to depend on the existence of a renderer, it only needs to care about whether or not it has a rasterizer, but since it was accessing the global variable, it was also making the renderer a part of its dependency chain. By adjusting the interface, we can get rid of this dependency.
* Update clang formatJames Rowe2018-07-031-8/+8
|
* Rename logging macro back to LOG_*James Rowe2018-07-031-9/+9
|
* GPU: Remove a surface from the cache when its backing memory is being unmapped from the GPU's MMU.Subv2018-07-011-0/+5
|
* GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl.Subv2018-05-201-0/+33
| | | | It removes a mapping previously created with the MapBufferEx ioctl.
* general: Make formatting of logged hex values more straightforwardLioncash2018-05-021-2/+2
| | | | | | 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).
* GPU: Don't write to invalid memory locations when handling ioctls that don't have an output.Subv2018-05-011-2/+0
|
* nvdrv: Move logging macros over to new fmt-compatible onesLioncash2018-04-241-13/+13
|
* NvDrv/nvhost-as-gpu: Ensure that the object passed to MapBufferEx has already been allocated.Subv2018-04-231-0/+10
| | | | 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.
* Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.Subv2018-04-231-0/+35
| | | | It takes a previously-reserved (AllocateSpace) GPU memory address and maps it to the address of the nvmap object passed to Remap.
* service: Use nested namespace specifiers where applicableLioncash2018-04-201-6/+2
| | | | Tidies up namespace declarations
* nvhost_as_gpu: Silence formatting specifier warningsLioncash2018-02-141-5/+7
|
* Make a GPU class in VideoCore to contain the GPU state.Subv2018-02-121-4/+8
| | | | Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
* nvhost_as_gpu: Implement AllocateSpace and MapBufferEx.bunnei2018-02-081-9/+28
|
* nvhost_as_gpu: Add nvmap as a class member.bunnei2018-02-081-0/+1
|
* Extra nvdrv support (#162)David2018-02-061-2/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* NV: Move the nvdrv classes into the Nvidia namespace, and move the functionality to a s single module that services call.Subv2018-01-171-2/+2
|
* yuzu: Update license text to be consistent across project.bunnei2018-01-131-1/+1
|
* nv: Fix more broken asserts.bunnei2018-01-121-1/+1
|
* NV: Move the nv device nodes to their own directory and namespace.Subv2018-01-111-0/+20