From: Carl Worth <[email protected]> This will be used by the on disk shader cache.
Signed-off-by: Timothy Arceri <[email protected]> --- src/mesa/drivers/dri/i965/brw_compiler.h | 8 ++++++++ src/mesa/drivers/dri/i965/brw_gs.c | 2 ++ src/mesa/drivers/dri/i965/brw_tcs.c | 2 ++ src/mesa/drivers/dri/i965/brw_tes.c | 2 ++ src/mesa/drivers/dri/i965/brw_vs.c | 3 +++ src/mesa/drivers/dri/i965/brw_wm.c | 2 ++ 6 files changed, 19 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_compiler.h b/src/mesa/drivers/dri/i965/brw_compiler.h index 682ad9b..6e234bf 100644 --- a/src/mesa/drivers/dri/i965/brw_compiler.h +++ b/src/mesa/drivers/dri/i965/brw_compiler.h @@ -350,6 +350,8 @@ struct brw_stage_prog_data { unsigned total_scratch; unsigned total_shared; + unsigned program_size; + /** * Register where the thread expects to find input data from the URB * (typically uniforms, followed by vertex or fragment attributes). @@ -660,6 +662,8 @@ struct brw_tcs_prog_data /** Number vertices in output patch */ int instances; + + unsigned program_size; }; @@ -670,6 +674,8 @@ struct brw_tes_prog_data enum brw_tess_partitioning partitioning; enum brw_tess_output_topology output_topology; enum brw_tess_domain domain; + + unsigned program_size; }; struct brw_gs_prog_data @@ -732,6 +738,8 @@ struct brw_gs_prog_data * binding table entry. */ unsigned char transform_feedback_swizzles[64 /* BRW_MAX_SOL_BINDINGS */]; + + unsigned program_size; }; #define DEFINE_PROG_DATA_DOWNCAST(stage) \ diff --git a/src/mesa/drivers/dri/i965/brw_gs.c b/src/mesa/drivers/dri/i965/brw_gs.c index b120a7d..84a3cff 100644 --- a/src/mesa/drivers/dri/i965/brw_gs.c +++ b/src/mesa/drivers/dri/i965/brw_gs.c @@ -180,6 +180,8 @@ brw_codegen_gs_prog(struct brw_context *brw, &stage_state->prog_offset, &brw->gs.base.prog_data); ralloc_free(mem_ctx); + brw->gs.base.prog_data->program_size = program_size; + return true; } diff --git a/src/mesa/drivers/dri/i965/brw_tcs.c b/src/mesa/drivers/dri/i965/brw_tcs.c index 823fedb..83b57cb 100644 --- a/src/mesa/drivers/dri/i965/brw_tcs.c +++ b/src/mesa/drivers/dri/i965/brw_tcs.c @@ -298,6 +298,8 @@ brw_codegen_tcs_prog(struct brw_context *brw, struct brw_program *tcp, &stage_state->prog_offset, &brw->tcs.base.prog_data); ralloc_free(mem_ctx); + brw->tcs.base.prog_data->program_size = program_size; + return true; } diff --git a/src/mesa/drivers/dri/i965/brw_tes.c b/src/mesa/drivers/dri/i965/brw_tes.c index 0cc2a31..94e873b 100644 --- a/src/mesa/drivers/dri/i965/brw_tes.c +++ b/src/mesa/drivers/dri/i965/brw_tes.c @@ -212,6 +212,8 @@ brw_codegen_tes_prog(struct brw_context *brw, &stage_state->prog_offset, &brw->tes.base.prog_data); ralloc_free(mem_ctx); + brw->tes.base.prog_data->program_size = program_size; + return true; } diff --git a/src/mesa/drivers/dri/i965/brw_vs.c b/src/mesa/drivers/dri/i965/brw_vs.c index 82dcdb3..906cb8b 100644 --- a/src/mesa/drivers/dri/i965/brw_vs.c +++ b/src/mesa/drivers/dri/i965/brw_vs.c @@ -275,6 +275,9 @@ brw_codegen_vs_prog(struct brw_context *brw, program, program_size, &prog_data, sizeof(prog_data), &brw->vs.base.prog_offset, &brw->vs.base.prog_data); + + brw->vs.base.prog_data->program_size = program_size; + ralloc_free(mem_ctx); return true; diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 6e2b6a1..28e0e58 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -241,6 +241,8 @@ brw_codegen_wm_prog(struct brw_context *brw, &prog_data, sizeof(prog_data), &brw->wm.base.prog_offset, &brw->wm.base.prog_data); + brw->wm.base.prog_data->program_size = program_size; + ralloc_free(mem_ctx); return true; -- 2.7.4 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
