st/mesa: inline and optimize st_invalidate_readpix_cache
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user