Add informational toggle that indirect baseVertex is broken on Mac Intel

Bug: dawn:966
Change-Id: I5f8183911eb04d4809c30cb7c1efdeca414f3329
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/114662
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
This commit is contained in:
Austin Eng 2022-12-16 18:10:06 +00:00 committed by Dawn LUCI CQ
parent e48253f31e
commit 04ad2a4c14
3 changed files with 11 additions and 1 deletions

View File

@ -337,7 +337,12 @@ static constexpr ToggleEnumAndInfoList kToggleNameAndInfoList = {{
"MacOS 12.0+ Intel has a bug where the sample mask is only applied for the last color " "MacOS 12.0+ Intel has a bug where the sample mask is only applied for the last color "
"target. If there are multiple color targets, all but the last one will use a sample mask " "target. If there are multiple color targets, all but the last one will use a sample mask "
"of zero.", "of zero.",
"https://crbug.com/dawn/1462"}} "https://crbug.com/dawn/1462"}},
{Toggle::NoWorkaroundIndirectBaseVertexNotApplied,
{"no_workaround_indirect_base_vertex_not_applied",
"MacOS Intel < Gen9 has a bug where indirect base vertex is not applied for "
"drawIndexedIndirect. Draws are done as if it is always zero.",
"https://crbug.com/dawn/966"}}
// Comment to separate the }} so it is clearer what to copy-paste to add a toggle. // Comment to separate the }} so it is clearer what to copy-paste to add a toggle.
}}; }};
} // anonymous namespace } // anonymous namespace

View File

@ -86,6 +86,7 @@ enum class Toggle {
// Unresolved issues. // Unresolved issues.
NoWorkaroundSampleMaskBecomesZeroForAllButLastColorTarget, NoWorkaroundSampleMaskBecomesZeroForAllButLastColorTarget,
NoWorkaroundIndirectBaseVertexNotApplied,
EnumCount, EnumCount,
InvalidEnum = EnumCount, InvalidEnum = EnumCount,

View File

@ -264,6 +264,10 @@ void Device::InitTogglesFromDriver() {
isOperatingSystemAtLeastVersion:NSOperatingSystemVersion{12, 0, 0}]) { isOperatingSystemAtLeastVersion:NSOperatingSystemVersion{12, 0, 0}]) {
ForceSetToggle(Toggle::NoWorkaroundSampleMaskBecomesZeroForAllButLastColorTarget, true); ForceSetToggle(Toggle::NoWorkaroundSampleMaskBecomesZeroForAllButLastColorTarget, true);
} }
if (gpu_info::IsIntelGen7(vendorId, deviceId) ||
gpu_info::IsIntelGen8(vendorId, deviceId)) {
ForceSetToggle(Toggle::NoWorkaroundIndirectBaseVertexNotApplied, true);
}
} }
#endif #endif
} }