radeon/vce: disable VCE dual instance for harvest part

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
Leo Liu 2015-07-13 13:36:27 -04:00 committed by Marek Olšák
parent 09def7e1e0
commit 0654a9ca17
3 changed files with 5 additions and 1 deletions

View File

@ -408,7 +408,9 @@ struct pipe_video_codec *rvce_create_encoder(struct pipe_context *context,
if (rscreen->info.family >= CHIP_TONGA)
enc->dual_pipe = true;
/* TODO enable B frame with dual instance */
if ((rscreen->info.family >= CHIP_TONGA) && (templ->max_references == 1))
if ((rscreen->info.family >= CHIP_TONGA) &&
(templ->max_references == 1) &&
(rscreen->info.vce_harvest_config == 0))
enc->dual_inst = true;
enc->base = *templ;

View File

@ -244,6 +244,7 @@ struct radeon_info {
boolean cik_macrotile_mode_array_valid;
uint32_t cik_macrotile_mode_array[16];
uint32_t vce_harvest_config;
};
enum radeon_feature_id {

View File

@ -164,6 +164,7 @@ static boolean do_winsys_init(struct amdgpu_winsys *ws)
/* Set chip identification. */
ws->info.pci_id = ws->amdinfo.asic_id; /* TODO: is this correct? */
ws->info.vce_harvest_config = ws->amdinfo.vce_harvest_config;
switch (ws->info.pci_id) {
#define CHIPSET(pci_id, name, cfamily) case pci_id: ws->info.family = CHIP_##cfamily; break;