summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i915pipe/intel_buffers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/i915pipe/intel_buffers.c')
-rw-r--r--src/mesa/drivers/dri/i915pipe/intel_buffers.c34
1 files changed, 31 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i915pipe/intel_buffers.c b/src/mesa/drivers/dri/i915pipe/intel_buffers.c
index fb93151430..e39220fe47 100644
--- a/src/mesa/drivers/dri/i915pipe/intel_buffers.c
+++ b/src/mesa/drivers/dri/i915pipe/intel_buffers.c
@@ -295,16 +295,16 @@ intelWindowMoved(struct intel_context *intel)
-
/**
* Called by ctx->Driver.Clear.
+ * XXX NO LONGER USED - REMOVE IN NEAR FUTURE
*/
#if 0
static void
intelClear(GLcontext *ctx, GLbitfield mask)
#else
-void
-intelClear(struct pipe_context *pipe,
+static void
+OLD_intelClear(struct pipe_context *pipe,
GLboolean color, GLboolean depth,
GLboolean stencil, GLboolean accum)
#endif
@@ -396,6 +396,34 @@ intelClear(struct pipe_context *pipe,
}
+/**
+ * Clear buffers. Called via pipe->clear().
+ */
+void
+intelClear(struct pipe_context *pipe,
+ GLboolean color, GLboolean depth,
+ GLboolean stencil, GLboolean accum)
+{
+ GLcontext *ctx = (GLcontext *) pipe->glctx;
+ struct intel_context *intel = intel_context(ctx);
+
+ /* XXX
+ * Examine stencil and color writemasks to determine if we can clear
+ * with blits.
+ */
+
+ intelFlush(&intel->ctx);
+ LOCK_HARDWARE(intel);
+
+ softpipe_clear(pipe, color, depth, stencil, accum);
+
+ intel_batchbuffer_flush(intel->batch);
+
+ UNLOCK_HARDWARE(intel);
+}
+
+
+
/* Emit wait for pending flips */
void
intel_wait_flips(struct intel_context *intel, GLuint batch_flags)