[Mesa-dev] [PATCH 14/14] i965: Allow creation of OpenGL 3.1 contexts
Kenneth Graunke
kenneth at whitecape.org
Wed Aug 8 15:19:33 PDT 2012
On 08/08/2012 10:38 AM, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
> src/mesa/drivers/dri/i965/brw_context.c | 19 +++++++++++++++++++
> 1 files changed, 19 insertions(+), 0 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
> index 013ec14..990b467 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -108,6 +108,25 @@ brwCreateContext(int api,
> case API_OPENGLES:
> case API_OPENGLES2:
> break;
> + case API_OPENGL_CORE: {
I feel like this could be made more readable as:
#ifndef TEXTURE_FLOAT_ENABLED
*error = __DRI_CTX_ERROR_BAD_API;
return false;
#else
if (screen->gen < 6 || screen->gen == 7 &&
screen->kernel_has_gen7_sol_reset) {
*error = __DRI_CTX_ERROR_BAD_API;
return false;
}
if (major_version * 10 + minor_version > 31) {
*error = __DRI_CTX_ERROR_BAD_VERSION;
return false;
}
#endif
> +#ifdef TEXTURE_FLOAT_ENABLED
> + const unsigned max_version =
> + (screen->gen == 6 ||
> + (screen->gen == 7 && screen->kernel_has_gen7_sol_reset))
> + ? 0x301 : 0;
> +#else
> + const unsigned max_version = 0;
> +#endif
> + const unsigned req_version = (major_version << 8) | minor_version;
> +
> + if (req_version > max_version) {
> + *error = (max_version == 0)
> + ? __DRI_CTX_ERROR_BAD_API : __DRI_CTX_ERROR_BAD_VERSION;
> + return false;
> + }
> +
> + break;
> + }
> default:
> *error = __DRI_CTX_ERROR_BAD_API;
> return false;
More information about the mesa-dev
mailing list