diff --git a/src/dawn/native/d3d12/TextureD3D12.cpp b/src/dawn/native/d3d12/TextureD3D12.cpp
index 78b2676..bc80c00 100644
--- a/src/dawn/native/d3d12/TextureD3D12.cpp
+++ b/src/dawn/native/d3d12/TextureD3D12.cpp
@@ -1184,7 +1184,21 @@
                 case wgpu::TextureFormat::Depth16Unorm:
                     mSrvDesc.Format = DXGI_FORMAT_R16_UNORM;
                     break;
-                case wgpu::TextureFormat::Stencil8:
+                case wgpu::TextureFormat::Stencil8: {
+                    // Stencil8 is always backed by a DXGI_FORMAT_R24G8_TYPELESS texture in D3D12,
+                    // so always treat it as if the StencilOnly aspect of a Depth24UnormStencil8 was
+                    // selected.
+                    planeSlice = 1;
+                    mSrvDesc.Format = DXGI_FORMAT_X24_TYPELESS_G8_UINT;
+                    // Stencil is accessed using the .g component in the shader.
+                    // Map it to the zeroth component to match other APIs.
+                    mSrvDesc.Shader4ComponentMapping = D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(
+                        D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1,
+                        D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0,
+                        D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0,
+                        D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1);
+                    break;
+                }
                 case wgpu::TextureFormat::Depth24UnormStencil8:
                     switch (descriptor->aspect) {
                         case wgpu::TextureAspect::DepthOnly:
diff --git a/src/dawn/native/metal/TextureMTL.mm b/src/dawn/native/metal/TextureMTL.mm
index d75510a..20c5650 100644
--- a/src/dawn/native/metal/TextureMTL.mm
+++ b/src/dawn/native/metal/TextureMTL.mm
@@ -1060,7 +1060,8 @@
             }
         } else {
             MTLPixelFormat format = MetalPixelFormat(descriptor->format);
-            if (descriptor->aspect == wgpu::TextureAspect::StencilOnly) {
+            if (descriptor->aspect == wgpu::TextureAspect::StencilOnly &&
+                format != MTLPixelFormatStencil8) {
                 if (@available(macOS 10.12, iOS 10.0, *)) {
                     if (format == MTLPixelFormatDepth32Float_Stencil8) {
                         format = MTLPixelFormatX32_Stencil8;
