I had noticed you don't have commit access probably, so I pushed the patch.
Marek On Wed, Jun 7, 2017 at 2:07 AM, Marek Olšák <mar...@gmail.com> wrote: > Reviewed-by: Marek Olšák <marek.ol...@amd.com> > > Marek > > On Wed, Jun 7, 2017 at 12:21 AM, Samuel Li <samuel...@amd.com> wrote: >> v2: Add a func pointer to radeon_winsys to support radeon later. >> >> Change-Id: I614ea71424f9e5c97e4ae68654315d28c89eaa5f >> Signed-off-by: Samuel Li <samuel...@amd.com> >> --- >> src/gallium/drivers/radeon/r600_pipe_common.c | 11 ++++++++++- >> src/gallium/drivers/radeon/radeon_winsys.h | 2 ++ >> src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 8 ++++++++ >> 3 files changed, 20 insertions(+), 1 deletion(-) >> >> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c >> b/src/gallium/drivers/radeon/r600_pipe_common.c >> index 2c0cadb..48d136a 100644 >> --- a/src/gallium/drivers/radeon/r600_pipe_common.c >> +++ b/src/gallium/drivers/radeon/r600_pipe_common.c >> @@ -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); >> diff --git a/src/gallium/drivers/radeon/radeon_winsys.h >> b/src/gallium/drivers/radeon/radeon_winsys.h >> index 524bb46..e19fde6 100644 >> --- a/src/gallium/drivers/radeon/radeon_winsys.h >> +++ b/src/gallium/drivers/radeon/radeon_winsys.h >> @@ -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) >> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c >> b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c >> index c8bd60e..b2307fe 100644 >> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c >> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c >> @@ -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); >> -- >> 2.7.4 >> >> _______________________________________________ >> 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