summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_wm.c
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2015-10-05 19:27:28 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2015-10-19 08:47:03 -0700
commit22ad44910e993e1acd0b4052722fe786626008b5 (patch)
treee461f86c28fffcf26a00d148076540abd42ba347 /src/mesa/drivers/dri/i965/brw_wm.c
parent0ca401327ef9e280b3a8b008f1e41477afec3a35 (diff)
downloadexternal_mesa3d-22ad44910e993e1acd0b4052722fe786626008b5.zip
external_mesa3d-22ad44910e993e1acd0b4052722fe786626008b5.tar.gz
external_mesa3d-22ad44910e993e1acd0b4052722fe786626008b5.tar.bz2
i965/fs: Rework wm_fs_emit to take a nir_shader and a brw_compiler
This commit removes all dependence on GL state by getting rid of the brw_context parameter and the GL data structures. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_wm.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index 65de543..c40fb0e 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -230,9 +230,19 @@ brw_codegen_wm_prog(struct brw_context *brw,
st_index16 = brw_get_shader_time_index(brw, prog, &fp->program.Base, ST_FS16);
}
- program = brw_wm_fs_emit(brw, mem_ctx, key, &prog_data,
- &fp->program, prog, st_index8, st_index16, &program_size);
+ char *error_str = NULL;
+ program = brw_wm_fs_emit(brw->intelScreen->compiler, brw, mem_ctx,
+ key, &prog_data, fp->program.Base.nir,
+ &fp->program.Base, st_index8, st_index16,
+ brw->use_rep_send, &program_size, &error_str);
if (program == NULL) {
+ if (prog) {
+ prog->LinkStatus = false;
+ ralloc_strcat(&prog->InfoLog, error_str);
+ }
+
+ _mesa_problem(NULL, "Failed to compile fragment shader: %s\n", error_str);
+
ralloc_free(mem_ctx);
return false;
}