diff options
author | Marek Olšák <[email protected]> | 2014-08-03 04:36:19 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-08-11 21:53:57 +0200 |
commit | 35e755faa7d0c9e2db079df47804977388c43c99 (patch) | |
tree | d3df0e10fb30edd1a6035b47fd8d76d7e4cd7613 /src/mesa/state_tracker/st_extensions.c | |
parent | 002211f9eea258acc253528024ee104aa1fcd90d (diff) |
st/mesa: make st_init_limits context-independent
Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_extensions.c')
-rw-r--r-- | src/mesa/state_tracker/st_extensions.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index c6824d4bd88..2d7b147969a 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -70,10 +70,9 @@ static int _clamp(int a, int min, int max) * Query driver to get implementation limits. * Note that we have to limit/clamp against Mesa's internal limits too. */ -void st_init_limits(struct st_context *st) +void st_init_limits(struct pipe_screen *screen, + struct gl_constants *c, struct gl_extensions *extensions) { - struct pipe_screen *screen = st->pipe->screen; - struct gl_constants *c = &st->ctx->Const; unsigned sh; boolean can_ubo = TRUE; @@ -124,10 +123,7 @@ void st_init_limits(struct st_context *st) c->MaxPointSizeAA = _maxf(1.0f, screen->get_paramf(screen, PIPE_CAPF_MAX_POINT_WIDTH_AA)); - /* called after _mesa_create_context/_mesa_init_point, fix default user - * settable max point size up - */ - st->ctx->Point.MaxSize = MAX2(c->MaxPointSize, c->MaxPointSizeAA); + /* these are not queryable. Note that GL basically mandates a 1.0 minimum * for non-aa sizes, but we can go down to 0.0 for aa points. */ @@ -300,7 +296,7 @@ void st_init_limits(struct st_context *st) screen->get_param(screen, PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS); if (can_ubo) { - st->ctx->Extensions.ARB_uniform_buffer_object = GL_TRUE; + extensions->ARB_uniform_buffer_object = GL_TRUE; c->UniformBufferOffsetAlignment = screen->get_param(screen, PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT); c->MaxCombinedUniformBlocks = c->MaxUniformBufferBindings = |