Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa
[mesa.git] / src / mesa / drivers / dri / radeon / radeon_common.h
index 528ea9dce4a8b0cf7c5dbfa48062baee30232fb1..f3201911ac67bba93e0a094f7cddf4d3ed6fb7a9 100644 (file)
@@ -5,10 +5,12 @@
 #include "radeon_dma.h"
 #include "radeon_texture.h"
 
+void radeonUserClear(GLcontext *ctx, GLuint mask);
 void radeonRecalcScissorRects(radeonContextPtr radeon);
 void radeonSetCliprects(radeonContextPtr radeon);
 void radeonUpdateScissor( GLcontext *ctx );
 void radeonScissor(GLcontext* ctx, GLint x, GLint y, GLsizei w, GLsizei h);
+void radeonPolygonStipplePreKMS( GLcontext *ctx, const GLubyte *mask );
 
 void radeonWaitForIdleLocked(radeonContextPtr radeon);
 extern uint32_t radeonGetAge(radeonContextPtr radeon);
@@ -23,6 +25,9 @@ void radeonUpdatePageFlipping(radeonContextPtr rmesa);
 void radeonFlush(GLcontext *ctx);
 void radeonFinish(GLcontext * ctx);
 void radeonEmitState(radeonContextPtr radeon);
+GLuint radeonCountStateEmitSize(radeonContextPtr radeon);
+
+void radeon_clear_tris(GLcontext *ctx, GLbitfield mask);
 
 void radeon_window_moved(radeonContextPtr radeon);
 void radeon_draw_buffer(GLcontext *ctx, struct gl_framebuffer *fb);
@@ -33,9 +38,11 @@ void radeon_get_cliprects(radeonContextPtr radeon,
                          struct drm_clip_rect **cliprects,
                          unsigned int *num_cliprects,
                          int *x_off, int *y_off);
-
 void radeon_fbo_init(struct radeon_context *radeon);
-struct gl_renderbuffer *
+void
+radeon_renderbuffer_set_bo(struct radeon_renderbuffer *rb,
+                          struct radeon_bo *bo);
+struct radeon_renderbuffer *
 radeon_create_renderbuffer(GLenum format, __DRIdrawablePrivate *driDrawPriv);
 static inline struct radeon_renderbuffer *radeon_renderbuffer(struct gl_renderbuffer *rb)
 {
@@ -57,7 +64,7 @@ static inline struct radeon_renderbuffer *radeon_get_renderbuffer(struct gl_fram
 static inline struct radeon_renderbuffer *radeon_get_depthbuffer(radeonContextPtr rmesa)
 {
        struct radeon_renderbuffer *rrb;
-       rrb = rmesa->state.depth.rrb;
+       rrb = radeon_renderbuffer(rmesa->state.depth.rb);
        if (!rrb)
                return NULL;
 
@@ -67,12 +74,8 @@ static inline struct radeon_renderbuffer *radeon_get_depthbuffer(radeonContextPt
 static inline struct radeon_renderbuffer *radeon_get_colorbuffer(radeonContextPtr rmesa)
 {
        struct radeon_renderbuffer *rrb;
-       struct radeon_framebuffer *rfb = rmesa->dri.drawable->driverPrivate;
 
-       rrb = rmesa->state.color.rrb;
-       if (rmesa->radeonScreen->driScreen->dri2.enabled) {
-               rrb = radeon_get_renderbuffer(&rfb->base, BUFFER_BACK_LEFT);
-       }
+       rrb = radeon_renderbuffer(rmesa->state.color.rb);
        if (!rrb)
                return NULL;
        return rrb;