summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-11-08 12:07:12 +1100
committerTimothy Arceri <[email protected]>2017-01-06 11:21:41 +1100
commit2784128398e405405f0263d318ebe4121d1baf4c (patch)
tree95eab06252f142c3a5492cfb067320002b45ff63 /src
parent2a4d169735fd4b76d60963561ac6878c703338f9 (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')
-rw-r--r--src/mesa/drivers/dri/i965/brw_compiler.h2
-rw-r--r--src/mesa/drivers/dri/i965/brw_shader.cpp6
-rw-r--r--src/mesa/drivers/dri/i965/brw_tes.c2
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);