Introduced in iOS 15+ on select devices,
MTLTextureCompressionTypeLossy yields texture memory savings of ~100 MB in the Flutter Gallery.
Investigate if Impeller can opt-into using these textures for some (intermediates) or all textures.
cc @jonahwilliams who found the savings in gallery and @bdero for ideas on the intermediates that we should definitely use this on. We could perhaps add this option to
In terms of operations, lossy textures can be render targets, can be the source or destination of blit operations, and can be sampled and read. However, they cannot be used with shader write operations, which precludes some compute use cases.
Finally, lossy textures must use the private storage mode; they cannot be in shared or managed storage. This implies that reading back texture data on the CPU will entail an additional blit operation (along with the usual latency-stall tradeoff).
|Issue Title||Created Date||Updated Date|