Use the number of queue instead.
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22904>
info->memory_freq_mhz_effective *= ac_memory_ops_per_clock(info->vram_type);
- /* unified ring */
- info->has_video_hw.vcn_decode
- = (info->family >= CHIP_GFX1100 || info->family == CHIP_GFX940)
- ? info->ip[AMD_IP_VCN_UNIFIED].num_queues != 0
- : info->ip[AMD_IP_VCN_DEC].num_queues != 0;
info->has_userptr = true;
info->has_syncobj = has_syncobj(fd);
info->has_timeline_syncobj = has_timeline_syncobj(fd);
fprintf(f, " vce_encode = %u\n", info->ip[AMD_IP_VCE].num_queues);
if (info->family >= CHIP_GFX1100 || info->family == CHIP_GFX940)
- fprintf(f, " vcn_unified = %u\n", info->has_video_hw.vcn_decode);
+ fprintf(f, " vcn_unified = %u\n", info->ip[AMD_IP_VCN_UNIFIED].num_queues);
else {
- fprintf(f, " vcn_decode = %u\n", info->has_video_hw.vcn_decode);
+ fprintf(f, " vcn_decode = %u\n", info->ip[AMD_IP_VCN_DEC].num_queues);
fprintf(f, " vcn_encode = %u\n", info->ip[AMD_IP_VCN_ENC].num_queues);
}
bool has_set_sh_reg_pairs_n;
/* Multimedia info. */
- struct {
- bool vcn_decode; /* TODO: remove */
- } has_video_hw;
-
uint32_t uvd_fw_version;
uint32_t vce_fw_version;
uint32_t vce_harvest_config;
case PIPE_VIDEO_CAP_SUPPORTED:
if (codec != PIPE_VIDEO_FORMAT_JPEG &&
!(sscreen->info.ip[AMD_IP_UVD].num_queues ||
- sscreen->info.has_video_hw.vcn_decode))
+ ((sscreen->info.family >= CHIP_GFX1100 || sscreen->info.family == CHIP_GFX940) ?
+ sscreen->info.ip[AMD_IP_VCN_UNIFIED].num_queues :
+ sscreen->info.ip[AMD_IP_VCN_DEC].num_queues)))
return false;
if (QUERYABLE_KERNEL &&
codec != PIPE_VIDEO_FORMAT_JPEG &&
sscreen->b.query_memory_info = si_query_memory_info;
sscreen->b.get_disk_shader_cache = si_get_disk_shader_cache;
- if (sscreen->info.ip[AMD_IP_UVD].num_queues || sscreen->info.has_video_hw.vcn_decode ||
+ if (sscreen->info.ip[AMD_IP_UVD].num_queues ||
+ ((sscreen->info.family >= CHIP_GFX1100 || sscreen->info.family == CHIP_GFX940) ?
+ sscreen->info.ip[AMD_IP_VCN_UNIFIED].num_queues : sscreen->info.ip[AMD_IP_VCN_DEC].num_queues) ||
sscreen->info.ip[AMD_IP_VCN_JPEG].num_queues || sscreen->info.ip[AMD_IP_VCE].num_queues ||
sscreen->info.ip[AMD_IP_UVD_ENC].num_queues || sscreen->info.ip[AMD_IP_VCN_ENC].num_queues) {
sscreen->b.get_video_param = si_get_video_param;
sctx->sample_mask = 0xffff;
/* Initialize multimedia functions. */
- if (sscreen->info.ip[AMD_IP_UVD].num_queues || sscreen->info.has_video_hw.vcn_decode ||
+ if (sscreen->info.ip[AMD_IP_UVD].num_queues ||
+ ((sscreen->info.family >= CHIP_GFX1100 || sscreen->info.family == CHIP_GFX940) ?
+ sscreen->info.ip[AMD_IP_VCN_UNIFIED].num_queues : sscreen->info.ip[AMD_IP_VCN_DEC].num_queues) ||
sscreen->info.ip[AMD_IP_VCN_JPEG].num_queues || sscreen->info.ip[AMD_IP_VCE].num_queues ||
sscreen->info.ip[AMD_IP_UVD_ENC].num_queues || sscreen->info.ip[AMD_IP_VCN_ENC].num_queues) {
sctx->b.create_video_codec = si_uvd_create_decoder;