i965/gen6: enable GLSL 1.50, OpenGL 3.2 and GL_AMD_vertex_shader_layered
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>
Wed, 9 Jul 2014 11:19:34 +0000 (13:19 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Fri, 19 Sep 2014 13:01:16 +0000 (15:01 +0200)
Geometry shaders was the only thing we needed to enable GLSL 1.50 and
OpenGL 3.2 in gen6.

v2: Layered clears do not work properly in gen6 with OpenGL 3.2. Kenneth
and Jordan realized that for this to work we also need
GL_AMD_vertex_shader_layered (which requires OpenGL 3.2, so it could not be
enabled before this patch), so we agreed to enable this together with
OpenGL 3.2 in this patch.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/intel_extensions.c
src/mesa/drivers/dri/i965/intel_screen.c

index 046d2a1b9a5abf5437ff32f0f1fbc05e9cac79a7..b7c64c6ae2c298045666a4bcdfae186dfcff4ee5 100644 (file)
@@ -246,7 +246,7 @@ intelInitExtensions(struct gl_context *ctx)
    if (brw->gen >= 7)
       ctx->Const.GLSLVersion = 330;
    else if (brw->gen >= 6)
-      ctx->Const.GLSLVersion = 140;
+      ctx->Const.GLSLVersion = 150;
    else
       ctx->Const.GLSLVersion = 120;
    _mesa_override_glsl_version(&ctx->Const);
@@ -273,6 +273,7 @@ intelInitExtensions(struct gl_context *ctx)
       ctx->Extensions.ARB_sample_shading = true;
       ctx->Extensions.ARB_texture_gather = true;
       ctx->Extensions.ARB_conditional_render_inverted = true;
+      ctx->Extensions.AMD_vertex_shader_layer = true;
 
       /* Test if the kernel has the ioctl. */
       if (drm_intel_reg_read(brw->bufmgr, TIMESTAMP, &dummy) == 0)
@@ -289,7 +290,6 @@ intelInitExtensions(struct gl_context *ctx)
    if (brw->gen >= 7) {
       ctx->Extensions.ARB_conservative_depth = true;
       ctx->Extensions.ARB_texture_view = true;
-      ctx->Extensions.AMD_vertex_shader_layer = true;
       if (can_do_pipelined_register_writes(brw)) {
          ctx->Extensions.ARB_transform_feedback2 = true;
          ctx->Extensions.ARB_transform_feedback3 = true;
index db7feb2257c479b66d06a45c9c26f27b3d52c804..8070e9708c5d9253d7c46f1f779d2748becb16d8 100644 (file)
@@ -1275,7 +1275,7 @@ set_max_gl_versions(struct intel_screen *screen)
       psp->max_gl_es2_version = 30;
       break;
    case 6:
-      psp->max_gl_core_version = 31;
+      psp->max_gl_core_version = 32;
       psp->max_gl_compat_version = 30;
       psp->max_gl_es1_version = 11;
       psp->max_gl_es2_version = 30;