[Mesa-dev] [PATCH 14/18] radeon: Use _mesa_is_front_buffer_drawing

Ian Romanick idr at freedesktop.org
Wed Sep 30 13:58:02 PDT 2015


From: Ian Romanick <ian.d.romanick at intel.com>

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
 src/mesa/drivers/dri/radeon/radeon_common.c | 21 ---------------------
 src/mesa/drivers/dri/radeon/radeon_common.h |  1 -
 src/mesa/drivers/dri/radeon/radeon_screen.h |  1 -
 src/mesa/drivers/dri/radeon/radeon_span.c   |  7 +++++--
 4 files changed, 5 insertions(+), 25 deletions(-)

diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index fde8921..1ba61c8 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -175,27 +175,6 @@ uint32_t radeonGetAge(radeonContextPtr radeon)
 	return age;
 }
 
-/**
- * Check if we're about to draw into the front color buffer.
- * If so, set the intel->front_buffer_dirty field to true.
- */
-void
-radeon_check_front_buffer_rendering(struct gl_context *ctx)
-{
-	radeonContextPtr radeon = RADEON_CONTEXT(ctx);
-	const struct gl_framebuffer *fb = ctx->DrawBuffer;
-
-	if (fb->Name == 0) {
-		/* drawing to window system buffer */
-		if (fb->_NumColorDrawBuffers > 0) {
-			if (fb->_ColorDrawBufferIndexes[0] == BUFFER_FRONT_LEFT) {
-				radeon->front_buffer_dirty = GL_TRUE;
-			}
-		}
-	}
-}
-
-
 void radeon_draw_buffer(struct gl_context *ctx, struct gl_framebuffer *fb)
 {
 	radeonContextPtr radeon = RADEON_CONTEXT(ctx);
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.h b/src/mesa/drivers/dri/radeon/radeon_common.h
index fedaf50..ada4956 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.h
+++ b/src/mesa/drivers/dri/radeon/radeon_common.h
@@ -37,7 +37,6 @@ radeonReadPixels(struct gl_context * ctx,
 				GLenum format, GLenum type,
 				const struct gl_pixelstore_attrib *pack, GLvoid * pixels);
 
-void radeon_check_front_buffer_rendering(struct gl_context *ctx);
 static inline struct radeon_renderbuffer *radeon_renderbuffer(struct gl_renderbuffer *rb)
 {
 	struct radeon_renderbuffer *rrb = (struct radeon_renderbuffer *)rb;
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.h b/src/mesa/drivers/dri/radeon/radeon_screen.h
index b3e9267..4ebf59a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.h
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.h
@@ -126,7 +126,6 @@ struct __DRIimageRec {
 #define radeon_prepare_render               r200_radeon_prepare_render
 #define radeonUnbindContext                 r200_radeonUnbindContext
 #define radeon_update_renderbuffers         r200_radeon_update_renderbuffers
-#define radeon_check_front_buffer_rendering r200_radeon_check_front_buffer_rendering
 #define radeonCountStateEmitSize            r200_radeonCountStateEmitSize
 #define radeon_draw_buffer                  r200_radeon_draw_buffer
 #define radeonDrawBuffer                    r200_radeonDrawBuffer
diff --git a/src/mesa/drivers/dri/radeon/radeon_span.c b/src/mesa/drivers/dri/radeon/radeon_span.c
index 42f62a0..648df5c 100644
--- a/src/mesa/drivers/dri/radeon/radeon_span.c
+++ b/src/mesa/drivers/dri/radeon/radeon_span.c
@@ -44,6 +44,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "main/texformat.h"
 #include "main/renderbuffer.h"
 #include "main/samplerobj.h"
+#include "main/framebuffer.h"
 #include "swrast/swrast.h"
 #include "swrast/s_renderbuffer.h"
 
@@ -97,7 +98,8 @@ radeon_map_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
 	for (i = 0; i < BUFFER_COUNT; i++)
 		radeon_renderbuffer_map(ctx, fb->Attachment[i].Renderbuffer);
 
-	radeon_check_front_buffer_rendering(ctx);
+        if (_mesa_is_front_buffer_drawing(fb))
+		RADEON_CONTEXT(ctx)->front_buffer_dirty = true;
 }
 
 static void
@@ -113,7 +115,8 @@ radeon_unmap_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
 	for (i = 0; i < BUFFER_COUNT; i++)
 		radeon_renderbuffer_unmap(ctx, fb->Attachment[i].Renderbuffer);
 
-	radeon_check_front_buffer_rendering(ctx);
+        if (_mesa_is_front_buffer_drawing(fb))
+		RADEON_CONTEXT(ctx)->front_buffer_dirty = true;
 }
 
 static void radeonSpanRenderStart(struct gl_context * ctx)
-- 
2.1.0



More information about the mesa-dev mailing list