From 1f013df7ed6d1bd4b2869f6f53a013bb15bdc9d5 Mon Sep 17 00:00:00 2001
From: Starlet <antherynx.studio@mail.com>
Date: Thu, 5 Apr 2018 09:18:13 -0400
Subject: [PATCH] [ServiceNvDrv] Add 0x4703 ([/dev/nvhost-ctrl-gpu]
 NvGpuIoctlZbcSetTable) (#70)

[ServiceNvDrv] Add 0x4703 ([/dev/nvhost-ctrl-gpu] NvGpuIoctlZbcSetTable)
---
 Ryujinx.Core/OsHle/Services/Nv/ServiceNvDrv.cs | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/Ryujinx.Core/OsHle/Services/Nv/ServiceNvDrv.cs b/Ryujinx.Core/OsHle/Services/Nv/ServiceNvDrv.cs
index f877fb9c7e..6774a3d0bf 100644
--- a/Ryujinx.Core/OsHle/Services/Nv/ServiceNvDrv.cs
+++ b/Ryujinx.Core/OsHle/Services/Nv/ServiceNvDrv.cs
@@ -51,6 +51,7 @@ namespace Ryujinx.Core.OsHle.Services.Nv
                 { ("/dev/nvhost-ctrl",     0x001d), NvHostIoctlCtrlEventWait          },
                 { ("/dev/nvhost-ctrl-gpu", 0x4701), NvGpuIoctlZcullGetCtxSize         },
                 { ("/dev/nvhost-ctrl-gpu", 0x4702), NvGpuIoctlZcullGetInfo            },
+                { ("/dev/nvhost-ctrl-gpu", 0x4703), NvGpuIoctlZbcSetTable             },
                 { ("/dev/nvhost-ctrl-gpu", 0x4705), NvGpuIoctlGetCharacteristics      },
                 { ("/dev/nvhost-ctrl-gpu", 0x4706), NvGpuIoctlGetTpcMasks             },
                 { ("/dev/nvhost-ctrl-gpu", 0x4714), NvGpuIoctlZbcGetActiveSlotMask    },
@@ -382,6 +383,21 @@ namespace Ryujinx.Core.OsHle.Services.Nv
             return 0;
         }
 
+        private long NvGpuIoctlZbcSetTable(ServiceCtx Context)
+        {
+            long Position = Context.Request.GetSendBuffPtr();
+
+            MemReader Reader = new MemReader(Context.Memory, Position);
+
+            int ColorDs = Reader.ReadInt32();
+            int ColorL2 = Reader.ReadInt32();
+            int Depth   = Reader.ReadInt32();
+            int Format  = Reader.ReadInt32();
+            int Type    = Reader.ReadInt32();
+
+            return 0;
+        }
+
         private long NvGpuIoctlGetCharacteristics(ServiceCtx Context)
         {
             long Position = Context.Request.GetSendBuffPtr();