[Mesa-dev] [PATCH 30/70] i965: pass gl_program directly to brw_compile_tes()
Timothy Arceri
timothy.arceri at collabora.com
Tue Dec 20 10:37:40 UTC 2016
This is the only thing we use from gl_shader_program so pass it directly.
---
src/mesa/drivers/dri/i965/brw_compiler.h | 2 +-
src/mesa/drivers/dri/i965/brw_shader.cpp | 6 ++----
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 5e70601..db8f39c 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 4742e5d..2cd1c48 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -1341,14 +1341,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);
@@ -1406,7 +1404,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 464dbde..f98f874 100644
--- a/src/mesa/drivers/dri/i965/brw_tes.c
+++ b/src/mesa/drivers/dri/i965/brw_tes.c
@@ -178,7 +178,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);
--
2.9.3
More information about the mesa-dev
mailing list