Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
void UnmapImpl() {
DCHECK(mapping_);
DCHECK(logically_mapped_);
// Flush the CPu cache in case the GPU reads the data directly from RAM.
// Keep the mapping to avoid unnecessary overhead when later reusing the
// pixmap. The actual unmap happens when the pixmap is destroyed.
if (handle_.ram_coherency) {
zx_status_t status =
zx_cache_flush(mapping_, mapping_size_,
ZX_CACHE_FLUSH_DATA | ZX_CACHE_FLUSH_INVALIDATE);
ZX_DCHECK(status == ZX_OK, status) << "zx_cache_flush";
}
logically_mapped_ = false;
}
Why do we need to move this into a separate function?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
void UnmapImpl() {
DCHECK(mapping_);
DCHECK(logically_mapped_);
// Flush the CPu cache in case the GPU reads the data directly from RAM.
// Keep the mapping to avoid unnecessary overhead when later reusing the
// pixmap. The actual unmap happens when the pixmap is destroyed.
if (handle_.ram_coherency) {
zx_status_t status =
zx_cache_flush(mapping_, mapping_size_,
ZX_CACHE_FLUSH_DATA | ZX_CACHE_FLUSH_INVALIDATE);
ZX_DCHECK(status == ZX_OK, status) << "zx_cache_flush";
}
logically_mapped_ = false;
}
Why do we need to move this into a separate function?
Ah, also called in the destructor.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Silly me, I forgot to add `Cq-Include-Trybots: luci.chrome.try:fuchsia-fyi-sherlock`. Hopefully it runs, we will see.
void UnmapImpl() {
DCHECK(mapping_);
DCHECK(logically_mapped_);
// Flush the CPu cache in case the GPU reads the data directly from RAM.
// Keep the mapping to avoid unnecessary overhead when later reusing the
// pixmap. The actual unmap happens when the pixmap is destroyed.
if (handle_.ram_coherency) {
zx_status_t status =
zx_cache_flush(mapping_, mapping_size_,
ZX_CACHE_FLUSH_DATA | ZX_CACHE_FLUSH_INVALIDATE);
ZX_DCHECK(status == ZX_OK, status) << "zx_cache_flush";
}
logically_mapped_ = false;
}
WezWhy do we need to move this into a separate function?
Ah, also called in the destructor.
Exactly, and it's conditional, it was the most noticeable issue. 😞
Very likely I can skip the unmap call and assert that the unmap has been called, but it's hard to verify it across all possible scenarios.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +2 |
Awesome, it runs. Let's call it a day 😊
Code-Review | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[fuchsia] Enforce sequence affinity for ClientNativePixmapFuchsia Map/Unmap.
This change introduces a `SEQUENCE_CHECKER` to ensure that `Map()` and
`Unmap()` calls on a `ClientNativePixmapFuchsia` instance always occur
on the same sequence. The object can still be created and destroyed on
different sequences. A new `UnmapImpl()` method is added to encapsulate
the unmapping logic, used by both `Unmap()` and the destructor.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |