mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 06:10:13 +01:00
radeonsi: Use libdrm to get chipset name
v2: Add a func pointer to radeon_winsys to support radeon later. Change-Id: I614ea71424f9e5c97e4ae68654315d28c89eaa5f Signed-off-by: Samuel Li <Samuel.Li@amd.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
4ba4f0e976
commit
c705caaff9
3 changed files with 20 additions and 1 deletions
|
|
@ -790,6 +790,15 @@ static const char* r600_get_device_vendor(struct pipe_screen* pscreen)
|
|||
|
||||
static const char* r600_get_chip_name(struct r600_common_screen *rscreen)
|
||||
{
|
||||
const char *mname;
|
||||
|
||||
if (rscreen->ws->get_chip_name) {
|
||||
mname = rscreen->ws->get_chip_name(rscreen->ws);
|
||||
if (mname != NULL)
|
||||
return mname;
|
||||
}
|
||||
|
||||
/* fall back to family names*/
|
||||
switch (rscreen->info.family) {
|
||||
case CHIP_R600: return "AMD R600";
|
||||
case CHIP_RV610: return "AMD RV610";
|
||||
|
|
@ -1321,6 +1330,7 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,
|
|||
struct utsname uname_data;
|
||||
|
||||
ws->query_info(ws, &rscreen->info);
|
||||
rscreen->ws = ws;
|
||||
|
||||
if (uname(&uname_data) == 0)
|
||||
snprintf(kernel_version, sizeof(kernel_version),
|
||||
|
|
@ -1362,7 +1372,6 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,
|
|||
r600_init_screen_texture_functions(rscreen);
|
||||
r600_init_screen_query_functions(rscreen);
|
||||
|
||||
rscreen->ws = ws;
|
||||
rscreen->family = rscreen->info.family;
|
||||
rscreen->chip_class = rscreen->info.chip_class;
|
||||
rscreen->debug_flags = debug_get_flags_option("R600_DEBUG", common_debug_options, 0);
|
||||
|
|
|
|||
|
|
@ -637,6 +637,8 @@ struct radeon_winsys {
|
|||
|
||||
bool (*read_registers)(struct radeon_winsys *ws, unsigned reg_offset,
|
||||
unsigned num_registers, uint32_t *out);
|
||||
|
||||
const char* (*get_chip_name)(struct radeon_winsys *ws);
|
||||
};
|
||||
|
||||
static inline bool radeon_emitted(struct radeon_winsys_cs *cs, unsigned num_dw)
|
||||
|
|
|
|||
|
|
@ -221,6 +221,13 @@ static bool amdgpu_winsys_unref(struct radeon_winsys *rws)
|
|||
return destroy;
|
||||
}
|
||||
|
||||
static const char* amdgpu_get_chip_name(struct radeon_winsys *ws)
|
||||
{
|
||||
amdgpu_device_handle dev = ((struct amdgpu_winsys *)ws)->dev;
|
||||
return amdgpu_get_marketing_name(dev);
|
||||
}
|
||||
|
||||
|
||||
PUBLIC struct radeon_winsys *
|
||||
amdgpu_winsys_create(int fd, radeon_screen_create_t screen_create)
|
||||
{
|
||||
|
|
@ -296,6 +303,7 @@ amdgpu_winsys_create(int fd, radeon_screen_create_t screen_create)
|
|||
ws->base.cs_request_feature = amdgpu_cs_request_feature;
|
||||
ws->base.query_value = amdgpu_query_value;
|
||||
ws->base.read_registers = amdgpu_read_registers;
|
||||
ws->base.get_chip_name = amdgpu_get_chip_name;
|
||||
|
||||
amdgpu_bo_init_functions(ws);
|
||||
amdgpu_cs_init_functions(ws);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue