intel/compiler: add new field for storing program size

This will be used by the on disk shader cache.

v2:
 * Set in brw_compile_* rather than brw_codegen_*. (Jason)

Signed-off-by: Timothy Arceri <timothy.arceri@collabora.com>
[jordan.l.justen@intel.com: Only add to brw_stage_prog_data]
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Carl Worth
2016-04-14 10:59:16 +10:00
committed by Jordan Justen
parent 1edf0fe612
commit 540636045f
6 changed files with 35 additions and 14 deletions
+10 -4
View File
@@ -868,7 +868,9 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
g.enable_debug(name);
}
g.generate_code(v.cfg, 8);
return g.get_assembly(final_assembly_size);
const unsigned *ret = g.get_assembly(final_assembly_size);
prog_data->base.base.program_size = *final_assembly_size;
return ret;
}
}
@@ -897,9 +899,12 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
if (v.run()) {
/* Success! Backup is not needed */
ralloc_free(param);
return brw_vec4_generate_assembly(compiler, log_data, mem_ctx,
shader, &prog_data->base, v.cfg,
final_assembly_size);
const unsigned *ret =
brw_vec4_generate_assembly(compiler, log_data, mem_ctx, shader,
&prog_data->base, v.cfg,
final_assembly_size);
prog_data->base.base.program_size = *final_assembly_size;
return ret;
} else {
/* These variables could be modified by the execution of the GS
* visitor if it packed the uniforms in the push constant buffer.
@@ -967,6 +972,7 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
}
delete gs;
prog_data->base.base.program_size = *final_assembly_size;
return ret;
}