diff options
author | Ilia Mirkin <[email protected]> | 2014-02-11 00:26:32 -0500 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2014-02-13 12:44:36 +1000 |
commit | a7012eede83f3a6b014b952ff837e5b377a7a12a (patch) | |
tree | e317bde0cd40e097f19470c9d517028ee71e5844 /src/mesa/state_tracker | |
parent | f0e967f212cf00ef16a046e5ec6c3bb056fa7974 (diff) |
mesa/st: hardcode the viewport bounds range
The bound range is disconnected from the viewport dimensions. This is
the relevant bit from glViewportArray:
"""
The location of the viewport's bottom left corner, given by (x, y) is
clamped to be within the implementaiton-dependent viewport bounds range.
The viewport bounds range [min, max] can be determined by calling glGet
with argument GL_VIEWPORT_BOUNDS_RANGE. Viewport width and height are
silently clamped to a range that depends on the implementation. To query
this range, call glGet with argument GL_MAX_VIEWPORT_DIMS.
"""
Just set it to +/-16384, as that is the minimum required by
ARB_viewport_array and the value that all current drivers provide.
Signed-off-by: Ilia Mirkin <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_extensions.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 1b3b2205fef..e43e7b44ec5 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -782,8 +782,8 @@ void st_init_extensions(struct st_context *st) if (ctx->API == API_OPENGL_CORE) { ctx->Const.MaxViewports = screen->get_param(screen, PIPE_CAP_MAX_VIEWPORTS); if (ctx->Const.MaxViewports >= 16) { - ctx->Const.ViewportBounds.Min = -(float)ctx->Const.MaxViewportWidth; - ctx->Const.ViewportBounds.Max = ctx->Const.MaxViewportWidth; + ctx->Const.ViewportBounds.Min = -16384.0; + ctx->Const.ViewportBounds.Max = 16384.0; ctx->Extensions.ARB_viewport_array = GL_TRUE; } } |