mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 21:58:31 +09:00
[Fix, Test] (MG_Util, MG_Backend/DirectVulkan, MG_IntegrationTest): adversarial review - the rewritten 1D-array image collided with a module's own 2D-array one and left an invalid duplicate type; pin the component order, keep the subject kinds in a truncated matrix
This commit is contained in:
@@ -805,12 +805,16 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Unlike the sampled texel buffer, the shader may WRITE this one, and those writes land in
|
||||
// GPU memory behind the frontend's CPU shadow - which is what MapBuffer and
|
||||
// Unlike the sampled texel buffer, the shader MAY write this one, and those writes land
|
||||
// in GPU memory behind the frontend's CPU shadow - which is what MapBuffer and
|
||||
// GetBufferSubData read. Same two calls, and for the same reason, as the storage-block
|
||||
// path above.
|
||||
// path above - but only the residency is unconditional. Marking a GL_READ_ONLY binding
|
||||
// GPU-written would make the next map or readback wait for a dispatch that could not have
|
||||
// changed a byte of it.
|
||||
bufferObject->EnsureGpuResidentStorage();
|
||||
bufferObject->MarkGpuWritten();
|
||||
if (imageBinding.Access != GL_READ_ONLY) {
|
||||
bufferObject->MarkGpuWritten();
|
||||
}
|
||||
|
||||
BufferSlice slice{};
|
||||
if (!m_bufferManager->AcquireResidentSlice(BufferKind::TextureBuffer, bufferObject, slice) ||
|
||||
|
||||
Reference in New Issue
Block a user