summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/vi/vi.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp
index 69ac2fe07..0262e830b 100644
--- a/src/core/hle/service/vi/vi.cpp
+++ b/src/core/hle/service/vi/vi.cpp
@@ -101,8 +101,10 @@ public:
101 SerializeData(); 101 SerializeData();
102 102
103 Header header{}; 103 Header header{};
104 header.data_offset = sizeof(Header);
105 header.data_size = static_cast<u32_le>(write_index - sizeof(Header)); 104 header.data_size = static_cast<u32_le>(write_index - sizeof(Header));
105 header.data_offset = sizeof(Header);
106 header.objects_size = 4;
107 header.objects_offset = sizeof(Header) + header.data_size;
106 std::memcpy(buffer.data(), &header, sizeof(Header)); 108 std::memcpy(buffer.data(), &header, sizeof(Header));
107 109
108 return buffer; 110 return buffer;
@@ -142,11 +144,11 @@ protected:
142private: 144private:
143 struct Data { 145 struct Data {
144 u32_le magic = 2; 146 u32_le magic = 2;
145 u32_le process_id; 147 u32_le process_id = 1;
146 u32_le id; 148 u32_le id;
147 INSERT_PADDING_BYTES(0xC); 149 INSERT_PADDING_WORDS(3);
148 std::array<u8, 8> dispdrv = {'d', 'i', 's', 'p', 'd', 'r', 'v', '\0'}; 150 std::array<u8, 8> dispdrv = {'d', 'i', 's', 'p', 'd', 'r', 'v', '\0'};
149 INSERT_PADDING_BYTES(8); 151 INSERT_PADDING_WORDS(2);
150 }; 152 };
151 static_assert(sizeof(Data) == 0x28, "ParcelData has wrong size"); 153 static_assert(sizeof(Data) == 0x28, "ParcelData has wrong size");
152 154
@@ -672,7 +674,7 @@ void IApplicationDisplayService::CloseDisplay(Kernel::HLERequestContext& ctx) {
672} 674}
673 675
674void IApplicationDisplayService::OpenLayer(Kernel::HLERequestContext& ctx) { 676void IApplicationDisplayService::OpenLayer(Kernel::HLERequestContext& ctx) {
675 LOG_WARNING(Service_VI, "(STUBBED) called"); 677 LOG_DEBUG(Service_VI, "called");
676 IPC::RequestParser rp{ctx}; 678 IPC::RequestParser rp{ctx};
677 auto name_buf = rp.PopRaw<std::array<u8, 0x40>>(); 679 auto name_buf = rp.PopRaw<std::array<u8, 0x40>>();
678 auto end = std::find(name_buf.begin(), name_buf.end(), '\0'); 680 auto end = std::find(name_buf.begin(), name_buf.end(), '\0');
@@ -697,7 +699,7 @@ void IApplicationDisplayService::OpenLayer(Kernel::HLERequestContext& ctx) {
697} 699}
698 700
699void IApplicationDisplayService::CreateStrayLayer(Kernel::HLERequestContext& ctx) { 701void IApplicationDisplayService::CreateStrayLayer(Kernel::HLERequestContext& ctx) {
700 LOG_WARNING(Service, "(STUBBED) called"); 702 LOG_DEBUG(Service_VI, "called");
701 703
702 IPC::RequestParser rp{ctx}; 704 IPC::RequestParser rp{ctx};
703 u32 flags = rp.Pop<u32>(); 705 u32 flags = rp.Pop<u32>();