Allow linear swizzle mode with tiled image requests.
Mesa address lib faults if the only acceptable swizzle modes are forbidden. The old address lib simply ignored the forbidden list in this case. Mesa addrlib will not select linear unless there is no other option so allowing linear mode for tiled images will still use tiled modes when possible. Change-Id: I1aa44d072db902c968484dbff67b482af03b45d9
这个提交包含在:
1 父节点
9c9064c2b7
当前提交
c60364e1e0
3 个文件已更改
+5
-16
没有与搜索条件相匹配的文件
@@ -516,19 +516,14 @@ uint32_t ImageManagerAi::GetAddrlibSurfaceInfoAi(
|
||||
prefSettingsInput.resourceLoction = ADDR_RSRC_LOC_UNDEF;
|
||||
prefSettingsInput.resourceType = in.resourceType;
|
||||
|
||||
// Disallow all swizzles but linear.
|
||||
if (tileMode == Image::TileMode::LINEAR)
|
||||
{
|
||||
// this should force linear.
|
||||
prefSettingsInput.forbiddenBlock.macroThin4KB = 1;
|
||||
prefSettingsInput.forbiddenBlock.macroThick4KB = 1;
|
||||
prefSettingsInput.forbiddenBlock.macroThin64KB = 1;
|
||||
prefSettingsInput.forbiddenBlock.macroThick64KB = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// this should not allow linear.
|
||||
prefSettingsInput.forbiddenBlock.linear = 1;
|
||||
}
|
||||
|
||||
prefSettingsInput.forbiddenBlock.micro = 1; // but don't ever allow the 256b swizzle modes
|
||||
prefSettingsInput.forbiddenBlock.var = 1; // and don't allow variable-size block modes
|
||||
|
||||
在新工单中引用
屏蔽一个用户