intel/compiler: Add a "base class" for program keys

Right now, all keys have two things in common: a program string ID and a
sampler_prog_key_data.  I'd like to add another thing or two and need a
place to put it.  This commit adds a new brw_base_prog_key struct which
contains those two common bits.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Jason Ekstrand
2019-02-21 17:20:39 -06:00
committed by Jason Ekstrand
parent 3a4667e502
commit 14781e2122
30 changed files with 182 additions and 239 deletions

View File

@@ -1244,7 +1244,7 @@ brw_compile_tes(const struct brw_compiler *compiler,
nir->info.inputs_read = key->inputs_read;
nir->info.patch_inputs_read = key->patch_inputs_read;
brw_nir_apply_sampler_key(nir, compiler, &key->tex, is_scalar);
brw_nir_apply_sampler_key(nir, compiler, &key->base.tex, is_scalar);
brw_nir_lower_tes_inputs(nir, input_vue_map);
brw_nir_lower_vue_outputs(nir);
brw_postprocess_nir(nir, compiler, is_scalar);
@@ -1322,7 +1322,7 @@ brw_compile_tes(const struct brw_compiler *compiler,
}
if (is_scalar) {
fs_visitor v(compiler, log_data, mem_ctx, (void *) key,
fs_visitor v(compiler, log_data, mem_ctx, &key->base,
&prog_data->base.base, NULL, nir, 8,
shader_time_index, input_vue_map);
if (!v.run_tes()) {