@@ -71,6 +71,11 @@ class StandardCapabilities final : public Capabilities {
7171 return default_stencil_format_;
7272 }
7373
74+ // |Capabilities|
75+ PixelFormat GetDefaultDepthStencilFormat () const override {
76+ return default_depth_stencil_format_;
77+ }
78+
7479 bool SupportsMemorylessTextures () const override {
7580 return supports_memoryless_textures_;
7681 }
@@ -88,7 +93,8 @@ class StandardCapabilities final : public Capabilities {
8893 bool supports_decal_tile_mode,
8994 bool supports_memoryless_textures,
9095 PixelFormat default_color_format,
91- PixelFormat default_stencil_format)
96+ PixelFormat default_stencil_format,
97+ PixelFormat default_depth_stencil_format)
9298 : supports_offscreen_msaa_(supports_offscreen_msaa),
9399 supports_ssbo_ (supports_ssbo),
94100 supports_buffer_to_texture_blits_(supports_buffer_to_texture_blits),
@@ -102,7 +108,8 @@ class StandardCapabilities final : public Capabilities {
102108 supports_decal_tile_mode_(supports_decal_tile_mode),
103109 supports_memoryless_textures_(supports_memoryless_textures),
104110 default_color_format_(default_color_format),
105- default_stencil_format_(default_stencil_format) {}
111+ default_stencil_format_(default_stencil_format),
112+ default_depth_stencil_format_(default_depth_stencil_format) {}
106113
107114 friend class CapabilitiesBuilder ;
108115
@@ -119,6 +126,7 @@ class StandardCapabilities final : public Capabilities {
119126 bool supports_memoryless_textures_ = false ;
120127 PixelFormat default_color_format_ = PixelFormat::kUnknown ;
121128 PixelFormat default_stencil_format_ = PixelFormat::kUnknown ;
129+ PixelFormat default_depth_stencil_format_ = PixelFormat::kUnknown ;
122130
123131 FML_DISALLOW_COPY_AND_ASSIGN (StandardCapabilities);
124132};
@@ -190,6 +198,12 @@ CapabilitiesBuilder& CapabilitiesBuilder::SetDefaultStencilFormat(
190198 return *this ;
191199}
192200
201+ CapabilitiesBuilder& CapabilitiesBuilder::SetDefaultDepthStencilFormat (
202+ PixelFormat value) {
203+ default_depth_stencil_format_ = value;
204+ return *this ;
205+ }
206+
193207CapabilitiesBuilder& CapabilitiesBuilder::SetSupportsDecalTileMode (bool value) {
194208 supports_decal_tile_mode_ = value;
195209 return *this ;
@@ -215,7 +229,8 @@ std::unique_ptr<Capabilities> CapabilitiesBuilder::Build() {
215229 supports_decal_tile_mode_, //
216230 supports_memoryless_textures_, //
217231 default_color_format_.value_or (PixelFormat::kUnknown ), //
218- default_stencil_format_.value_or (PixelFormat::kUnknown ) //
232+ default_stencil_format_.value_or (PixelFormat::kUnknown ), //
233+ default_depth_stencil_format_.value_or (PixelFormat::kUnknown ) //
219234 ));
220235}
221236
0 commit comments