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:
Jason Fielder 2023-12-06 23:17:11 +01:00 committed by Clément Foucault
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. */