Revert "Implement EXT_depth_clamp"

This reverts commit f8c1418319ac2aef4b3101e322005b1d0f73120f.

Reason for revert: This change breaks angle_end2end_tests on Metal backend: https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/26035/overview

Original change's description:
> Implement EXT_depth_clamp
>
> * Added depthClamp to the RasterizerState
> * Added DepthWriteTest end2end tests covering
>   both clipped and clamped depth writes
>
> Capture
> * Updated serialized rasterizer state
> * Updated CaptureMidExecutionSetup
>
> OpenGL
> * Requires GL 3.2 or ARB_depth_clamp
>   on desktop contexts
> * Maps to EXT_depth_clamp on ES
>
> D3D11
> * Maps to the opposite of
>   D3D11_RASTERIZER_DESC.DepthClipEnable
> * The new tests uncover several edge cases where
>   a workaround is needed to implement unextended
>   OpenGL semantics on top of D3D
>
> Metal
> * Maps to the setDepthClipMode command
>
> Bug: angleproject:8047
> Bug: angleproject:8077
> Change-Id: I1b3448e5b84443e4be18af9bc22d2f8495ac8267
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4347753
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>

Bug: angleproject:8047
Bug: angleproject:8077
Change-Id: I829add68c006c72b7b4acf03aee3efa8a9a16fac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4350876
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
diff --git a/src/libANGLE/State.cpp b/src/libANGLE/State.cpp
index 74064f8..46987ac 100644
--- a/src/libANGLE/State.cpp
+++ b/src/libANGLE/State.cpp
@@ -867,16 +867,6 @@
     }
 }
 
-void State::setDepthClamp(bool enabled)
-{
-    if (mRasterizer.depthClamp != enabled)
-    {
-        mRasterizer.depthClamp = enabled;
-        mDirtyBits.set(DIRTY_BIT_EXTENDED);
-        mExtendedDirtyBits.set(EXTENDED_DIRTY_BIT_DEPTH_CLAMP_ENABLED);
-    }
-}
-
 void State::setDepthTest(bool enabled)
 {
     if (mDepthStencil.depthTest != enabled)
@@ -1304,9 +1294,6 @@
         case GL_POLYGON_OFFSET_FILL:
             setPolygonOffsetFill(enabled);
             return;
-        case GL_DEPTH_CLAMP_EXT:
-            setDepthClamp(enabled);
-            return;
         case GL_SAMPLE_ALPHA_TO_COVERAGE:
             setSampleAlphaToCoverage(enabled);
             return;
@@ -1475,8 +1462,6 @@
             return isCullFaceEnabled();
         case GL_POLYGON_OFFSET_FILL:
             return isPolygonOffsetFillEnabled();
-        case GL_DEPTH_CLAMP_EXT:
-            return isDepthClampEnabled();
         case GL_SAMPLE_ALPHA_TO_COVERAGE:
             return isSampleAlphaToCoverageEnabled();
         case GL_SAMPLE_COVERAGE:
@@ -2470,9 +2455,6 @@
         case GL_POLYGON_OFFSET_FILL:
             *params = mRasterizer.polygonOffsetFill;
             break;
-        case GL_DEPTH_CLAMP_EXT:
-            *params = mRasterizer.depthClamp;
-            break;
         case GL_SAMPLE_ALPHA_TO_COVERAGE:
             *params = mSampleAlphaToCoverage;
             break;
diff --git a/src/libANGLE/State.h b/src/libANGLE/State.h
index cbb4bd1..ed9a781 100644
--- a/src/libANGLE/State.h
+++ b/src/libANGLE/State.h
@@ -172,10 +172,6 @@
     void setCullMode(CullFaceMode mode);
     void setFrontFace(GLenum front);
 
-    // EXT_depth_clamp
-    bool isDepthClampEnabled() const { return mRasterizer.depthClamp; }
-    void setDepthClamp(bool enabled);
-
     // Depth test state manipulation
     bool isDepthTestEnabled() const { return mDepthStencil.depthTest; }
     bool isDepthWriteEnabled() const { return mDepthStencil.depthTest && mDepthStencil.depthMask; }
@@ -717,7 +713,7 @@
         DIRTY_BIT_SAMPLE_SHADING,
         DIRTY_BIT_PATCH_VERTICES,
         DIRTY_BIT_EXTENDED,  // clip distances, mipmap generation hint, derivative hint,
-                             // EXT_clip_control, EXT_depth_clamp
+                             // EXT_clip_control
         DIRTY_BIT_INVALID,
         DIRTY_BIT_MAX = DIRTY_BIT_INVALID,
     };
@@ -728,7 +724,6 @@
     {
         EXTENDED_DIRTY_BIT_CLIP_CONTROL,            // EXT_clip_control
         EXTENDED_DIRTY_BIT_CLIP_DISTANCES,          // clip distances
-        EXTENDED_DIRTY_BIT_DEPTH_CLAMP_ENABLED,     // EXT_depth_clamp
         EXTENDED_DIRTY_BIT_MIPMAP_GENERATION_HINT,  // mipmap generation hint
         EXTENDED_DIRTY_BIT_SHADER_DERIVATIVE_HINT,  // shader derivative hint
         EXTENDED_DIRTY_BIT_SHADING_RATE,            // QCOM_shading_rate
diff --git a/src/libANGLE/angletypes.cpp b/src/libANGLE/angletypes.cpp
index 7ecad40..95f9c95 100644
--- a/src/libANGLE/angletypes.cpp
+++ b/src/libANGLE/angletypes.cpp
@@ -48,6 +48,7 @@
 {
     memset(this, 0, sizeof(RasterizerState));
 
+    rasterizerDiscard   = false;
     cullFace            = false;
     cullMode            = CullFaceMode::Back;
     frontFace           = GL_CCW;
@@ -55,10 +56,8 @@
     polygonOffsetFactor = 0.0f;
     polygonOffsetUnits  = 0.0f;
     polygonOffsetClamp  = 0.0f;
-    depthClamp          = false;
     pointDrawMode       = false;
     multiSample         = false;
-    rasterizerDiscard   = false;
     dither              = true;
 }
 
diff --git a/src/libANGLE/angletypes.h b/src/libANGLE/angletypes.h
index 25fbf68..222f337 100644
--- a/src/libANGLE/angletypes.h
+++ b/src/libANGLE/angletypes.h
@@ -238,8 +238,6 @@
     GLfloat polygonOffsetUnits;
     GLfloat polygonOffsetClamp;
 
-    bool depthClamp;
-
     // pointDrawMode/multiSample are only used in the D3D back-end right now.
     bool pointDrawMode;
     bool multiSample;
diff --git a/src/libANGLE/capture/FrameCapture.cpp b/src/libANGLE/capture/FrameCapture.cpp
index 3a742bd..f8db607 100644
--- a/src/libANGLE/capture/FrameCapture.cpp
+++ b/src/libANGLE/capture/FrameCapture.cpp
@@ -4958,11 +4958,6 @@
         }
     }
 
-    if (currentRasterState.depthClamp != defaultRasterState.depthClamp)
-    {
-        capCap(GL_DEPTH_CLAMP_EXT, currentRasterState.depthClamp);
-    }
-
     // pointDrawMode/multiSample are only used in the D3D back-end right now.
 
     if (currentRasterState.rasterizerDiscard != defaultRasterState.rasterizerDiscard)
diff --git a/src/libANGLE/capture/serialize.cpp b/src/libANGLE/capture/serialize.cpp
index 59c3fe9..20b7711 100644
--- a/src/libANGLE/capture/serialize.cpp
+++ b/src/libANGLE/capture/serialize.cpp
@@ -409,7 +409,6 @@
     json->addScalar("PolygonOffsetFactor", rasterizerState.polygonOffsetFactor);
     json->addScalar("PolygonOffsetUnits", rasterizerState.polygonOffsetUnits);
     json->addScalar("PolygonOffsetClamp", rasterizerState.polygonOffsetClamp);
-    json->addScalar("DepthClamp", rasterizerState.depthClamp);
     json->addScalar("PointDrawMode", rasterizerState.pointDrawMode);
     json->addScalar("MultiSample", rasterizerState.multiSample);
     json->addScalar("RasterizerDiscard", rasterizerState.rasterizerDiscard);
diff --git a/src/libANGLE/queryutils.cpp b/src/libANGLE/queryutils.cpp
index db601ee..7b4a0fb 100644
--- a/src/libANGLE/queryutils.cpp
+++ b/src/libANGLE/queryutils.cpp
@@ -3244,16 +3244,6 @@
             *numParams = 1;
             return true;
         }
-        case GL_DEPTH_CLAMP_EXT:
-        {
-            if (!extensions.depthClampEXT)
-            {
-                return false;
-            }
-            *type      = GL_BOOL;
-            *numParams = 1;
-            return true;
-        }
         case GL_COLOR_LOGIC_OP:
         {
             if (!extensions.logicOpANGLE)
diff --git a/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp b/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
index 245dab7..df8e6f6 100644
--- a/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
@@ -193,7 +193,7 @@
     rasterDesc.FillMode              = D3D11_FILL_SOLID;
     rasterDesc.CullMode              = cullMode;
     rasterDesc.FrontCounterClockwise = (rasterState.frontFace == GL_CCW) ? FALSE : TRUE;
-    rasterDesc.DepthClipEnable       = !rasterState.depthClamp;
+    rasterDesc.DepthClipEnable       = TRUE;
     rasterDesc.ScissorEnable         = scissorEnabled ? TRUE : FALSE;
     rasterDesc.MultisampleEnable     = rasterState.multiSample;
     rasterDesc.AntialiasedLineEnable = FALSE;
diff --git a/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp b/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
index e8e0633..0679947 100644
--- a/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
@@ -707,6 +707,7 @@
     mCurDepthStencilState.stencilBackPassDepthPass = GL_KEEP;
     mCurDepthStencilState.stencilBackWritemask     = static_cast<GLuint>(-1);
 
+    mCurRasterState.rasterizerDiscard   = false;
     mCurRasterState.cullFace            = false;
     mCurRasterState.cullMode            = gl::CullFaceMode::Back;
     mCurRasterState.frontFace           = GL_CCW;
@@ -714,10 +715,8 @@
     mCurRasterState.polygonOffsetFactor = 0.0f;
     mCurRasterState.polygonOffsetUnits  = 0.0f;
     mCurRasterState.polygonOffsetClamp  = 0.0f;
-    mCurRasterState.depthClamp          = false;
     mCurRasterState.pointDrawMode       = false;
     mCurRasterState.multiSample         = false;
-    mCurRasterState.rasterizerDiscard   = false;
     mCurRasterState.dither              = false;
 
     // Start with all internal dirty bits set except the SRV and UAV bits.
@@ -1211,12 +1210,6 @@
                                 mInternalDirtyBits.set(DIRTY_BIT_DRIVER_UNIFORMS);
                             }
                             break;
-                        case gl::State::EXTENDED_DIRTY_BIT_DEPTH_CLAMP_ENABLED:
-                            if (state.getRasterizerState().depthClamp != mCurRasterState.depthClamp)
-                            {
-                                mInternalDirtyBits.set(DIRTY_BIT_RASTERIZER_STATE);
-                            }
-                            break;
                     }
                 }
                 break;
diff --git a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
index f13e9c1..35a911b 100644
--- a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
@@ -1649,7 +1649,6 @@
     extensions->shaderTextureLodEXT         = GetShaderTextureLODSupport(featureLevel);
     extensions->fragDepthEXT                = true;
     extensions->polygonOffsetClampEXT       = (featureLevel >= D3D_FEATURE_LEVEL_10_0);
-    extensions->depthClampEXT               = true;
     extensions->stencilTexturingANGLE       = (featureLevel >= D3D_FEATURE_LEVEL_10_1);
     extensions->multiviewOVR                = IsMultiviewSupported(featureLevel);
     extensions->multiview2OVR               = IsMultiviewSupported(featureLevel);
diff --git a/src/libANGLE/renderer/gl/StateManagerGL.cpp b/src/libANGLE/renderer/gl/StateManagerGL.cpp
index 6464071..719f67e 100644
--- a/src/libANGLE/renderer/gl/StateManagerGL.cpp
+++ b/src/libANGLE/renderer/gl/StateManagerGL.cpp
@@ -142,7 +142,6 @@
       mPolygonOffsetFactor(0.0f),
       mPolygonOffsetUnits(0.0f),
       mPolygonOffsetClamp(0.0f),
-      mDepthClampEnabled(false),
       mRasterizerDiscardEnabled(false),
       mLineWidth(1.0f),
       mPrimitiveRestartEnabled(false),
@@ -1701,25 +1700,6 @@
     }
 }
 
-void StateManagerGL::setDepthClampEnabled(bool enabled)
-{
-    if (mDepthClampEnabled != enabled)
-    {
-        mDepthClampEnabled = enabled;
-        if (mDepthClampEnabled)
-        {
-            mFunctions->enable(GL_DEPTH_CLAMP_EXT);
-        }
-        else
-        {
-            mFunctions->disable(GL_DEPTH_CLAMP_EXT);
-        }
-
-        mLocalDirtyBits.set(gl::State::DIRTY_BIT_EXTENDED);
-        mLocalExtendedDirtyBits.set(gl::State::EXTENDED_DIRTY_BIT_DEPTH_CLAMP_ENABLED);
-    }
-}
-
 void StateManagerGL::setRasterizerDiscardEnabled(bool enabled)
 {
     if (mRasterizerDiscardEnabled != enabled)
@@ -2258,9 +2238,6 @@
                                                                 state.getEnabledClipDistances());
                             }
                             break;
-                        case gl::State::EXTENDED_DIRTY_BIT_DEPTH_CLAMP_ENABLED:
-                            setDepthClampEnabled(state.isDepthClampEnabled());
-                            break;
                         case gl::State::EXTENDED_DIRTY_BIT_LOGIC_OP_ENABLED:
                             setLogicOpEnabled(state.isLogicOpEnabled());
                             break;
@@ -2916,17 +2893,6 @@
         }
     }
 
-    if (extensions.depthClampEXT)
-    {
-        get(GL_DEPTH_CLAMP_EXT, &state->enableDepthClamp);
-        if (mDepthClampEnabled != state->enableDepthClamp)
-        {
-            mDepthClampEnabled = state->enableDepthClamp;
-            mLocalDirtyBits.set(gl::State::DIRTY_BIT_EXTENDED);
-            mLocalExtendedDirtyBits.set(gl::State::EXTENDED_DIRTY_BIT_DEPTH_CLAMP_ENABLED);
-        }
-    }
-
     get(GL_SAMPLE_COVERAGE_VALUE, &state->sampleCoverageValue);
     get(GL_SAMPLE_COVERAGE_INVERT, &state->sampleCoverageInvert);
     if (mSampleCoverageValue != state->sampleCoverageValue ||
@@ -3025,11 +2991,6 @@
     setPolygonOffset(state->polygonOffsetFactor, state->polygonOffsetUnits,
                      state->polygonOffsetClamp);
 
-    if (extensions.depthClampEXT)
-    {
-        setDepthClampEnabled(state->enableDepthClamp);
-    }
-
     setSampleCoverage(state->sampleCoverageValue, state->sampleCoverageInvert);
 
     setDitherEnabled(state->enableDither);
diff --git a/src/libANGLE/renderer/gl/StateManagerGL.h b/src/libANGLE/renderer/gl/StateManagerGL.h
index 01f9575..4ef2d75 100644
--- a/src/libANGLE/renderer/gl/StateManagerGL.h
+++ b/src/libANGLE/renderer/gl/StateManagerGL.h
@@ -67,7 +67,6 @@
 
     bool enableDither;
     bool enablePolygonOffsetFill;
-    bool enableDepthClamp;
     bool enableSampleAlphaToCoverage;
     bool enableSampleCoverage;
     bool multisampleEnabled;
@@ -232,7 +231,6 @@
     void setFrontFace(GLenum frontFace);
     void setPolygonOffsetFillEnabled(bool enabled);
     void setPolygonOffset(float factor, float units, float clamp);
-    void setDepthClampEnabled(bool enabled);
     void setRasterizerDiscardEnabled(bool enabled);
     void setLineWidth(float width);
 
@@ -501,7 +499,6 @@
     GLfloat mPolygonOffsetFactor;
     GLfloat mPolygonOffsetUnits;
     GLfloat mPolygonOffsetClamp;
-    bool mDepthClampEnabled;
     bool mRasterizerDiscardEnabled;
     float mLineWidth;
 
diff --git a/src/libANGLE/renderer/gl/renderergl_utils.cpp b/src/libANGLE/renderer/gl/renderergl_utils.cpp
index 738994f..43bdda2 100644
--- a/src/libANGLE/renderer/gl/renderergl_utils.cpp
+++ b/src/libANGLE/renderer/gl/renderergl_utils.cpp
@@ -1482,9 +1482,6 @@
                                       functions->hasGLESExtension("GL_EXT_shader_texture_lod");
     extensions->fragDepthEXT = functions->standard == STANDARD_GL_DESKTOP ||
                                functions->hasGLESExtension("GL_EXT_frag_depth");
-    extensions->depthClampEXT = functions->isAtLeastGL(gl::Version(3, 2)) ||
-                                functions->hasGLExtension("GL_ARB_depth_clamp") ||
-                                functions->hasGLESExtension("GL_EXT_depth_clamp");
     extensions->polygonOffsetClampEXT = functions->hasExtension("GL_EXT_polygon_offset_clamp");
 
     // Support video texture extension on non Android backends.
diff --git a/src/libANGLE/renderer/metal/ContextMtl.h b/src/libANGLE/renderer/metal/ContextMtl.h
index 0f157b8..73addd6 100644
--- a/src/libANGLE/renderer/metal/ContextMtl.h
+++ b/src/libANGLE/renderer/metal/ContextMtl.h
@@ -526,7 +526,6 @@
         DIRTY_BIT_DRIVER_UNIFORMS,
         DIRTY_BIT_DEPTH_STENCIL_DESC,
         DIRTY_BIT_DEPTH_BIAS,
-        DIRTY_BIT_DEPTH_CLIP_MODE,
         DIRTY_BIT_STENCIL_REF,
         DIRTY_BIT_BLEND_COLOR,
         DIRTY_BIT_VIEWPORT,
diff --git a/src/libANGLE/renderer/metal/ContextMtl.mm b/src/libANGLE/renderer/metal/ContextMtl.mm
index 9e42cc5..df9dada 100644
--- a/src/libANGLE/renderer/metal/ContextMtl.mm
+++ b/src/libANGLE/renderer/metal/ContextMtl.mm
@@ -1362,6 +1362,7 @@
                 break;
             case gl::State::DIRTY_BIT_EXTENDED:
                 updateExtendedState(glState);
+                // Nothing to do until EXT_clip_control is implemented.
                 break;
             case gl::State::DIRTY_BIT_SAMPLE_SHADING:
                 // Nothing to do until OES_sample_shading is implemented.
@@ -1380,21 +1381,9 @@
 
 void ContextMtl::updateExtendedState(const gl::State &glState)
 {
-    gl::State::ExtendedDirtyBits extendedDirtyBits = glState.getAndResetExtendedDirtyBits();
-    for (size_t extendedDirtyBit : extendedDirtyBits)
-    {
-        switch (extendedDirtyBit)
-        {
-            case gl::State::EXTENDED_DIRTY_BIT_CLIP_DISTANCES:
-                invalidateDriverUniforms();
-                break;
-            case gl::State::EXTENDED_DIRTY_BIT_DEPTH_CLAMP_ENABLED:
-                mDirtyBits.set(DIRTY_BIT_DEPTH_CLIP_MODE);
-                break;
-            default:
-                break;
-        }
-    }
+    // Handling clip distance enabled flags, mipmap generation hint & shader derivative
+    // hint.
+    invalidateDriverUniforms();
 }
 
 // Disjoint timer queries
@@ -2547,10 +2536,6 @@
             case DIRTY_BIT_DEPTH_BIAS:
                 ANGLE_TRY(handleDirtyDepthBias(context));
                 break;
-            case DIRTY_BIT_DEPTH_CLIP_MODE:
-                mRenderEncoder.setDepthClipMode(
-                    mState.isDepthClampEnabled() ? MTLDepthClipModeClamp : MTLDepthClipModeClip);
-                break;
             case DIRTY_BIT_STENCIL_REF:
                 mRenderEncoder.setStencilRefVals(mStencilRefFront, mStencilRefBack);
                 break;
diff --git a/src/libANGLE/renderer/metal/DisplayMtl.mm b/src/libANGLE/renderer/metal/DisplayMtl.mm
index ed43184..ea9a09f 100644
--- a/src/libANGLE/renderer/metal/DisplayMtl.mm
+++ b/src/libANGLE/renderer/metal/DisplayMtl.mm
@@ -943,11 +943,6 @@
         mNativeExtensions.textureMirrorClampToEdgeEXT = true;
     }
 
-    if (ANGLE_APPLE_AVAILABLE_XCI(10.11, 11.0, 13.1))
-    {
-        mNativeExtensions.depthClampEXT = true;
-    }
-
     // EXT_debug_marker is not implemented yet, but the entry points must be exposed for the
     // Metal backend to be used in Chrome (http://anglebug.com/4946)
     mNativeExtensions.debugMarkerEXT = true;
diff --git a/src/libANGLE/renderer/metal/mtl_command_buffer.h b/src/libANGLE/renderer/metal/mtl_command_buffer.h
index 828d621..aa42b9f 100644
--- a/src/libANGLE/renderer/metal/mtl_command_buffer.h
+++ b/src/libANGLE/renderer/metal/mtl_command_buffer.h
@@ -337,8 +337,6 @@
     id<MTLDepthStencilState> depthStencilState;
     float depthBias, depthSlopeScale, depthClamp;
 
-    MTLDepthClipMode depthClipMode;
-
     uint32_t stencilFrontRef, stencilBackRef;
 
     Optional<MTLViewport> viewport;
@@ -375,7 +373,6 @@
 
     RenderCommandEncoder &setDepthStencilState(id<MTLDepthStencilState> state);
     RenderCommandEncoder &setDepthBias(float depthBias, float slopeScale, float clamp);
-    RenderCommandEncoder &setDepthClipMode(MTLDepthClipMode depthClipMode);
     RenderCommandEncoder &setStencilRefVals(uint32_t frontRef, uint32_t backRef);
     RenderCommandEncoder &setStencilRefVal(uint32_t ref);
 
diff --git a/src/libANGLE/renderer/metal/mtl_command_buffer.mm b/src/libANGLE/renderer/metal/mtl_command_buffer.mm
index 3247043..bcbe2a6 100644
--- a/src/libANGLE/renderer/metal/mtl_command_buffer.mm
+++ b/src/libANGLE/renderer/metal/mtl_command_buffer.mm
@@ -48,7 +48,6 @@
     PROC(SetCullMode)                                \
     PROC(SetDepthStencilState)                       \
     PROC(SetDepthBias)                               \
-    PROC(SetDepthClipMode)                           \
     PROC(SetStencilRefVals)                          \
     PROC(SetViewport)                                \
     PROC(SetScissorRect)                             \
@@ -135,13 +134,6 @@
     [encoder setDepthBias:depthBias slopeScale:slopeScale clamp:clamp];
 }
 
-inline void SetDepthClipModeCmd(id<MTLRenderCommandEncoder> encoder,
-                                IntermediateCommandStream *stream)
-{
-    MTLDepthClipMode depthClipMode = stream->fetch<MTLDepthClipMode>();
-    [encoder setDepthClipMode:depthClipMode];
-}
-
 inline void SetStencilRefValsCmd(id<MTLRenderCommandEncoder> encoder,
                                  IntermediateCommandStream *stream)
 {
@@ -1222,8 +1214,6 @@
     depthStencilState = nil;
     depthBias = depthSlopeScale = depthClamp = 0;
 
-    depthClipMode = MTLDepthClipModeClip;
-
     stencilFrontRef = stencilBackRef = 0;
 
     viewport.reset();
@@ -1663,18 +1653,6 @@
 
     return *this;
 }
-RenderCommandEncoder &RenderCommandEncoder::setDepthClipMode(MTLDepthClipMode depthClipMode)
-{
-    if (mStateCache.depthClipMode == depthClipMode)
-    {
-        return *this;
-    }
-    mStateCache.depthClipMode = depthClipMode;
-
-    mCommands.push(CmdType::SetDepthClipMode).push(depthClipMode);
-
-    return *this;
-}
 RenderCommandEncoder &RenderCommandEncoder::setStencilRefVals(uint32_t frontRef, uint32_t backRef)
 {
     // Metal has some bugs when reference values are larger than 0xff
diff --git a/src/libANGLE/renderer/vulkan/ContextVk.cpp b/src/libANGLE/renderer/vulkan/ContextVk.cpp
index 42111ee..05be260 100644
--- a/src/libANGLE/renderer/vulkan/ContextVk.cpp
+++ b/src/libANGLE/renderer/vulkan/ContextVk.cpp
@@ -5540,8 +5540,6 @@
                         case gl::State::EXTENDED_DIRTY_BIT_CLIP_DISTANCES:
                             invalidateGraphicsDriverUniforms();
                             break;
-                        case gl::State::EXTENDED_DIRTY_BIT_DEPTH_CLAMP_ENABLED:
-                            break;
                         case gl::State::EXTENDED_DIRTY_BIT_MIPMAP_GENERATION_HINT:
                             break;
                         case gl::State::EXTENDED_DIRTY_BIT_SHADER_DERIVATIVE_HINT:
diff --git a/src/libANGLE/validationES2.cpp b/src/libANGLE/validationES2.cpp
index b6afce1..c6f9fc0 100644
--- a/src/libANGLE/validationES2.cpp
+++ b/src/libANGLE/validationES2.cpp
@@ -613,9 +613,6 @@
         case GL_DITHER:
             return true;
 
-        case GL_DEPTH_CLAMP_EXT:
-            return context->getExtensions().depthClampEXT;
-
         case GL_PRIMITIVE_RESTART_FIXED_INDEX:
         case GL_RASTERIZER_DISCARD:
             return (context->getClientMajorVersion() >= 3);
diff --git a/src/tests/angle_end2end_tests.gni b/src/tests/angle_end2end_tests.gni
index 81eb874..d229d0a 100644
--- a/src/tests/angle_end2end_tests.gni
+++ b/src/tests/angle_end2end_tests.gni
@@ -62,7 +62,6 @@
   "gl_tests/DebugTest.cpp",
   "gl_tests/DepthStencilFormatsTest.cpp",
   "gl_tests/DepthStencilTest.cpp",
-  "gl_tests/DepthWriteTest.cpp",
   "gl_tests/DesktopGLSLTest.cpp",
   "gl_tests/DifferentStencilMasksTest.cpp",
   "gl_tests/DiscardFramebufferEXTTest.cpp",
diff --git a/src/tests/angle_end2end_tests_expectations.txt b/src/tests/angle_end2end_tests_expectations.txt
index 9ceb257..99f6a05 100644
--- a/src/tests/angle_end2end_tests_expectations.txt
+++ b/src/tests/angle_end2end_tests_expectations.txt
@@ -1092,36 +1092,6 @@
 8048 NVIDIA OPENGL : FramebufferTest_ES3.RenderSnorm16* = SKIP
 8048 NVIDIA GLES : FramebufferTest_ES3.RenderSnorm16* = SKIP
 
-// D3D needs a workaround to follow OpenGL rules
-8077 D3D9 : DepthWriteTest.Test/ES2_D3D9__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenZeroAndNearPlane_* = SKIP
-8077 D3D9 : DepthWriteTest.Test/ES2_D3D9__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenFarPlaneAndOne_* = SKIP
-8077 D3D9 : DepthWriteTest.Test/ES2_D3D9__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthNegative_* = SKIP
-8077 D3D9 : DepthWriteTest.Test/ES2_D3D9__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthGreaterThanOne_* = SKIP
-8077 D3D11 : DepthWriteTest.Test/ES2_D3D11__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenZeroAndNearPlane_* = SKIP
-8077 D3D11 : DepthWriteTest.Test/ES2_D3D11__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenFarPlaneAndOne_* = SKIP
-8077 D3D11 : DepthWriteTest.Test/ES2_D3D11__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthNegative_* = SKIP
-8077 D3D11 : DepthWriteTest.Test/ES2_D3D11__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthGreaterThanOne_* = SKIP
-8077 D3D11 : DepthWriteTest.Test/ES3_D3D11__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenZeroAndNearPlane_* = SKIP
-8077 D3D11 : DepthWriteTest.Test/ES3_D3D11__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenFarPlaneAndOne_* = SKIP
-8077 D3D11 : DepthWriteTest.Test/ES3_D3D11__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthNegative_* = SKIP
-8077 D3D11 : DepthWriteTest.Test/ES3_D3D11__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthGreaterThanOne_* = SKIP
-
-// Vulkan needs a workaround and/or extensions usage to avoid undefined behavior
-8077 VULKAN : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenZeroAndNearPlane_* = SKIP
-8077 VULKAN : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenFarPlaneAndOne_* = SKIP
-8077 VULKAN : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthNegative_* = SKIP
-8077 VULKAN : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthGreaterThanOne_* = SKIP
-
-// Driver bugs
-8077 WIN INTEL OPENGL : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenZeroAndNearPlane_* = SKIP
-8077 WIN INTEL OPENGL : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenFarPlaneAndOne_* = SKIP
-8077 WIN INTEL OPENGL : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthNegative_* = SKIP
-8077 WIN INTEL OPENGL : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthGreaterThanOne_* = SKIP
-8077 MAC INTEL : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenZeroAndNearPlane_* = SKIP
-8077 MAC INTEL : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthBetweenFarPlaneAndOne_* = SKIP
-8077 MAC INTEL : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthNegative_* = SKIP
-8077 MAC INTEL : DepthWriteTest.Test/*__DepthRangeReduced_Clipped_VertexDepthInsideClipVolume_FragmentDepthGreaterThanOne_* = SKIP
-
 // bits 24..31 from glClearValueuiv value don't work on Intel Metal.
 7794 MAC INTEL METAL : PixelLocalStorageTest.ClearValues_r32/* = SKIP
 
diff --git a/src/tests/gl_tests/DepthWriteTest.cpp b/src/tests/gl_tests/DepthWriteTest.cpp
deleted file mode 100644
index b8c5591..0000000
--- a/src/tests/gl_tests/DepthWriteTest.cpp
+++ /dev/null
@@ -1,409 +0,0 @@
-//
-// Copyright 2023 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// The tests assert OpenGL behavior for all combinations of the following states
-// - Depth Range
-//   - Full (0, 1)
-//   - Reduced
-// - Depth Clamp
-//   - Enabled (if supported)
-//   - Disabled
-// - Vertex Depth
-//   - Inside clip volume
-//   - Less than -1
-//   - Greater than +1
-// - gl_FragDepth
-//   - Unused
-//   - Passthrough (gl_FragCoord.z)
-//   - Within the depth range
-//   - Between 0 and near clipping plane
-//   - Between 1 and far clipping plane
-//   - Negative
-//   - Greater than 1
-// - Depth buffer format
-//   - DEPTH_COMPONENT16
-//   - DEPTH_COMPONENT32F (ES 3.x only)
-
-#include "test_utils/ANGLETest.h"
-#include "test_utils/gl_raii.h"
-
-using namespace angle;
-
-namespace
-{
-
-enum class DepthRange
-{
-    Full,
-    Reduced,
-};
-
-enum class VertexDepth
-{
-    InsideClipVolume,
-    LessThanMinusOne,
-    GreaterThanOne,
-};
-
-enum class FragmentDepth
-{
-    Unused,
-    Passthrough,
-    WithinDepthRange,
-    BetweenZeroAndNearPlane,
-    BetweenFarPlaneAndOne,
-    Negative,
-    GreaterThanOne,
-};
-
-// Variations corresponding to enums above.
-using DepthWriteVariationsTestParams =
-    std::tuple<angle::PlatformParameters, DepthRange, bool, VertexDepth, FragmentDepth, GLenum>;
-
-std::ostream &operator<<(std::ostream &out, DepthRange depthRange)
-{
-    switch (depthRange)
-    {
-        case DepthRange::Full:
-            out << "Full";
-            break;
-        case DepthRange::Reduced:
-            out << "Reduced";
-            break;
-    }
-
-    return out;
-}
-
-std::ostream &operator<<(std::ostream &out, VertexDepth vertexDepth)
-{
-    switch (vertexDepth)
-    {
-        case VertexDepth::InsideClipVolume:
-            out << "InsideClipVolume";
-            break;
-        case VertexDepth::LessThanMinusOne:
-            out << "LessThanMinusOne";
-            break;
-        case VertexDepth::GreaterThanOne:
-            out << "GreaterThanOne";
-            break;
-    }
-
-    return out;
-}
-
-std::ostream &operator<<(std::ostream &out, FragmentDepth fragmentDepth)
-{
-    switch (fragmentDepth)
-    {
-        case FragmentDepth::Unused:
-            out << "Unused";
-            break;
-        case FragmentDepth::Passthrough:
-            out << "Passthrough";
-            break;
-        case FragmentDepth::WithinDepthRange:
-            out << "WithinDepthRange";
-            break;
-        case FragmentDepth::BetweenZeroAndNearPlane:
-            out << "BetweenZeroAndNearPlane";
-            break;
-        case FragmentDepth::BetweenFarPlaneAndOne:
-            out << "BetweenFarPlaneAndOne";
-            break;
-        case FragmentDepth::Negative:
-            out << "Negative";
-            break;
-        case FragmentDepth::GreaterThanOne:
-            out << "GreaterThanOne";
-            break;
-    }
-
-    return out;
-}
-
-std::string BufferFormatToString(GLenum format)
-{
-    switch (format)
-    {
-        case GL_DEPTH_COMPONENT16:
-            return "Depth16Unorm";
-        case GL_DEPTH_COMPONENT32F:
-            return "Depth32Float";
-        default:
-            return nullptr;
-    }
-}
-
-void ParseDepthWriteVariationsTestParams(const DepthWriteVariationsTestParams &params,
-                                         DepthRange *depthRangeOut,
-                                         bool *depthClampEnabledOut,
-                                         VertexDepth *vertexDepthOut,
-                                         FragmentDepth *fragmentDepthOut,
-                                         GLenum *depthBufferFormatOut)
-{
-    *depthRangeOut        = std::get<1>(params);
-    *depthClampEnabledOut = std::get<2>(params);
-    *vertexDepthOut       = std::get<3>(params);
-    *fragmentDepthOut     = std::get<4>(params);
-    *depthBufferFormatOut = std::get<5>(params);
-}
-
-std::string DepthWriteVariationsTestPrint(
-    const ::testing::TestParamInfo<DepthWriteVariationsTestParams> &paramsInfo)
-{
-    const DepthWriteVariationsTestParams &params = paramsInfo.param;
-    std::ostringstream out;
-
-    out << std::get<0>(params);
-
-    DepthRange depthRange;
-    bool depthClampEnabled;
-    VertexDepth vertexDepth;
-    FragmentDepth fragmentDepth;
-    GLenum depthBufferFormat;
-    ParseDepthWriteVariationsTestParams(params, &depthRange, &depthClampEnabled, &vertexDepth,
-                                        &fragmentDepth, &depthBufferFormat);
-
-    out << "__"
-        << "DepthRange" << depthRange << "_" << (depthClampEnabled ? "Clamped" : "Clipped") << "_"
-        << "VertexDepth" << vertexDepth << "_"
-        << "FragmentDepth" << fragmentDepth << "_" << BufferFormatToString(depthBufferFormat);
-    return out.str();
-}
-
-class DepthWriteTest : public ANGLETest<DepthWriteVariationsTestParams>
-{};
-
-// Test correctness of depth writes
-TEST_P(DepthWriteTest, Test)
-{
-    if (getClientMajorVersion() < 3)
-    {
-        ANGLE_SKIP_TEST_IF(!IsGLExtensionEnabled("GL_ANGLE_depth_texture"));
-        ANGLE_SKIP_TEST_IF(!IsGLExtensionEnabled("GL_OES_texture_half_float"));
-    }
-    ANGLE_SKIP_TEST_IF(!IsGLExtensionEnabled("GL_EXT_color_buffer_half_float") &&
-                       !IsGLExtensionEnabled("GL_EXT_color_buffer_float"));
-
-    DepthRange depthRange;
-    bool depthClampEnabled;
-    VertexDepth vertexDepth;
-    FragmentDepth fragmentDepth;
-    GLenum depthBufferFormat;
-    ParseDepthWriteVariationsTestParams(GetParam(), &depthRange, &depthClampEnabled, &vertexDepth,
-                                        &fragmentDepth, &depthBufferFormat);
-
-    if (getClientMajorVersion() < 3)
-    {
-        ANGLE_SKIP_TEST_IF(fragmentDepth != FragmentDepth::Unused &&
-                           !IsGLExtensionEnabled("GL_EXT_frag_depth"));
-        ANGLE_SKIP_TEST_IF(depthBufferFormat == GL_DEPTH_COMPONENT32F);
-    }
-    ANGLE_SKIP_TEST_IF(depthClampEnabled && !IsGLExtensionEnabled("GL_EXT_depth_clamp"));
-
-    const float near = depthRange == DepthRange::Full ? 0.0 : 0.25;
-    const float far  = depthRange == DepthRange::Full ? 1.0 : 0.75;
-    glDepthRangef(near, far);
-
-    if (depthClampEnabled)
-    {
-        glEnable(GL_DEPTH_CLAMP_EXT);
-    }
-
-    float vertexDepthValue = 0.0;
-    switch (vertexDepth)
-    {
-        case VertexDepth::InsideClipVolume:
-            vertexDepthValue = 0.25;  // maps to 0.625
-            break;
-        case VertexDepth::LessThanMinusOne:
-            vertexDepthValue = -1.5;
-            break;
-        case VertexDepth::GreaterThanOne:
-            vertexDepthValue = 1.5;
-            break;
-    }
-
-    float fragmentDepthValue = 0.0;
-    switch (fragmentDepth)
-    {
-        case FragmentDepth::Unused:
-        case FragmentDepth::Passthrough:
-            break;
-        case FragmentDepth::WithinDepthRange:
-            fragmentDepthValue = 0.375;
-            break;
-        case FragmentDepth::BetweenZeroAndNearPlane:
-            fragmentDepthValue = depthRange == DepthRange::Reduced ? 0.125 : 0.0;
-            break;
-        case FragmentDepth::BetweenFarPlaneAndOne:
-            fragmentDepthValue = depthRange == DepthRange::Reduced ? 0.875 : 1.0;
-            break;
-        case FragmentDepth::Negative:
-            fragmentDepthValue = -0.25;
-            break;
-        case FragmentDepth::GreaterThanOne:
-            fragmentDepthValue = 1.25;
-            break;
-    }
-
-    glEnable(GL_DEPTH_TEST);
-    glDepthFunc(GL_ALWAYS);
-
-    const int w = getWindowWidth();
-    const int h = getWindowHeight();
-
-    const bool es2       = getClientMajorVersion() < 3;
-    const bool fragCoord = fragmentDepth == FragmentDepth::Passthrough;
-    std::stringstream fragmentSource;
-    fragmentSource << (es2 ? "#extension GL_EXT_frag_depth : require\n" : "#version 300 es\n")
-                   << (es2 ? "" : "out mediump vec4 fragColor;\n")
-                   << (fragCoord ? "" : "uniform mediump float u_depth;\n") << "void main()\n"
-                   << "{\n"
-                   << (es2 ? "    gl_FragColor" : "    fragColor")
-                   << " = vec4(1.0, 0.0, 0.0, 1.0);\n"
-                   << "    gl_FragDepth" << (es2 ? "EXT" : "")
-                   << (fragCoord ? " = gl_FragCoord.z;\n" : " = u_depth;\n") << "}";
-
-    ANGLE_GL_PROGRAM(program, es2 ? essl1_shaders::vs::Simple() : essl3_shaders::vs::Simple(),
-                     fragmentDepth == FragmentDepth::Unused
-                         ? (es2 ? essl1_shaders::fs::Red() : essl3_shaders::fs::Red())
-                         : fragmentSource.str().c_str());
-    glUseProgram(program);
-    if (fragmentDepth != FragmentDepth::Unused && fragmentDepth != FragmentDepth::Passthrough)
-    {
-        glUniform1f(glGetUniformLocation(program, "u_depth"), fragmentDepthValue);
-    }
-    ASSERT_GL_NO_ERROR();
-
-    GLFramebuffer fb;
-    glBindFramebuffer(GL_FRAMEBUFFER, fb);
-
-    GLRenderbuffer rb;
-    glBindRenderbuffer(GL_RENDERBUFFER, rb);
-    glRenderbufferStorage(GL_RENDERBUFFER, GL_RGB565, w, h);
-    glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, rb);
-
-    GLTexture texDepth;
-    glBindTexture(GL_TEXTURE_2D, texDepth);
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-    glTexImage2D(
-        GL_TEXTURE_2D, 0,
-        depthBufferFormat == GL_DEPTH_COMPONENT32F ? GL_DEPTH_COMPONENT32F : GL_DEPTH_COMPONENT, w,
-        h, 0, GL_DEPTH_COMPONENT,
-        depthBufferFormat == GL_DEPTH_COMPONENT32F ? GL_FLOAT : GL_UNSIGNED_SHORT, nullptr);
-    glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, texDepth, 0);
-
-    ASSERT_GL_FRAMEBUFFER_COMPLETE(GL_FRAMEBUFFER);
-
-    glEnable(GL_DEPTH_TEST);
-    glDepthFunc(GL_ALWAYS);
-
-    glClearDepthf(0.33333333);
-    glClear(GL_DEPTH_BUFFER_BIT);
-
-    drawQuad(program, essl1_shaders::PositionAttrib(), vertexDepthValue);
-    ASSERT_GL_NO_ERROR();
-
-    auto getExpectedValue = [&]() {
-        auto clamp = [](float x, float min, float max) {
-            return x < min ? min : (x > max ? max : x);
-        };
-
-        if (depthClampEnabled)
-        {
-            if (fragmentDepth != FragmentDepth::Unused &&
-                fragmentDepth != FragmentDepth::Passthrough)
-            {
-                // Fragment value clamped to the depth range
-                return clamp(fragmentDepthValue, near, far);
-            }
-            else
-            {
-                // Vertex value transformed to window coordinates and clamped to the depth range
-                return clamp(0.5f * ((far - near) * vertexDepthValue + (far + near)), near, far);
-            }
-        }
-        else if (vertexDepthValue >= -1.0f && vertexDepthValue <= 1.0f)
-        {
-            if (fragmentDepth != FragmentDepth::Unused &&
-                fragmentDepth != FragmentDepth::Passthrough)
-            {
-                // Fragment value clamped to [0, 1]
-                return clamp(fragmentDepthValue, 0.0f, 1.0f);
-            }
-            else
-            {
-                // Vertex value transformed to window coordinates
-                return 0.5f * ((far - near) * vertexDepthValue + (far + near));
-            }
-        }
-        return 0.33333333f;
-    };
-
-    // Second pass to read written depth value
-    ANGLE_GL_PROGRAM(readProgram, essl1_shaders::vs::Texture2D(), essl1_shaders::fs::Texture2D());
-    glUseProgram(readProgram);
-    glUniform1i(glGetUniformLocation(readProgram, essl1_shaders::Texture2DUniform()), 0);
-    ASSERT_GL_NO_ERROR();
-
-    GLFramebuffer readFb;
-    glBindFramebuffer(GL_FRAMEBUFFER, readFb);
-
-    GLRenderbuffer readRb;
-    glBindRenderbuffer(GL_RENDERBUFFER, readRb);
-    glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA16F, w, h);
-    glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, readRb);
-
-    ASSERT_GL_FRAMEBUFFER_COMPLETE(GL_FRAMEBUFFER);
-
-    glClear(GL_COLOR_BUFFER_BIT);
-    drawQuad(readProgram, essl1_shaders::PositionAttrib(), 0.0f);
-
-    float writtenValue[4] = {std::numeric_limits<float>::quiet_NaN()};
-    glReadPixels(0, 0, 1, 1, GL_RGBA, GL_FLOAT, writtenValue);
-    ASSERT_GL_NO_ERROR();
-
-    EXPECT_NEAR(getExpectedValue(), writtenValue[0], 0.001);
-}
-
-constexpr DepthRange kDepthRanges[] = {
-    DepthRange::Full,
-    DepthRange::Reduced,
-};
-constexpr VertexDepth kVertexDepths[] = {
-    VertexDepth::InsideClipVolume,
-    VertexDepth::LessThanMinusOne,
-    VertexDepth::GreaterThanOne,
-};
-constexpr FragmentDepth kFragmentDepths[] = {
-    FragmentDepth::Unused,
-    FragmentDepth::Passthrough,
-    FragmentDepth::WithinDepthRange,
-    FragmentDepth::BetweenZeroAndNearPlane,
-    FragmentDepth::BetweenFarPlaneAndOne,
-    FragmentDepth::Negative,
-    FragmentDepth::GreaterThanOne,
-};
-constexpr GLenum kDepthBufferFormats[] = {
-    GL_DEPTH_COMPONENT16,
-    GL_DEPTH_COMPONENT32F,
-};
-
-GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(DepthWriteTest);
-ANGLE_INSTANTIATE_TEST_COMBINE_5(DepthWriteTest,
-                                 DepthWriteVariationsTestPrint,
-                                 testing::ValuesIn(kDepthRanges),
-                                 testing::Bool(),
-                                 testing::ValuesIn(kVertexDepths),
-                                 testing::ValuesIn(kFragmentDepths),
-                                 testing::ValuesIn(kDepthBufferFormats),
-                                 ANGLE_ALL_TEST_PLATFORMS_ES2,
-                                 ANGLE_ALL_TEST_PLATFORMS_ES3);
-
-}  // anonymous namespace