i965/fs: Migrate FS discard handling to the IR builder.

Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Francisco Jerez
2015-06-03 20:45:54 +03:00
parent 46f264638a
commit ad68853f17

View File

@@ -1595,7 +1595,7 @@ fs_visitor::emit_discard_jump()
/* For performance, after a discard, jump to the end of the /* For performance, after a discard, jump to the end of the
* shader if all relevant channels have been discarded. * shader if all relevant channels have been discarded.
*/ */
fs_inst *discard_jump = emit(FS_OPCODE_DISCARD_JUMP); fs_inst *discard_jump = bld.emit(FS_OPCODE_DISCARD_JUMP);
discard_jump->flag_subreg = 1; discard_jump->flag_subreg = 1;
discard_jump->predicate = (dispatch_width == 8) discard_jump->predicate = (dispatch_width == 8)
@@ -4185,7 +4185,7 @@ fs_visitor::run_fs()
* Initialize it with the dispatched pixels. * Initialize it with the dispatched pixels.
*/ */
if (wm_prog_data->uses_kill) { if (wm_prog_data->uses_kill) {
fs_inst *discard_init = emit(FS_OPCODE_MOV_DISPATCH_TO_FLAGS); fs_inst *discard_init = bld.emit(FS_OPCODE_MOV_DISPATCH_TO_FLAGS);
discard_init->flag_subreg = 1; discard_init->flag_subreg = 1;
} }
@@ -4198,7 +4198,7 @@ fs_visitor::run_fs()
return false; return false;
if (wm_prog_data->uses_kill) if (wm_prog_data->uses_kill)
emit(FS_OPCODE_PLACEHOLDER_HALT); bld.emit(FS_OPCODE_PLACEHOLDER_HALT);
if (wm_key->alpha_test_func) if (wm_key->alpha_test_func)
emit_alpha_test(); emit_alpha_test();