diff options
author | Timothy Arceri <[email protected]> | 2016-11-08 12:07:12 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-01-06 11:21:41 +1100 |
commit | 2784128398e405405f0263d318ebe4121d1baf4c (patch) | |
tree | 95eab06252f142c3a5492cfb067320002b45ff63 /src/mesa | |
parent | 2a4d169735fd4b76d60963561ac6878c703338f9 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_compiler.h | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_shader.cpp | 6 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_tes.c | 2 |
3 files changed, 4 insertions, 6 deletions
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); |