aboutsummaryrefslogtreecommitdiff
path: root/system/OpenglSystemCommon/HostConnection.h
diff options
context:
space:
mode:
Diffstat (limited to 'system/OpenglSystemCommon/HostConnection.h')
-rw-r--r--system/OpenglSystemCommon/HostConnection.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/system/OpenglSystemCommon/HostConnection.h b/system/OpenglSystemCommon/HostConnection.h
index 7c556290..31ca84cf 100644
--- a/system/OpenglSystemCommon/HostConnection.h
+++ b/system/OpenglSystemCommon/HostConnection.h
@@ -85,7 +85,9 @@ public:
}
virtual uint64_t lockAndWriteDma(void* data, uint32_t size) {
if (m_dmaPtr && m_dmaPhysAddr) {
- memcpy(m_dmaPtr, data, size);
+ if (data != m_dmaPtr) {
+ memcpy(m_dmaPtr, data, size);
+ }
return m_dmaPhysAddr;
} else if (m_dmaCxt) {
return writeGoldfishDma(data, size, m_dmaCxt);
@@ -242,6 +244,7 @@ private:
void queryAndSetVulkanQueueSubmitWithCommandsSupport(ExtendedRCEncoderContext *rcEnc);
void queryAndSetVulkanBatchedDescriptorSetUpdateSupport(ExtendedRCEncoderContext *rcEnc);
void queryAndSetSyncBufferData(ExtendedRCEncoderContext *rcEnc);
+ void queryAndSetReadColorBufferDma(ExtendedRCEncoderContext *rcEnc);
GLint queryVersion(ExtendedRCEncoderContext* rcEnc);
private: