i965: Do legacy userclipping in OpenGL ES 1.x contexts.
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 27 Oct 2015 21:50:14 +0000 (14:50 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 30 Oct 2015 21:25:33 +0000 (14:25 -0700)
Commit fba4823a disabled user clipping for everything except
compatibility profile.  Core profile and OpenGL ES 2.0+ have all removed
the classic, OpenGL 1.0 user clip planes.  ES 1.x, however, still has
them.

Fixes OpenGL ES 1.1 conformance mustpass.c and userclip.c

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Olivier Berthier <olivierx.berthier@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92639
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92641

src/mesa/drivers/dri/i965/brw_vs.c

index 5db4b3a86af1f539d720c9e08e144e3fb577e3c9..0b805b1c0c4fb8f55bab0cbd7cb0f840b3a1a9ff 100644 (file)
@@ -311,7 +311,8 @@ brw_vs_populate_key(struct brw_context *brw,
    key->program_string_id = vp->id;
 
    if (ctx->Transform.ClipPlanesEnabled != 0 &&
-       ctx->API == API_OPENGL_COMPAT &&
+       (ctx->API == API_OPENGL_COMPAT ||
+        ctx->API == API_OPENGLES) &&
        vp->program.Base.ClipDistanceArraySize == 0) {
       key->nr_userclip_plane_consts =
          _mesa_logbase2(ctx->Transform.ClipPlanesEnabled) + 1;