surface_base: Implement texture buffer flushes
Implement downloads to guest memory from texture buffers on the generic cache and OpenGL.
This commit is contained in:
parent
f552d553ba
commit
fd62bdf377
2 changed files with 11 additions and 0 deletions
|
@ -260,6 +260,13 @@ CachedSurface::~CachedSurface() = default;
|
|||
void CachedSurface::DownloadTexture(std::vector<u8>& staging_buffer) {
|
||||
MICROPROFILE_SCOPE(OpenGL_Texture_Download);
|
||||
|
||||
if (params.IsBuffer()) {
|
||||
glGetNamedBufferSubData(texture_buffer.handle, 0,
|
||||
static_cast<GLsizeiptr>(params.GetHostSizeInBytes()),
|
||||
staging_buffer.data());
|
||||
return;
|
||||
}
|
||||
|
||||
SCOPE_EXIT({ glPixelStorei(GL_PACK_ROW_LENGTH, 0); });
|
||||
|
||||
for (u32 level = 0; level < params.emulated_levels; ++level) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue