diff options
author | Brian Paul <[email protected]> | 2019-03-07 09:21:53 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2019-03-11 20:08:16 -0600 |
commit | b29d827f09729259d772c4bbbf1b4d4606359736 (patch) | |
tree | 5ce4811ae89d464a62f1e8e0cf8a489147423822 /src/mesa/state_tracker/st_context.h | |
parent | 775aabdd01739c413da7b38e5acbde1094209bcf (diff) |
st/mesa: move utility functions, macros into new st_util.h file
To de-clutter st_context.h.
Clean up remaining function prototypes in st_context.h.
The st_vp_uses_current_values() helper is only used in st_context.c
so move it there.
The st_get_active_states() function is only used in st_context.c so
remove its prototype in st_context.h
Reviewed-by: Neha Bhende <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_context.h')
-rw-r--r-- | src/mesa/state_tracker/st_context.h | 118 |
1 files changed, 28 insertions, 90 deletions
diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index 324a7f24178..58a1ead5c0d 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -54,14 +54,6 @@ struct st_perf_monitor_group; struct u_upload_mgr; -/** For drawing quads for glClear, glDraw/CopyPixels, glBitmap, etc. */ -struct st_util_vertex -{ - float x, y, z; - float r, g, b, a; - float s, t; -}; - struct st_bitmap_cache { /** Window pos to render the cached image */ @@ -317,14 +309,40 @@ struct st_context }; -/* Need this so that we can implement Mesa callbacks in this module. +/* + * Get the state tracker context for the given Mesa context. */ -static inline struct st_context *st_context(struct gl_context *ctx) +static inline struct st_context * +st_context(struct gl_context *ctx) { return ctx->st; } +extern struct st_context * +st_create_context(gl_api api, struct pipe_context *pipe, + const struct gl_config *visual, + struct st_context *share, + const struct st_config_options *options, + bool no_error); + +extern void +st_destroy_context(struct st_context *st); + + +extern void +st_init_driver_functions(struct pipe_screen *screen, + struct dd_function_table *functions); + + +extern void +st_invalidate_buffers(struct st_context *st); + + +extern uint64_t +st_get_active_states(struct gl_context *ctx); + + /** * Wrapper for struct gl_framebuffer. * This is an opaque type to the outside world. @@ -345,86 +363,6 @@ struct st_framebuffer }; -extern void st_init_driver_functions(struct pipe_screen *screen, - struct dd_function_table *functions); - -void -st_invalidate_buffers(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 -#define Y_0_BOTTOM 2 - -static inline GLuint -st_fb_orientation(const struct gl_framebuffer *fb) -{ - if (fb && _mesa_is_winsys_fbo(fb)) { - /* Drawing into a window (on-screen buffer). - * - * Negate Y scale to flip image vertically. - * The NDC Y coords prior to viewport transformation are in the range - * [y=-1=bottom, y=1=top] - * Hardware window coords are in the range [y=0=top, y=H-1=bottom] where - * H is the window height. - * Use the viewport transformation to invert Y. - */ - return Y_0_TOP; - } - else { - /* Drawing into user-created FBO (very likely a texture). - * - * For textures, T=0=Bottom, so by extension Y=0=Bottom for rendering. - */ - return Y_0_BOTTOM; - } -} - - -static inline bool -st_user_clip_planes_enabled(struct gl_context *ctx) -{ - return (ctx->API == API_OPENGL_COMPAT || - ctx->API == API_OPENGLES) && /* only ES 1.x */ - ctx->Transform.ClipPlanesEnabled; -} - - -static inline bool -st_vp_uses_current_values(const struct gl_context *ctx) -{ - const uint64_t inputs = ctx->VertexProgram._Current->info.inputs_read; - return _mesa_draw_current_bits(ctx) & inputs; -} - -/** clear-alloc a struct-sized object, with casting */ -#define ST_CALLOC_STRUCT(T) (struct T *) calloc(1, sizeof(struct T)) - - -extern struct st_context * -st_create_context(gl_api api, struct pipe_context *pipe, - const struct gl_config *visual, - struct st_context *share, - const struct st_config_options *options, - bool no_error); - -extern void -st_destroy_context(struct st_context *st); - -uint64_t -st_get_active_states(struct gl_context *ctx); - - #ifdef __cplusplus } #endif |