Mesa (master): i965/fs: allow fs-generator use without gl_fragment_program
Topi Pohjolainen
tpohjola at kemper.freedesktop.org
Fri Dec 27 10:01:18 UTC 2013
Module: Mesa
Branch: master
Commit: 1958a9bbdf57dbcef0127012ea61c8492dfcb8b8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1958a9bbdf57dbcef0127012ea61c8492dfcb8b8
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date: Wed Nov 27 16:21:11 2013 +0200
i965/fs: allow fs-generator use without gl_fragment_program
Prepares the generator to accept hand-crafted blorp programs.
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
---
src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index 2381fb0..2bbf687 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -116,7 +116,7 @@ fs_generator::generate_fb_write(fs_inst *inst)
brw_set_mask_control(p, BRW_MASK_DISABLE);
brw_set_compression_control(p, BRW_COMPRESSION_NONE);
- if (fp->UsesKill || c->key.alpha_test_func) {
+ if ((fp && fp->UsesKill) || c->key.alpha_test_func) {
struct brw_reg pixel_mask;
if (brw->gen >= 6)
@@ -1304,9 +1304,12 @@ fs_generator::generate_code(exec_list *instructions)
if (shader) {
printf("Native code for fragment shader %d (%d-wide dispatch):\n",
prog->Name, dispatch_width);
- } else {
+ } else if (fp) {
printf("Native code for fragment program %d (%d-wide dispatch):\n",
fp->Base.Id, dispatch_width);
+ } else {
+ printf("Native code for blorp program (%d-wide dispatch):\n",
+ dispatch_width);
}
}
@@ -1344,7 +1347,7 @@ fs_generator::generate_code(exec_list *instructions)
else {
const prog_instruction *fpi;
fpi = (const prog_instruction *)inst->ir;
- printf("%d: ", (int)(fpi - fp->Base.Instructions));
+ printf("%d: ", (int)(fpi - (fp ? fp->Base.Instructions : 0)));
_mesa_fprint_instruction_opt(stdout,
fpi,
0, PROG_PRINT_DEBUG, NULL);
More information about the mesa-commit
mailing list