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" <[email protected]> > --- > 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; >
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
