On Sun, Jan 29, 2017 at 8:29 PM, Kenneth Graunke <kenn...@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-sta...@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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev