}
}
+ if (info->chip_class >= GFX10) {
+ switch (info->family) {
+ case CHIP_NAVI10:
+ case CHIP_NAVI12:
+ info->num_sdp_interfaces = 16;
+ break;
+ case CHIP_NAVI14:
+ info->num_sdp_interfaces = 8;
+ break;
+ default:
+ assert(0);
+ }
+ }
+
return true;
}
bool has_out_of_order_rast;
bool cpdma_prefetch_writes_memory;
uint32_t pbb_max_alloc_count;
+ uint32_t num_sdp_interfaces;
/* There are 2 display DCC codepaths, because display expects unaligned DCC. */
/* Disable RB and pipe alignment to skip the retile blit. (1 RB chips only) */
struct radv_subpass *subpass = pass->subpasses + pCreateInfo->subpass;
VkExtent2D extent = {512, 512};
- unsigned sdp_interface_count;
-
- switch(pipeline->device->physical_device->rad_info.family) {
- case CHIP_NAVI10:
- case CHIP_NAVI12:
- sdp_interface_count = 16;
- break;
- case CHIP_NAVI14:
- sdp_interface_count = 8;
- break;
- default:
- unreachable("Unhandled GFX10 chip");
- }
-
const unsigned db_tag_size = 64;
const unsigned db_tag_count = 312;
const unsigned color_tag_size = 1024;
const unsigned fmask_tag_count = 44;
const unsigned rb_count = pipeline->device->physical_device->rad_info.num_render_backends;
- const unsigned pipe_count = MAX2(rb_count, sdp_interface_count);
+ const unsigned pipe_count = MAX2(rb_count, pipeline->device->physical_device->rad_info.num_sdp_interfaces);
const unsigned db_tag_part = (db_tag_count * rb_count / pipe_count) * db_tag_size * pipe_count;
const unsigned color_tag_part = (color_tag_count * rb_count / pipe_count) * color_tag_size * pipe_count;
struct uvec2 *color_bin_size,
struct uvec2 *depth_bin_size)
{
- unsigned num_sdp_interfaces = 0;
-
- switch (sctx->family) {
- case CHIP_NAVI10:
- case CHIP_NAVI12:
- num_sdp_interfaces = 16;
- break;
- case CHIP_NAVI14:
- num_sdp_interfaces = 8;
- break;
- default:
- assert(0);
- }
-
const unsigned ZsTagSize = 64;
const unsigned ZsNumTags = 312;
const unsigned CcTagSize = 1024;
const unsigned FcReadTags = 44;
const unsigned num_rbs = sctx->screen->info.num_render_backends;
- const unsigned num_pipes = MAX2(num_rbs, num_sdp_interfaces);
+ const unsigned num_pipes = MAX2(num_rbs, sctx->screen->info.num_sdp_interfaces);
const unsigned depthBinSizeTagPart = ((ZsNumTags * num_rbs / num_pipes) * (ZsTagSize * num_pipes));
const unsigned colorBinSizeTagPart = ((CcReadTags * num_rbs / num_pipes) * (CcTagSize * num_pipes));