D3D12: Disable GBV when using partial validation.
GBV's ability to patch shaders with validation code was hanging several end2end tests. Since disabling GBV shader patching would render partial validation ineffective, partial validation was re-mapped to have GBV disabled while full validation enables GBV by default. End2end tests now default to partial validation so tests that would otherwise not run with GBV can still have some coverage. BUG=dawn:592 Change-Id: Iafb271b5ee8862592152fa45c34f188d64432e60 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46725 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com> Auto-Submit: Bryan Bernhart <bryan.bernhart@intel.com>
This commit is contained in:
parent
3d71624bfd
commit
e688e52e6c
|
@ -39,10 +39,8 @@ namespace dawn_native { namespace d3d12 {
|
|||
functions->d3d12GetDebugInterface(IID_PPV_ARGS(&debugController)))) {
|
||||
ASSERT(debugController != nullptr);
|
||||
debugController->EnableDebugLayer();
|
||||
debugController->SetEnableGPUBasedValidation(true);
|
||||
if (validationLevel == BackendValidationLevel::Partial) {
|
||||
debugController->SetGPUBasedValidationFlags(
|
||||
D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING);
|
||||
if (validationLevel == BackendValidationLevel::Full) {
|
||||
debugController->SetEnableGPUBasedValidation(true);
|
||||
}
|
||||
|
||||
// Enable additional debug layers.
|
||||
|
|
|
@ -255,7 +255,7 @@ void DawnTestEnvironment::ParseArgs(int argc, char** argv) {
|
|||
UNREACHABLE();
|
||||
}
|
||||
} else {
|
||||
mBackendValidationLevel = dawn_native::BackendValidationLevel::Full;
|
||||
mBackendValidationLevel = dawn_native::BackendValidationLevel::Partial;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
@ -353,9 +353,9 @@ void DawnTestEnvironment::ParseArgs(int argc, char** argv) {
|
|||
" -w, --use-wire: Run the tests through the wire (defaults to no wire)\n"
|
||||
" -c, --begin-capture-on-startup: Begin debug capture on startup "
|
||||
"(defaults to no capture)\n"
|
||||
" --enable-backend-validation: Enables backend validation. Defaults to 'full'\n"
|
||||
" to enable all available backend validation. Set to 'partial' to\n"
|
||||
" enable a subset of backend validation with less performance overhead.\n"
|
||||
" --enable-backend-validation: Enables backend validation. Defaults to \n"
|
||||
" 'partial' to enable only minimum backend validation. Set to 'full' to\n"
|
||||
" enable all available backend validation with less performance overhead.\n"
|
||||
" Set to 'disabled' to run with no validation (same as no flag).\n"
|
||||
" --enable-toggles: Comma-delimited list of Dawn toggles to enable.\n"
|
||||
" ex.) skip_validation,use_tint_generator,disable_robustness,turn_off_vsync\n"
|
||||
|
|
|
@ -389,8 +389,6 @@ class CopyTextureForBrowserTests : public DawnTest {
|
|||
// Verify CopyTextureForBrowserTests works with internal pipeline.
|
||||
// The case do copy without any transform.
|
||||
TEST_P(CopyTextureForBrowserTests, PassthroughCopy) {
|
||||
// Tests skip due to crbug.com/dawn/592.
|
||||
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
|
||||
constexpr uint32_t kWidth = 10;
|
||||
constexpr uint32_t kHeight = 1;
|
||||
|
@ -402,9 +400,6 @@ TEST_P(CopyTextureForBrowserTests, PassthroughCopy) {
|
|||
}
|
||||
|
||||
TEST_P(CopyTextureForBrowserTests, VerifyCopyOnXDirection) {
|
||||
// Tests skip due to crbug.com/dawn/592.
|
||||
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
|
||||
constexpr uint32_t kWidth = 1000;
|
||||
constexpr uint32_t kHeight = 1;
|
||||
|
||||
|
@ -415,9 +410,6 @@ TEST_P(CopyTextureForBrowserTests, VerifyCopyOnXDirection) {
|
|||
}
|
||||
|
||||
TEST_P(CopyTextureForBrowserTests, VerifyCopyOnYDirection) {
|
||||
// Tests skip due to crbug.com/dawn/592.
|
||||
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
|
||||
constexpr uint32_t kWidth = 1;
|
||||
constexpr uint32_t kHeight = 1000;
|
||||
|
||||
|
@ -428,8 +420,6 @@ TEST_P(CopyTextureForBrowserTests, VerifyCopyOnYDirection) {
|
|||
}
|
||||
|
||||
TEST_P(CopyTextureForBrowserTests, VerifyCopyFromLargeTexture) {
|
||||
// Tests skip due to crbug.com/dawn/592.
|
||||
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
|
||||
constexpr uint32_t kWidth = 899;
|
||||
constexpr uint32_t kHeight = 999;
|
||||
|
@ -441,9 +431,6 @@ TEST_P(CopyTextureForBrowserTests, VerifyCopyFromLargeTexture) {
|
|||
}
|
||||
|
||||
TEST_P(CopyTextureForBrowserTests, VerifyFlipY) {
|
||||
// Tests skip due to crbug.com/dawn/592.
|
||||
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
|
||||
constexpr uint32_t kWidth = 901;
|
||||
constexpr uint32_t kHeight = 1001;
|
||||
|
||||
|
@ -456,9 +443,6 @@ TEST_P(CopyTextureForBrowserTests, VerifyFlipY) {
|
|||
}
|
||||
|
||||
TEST_P(CopyTextureForBrowserTests, VerifyFlipYInSlimTexture) {
|
||||
// Tests skip due to crbug.com/dawn/592.
|
||||
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
|
||||
constexpr uint32_t kWidth = 1;
|
||||
constexpr uint32_t kHeight = 1001;
|
||||
|
||||
|
@ -473,8 +457,6 @@ TEST_P(CopyTextureForBrowserTests, VerifyFlipYInSlimTexture) {
|
|||
// Verify |CopyTextureForBrowser| doing color conversion correctly when
|
||||
// the source texture is RGBA8Unorm format.
|
||||
TEST_P(CopyTextureForBrowserTests, FromRGBA8UnormCopy) {
|
||||
// Tests skip due to crbug.com/dawn/592.
|
||||
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
// Skip OpenGLES backend because it fails on using RGBA8Unorm as
|
||||
// source texture format.
|
||||
DAWN_SKIP_TEST_IF(IsOpenGLES());
|
||||
|
@ -492,8 +474,6 @@ TEST_P(CopyTextureForBrowserTests, FromRGBA8UnormCopy) {
|
|||
// Verify |CopyTextureForBrowser| doing color conversion correctly when
|
||||
// the source texture is BGRAUnorm format.
|
||||
TEST_P(CopyTextureForBrowserTests, FromBGRA8UnormCopy) {
|
||||
// Tests skip due to crbug.com/dawn/592.
|
||||
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||
// Skip OpenGLES backend because it fails on using BGRA8Unorm as
|
||||
// source texture format.
|
||||
DAWN_SKIP_TEST_IF(IsOpenGLES());
|
||||
|
|
Loading…
Reference in New Issue