Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use family_id and external_rev_id to detect GFX11/RDNA3, Raphael APU, Me… #154

Closed
wants to merge 3 commits into from

Conversation

Umio-Yasuno
Copy link

@Umio-Yasuno Umio-Yasuno commented Mar 9, 2023

…ndocino APU

family_id and external_rev_id can be used to identify most AMD GPUs, but for now use them for GPUs that are not in the database.

Resolve #151
Resolve #153

Reference

@Umio-Yasuno Umio-Yasuno changed the title Use family_id and external_rev to detect GFX11/RDNA3, Raphael APU, Me… Use family_id and external_rev_id to detect GFX11/RDNA3, Raphael APU, Me… Mar 10, 2023
@clbr
Copy link
Owner

clbr commented Mar 10, 2023

getfamily_from_id should be called inside getfamily, otherwise the mem path may fail. family_id and and chip_external_rev do not need to be exported - they can be removed from the header and marked static inside the file.

However, I'm not sure I want to use this general approach. First of all it seems like manual updates would be needed every time, when until now it was 90% scripted. Second those GFX62432 names are quite ugly and nobody can interpret what they mean.

@clbr
Copy link
Owner

clbr commented Mar 10, 2023

On the tech side, I forgot to say the GFX defines should also be inside amdgpu.c.

@Umio-Yasuno
Copy link
Author

However, I'm not sure I want to use this general approach. First of all it seems like manual updates would be needed every time, when until now it was 90% scripted.

Scripting may be possible since the family_id and external_rev_id ranges are aggregated in the src/amd/addrlib/src/amdgpu_asic_addr.h.

Since AMDGPU drivers no longer require DeviceID, other methods will be needed to update the database in the future.

Second those GFX62432 names are quite ugly and nobody can interpret what they mean.

In terms of code names, it seems to me that it is no different than any other.
Can users see the stars and the names that combine colors and fish and understand their meanings?

Mesa3D has dropped the color and fish names and uses names like Navi21 , but radeontop continues to use color and fish names.

@Umio-Yasuno Umio-Yasuno marked this pull request as draft March 10, 2023 08:48
@Umio-Yasuno
Copy link
Author

getfamily_from_id should be called inside getfamily, otherwise the mem path may fail. family_id and and chip_external_rev do not need to be exported - they can be removed from the header and marked static inside the file.

Changed: ab7a242

@Umio-Yasuno
Copy link
Author

There is also the option of using marketing names instead of code names.
The marketing name can be got from the amdgpu_get_marketing_name function, which returns "AMD Radeon Graphics" if it is not in the data/amdgpu.ids.

https://gitlab.freedesktop.org/mesa/drm/-/blob/main/amdgpu/amdgpu_device.c#L293-299
https://gitlab.freedesktop.org/mesa/drm/blob/main/data/amdgpu.ids

@Umio-Yasuno
Copy link
Author

Close PR due to no progress. I will prioritize the development of alternatives.

@Umio-Yasuno Umio-Yasuno deleted the pr-family_id branch March 29, 2023 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for RX 7900 XT UNKNOWN_CHIP with Navi31
2 participants