vc4: Enable glSampleMask() even when !rasterizer->multisample.
[mesa.git] / src / gallium / drivers / vc4 / vc4_resource.h
index 87571b75e8bbb4ff748f03f996761470dc27d00d..27aa4e87282f698f264d659a9a46e07a889b7051 100644 (file)
@@ -32,6 +32,9 @@
 struct vc4_transfer {
         struct pipe_transfer base;
         void *map;
+
+        struct pipe_resource *ss_resource;
+        struct pipe_box ss_box;
 };
 
 struct vc4_resource_slice {
@@ -67,6 +70,17 @@ struct vc4_resource {
          */
         uint64_t writes;
 
+        /**
+         * Bitmask of PIPE_CLEAR_COLOR0, PIPE_CLEAR_DEPTH, PIPE_CLEAR_STENCIL
+         * for which parts of the resource are defined.
+         *
+         * Used for avoiding fallback to quad clears for clearing just depth,
+         * when the stencil contents have never been initialized.  Note that
+         * we're lazy and fields not present in the buffer (DEPTH in a color
+         * buffer) may get marked.
+         */
+        uint32_t initialized_buffers;
+
         /**
          * Resource containing the non-GL_TEXTURE_BASE_LEVEL-rebased texture
          * contents, or the 4-byte index buffer.