|
|
|
@ -31,7 +31,7 @@ OGLBuffer CreateBuffer(std::size_t size, GLenum usage) { |
|
|
|
} // Anonymous namespace
|
|
|
|
|
|
|
|
CachedBufferEntry::CachedBufferEntry(VAddr cpu_addr, u8* host_ptr) |
|
|
|
: RasterizerCacheObject{host_ptr}, cpu_addr{cpu_addr} {} |
|
|
|
: RasterizerCacheObject{host_ptr}, host_ptr{host_ptr}, cpu_addr{cpu_addr} {} |
|
|
|
|
|
|
|
OGLBufferCache::OGLBufferCache(RasterizerOpenGL& rasterizer, std::size_t size) |
|
|
|
: RasterizerCache{rasterizer}, stream_buffer(size, true) {} |
|
|
|
@ -100,6 +100,10 @@ void OGLBufferCache::Unmap() { |
|
|
|
stream_buffer.Unmap(buffer_offset - buffer_offset_base); |
|
|
|
} |
|
|
|
|
|
|
|
void OGLBufferCache::FlushObjectInner(const std::shared_ptr<CachedBufferEntry>& entry) { |
|
|
|
glGetNamedBufferSubData(entry->GetBuffer(), 0, entry->GetSize(), entry->GetWritableHostPtr()); |
|
|
|
} |
|
|
|
|
|
|
|
OGLBufferCache::BufferInfo OGLBufferCache::StreamBufferUpload(const void* raw_pointer, |
|
|
|
std::size_t size, |
|
|
|
std::size_t alignment) { |
|
|
|
|