Update samples to use preferred texture format for surface
Change-Id: I1aabdc037a8ef2f537c67cbb778a35bf22e82625
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/201894
Commit-Queue: Jaswant Panchumarti <jaswant.panchumarti@kitware.com>
Auto-Submit: Jaswant Panchumarti <jaswant.panchumarti@kitware.com>
Reviewed-by: Loko Kung <lokokung@google.com>
diff --git a/src/dawn/samples/Animometer.cpp b/src/dawn/samples/Animometer.cpp
index 1efa0a6..46dbd84 100644
--- a/src/dawn/samples/Animometer.cpp
+++ b/src/dawn/samples/Animometer.cpp
@@ -128,7 +128,7 @@
descriptor.layout = dawn::utils::MakeBasicPipelineLayout(device, &bgl);
descriptor.vertex.module = vsModule;
descriptor.cFragment.module = fsModule;
- descriptor.cTargets[0].format = GetPreferredSwapChainTextureFormat();
+ descriptor.cTargets[0].format = GetPreferredSurfaceTextureFormat();
pipeline = device.CreateRenderPipeline(&descriptor);
diff --git a/src/dawn/samples/ComputeBoids.cpp b/src/dawn/samples/ComputeBoids.cpp
index fddb84f..e72f433 100644
--- a/src/dawn/samples/ComputeBoids.cpp
+++ b/src/dawn/samples/ComputeBoids.cpp
@@ -138,7 +138,7 @@
descriptor.cAttributes[2].format = wgpu::VertexFormat::Float32x2;
descriptor.cFragment.module = fsModule;
- descriptor.cTargets[0].format = GetPreferredSwapChainTextureFormat();
+ descriptor.cTargets[0].format = GetPreferredSurfaceTextureFormat();
renderPipeline = device.CreateRenderPipeline(&descriptor);
}
diff --git a/src/dawn/samples/HelloTriangle.cpp b/src/dawn/samples/HelloTriangle.cpp
index 1d7d250..8f99613 100644
--- a/src/dawn/samples/HelloTriangle.cpp
+++ b/src/dawn/samples/HelloTriangle.cpp
@@ -62,7 +62,7 @@
descriptor.cBuffers[0].attributeCount = 1;
descriptor.cAttributes[0].format = wgpu::VertexFormat::Float32x4;
descriptor.cFragment.module = module;
- descriptor.cTargets[0].format = GetPreferredSwapChainTextureFormat();
+ descriptor.cTargets[0].format = GetPreferredSurfaceTextureFormat();
pipeline = device.CreateRenderPipeline(&descriptor);
return true;
diff --git a/src/dawn/samples/SampleUtils.cpp b/src/dawn/samples/SampleUtils.cpp
index af23e97..d53cf4b 100644
--- a/src/dawn/samples/SampleUtils.cpp
+++ b/src/dawn/samples/SampleUtils.cpp
@@ -53,11 +53,6 @@
#include <emscripten/emscripten.h>
#endif // __EMSCRIPTEN__
-wgpu::TextureFormat GetPreferredSwapChainTextureFormat() {
- // TODO(dawn:1362): Return the adapter's preferred format when implemented.
- return wgpu::TextureFormat::BGRA8Unorm;
-}
-
// Parsed options.
static wgpu::BackendType backendType = wgpu::BackendType::Undefined;
static wgpu::AdapterType adapterType = wgpu::AdapterType::Unknown;
@@ -353,6 +348,7 @@
config.width = width;
config.height = height;
surface.Configure(&config);
+ this->preferredSurfaceTextureFormat = capabilities.formats[0];
return SetupImpl();
}
diff --git a/src/dawn/samples/SampleUtils.h b/src/dawn/samples/SampleUtils.h
index 44387cf..94b679b 100644
--- a/src/dawn/samples/SampleUtils.h
+++ b/src/dawn/samples/SampleUtils.h
@@ -34,7 +34,6 @@
#include <webgpu/webgpu_cpp.h>
-wgpu::TextureFormat GetPreferredSwapChainTextureFormat();
bool InitSample(int argc, const char** argv);
class SampleBase {
@@ -55,6 +54,8 @@
wgpu::Surface surface = nullptr;
+ wgpu::TextureFormat GetPreferredSurfaceTextureFormat() { return preferredSurfaceTextureFormat; }
+
private:
bool Setup();
@@ -62,6 +63,7 @@
static constexpr uint32_t kHeight = 480;
uint32_t width = kWidth;
uint32_t height = kHeight;
+ wgpu::TextureFormat preferredSurfaceTextureFormat = wgpu::TextureFormat::BGRA8Unorm;
#ifndef __EMSCRIPTEN__
GLFWwindow* window = nullptr;