Merge pull request #9409 from torarnv/explicitly-invalidate-font-atlas-buffer

Explicitly invalidate atlas buffer when rendering text with Metal
This commit is contained in:
Twinaphex 2019-09-01 18:56:24 +02:00 committed by GitHub
commit 2997c26069
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -80,6 +80,12 @@
_buffer = [_context.device newBufferWithBytes:_atlas->buffer
length:(NSUInteger)(_stride * _atlas->height)
options:MTLResourceStorageModeManaged];
// Even though newBufferWithBytes will copy the initial contents
// from our atlas, it doesn't seem to invalidate the buffer when
// doing so, causing corrupted text rendering if we hit this code
// path. To work around it we manually invalidate the buffer.
[_buffer didModifyRange:NSMakeRange(0, _buffer.length)];
}
else
{