i965: pass gl_program directly to brw_compile_tes()

This is the only thing we use from gl_shader_program so pass it directly.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
Timothy Arceri 2016-11-08 12:07:12 +11:00
parent 2a4d169735
commit 2784128398
3 changed files with 4 additions and 6 deletions

View file

@ -803,7 +803,7 @@ brw_compile_tes(const struct brw_compiler *compiler, void *log_data,
const struct brw_tes_prog_key *key,
struct brw_tes_prog_data *prog_data,
const struct nir_shader *shader,
struct gl_shader_program *shader_prog,
struct gl_program *prog,
int shader_time_index,
unsigned *final_assembly_size,
char **error_str);

View file

@ -1352,14 +1352,12 @@ brw_compile_tes(const struct brw_compiler *compiler,
const struct brw_tes_prog_key *key,
struct brw_tes_prog_data *prog_data,
const nir_shader *src_shader,
struct gl_shader_program *shader_prog,
struct gl_program *prog,
int shader_time_index,
unsigned *final_assembly_size,
char **error_str)
{
const struct gen_device_info *devinfo = compiler->devinfo;
struct gl_linked_shader *shader =
shader_prog->_LinkedShaders[MESA_SHADER_TESS_EVAL];
const bool is_scalar = compiler->scalar_stage[MESA_SHADER_TESS_EVAL];
nir_shader *nir = nir_shader_clone(mem_ctx, src_shader);
@ -1417,7 +1415,7 @@ brw_compile_tes(const struct brw_compiler *compiler,
if (is_scalar) {
fs_visitor v(compiler, log_data, mem_ctx, (void *) key,
&prog_data->base.base, shader->Program, nir, 8,
&prog_data->base.base, prog, nir, 8,
shader_time_index, &input_vue_map);
if (!v.run_tes()) {
if (error_str)

View file

@ -177,7 +177,7 @@ brw_codegen_tes_prog(struct brw_context *brw,
char *error_str;
const unsigned *program =
brw_compile_tes(compiler, brw, mem_ctx, key, &prog_data, nir,
shader_prog, st_index, &program_size, &error_str);
&tep->program, st_index, &program_size, &error_str);
if (program == NULL) {
tep->program.sh.data->LinkStatus = false;
ralloc_strcat(&tep->program.sh.data->InfoLog, error_str);