From 69423dcf232a2cb6c9672ce95f684afa1d3842d2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 9 Apr 2017 16:39:39 +0200 Subject: [PATCH] st/mesa: inline and optimize st_invalidate_readpix_cache Reviewed-by: Ilia Mirkin Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_cb_readpixels.c | 8 -------- src/mesa/state_tracker/st_context.h | 13 +++++++++++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c index 795519d0a7e..0bcf2eb4fdf 100644 --- a/src/mesa/state_tracker/st_cb_readpixels.c +++ b/src/mesa/state_tracker/st_cb_readpixels.c @@ -251,14 +251,6 @@ fail: return success; } -/* Invalidate the readpixels cache to ensure we don't read stale data. - */ -void st_invalidate_readpix_cache(struct st_context *st) -{ - pipe_resource_reference(&st->readpix_cache.src, NULL); - pipe_resource_reference(&st->readpix_cache.cache, NULL); -} - /** * Create a staging texture and blit the requested region to it. */ diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index bb003843659..dfee9275657 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -29,10 +29,10 @@ #define ST_CONTEXT_H #include "main/mtypes.h" -#include "pipe/p_state.h" #include "state_tracker/st_api.h" #include "main/fbobject.h" #include "state_tracker/st_atom.h" +#include "util/u_inlines.h" #ifdef __cplusplus @@ -287,7 +287,16 @@ extern void st_init_driver_functions(struct pipe_screen *screen, void st_invalidate_state(struct gl_context * ctx, GLbitfield new_state); -void st_invalidate_readpix_cache(struct st_context *st); +/* Invalidate the readpixels cache to ensure we don't read stale data. + */ +static inline void +st_invalidate_readpix_cache(struct st_context *st) +{ + if (unlikely(st->readpix_cache.src)) { + pipe_resource_reference(&st->readpix_cache.src, NULL); + pipe_resource_reference(&st->readpix_cache.cache, NULL); + } +} #define Y_0_TOP 1 -- 2.30.2