A graphics processing unit for use in a graphics processing system, the graphics processing unit comprising: a hidden surface removal module comprising: a first depth buffer configured to store depth values for resolved fragments for a plurality of sample positions within a rendering space of the graphics processing system; a second depth buffer configured to store depth values for unresolved fragments for the sample positions; and depth testing logic configured to receive primitive data relating to primitives and to perform depth tests on fragments of the primitives using depth values stored in at least one of the depth buffers (212, 216), wherein the depth testing logic is configured to use indicators to determine which of the depth buffers is to be used for the depth tests on the fragments; and a fragment processing module for performing one or both of shading and texturing on fragments which can resolve unresolved fragments, wherein the fragment processing module is arranged to act on fragments after the depth testing logic; wherein the hidden surface removal module is configured to: store, in the first depth buffer, the depth value of a fragment which passes a depth test if the fragment is a resolved fragment; store, in the second depth buffer, the depth value of a fragment which passes a depth test if the fragment is an unresolved fragment, wherein an indicator is set to indicate that the second depth buffer is to be used for subsequent depth tests; send unresolved fragments, for which depth values are stored in the second depth buffer, to the fragment processing module to be resolved; and update the depth values in the first depth buffer using depth values of resolved fragments fed back from the fragment processing module, wherein indicators are set to indicate that the first depth buffer is to be used for subsequent depth tests. a hidden surface removal module comprising: a first depth buffer configured to store depth values for resolved fragments for a plurality of sample positions within a rendering space of the graphics processing system; a second depth buffer configured to store depth values for unresolved fragments for the sample positions; and depth testing logic configured to receive primitive data relating to primitives and to perform depth tests on fragments of the primitives using depth values stored in at least one of the depth buffers (212, 216), wherein the depth testing logic is configured to use indicators to determine which of the depth buffers is to be used for the depth tests on the fragments; and a first depth buffer configured to store depth values for resolved fragments for a plurality of sample positions within a rendering space of the graphics processing system; a second depth buffer configured to store depth values for unresolved fragments for the sample positions; and depth testing logic configured to receive primitive data relating to primitives and to perform depth tests on fragments of the primitives using depth values stored in at least one of the depth buffers (212, 216), wherein the depth testing logic is configured to use indicators to determine which of the depth buffers is to be used for the depth tests on the fragments; and a fragment processing module for performing one or both of shading and texturing on fragments which can resolve unresolved fragments, wherein the fragment processing module is arranged to act on fragments after the depth testing logic; wherein the hidden surface removal module is configured to: store, in the first depth buffer, the depth value of a fragment which passes a depth test if the fragment is a resolved fragment; store, in the second depth buffer, the depth value of a fragment which passes a depth test if the fragment is an unresolved fragment, wherein an indicator is set to indicate that the second depth buffer is to be used for subsequent depth tests; send unresolved fragments, for which depth values are stored in the second depth buffer, to the fragment processing module to be resolved; and update the depth values in the first depth buffer using depth values of resolved fragments fed back from the fragment processing module, wherein indicators are set to indicate that the first depth buffer is to be used for subsequent depth tests. store, in the first depth buffer, the depth value of a fragment which passes a depth test if the fragment is a resolved fragment; store, in the second depth buffer, the depth value of a fragment which passes a depth test if the fragment is an unresolved fragment, wherein an indicator is set to indicate that the second depth buffer is to be used for subsequent depth tests; send unresolved fragments, for which depth values are stored in the second depth buffer, to the fragment processing module to be resolved; and update the depth values in the first depth buffer using depth values of resolved fragments fed back from the fragment processing module, wherein indicators are set to indicate that the first depth buffer is to be used for subsequent depth tests.