Hi, With this commit, both radeonsi and radv fail to load for me with:
amdgpu: amdgpu_query_hw_ip_info(vcn_jpeg) failed. If I comment out that query in ac_gpu_info.c, then they work again. I'm running kernel 4.18.7 with a Vega 64 - is the DRM version check on that correct? Thanks, Alex On Wed, 17 Oct 2018 at 20:06, <boyuan.zh...@amd.com> wrote: > From: Boyuan Zhang <boyuan.zh...@amd.com> > > Signed-off-by: Boyuan Zhang <boyuan.zh...@amd.com> > Reviewed-by: Leo Liu <leo....@amd.com> > --- > src/amd/common/ac_gpu_info.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c > index 766ad83547..8c50738c3f 100644 > --- a/src/amd/common/ac_gpu_info.c > +++ b/src/amd/common/ac_gpu_info.c > @@ -99,7 +99,7 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev, > struct drm_amdgpu_info_device device_info = {}; > struct amdgpu_buffer_size_alignments alignment_info = {}; > struct drm_amdgpu_info_hw_ip dma = {}, compute = {}, uvd = {}; > - struct drm_amdgpu_info_hw_ip uvd_enc = {}, vce = {}, vcn_dec = {}; > + struct drm_amdgpu_info_hw_ip uvd_enc = {}, vce = {}, vcn_dec = {}, > vcn_jpeg = {}; > struct drm_amdgpu_info_hw_ip vcn_enc = {}, gfx = {}; > struct amdgpu_gds_resource_info gds = {}; > uint32_t vce_version = 0, vce_feature = 0, uvd_version = 0, > uvd_feature = 0; > @@ -186,6 +186,14 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle > dev, > } > } > > + if (info->drm_major == 3 && info->drm_minor >= 17) { > + r = amdgpu_query_hw_ip_info(dev, AMDGPU_HW_IP_VCN_JPEG, 0, > &vcn_jpeg); > + if (r) { > + fprintf(stderr, "amdgpu: > amdgpu_query_hw_ip_info(vcn_jpeg) failed.\n"); > + return false; > + } > + } > + > r = amdgpu_query_firmware_version(dev, AMDGPU_INFO_FW_GFX_ME, 0, 0, > &info->me_fw_version, > &info->me_fw_feature); > @@ -340,7 +348,8 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle > dev, > info->max_se = amdinfo->num_shader_engines; > info->max_sh_per_se = amdinfo->num_shader_arrays_per_engine; > info->has_hw_decode = > - (uvd.available_rings != 0) || (vcn_dec.available_rings != > 0); > + (uvd.available_rings != 0) || (vcn_dec.available_rings != > 0) || > + (vcn_jpeg.available_rings != 0); > info->uvd_fw_version = > uvd.available_rings ? uvd_version : 0; > info->vce_fw_version = > @@ -439,6 +448,7 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle > dev, > ib_align = MAX2(ib_align, vce.ib_start_alignment); > ib_align = MAX2(ib_align, vcn_dec.ib_start_alignment); > ib_align = MAX2(ib_align, vcn_enc.ib_start_alignment); > + ib_align = MAX2(ib_align, vcn_jpeg.ib_start_alignment); > assert(ib_align); > info->ib_start_alignment = ib_align; > > -- > 2.17.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev