[host] dxgi: match the last entry in the downsample rule list

This commit is contained in:
Geoffrey McRae 2022-05-03 17:58:41 +10:00
parent 2eec459b47
commit 15334c89d6

View file

@ -598,24 +598,29 @@ static bool dxgi_init(void)
goto fail;
}
this->targetWidth = this->width;
this->targetHeight = this->height;
this->downsampleLevel = 0;
this->targetWidth = this->width;
this->targetHeight = this->height;
DownsampleRule * rule;
DownsampleRule * rule, * match = NULL;
vector_forEachRef(rule, &downsampleRules)
{
if (
( rule->greater && (this->width > rule->x || this->height > rule->y)) ||
(!rule->greater && (this->width == rule->x && this->height == rule->y)))
{
DEBUG_INFO("Matched downsample rule %d", rule->id);
this->downsampleLevel = rule->level;
this->targetWidth >>= rule->level;
this->targetHeight >>= rule->level;
break;
match = rule;
}
}
if (match)
{
DEBUG_INFO("Matched downsample rule %d", rule->id);
this->downsampleLevel = match->level;
this->targetWidth >>= match->level;
this->targetHeight >>= match->level;
}
DEBUG_INFO("Request Size : %u x %u", this->targetWidth, this->targetHeight);
const char * copyBackend = option_get_string("dxgi", "copyBackend");