[Mesa-dev] [PATCH 3/3] r600g: fix crash when file in R600_TRACE doesn't exist

Constantine Kharlamov Hi-Angel at yandex.ru
Sat Jun 24 12:52:05 UTC 2017


…and print error in such case. Which probably is not a rare event btw
because fopen doesn't expand ~ to $HOME.

Also get rid of unused "bool ret" variable.

Signed-off-by: Constantine Kharlamov <Hi-Angel at yandex.ru>
---
 src/gallium/drivers/r600/r600_hw_context.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c
index 9b01e8e7d5..ca7f41db68 100644
--- a/src/gallium/drivers/r600/r600_hw_context.c
+++ b/src/gallium/drivers/r600/r600_hw_context.c
@@ -295,15 +295,16 @@ void r600_context_gfx_flush(void *context, unsigned flags,
 	ctx->b.num_gfx_cs_flushes++;
 
 	if (ctx->is_debug) {
-		bool ret = ws->fence_wait(ws, ctx->b.last_gfx_fence, 10000000);
-		if (ret == false) {
+		if (!ws->fence_wait(ws, ctx->b.last_gfx_fence, 10000000)) {
 			const char *fname = getenv("R600_TRACE");
 			if (!fname)
 				exit(-1);
 			FILE *fl = fopen(fname, "w+");
-			if (fl)
+			if (fl) {
 				eg_dump_debug_state(&ctx->b.b, fl, 0);
-			fclose(fl);
+				fclose(fl);
+			} else
+				perror(fname);
 			exit(-1);
 		}
 	}
-- 
2.13.1



More information about the mesa-dev mailing list