ac: Don't negate strstr return values in ac_query_gpu_info

strstr returns a pointer to the needle sub-string within the haystack
string if the latter contains the former, or NULL otherwise. So this
essentially always set info->is_pro_graphics = true, since probably no
marketing name ever contains all of these sub-strings.

Fixes: b635dff256 "ac: fix detection of Pro graphics"
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7675>
(cherry picked from commit 13b2beb415)
This commit is contained in:
Michel Dänzer 2020-11-18 17:54:19 +01:00 committed by Dylan Baker
parent 84e77da244
commit d8e73329de
2 changed files with 4 additions and 4 deletions

View file

@ -166,7 +166,7 @@
"description": "ac: Don't negate strstr return values in ac_query_gpu_info",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "b635dff25620b948080d31211ca487a71203af4d"
},

View file

@ -468,9 +468,9 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
info->family_id = amdinfo->family_id;
info->chip_external_rev = amdinfo->chip_external_rev;
info->marketing_name = amdgpu_get_marketing_name(dev);
info->is_pro_graphics = info->marketing_name && (!strstr(info->marketing_name, "Pro") ||
!strstr(info->marketing_name, "PRO") ||
!strstr(info->marketing_name, "Frontier"));
info->is_pro_graphics = info->marketing_name && (strstr(info->marketing_name, "Pro") ||
strstr(info->marketing_name, "PRO") ||
strstr(info->marketing_name, "Frontier"));
/* Set which chips have dedicated VRAM. */
info->has_dedicated_vram = !(amdinfo->ids_flags & AMDGPU_IDS_FLAGS_FUSION);