|
|
@ -215,10 +215,9 @@ public:
|
|
|
|
explicit IGBPConnectRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
explicit IGBPConnectRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
Deserialize();
|
|
|
|
Deserialize();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
~IGBPConnectRequestParcel() override = default;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DeserializeData() override {
|
|
|
|
void DeserializeData() override {
|
|
|
|
std::u16string token = ReadInterfaceToken();
|
|
|
|
[[maybe_unused]] const std::u16string token = ReadInterfaceToken();
|
|
|
|
data = Read<Data>();
|
|
|
|
data = Read<Data>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -279,10 +278,9 @@ public:
|
|
|
|
: Parcel(std::move(buffer)) {
|
|
|
|
: Parcel(std::move(buffer)) {
|
|
|
|
Deserialize();
|
|
|
|
Deserialize();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
~IGBPSetPreallocatedBufferRequestParcel() override = default;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DeserializeData() override {
|
|
|
|
void DeserializeData() override {
|
|
|
|
std::u16string token = ReadInterfaceToken();
|
|
|
|
[[maybe_unused]] const std::u16string token = ReadInterfaceToken();
|
|
|
|
data = Read<Data>();
|
|
|
|
data = Read<Data>();
|
|
|
|
buffer = Read<NVFlinger::IGBPBuffer>();
|
|
|
|
buffer = Read<NVFlinger::IGBPBuffer>();
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -306,15 +304,40 @@ protected:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class IGBPCancelBufferRequestParcel : public Parcel {
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
explicit IGBPCancelBufferRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
|
|
|
|
Deserialize();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DeserializeData() override {
|
|
|
|
|
|
|
|
[[maybe_unused]] const std::u16string token = ReadInterfaceToken();
|
|
|
|
|
|
|
|
data = Read<Data>();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct Data {
|
|
|
|
|
|
|
|
u32_le slot;
|
|
|
|
|
|
|
|
Service::Nvidia::MultiFence multi_fence;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Data data;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class IGBPCancelBufferResponseParcel : public Parcel {
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
void SerializeData() override {
|
|
|
|
|
|
|
|
Write<u32>(0); // Success
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class IGBPDequeueBufferRequestParcel : public Parcel {
|
|
|
|
class IGBPDequeueBufferRequestParcel : public Parcel {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
explicit IGBPDequeueBufferRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
explicit IGBPDequeueBufferRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
Deserialize();
|
|
|
|
Deserialize();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
~IGBPDequeueBufferRequestParcel() override = default;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DeserializeData() override {
|
|
|
|
void DeserializeData() override {
|
|
|
|
std::u16string token = ReadInterfaceToken();
|
|
|
|
[[maybe_unused]] const std::u16string token = ReadInterfaceToken();
|
|
|
|
data = Read<Data>();
|
|
|
|
data = Read<Data>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -333,7 +356,6 @@ class IGBPDequeueBufferResponseParcel : public Parcel {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
explicit IGBPDequeueBufferResponseParcel(u32 slot, Service::Nvidia::MultiFence& multi_fence)
|
|
|
|
explicit IGBPDequeueBufferResponseParcel(u32 slot, Service::Nvidia::MultiFence& multi_fence)
|
|
|
|
: slot(slot), multi_fence(multi_fence) {}
|
|
|
|
: slot(slot), multi_fence(multi_fence) {}
|
|
|
|
~IGBPDequeueBufferResponseParcel() override = default;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
protected:
|
|
|
|
void SerializeData() override {
|
|
|
|
void SerializeData() override {
|
|
|
@ -352,10 +374,9 @@ public:
|
|
|
|
explicit IGBPRequestBufferRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
explicit IGBPRequestBufferRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
Deserialize();
|
|
|
|
Deserialize();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
~IGBPRequestBufferRequestParcel() override = default;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DeserializeData() override {
|
|
|
|
void DeserializeData() override {
|
|
|
|
std::u16string token = ReadInterfaceToken();
|
|
|
|
[[maybe_unused]] const std::u16string token = ReadInterfaceToken();
|
|
|
|
slot = Read<u32_le>();
|
|
|
|
slot = Read<u32_le>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -384,10 +405,9 @@ public:
|
|
|
|
explicit IGBPQueueBufferRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
explicit IGBPQueueBufferRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
Deserialize();
|
|
|
|
Deserialize();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
~IGBPQueueBufferRequestParcel() override = default;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DeserializeData() override {
|
|
|
|
void DeserializeData() override {
|
|
|
|
std::u16string token = ReadInterfaceToken();
|
|
|
|
[[maybe_unused]] const std::u16string token = ReadInterfaceToken();
|
|
|
|
data = Read<Data>();
|
|
|
|
data = Read<Data>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -447,10 +467,9 @@ public:
|
|
|
|
explicit IGBPQueryRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
explicit IGBPQueryRequestParcel(std::vector<u8> buffer) : Parcel(std::move(buffer)) {
|
|
|
|
Deserialize();
|
|
|
|
Deserialize();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
~IGBPQueryRequestParcel() override = default;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DeserializeData() override {
|
|
|
|
void DeserializeData() override {
|
|
|
|
std::u16string token = ReadInterfaceToken();
|
|
|
|
[[maybe_unused]] const std::u16string token = ReadInterfaceToken();
|
|
|
|
type = Read<u32_le>();
|
|
|
|
type = Read<u32_le>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -596,7 +615,12 @@ private:
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case TransactionId::CancelBuffer: {
|
|
|
|
case TransactionId::CancelBuffer: {
|
|
|
|
LOG_CRITICAL(Service_VI, "(STUBBED) called, transaction=CancelBuffer");
|
|
|
|
IGBPCancelBufferRequestParcel request{ctx.ReadBuffer()};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
buffer_queue.CancelBuffer(request.data.slot, request.data.multi_fence);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IGBPCancelBufferResponseParcel response{};
|
|
|
|
|
|
|
|
ctx.WriteBuffer(response.Serialize());
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case TransactionId::Disconnect: {
|
|
|
|
case TransactionId::Disconnect: {
|
|
|
|