summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_wm.h
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2012-11-20 16:21:27 -0800
committerKenneth Graunke <kenneth@whitecape.org>2012-11-26 19:52:34 -0800
commit4d09fe938e72b26d814b6b52caee5112cf6f1103 (patch)
tree602a18cd2ab4f0fc2a841501494e9267f4b80c8a /src/mesa/drivers/dri/i965/brw_wm.h
parent3417b2f2b249d89fc71379bfc0eaa1055de365ba (diff)
downloadexternal_mesa3d-4d09fe938e72b26d814b6b52caee5112cf6f1103.zip
external_mesa3d-4d09fe938e72b26d814b6b52caee5112cf6f1103.tar.gz
external_mesa3d-4d09fe938e72b26d814b6b52caee5112cf6f1103.tar.bz2
i965/fs: Move uses of brw_compile from do_wm_prog to brw_wm_fs_emit.
The brw_compile structure is closely tied to the Gen4-7 hardware encoding. However, do_wm_prog is very generic: it just calls out to get a compiled program and then uploads it. This isn't ultimately where we want it, but it's a step in the right direction: it's now closer to the code generator. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Paul Berry <stereotype441@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_wm.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h
index adc05a4..478be86 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.h
+++ b/src/mesa/drivers/dri/i965/brw_wm.h
@@ -93,9 +93,16 @@ struct brw_wm_compile {
GLuint last_scratch;
};
-bool brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c,
- struct gl_fragment_program *fp,
- struct gl_shader_program *prog);
+/**
+ * Compile a fragment shader.
+ *
+ * Returns the final assembly and the program's size.
+ */
+const unsigned *brw_wm_fs_emit(struct brw_context *brw,
+ struct brw_wm_compile *c,
+ struct gl_fragment_program *fp,
+ struct gl_shader_program *prog,
+ unsigned *final_assembly_size);
GLboolean brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog);
struct gl_shader *brw_new_shader(struct gl_context *ctx, GLuint name, GLuint type);