glsl: add a shader info field to the gl_program type

And use this field as the source for shader info in the nir_shader
this will allow us to set some of these fields from GLSL directly.

It will also simplify restoring from shader cache and allow the
removal of duplicate fields from GLSL.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Timothy Arceri
2016-10-13 15:20:38 +11:00
parent e1af20f18a
commit debed12fdd
3 changed files with 11 additions and 1 deletions

View File

@@ -136,7 +136,8 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
{
struct gl_linked_shader *sh = shader_prog->_LinkedShaders[stage];
nir_shader *shader = nir_shader_create(NULL, stage, options, NULL);
nir_shader *shader = nir_shader_create(NULL, stage, options,
&sh->Program->info);
nir_visitor v1(shader);
nir_function_visitor v2(&v1);