[Mesa-stable] [Mesa-dev] [PATCH] Revert "i915: Always enable GL 2.0 support."
Kenneth Graunke
kenneth at whitecape.org
Mon Jan 30 04:29:43 UTC 2017
On Sunday, January 29, 2017 6:20:10 PM PST Matt Turner wrote:
> This partially reverts commit 97217a40f97cdeae0304798b607f704deb0c3558.
> It leaves ES 2.0 support in place per Ian's suggestion, because ES 2.0
> is designed to work on hardware like i915.
Your commit message should mention why dropping from OpenGL 2.1 to 1.4
is a good thing.
(IIRC it's because Chrome (and other apps?) use really slow paths with
2.1, and so the general usability of the system is likely to be worse.)
> The piglit results look like:
>
> name: before-revert-i915 after-revert-i915
> ---- ------------------ -----------------
> pass: 7171 2169
> fail: 933 201
> crash: 8 7
> skip: 32997 38676
> timeout: 0 0
> warn: 3 1
> incomplete: 0 0
> dmesg-warn: 0 0
> dmesg-fail: 0 0
> changes: 0 6040
> fixes: 0 292
> regressions: 0 2
> total: 41112 41054
Why are these interesting?
> Cc: "17.0" <mesa-stable at lists.freedesktop.org>
> ---
> src/mesa/drivers/dri/i915/intel_extensions.c | 8 ++++++--
> src/mesa/drivers/dri/i915/intel_screen.c | 21 +++++++++++++++++++--
> 2 files changed, 25 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i915/intel_extensions.c b/src/mesa/drivers/dri/i915/intel_extensions.c
> index ab7820f..4f2c6fa 100644
> --- a/src/mesa/drivers/dri/i915/intel_extensions.c
> +++ b/src/mesa/drivers/dri/i915/intel_extensions.c
> @@ -92,8 +92,12 @@ intelInitExtensions(struct gl_context *ctx)
> ctx->Extensions.ATI_separate_stencil = true;
> ctx->Extensions.ATI_texture_env_combine3 = true;
> ctx->Extensions.NV_texture_env_combine4 = true;
> - ctx->Extensions.ARB_fragment_shader = true;
> - ctx->Extensions.ARB_occlusion_query = true;
> +
> + if (driQueryOptionb(&intel->optionCache, "fragment_shader"))
> + ctx->Extensions.ARB_fragment_shader = true;
I get dropping GLSL support, but isn't GL_ARB_fragment_shader sort of
reasonable for this hardware?
> +
> + if (driQueryOptionb(&intel->optionCache, "stub_occlusion_query"))
> + ctx->Extensions.ARB_occlusion_query = true;
> }
>
> if (intel->ctx.Mesa_DXTn
> diff --git a/src/mesa/drivers/dri/i915/intel_screen.c b/src/mesa/drivers/dri/i915/intel_screen.c
> index 5c7c06a..fe86179 100644
> --- a/src/mesa/drivers/dri/i915/intel_screen.c
> +++ b/src/mesa/drivers/dri/i915/intel_screen.c
> @@ -62,6 +62,10 @@ DRI_CONF_BEGIN
> DRI_CONF_DESC(en, "Enable early Z in classic mode (unstable, 945-only).")
> DRI_CONF_OPT_END
>
> + DRI_CONF_OPT_BEGIN_B(fragment_shader, "true")
> + DRI_CONF_DESC(en, "Enable limited ARB_fragment_shader support on 915/945.")
> + DRI_CONF_OPT_END
> +
> DRI_CONF_SECTION_END
> DRI_CONF_SECTION_QUALITY
> DRI_CONF_FORCE_S3TC_ENABLE("false")
> @@ -75,6 +79,10 @@ DRI_CONF_BEGIN
> DRI_CONF_DISABLE_GLSL_LINE_CONTINUATIONS("false")
> DRI_CONF_DISABLE_BLEND_FUNC_EXTENDED("false")
>
> + DRI_CONF_OPT_BEGIN_B(stub_occlusion_query, "false")
> + DRI_CONF_DESC(en, "Enable stub ARB_occlusion_query support on 915/945.")
> + DRI_CONF_OPT_END
> +
> DRI_CONF_OPT_BEGIN_B(shader_precompile, "true")
> DRI_CONF_DESC(en, "Perform code generation at shader link time.")
> DRI_CONF_OPT_END
> @@ -1125,12 +1133,21 @@ set_max_gl_versions(struct intel_screen *screen)
> __DRIscreen *psp = screen->driScrnPriv;
>
> switch (screen->gen) {
> - case 3:
> + case 3: {
> + bool has_fragment_shader = driQueryOptionb(&screen->optionCache, "fragment_shader");
> + bool has_occlusion_query = driQueryOptionb(&screen->optionCache, "stub_occlusion_query");
> +
> psp->max_gl_core_version = 0;
> psp->max_gl_es1_version = 11;
> - psp->max_gl_compat_version = 21;
> psp->max_gl_es2_version = 20;
> +
> + if (has_fragment_shader && has_occlusion_query) {
> + psp->max_gl_compat_version = 21;
> + } else {
> + psp->max_gl_compat_version = 14;
> + }
> break;
> + }
> case 2:
> psp->max_gl_core_version = 0;
> psp->max_gl_compat_version = 13;
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20170129/649b58af/attachment.sig>
More information about the mesa-stable
mailing list