Mesa (main): ac/gpu_info: remove redundant uvd_decode
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jul 27 05:35:30 UTC 2022
Module: Mesa
Branch: main
Commit: a0d2e16c911a096a6b21a6344d41e27562563e98
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0d2e16c911a096a6b21a6344d41e27562563e98
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Jul 7 19:46:33 2022 -0400
ac/gpu_info: remove redundant uvd_decode
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>
---
src/amd/common/ac_gpu_info.c | 2 --
src/amd/common/ac_gpu_info.h | 1 -
src/gallium/drivers/r600/r600_pipe.c | 2 +-
src/gallium/drivers/r600/r600_pipe_common.c | 4 ++--
src/gallium/drivers/radeonsi/si_get.c | 4 ++--
src/gallium/drivers/radeonsi/si_pipe.c | 2 +-
src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 2 --
7 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index 25e107f9e47..0b5575ed4f0 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/amd/common/ac_gpu_info.c
@@ -853,7 +853,6 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
info->max_sa_per_se = amdinfo->num_shader_arrays_per_engine;
info->uvd_fw_version = info->ip[AMD_IP_UVD].num_queues ? uvd_version : 0;
info->vce_fw_version = info->ip[AMD_IP_VCE].num_queues ? vce_version : 0;
- info->has_video_hw.uvd_decode = info->ip[AMD_IP_UVD].num_queues != 0;
/* Based on MemoryOpsPerClockTable from PAL. */
switch (info->vram_type) {
@@ -1478,7 +1477,6 @@ void ac_print_gpu_info(struct radeon_info *info, FILE *f)
fprintf(f, " pfp_fw_feature = %i\n", info->pfp_fw_feature);
fprintf(f, "Multimedia info:\n");
- fprintf(f, " uvd_decode = %u\n", info->has_video_hw.uvd_decode);
fprintf(f, " jpeg_decode = %u\n", info->has_video_hw.jpeg_decode);
fprintf(f, " vce_encode = %u\n", info->has_video_hw.vce_encode);
fprintf(f, " uvd_encode = %u\n", info->has_video_hw.uvd_encode);
diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h
index d6c368bcf59..ec116dcd6b7 100644
--- a/src/amd/common/ac_gpu_info.h
+++ b/src/amd/common/ac_gpu_info.h
@@ -156,7 +156,6 @@ struct radeon_info {
/* Multimedia info. */
struct {
- bool uvd_decode;
bool vcn_decode;
bool jpeg_decode;
bool vce_encode;
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index ecdc05cdb59..51afc188595 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -157,7 +157,7 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen,
r600_init_blit_functions(rctx);
- if (rscreen->b.info.has_video_hw.uvd_decode) {
+ if (rscreen->b.info.ip[AMD_IP_UVD].num_queues) {
rctx->b.b.create_video_codec = r600_uvd_create_decoder;
rctx->b.b.create_video_buffer = r600_video_buffer_create;
} else {
diff --git a/src/gallium/drivers/r600/r600_pipe_common.c b/src/gallium/drivers/r600/r600_pipe_common.c
index d9096763cbc..199bd4a2a8c 100644
--- a/src/gallium/drivers/r600/r600_pipe_common.c
+++ b/src/gallium/drivers/r600/r600_pipe_common.c
@@ -1247,7 +1247,7 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,
rscreen->b.resource_from_user_memory = r600_buffer_from_user_memory;
rscreen->b.query_memory_info = r600_query_memory_info;
- if (rscreen->info.has_video_hw.uvd_decode) {
+ if (rscreen->info.ip[AMD_IP_UVD].num_queues) {
rscreen->b.get_video_param = rvid_get_video_param;
rscreen->b.is_video_format_supported = rvid_is_format_supported;
} else {
@@ -1295,7 +1295,7 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,
printf("has_dedicated_vram = %u\n", rscreen->info.has_dedicated_vram);
printf("r600_has_virtual_memory = %i\n", rscreen->info.r600_has_virtual_memory);
printf("gfx_ib_pad_with_type2 = %i\n", rscreen->info.gfx_ib_pad_with_type2);
- printf("uvd_decode = %u\n", rscreen->info.has_video_hw.uvd_decode);
+ printf("ip[AMD_IP_UVD] = %u\n", rscreen->info.ip[AMD_IP_UVD].num_queues);
printf("ip[AMD_IP_SDMA] = %i\n", rscreen->info.ip[AMD_IP_SDMA].num_queues);
printf("ip[AMD_IP_COMPUTE] = %u\n", rscreen->info.ip[AMD_IP_COMPUTE].num_queues);
printf("uvd_fw_version = %u\n", rscreen->info.uvd_fw_version);
diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c
index 33f7fc51d93..e6fac220883 100644
--- a/src/gallium/drivers/radeonsi/si_get.c
+++ b/src/gallium/drivers/radeonsi/si_get.c
@@ -639,7 +639,7 @@ static int si_get_video_param(struct pipe_screen *screen, enum pipe_video_profil
sscreen->info.family >= CHIP_NAVI24)
return false;
if (codec != PIPE_VIDEO_FORMAT_JPEG &&
- !(sscreen->info.has_video_hw.uvd_decode ||
+ !(sscreen->info.ip[AMD_IP_UVD].num_queues ||
sscreen->info.has_video_hw.vcn_decode))
return false;
@@ -1051,7 +1051,7 @@ void si_init_screen_get_functions(struct si_screen *sscreen)
sscreen->b.query_memory_info = si_query_memory_info;
sscreen->b.get_disk_shader_cache = si_get_disk_shader_cache;
- if (sscreen->info.has_video_hw.uvd_decode || sscreen->info.has_video_hw.vcn_decode ||
+ if (sscreen->info.ip[AMD_IP_UVD].num_queues || sscreen->info.has_video_hw.vcn_decode ||
sscreen->info.has_video_hw.jpeg_decode || sscreen->info.has_video_hw.vce_encode ||
sscreen->info.has_video_hw.uvd_encode || sscreen->info.has_video_hw.vcn_encode) {
sscreen->b.get_video_param = si_get_video_param;
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index c8fc1bdcc3d..03a8bc407e7 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -684,7 +684,7 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen, unsign
sctx->sample_mask = 0xffff;
/* Initialize multimedia functions. */
- if (sscreen->info.has_video_hw.uvd_decode || sscreen->info.has_video_hw.vcn_decode ||
+ if (sscreen->info.ip[AMD_IP_UVD].num_queues || sscreen->info.has_video_hw.vcn_decode ||
sscreen->info.has_video_hw.jpeg_decode || sscreen->info.has_video_hw.vce_encode ||
sscreen->info.has_video_hw.uvd_encode || sscreen->info.has_video_hw.vcn_encode) {
sctx->b.create_video_codec = si_uvd_create_decoder;
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
index d352337a00a..73510b582b4 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
@@ -313,14 +313,12 @@ static bool do_winsys_init(struct radeon_drm_winsys *ws)
}
/* Check for UVD and VCE */
- ws->info.has_video_hw.uvd_decode = false;
ws->info.has_video_hw.vce_encode = false;
ws->info.vce_fw_version = 0x00000000;
if (ws->info.drm_minor >= 32) {
uint32_t value = RADEON_CS_RING_UVD;
if (radeon_get_drm_value(ws->fd, RADEON_INFO_RING_WORKING,
"UVD Ring working", &value)) {
- ws->info.has_video_hw.uvd_decode = value;
ws->info.ip[AMD_IP_UVD].num_queues = 1;
}
More information about the mesa-commit
mailing list