From bccd0df4ae156c3551a0beab0ccb210d3dc97d63 Mon Sep 17 00:00:00 2001 From: yellows8 Date: Wed, 15 Nov 2017 00:19:20 -0500 Subject: [PATCH] More nvgfx init. --- nx/source/gfx/nvgfx.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nx/source/gfx/nvgfx.c b/nx/source/gfx/nvgfx.c index f9b7c4fc..f22e80a7 100644 --- a/nx/source/gfx/nvgfx.c +++ b/nx/source/gfx/nvgfx.c @@ -114,6 +114,8 @@ Result nvgfxInitialize(void) { if (R_SUCCEEDED(rc)) rc = nvmapobjInitialize(&nvmap_objs[7], 0x1000000); if (R_SUCCEEDED(rc)) rc = nvmapobjInitialize(&nvmap_objs[8], 0x800000); + if (R_SUCCEEDED(rc)) memset(nvmap_objs[6].mem, 0x77, nvmap_objs[6].mem_size); + if (R_SUCCEEDED(rc)) { //Unknown what size/etc is used officially. g_nvgfx_nvhost_userdata_size = 0x1000; g_nvgfx_nvhost_userdata = memalign(0x1000, g_nvgfx_nvhost_userdata_size); @@ -215,14 +217,14 @@ Result nvgfxInitialize(void) { //Skip init for 0x10000000-byte nvmap obj done by certain official sw. if (R_SUCCEEDED(rc)) { - for(pos=0; pos<2; pos++) { + for(pos=0; pos<4; pos++) { rc = nvioctlNvhostAsGpu_MapBufferEx(g_nvgfx_fd_nvhostasgpu, 0x100, 0xdb, framebuf_nvmap_handle, 0, pos*0x3c0000, 0x3c0000, nvmap_obj6_mapbuffer_xdb_offset, NULL); if (R_FAILED(rc)) break; + + //Officially NVMAP_IOC_GET_ID, NVMAP_IOC_FROM_ID, NVMAP_IOC_GET_ID, and NVMAP_IOC_FROM_ID are used after the second *MapBufferEx. } } - //Officially NVMAP_IOC_GET_ID, NVMAP_IOC_FROM_ID, NVMAP_IOC_GET_ID, and NVMAP_IOC_FROM_ID are used here. - //if (R_SUCCEEDED(rc)) rc = -1; if (R_FAILED(rc)) {