Fix MultisampledRenderingWithDepthTest
This test was using two separate depth-stencil textures for sequential
render passes. The second render pass is supposed to load the texture
from the first but it was instead loading a new uninitialized texture.
Bug: dawn:133
Change-Id: I615ec4502a6f26bd039187b0c1942ffbb806b549
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/6640
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
diff --git a/src/tests/end2end/MultisampledRenderingTests.cpp b/src/tests/end2end/MultisampledRenderingTests.cpp
index 11e2c0a..cc07188 100644
--- a/src/tests/end2end/MultisampledRenderingTests.cpp
+++ b/src/tests/end2end/MultisampledRenderingTests.cpp
@@ -31,6 +31,9 @@
CreateTextureForOutputAttachment(kColorFormat, kSampleCount).CreateDefaultView();
mResolveTexture = CreateTextureForOutputAttachment(kColorFormat, 1);
mResolveView = mResolveTexture.CreateDefaultView();
+
+ mDepthStencilTexture = CreateTextureForOutputAttachment(kDepthStencilFormat, kSampleCount);
+ mDepthStencilView = mDepthStencilTexture.CreateDefaultView();
}
dawn::RenderPipeline CreateRenderPipelineWithOneOutputForTest(bool testDepth) {
@@ -140,10 +143,7 @@
renderPass.cDepthStencilAttachmentInfo.depthLoadOp = depthStencilLoadOp;
if (hasDepthStencilAttachment) {
- dawn::Texture depthStencilTexture =
- CreateTextureForOutputAttachment(kDepthStencilFormat, kSampleCount);
- renderPass.cDepthStencilAttachmentInfo.attachment =
- depthStencilTexture.CreateDefaultView();
+ renderPass.cDepthStencilAttachmentInfo.attachment = mDepthStencilView;
renderPass.depthStencilAttachment = &renderPass.cDepthStencilAttachmentInfo;
}
@@ -179,6 +179,8 @@
dawn::TextureView mMultisampledColorView;
dawn::Texture mResolveTexture;
dawn::TextureView mResolveView;
+ dawn::Texture mDepthStencilTexture;
+ dawn::TextureView mDepthStencilView;
dawn::BindGroupLayout mBindGroupLayout;
private: