Fix a test TODO to check depthWrite/Compare must be default if no depth
Bug: dawn:666
Change-Id: Ie6d7a9369cc038fbf4ecd78bfc20dca50498a944
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/160582
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
diff --git a/src/dawn/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/dawn/tests/unittests/validation/RenderPipelineValidationTests.cpp
index 32a5e0e..de01a26 100644
--- a/src/dawn/tests/unittests/validation/RenderPipelineValidationTests.cpp
+++ b/src/dawn/tests/unittests/validation/RenderPipelineValidationTests.cpp
@@ -191,8 +191,31 @@
device.CreateRenderPipeline(&descriptor);
}
- // TODO(dawn:666): Add tests for stencil-only format (Stencil8) with depth test or depth write
- // enabled when Stencil8 format is implemented
+ // It is invalid if the texture format doesn't have depth aspect while depth test is
+ // enabled.
+ {
+ utils::ComboRenderPipelineDescriptor descriptor;
+ descriptor.vertex.module = vsModule;
+ descriptor.cFragment.module = fsModule;
+ wgpu::DepthStencilState* depthStencil =
+ descriptor.EnableDepthStencil(wgpu::TextureFormat::Stencil8);
+ depthStencil->depthCompare = wgpu::CompareFunction::LessEqual;
+ depthStencil->depthWriteEnabled = false;
+ ASSERT_DEVICE_ERROR(device.CreateRenderPipeline(&descriptor));
+ }
+
+ // It is invalid if the texture format doesn't have depth aspect while depth write is
+ // enabled.
+ {
+ utils::ComboRenderPipelineDescriptor descriptor;
+ descriptor.vertex.module = vsModule;
+ descriptor.cFragment.module = fsModule;
+ wgpu::DepthStencilState* depthStencil =
+ descriptor.EnableDepthStencil(wgpu::TextureFormat::Stencil8);
+ depthStencil->depthCompare = wgpu::CompareFunction::Undefined;
+ depthStencil->depthWriteEnabled = true;
+ ASSERT_DEVICE_ERROR(device.CreateRenderPipeline(&descriptor));
+ }
}
// Tests that depth attachment is required when frag_depth is written in fragment stage.