intel: Move brw_prog_key_set_id from i965 to the compiler.

I want to use it in iris.

Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
This commit is contained in:
Kenneth Graunke
2019-05-20 11:24:21 -07:00
parent b589c2547d
commit 419d9b21e1
4 changed files with 20 additions and 20 deletions

View File

@@ -262,3 +262,20 @@ brw_prog_key_size(gl_shader_stage stage)
assert((int)stage >= 0 && stage < ARRAY_SIZE(stage_sizes));
return stage_sizes[stage];
}
void
brw_prog_key_set_id(union brw_any_prog_key *key,
gl_shader_stage stage,
unsigned id)
{
static const unsigned stage_offsets[] = {
offsetof(struct brw_vs_prog_key, program_string_id),
offsetof(struct brw_tcs_prog_key, program_string_id),
offsetof(struct brw_tes_prog_key, program_string_id),
offsetof(struct brw_gs_prog_key, program_string_id),
offsetof(struct brw_wm_prog_key, program_string_id),
offsetof(struct brw_cs_prog_key, program_string_id),
};
assert((int)stage >= 0 && stage < ARRAY_SIZE(stage_offsets));
*(unsigned*)((uint8_t*)key + stage_offsets[stage]) = id;
}