Use GetBindGroupLayout in CompressedTextureFormatTests
Bug: dawn:276
Change-Id: I364279b5d727816f1c7e0da3c55cf2cee2551eaf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/14021
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/src/tests/end2end/CompressedTextureFormatTests.cpp b/src/tests/end2end/CompressedTextureFormatTests.cpp
index a5cd6a5..4a6b627 100644
--- a/src/tests/end2end/CompressedTextureFormatTests.cpp
+++ b/src/tests/end2end/CompressedTextureFormatTests.cpp
@@ -34,13 +34,6 @@
class CompressedTextureBCFormatTest : public DawnTest {
protected:
- void TestSetUp() override {
- DawnTest::TestSetUp();
- mBindGroupLayout = utils::MakeBindGroupLayout(
- device, {{0, wgpu::ShaderStage::Fragment, wgpu::BindingType::Sampler},
- {1, wgpu::ShaderStage::Fragment, wgpu::BindingType::SampledTexture}});
- }
-
std::vector<const char*> GetRequiredExtensions() override {
mIsBCFormatSupported = SupportsExtensions({"texture_compression_bc"});
if (!mIsBCFormatSupported) {
@@ -108,7 +101,8 @@
}
// Create the bind group that includes a BC texture and a sampler.
- wgpu::BindGroup CreateBindGroupForTest(wgpu::Texture bcCompressedTexture,
+ wgpu::BindGroup CreateBindGroupForTest(wgpu::BindGroupLayout bindGroupLayout,
+ wgpu::Texture bcCompressedTexture,
wgpu::TextureFormat bcFormat,
uint32_t baseArrayLayer = 0,
uint32_t baseMipLevel = 0) {
@@ -128,16 +122,13 @@
textureViewDescriptor.mipLevelCount = 1;
wgpu::TextureView bcTextureView = bcCompressedTexture.CreateView(&textureViewDescriptor);
- return utils::MakeBindGroup(device, mBindGroupLayout, {{0, sampler}, {1, bcTextureView}});
+ return utils::MakeBindGroup(device, bindGroupLayout, {{0, sampler}, {1, bcTextureView}});
}
// Create a render pipeline for sampling from a BC texture and rendering into the render target.
wgpu::RenderPipeline CreateRenderPipelineForTest() {
ASSERT(IsBCFormatSupported());
- wgpu::PipelineLayout pipelineLayout =
- utils::MakeBasicPipelineLayout(device, &mBindGroupLayout);
-
utils::ComboRenderPipelineDescriptor renderPipelineDescriptor(device);
wgpu::ShaderModule vsModule =
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(
@@ -165,9 +156,9 @@
})");
renderPipelineDescriptor.vertexStage.module = vsModule;
renderPipelineDescriptor.cFragmentStage.module = fsModule;
- renderPipelineDescriptor.layout = pipelineLayout;
renderPipelineDescriptor.cColorStates[0].format =
utils::BasicRenderPass::kDefaultColorFormat;
+
return device.CreateRenderPipeline(&renderPipelineDescriptor);
}
@@ -208,10 +199,10 @@
wgpu::Texture bcTexture = CreateTextureWithCompressedData(config);
- wgpu::BindGroup bindGroup =
- CreateBindGroupForTest(bcTexture, config.textureDescriptor.format,
- config.viewArrayLayer, config.viewMipmapLevel);
wgpu::RenderPipeline renderPipeline = CreateRenderPipelineForTest();
+ wgpu::BindGroup bindGroup = CreateBindGroupForTest(
+ renderPipeline.GetBindGroupLayout(0), bcTexture, config.textureDescriptor.format,
+ config.viewArrayLayer, config.viewMipmapLevel);
wgpu::Extent3D virtualSizeAtLevel = GetVirtualSizeAtLevel(config);
@@ -449,8 +440,6 @@
static constexpr wgpu::TextureUsage kDefaultBCFormatTextureUsage =
wgpu::TextureUsage::Sampled | wgpu::TextureUsage::CopyDst;
- wgpu::BindGroupLayout mBindGroupLayout;
-
bool mIsBCFormatSupported = false;
};
@@ -639,9 +628,10 @@
wgpu::Texture bcTextureDst = CreateTextureFromTexture(bcTextureSrc, config, config);
// Verify if we can use bcTexture as sampled textures correctly.
- wgpu::BindGroup bindGroup = CreateBindGroupForTest(
- bcTextureDst, format, config.viewArrayLayer, config.viewMipmapLevel);
wgpu::RenderPipeline renderPipeline = CreateRenderPipelineForTest();
+ wgpu::BindGroup bindGroup =
+ CreateBindGroupForTest(renderPipeline.GetBindGroupLayout(0), bcTextureDst, format,
+ config.viewArrayLayer, config.viewMipmapLevel);
std::vector<RGBA8> expectedData = GetExpectedData(format, kVirtualSize);
VerifyCompressedTexturePixelValues(renderPipeline, bindGroup, kVirtualSize,
@@ -703,9 +693,10 @@
wgpu::Texture bcTextureDst = CreateTextureFromTexture(bcTextureSrc, srcConfig, dstConfig);
// Verify if we can use bcTexture as sampled textures correctly.
- wgpu::BindGroup bindGroup = CreateBindGroupForTest(
- bcTextureDst, format, dstConfig.viewArrayLayer, dstConfig.viewMipmapLevel);
wgpu::RenderPipeline renderPipeline = CreateRenderPipelineForTest();
+ wgpu::BindGroup bindGroup =
+ CreateBindGroupForTest(renderPipeline.GetBindGroupLayout(0), bcTextureDst, format,
+ dstConfig.viewArrayLayer, dstConfig.viewMipmapLevel);
std::vector<RGBA8> expectedData = GetExpectedData(format, kDstVirtualSize);
VerifyCompressedTexturePixelValues(renderPipeline, bindGroup, kDstVirtualSize,
@@ -762,9 +753,10 @@
wgpu::Texture bcTextureDst = CreateTextureFromTexture(bcTextureSrc, srcConfig, dstConfig);
// Verify if we can use bcTexture as sampled textures correctly.
- wgpu::BindGroup bindGroup = CreateBindGroupForTest(
- bcTextureDst, format, dstConfig.viewArrayLayer, dstConfig.viewMipmapLevel);
wgpu::RenderPipeline renderPipeline = CreateRenderPipelineForTest();
+ wgpu::BindGroup bindGroup =
+ CreateBindGroupForTest(renderPipeline.GetBindGroupLayout(0), bcTextureDst, format,
+ dstConfig.viewArrayLayer, dstConfig.viewMipmapLevel);
std::vector<RGBA8> expectedData = GetExpectedData(format, kDstVirtualSize);
VerifyCompressedTexturePixelValues(renderPipeline, bindGroup, kDstVirtualSize,
@@ -843,9 +835,9 @@
for (uint32_t i = 0; i < kTotalCopyCount; ++i) {
// Verify if we can use bcDstTextures as sampled textures correctly.
- wgpu::BindGroup bindGroup0 =
- CreateBindGroupForTest(bcDstTextures[i], format, dstConfigs[i].viewArrayLayer,
- dstConfigs[i].viewMipmapLevel);
+ wgpu::BindGroup bindGroup0 = CreateBindGroupForTest(
+ renderPipeline.GetBindGroupLayout(0), bcDstTextures[i], format,
+ dstConfigs[i].viewArrayLayer, dstConfigs[i].viewMipmapLevel);
std::vector<RGBA8> expectedData = GetExpectedData(format, dstVirtualSizes[i]);
VerifyCompressedTexturePixelValues(renderPipeline, bindGroup0, dstVirtualSizes[i],