[Mesa-stable] [PATCH] GalliumContext.cpp: fix hgl_st_framebuffer build issue

Ken Mays kmays2000 at gmail.com
Sat Sep 21 17:33:07 UTC 2019


>From 5e91f6e5585c0d8db4183fb15f77a484b397044c Mon Sep 17 00:00:00 2001
From: kenmays <maybird1776 at yahoo.com>
Date: Fri, 20 Sep 2019 19:06:42 +0000
Subject: [PATCH] GalliumContext.cpp: fix hgl_st_framebuffer build issue

---
 .../targets/haiku-softpipe/GalliumContext.cpp | 35 +++++--------------
 1 file changed, 8 insertions(+), 27 deletions(-)

diff --git a/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
b/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
index 0356f65417c..c182e356e2d 100644
--- a/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
+++ b/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
@@ -26,6 +26,7 @@
 #include "sw/hgl/hgl_sw_winsys.h"
 #include "util/u_atomic.h"
 #include "util/u_memory.h"
+#include "util/u_framebuffer.h"

 #include "target-helpers/inline_sw_helper.h"
 #include "target-helpers/inline_debug_helper.h"
@@ -333,35 +334,15 @@ GalliumContext::SwapBuffers(context_id contextID)
 		return B_ERROR;
 	}

-	// TODO: Where did st_notify_swapbuffers go?
-	//st_notify_swapbuffers(context->draw->stfbi);
-
-	context->st->flush(context->st, ST_FLUSH_FRONT, NULL);
-
-	struct st_context *stContext = (struct st_context*)context->st;
-
-	unsigned nColorBuffers = stContext->state.framebuffer.nr_cbufs;
-	for (unsigned i = 0; i < nColorBuffers; i++) {
-		pipe_surface* surface = stContext->state.framebuffer.cbufs[i];
-		if (!surface) {
-			ERROR("%s: Color buffer %d invalid!\n", __func__, i);
-			continue;
-		}
-
-		TRACE("%s: Flushing color buffer #%d\n", __func__, i);
-
-		// We pass our destination bitmap to flush_fronbuffer which passes it
-		// to the private winsys display call.
-		fScreen->flush_frontbuffer(fScreen, surface->texture, 0, 0,
-			context->bitmap, NULL);
+	struct hgl_buffer* buffer = hgl_st_framebuffer(context->draw->stfbi);
+	pipe_surface* surface = buffer->surface;
+	if (!surface) {
+		ERROR("%s: Invalid drawable surface!\n", __func__);
+		return B_ERROR;
 	}

-	#if 0
-	// TODO... should we flush the z stencil buffer?
-	pipe_surface* zSurface = stContext->state.framebuffer.zsbuf;
-	fScreen->flush_frontbuffer(fScreen, zSurface->texture, 0, 0,
-		context->bitmap, NULL);
-	#endif
+	fScreen->flush_frontbuffer(fScreen, surface->texture, 0, 0,
+ 		context->bitmap, NULL);

 	return B_OK;
 }
-- 
2.22.0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20190921/1f890a91/attachment.html>


More information about the mesa-stable mailing list