From: Timothy Arceri Date: Tue, 8 Nov 2016 01:07:12 +0000 (+1100) Subject: i965: pass gl_program directly to brw_compile_tes() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2784128398e405405f0263d318ebe4121d1baf4c;p=mesa.git 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 --- diff --git a/src/mesa/drivers/dri/i965/brw_compiler.h b/src/mesa/drivers/dri/i965/brw_compiler.h index 5e706014045..db8f39ce776 100644 --- a/src/mesa/drivers/dri/i965/brw_compiler.h +++ b/src/mesa/drivers/dri/i965/brw_compiler.h @@ -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); diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index a07084364c3..af8a4e501f7 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -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) diff --git a/src/mesa/drivers/dri/i965/brw_tes.c b/src/mesa/drivers/dri/i965/brw_tes.c index fbd6081464a..43a8c3f325e 100644 --- a/src/mesa/drivers/dri/i965/brw_tes.c +++ b/src/mesa/drivers/dri/i965/brw_tes.c @@ -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);