diff options
Diffstat (limited to 'system/OpenglSystemCommon/HostConnection.h')
-rw-r--r-- | system/OpenglSystemCommon/HostConnection.h | 5 |
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: |