Metal: Remove old small-tiles optimization
Explicit use of small tiles for high BPP renderpasses was added as an optimization to resolve long fragment execution tails for EEVEE's material graph evaluation pass. EEVEE Next alters performance characteristics with the split pass for material processing and lighting evaluation and does not have the same long-running fragment threads. Removing to fallack to default tile sizes for better performance in EEVEE Next. Authored by Apple: Michael Parkin-White Pull Request: https://projects.blender.org/blender/blender/pulls/115747
This commit is contained in:
parent
c080604f63
commit
0113fb5f31
@ -1573,20 +1573,6 @@ MTLRenderPassDescriptor *MTLFrameBuffer::bake_render_pass_descriptor(bool load_c
|
||||
framebuffer_descriptor_[descriptor_config] = [[MTLRenderPassDescriptor alloc] init];
|
||||
}
|
||||
|
||||
if (@available(macOS 11.00, *)) {
|
||||
/* Optimization: Use smaller tile size on Apple Silicon if exceeding a certain bpp limit. */
|
||||
bool is_tile_based_gpu = [metal_ctx->device hasUnifiedMemory];
|
||||
if (is_tile_based_gpu) {
|
||||
uint framebuffer_bpp = this->get_bits_per_pixel();
|
||||
bool use_small_tiles = (framebuffer_bpp > 64);
|
||||
|
||||
if (use_small_tiles) {
|
||||
framebuffer_descriptor_[descriptor_config].tileWidth = 16;
|
||||
framebuffer_descriptor_[descriptor_config].tileHeight = 16;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Configure multilayered rendering. */
|
||||
if (use_multilayered_rendering_) {
|
||||
/* Ensure all targets have the same length. */
|
||||
|
Loading…
Reference in New Issue
Block a user