On Tue, Jul 21, 2015 at 1:19 AM, Dave Airlie <airl...@gmail.com> wrote: > @@ -366,18 +411,25 @@ _mesa_GetProgramResourceLocation(GLuint program, GLenum > programInterface, > case GL_PROGRAM_OUTPUT: > break; > > + case GL_VERTEX_SUBROUTINE_UNIFORM: > + case GL_FRAGMENT_SUBROUTINE_UNIFORM: > + if (ctx->Extensions.ARB_shader_subroutine) > + break; > + > + case GL_GEOMETRY_SUBROUTINE_UNIFORM: > + if (_mesa_has_geometry_shaders(ctx) && > ctx->Extensions.ARB_shader_subroutine) > + break; > + case GL_COMPUTE_SUBROUTINE_UNIFORM: > + if (_mesa_has_compute_shaders(ctx) && > ctx->Extensions.ARB_shader_subroutine) > + break; > + > /* For reference valid cases requiring additional extension support: > - * GL_ARB_shader_subroutine > * GL_ARB_tessellation_shader > - * GL_ARB_compute_shader > */ > - case GL_VERTEX_SUBROUTINE_UNIFORM: > case GL_TESS_CONTROL_SUBROUTINE_UNIFORM: > case GL_TESS_EVALUATION_SUBROUTINE_UNIFORM: > - case GL_GEOMETRY_SUBROUTINE_UNIFORM: > - case GL_FRAGMENT_SUBROUTINE_UNIFORM: > - case GL_COMPUTE_SUBROUTINE_UNIFORM: > - > + if (ctx->Extensions.ARB_tessellation_shader && > ctx->Extensions.ARB_shader_subroutine) > + break;
So if you don't have compute shaders but you do have tessellation shaders, then GL_COMPUTE_SUBROUTINE_UNIFORM is OK? > default: > _mesa_error(ctx, GL_INVALID_ENUM, "glGetProgramResourceLocation(%s > %s)", > _mesa_enum_to_string(programInterface), name); _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev