[Mesa-dev] [PATCH] Revert "i915: Always enable GL 2.0 support."
Stéphane Marchesin
stephane.marchesin at gmail.com
Mon Jan 30 21:05:30 UTC 2017
On Sun, Jan 29, 2017 at 8:29 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> 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.)
FWIW Chrome doesn't use the GPU if you have GL < 2.0
Stéphane
>
>> 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;
>>
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list