mirror of
https://github.com/cemu-project/Cemu.git
synced 2026-06-05 06:04:58 -06:00
42 lines
893 B
C++
42 lines
893 B
C++
#pragma once
|
|
#include "Cafe/HW/Latte/Core/LatteTextureReadbackInfo.h"
|
|
|
|
class LatteTextureReadbackInfoVk : public LatteTextureReadbackInfo
|
|
{
|
|
public:
|
|
LatteTextureReadbackInfoVk(VkDevice device, LatteTextureView* textureView);
|
|
~LatteTextureReadbackInfoVk();
|
|
|
|
static uint32 GetImageSize(LatteTextureView* textureView);
|
|
|
|
void StartTransfer() override;
|
|
|
|
bool IsFinished() override;
|
|
void ForceFinish() override;
|
|
|
|
uint8* GetData() override
|
|
{
|
|
return m_buffer_ptr + m_buffer_offset;
|
|
}
|
|
|
|
uint32 GetImageSize() const
|
|
{
|
|
return m_image_size;
|
|
}
|
|
|
|
void SetBuffer(VkBuffer buffer, uint8* buffer_ptr, const uint32 buffer_offset)
|
|
{
|
|
m_buffer = buffer;
|
|
m_buffer_ptr = buffer_ptr;
|
|
m_buffer_offset = buffer_offset;
|
|
}
|
|
|
|
private:
|
|
VkDevice m_device = nullptr;
|
|
|
|
VkBuffer m_buffer = nullptr;
|
|
uint8* m_buffer_ptr = nullptr;
|
|
uint32 m_buffer_offset = 0;
|
|
uint64 m_associatedCommandBufferId = 0;
|
|
};
|