diff options
author | Eric Anholt <[email protected]> | 2012-11-28 14:16:03 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2012-12-05 14:29:44 -0800 |
commit | ef2fbf67d4bd941a9a0e1c6f8515fb4911e05c50 (patch) | |
tree | baf69596cf7a7719275bd58a8534d57ff1ce7133 /src/mesa/drivers | |
parent | 00d77e9fe49924e39e211e1890c083847498a9a0 (diff) |
i965: Add a flag for instructions with normal writemasking disabled.
For getting values from the new timestamp register, the channels we
load have nothing to do with the pixels dispatched.
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.h | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_emit.cpp | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4.h | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_emit.cpp | 1 |
4 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 00ba3349bf7..903d7eda088 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -175,6 +175,7 @@ public: bool shadow_compare; bool force_uncompressed; bool force_sechalf; + bool force_writemask_all; uint32_t offset; /* spill/unspill offset */ /** @{ diff --git a/src/mesa/drivers/dri/i965/brw_fs_emit.cpp b/src/mesa/drivers/dri/i965/brw_fs_emit.cpp index 37eed1b9f74..87a7e9b81c5 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_emit.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_emit.cpp @@ -916,6 +916,7 @@ fs_generator::generate_code(exec_list *instructions) brw_set_predicate_control(p, inst->predicate); brw_set_predicate_inverse(p, inst->predicate_inverse); brw_set_saturate(p, inst->saturate); + brw_set_mask_control(p, inst->force_writemask_all); if (inst->force_uncompressed || dispatch_width == 8) { brw_set_compression_control(p, BRW_COMPRESSION_NONE); diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index d0609414253..8c6f56a2fdc 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_vec4.h @@ -171,6 +171,7 @@ public: src_reg src[3]; bool saturate; + bool force_writemask_all; int conditional_mod; /**< BRW_CONDITIONAL_* */ diff --git a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp index 7609d92a72f..0c6b358af6c 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp @@ -723,6 +723,7 @@ vec4_generator::generate_code(exec_list *instructions) brw_set_predicate_control(p, inst->predicate); brw_set_predicate_inverse(p, inst->predicate_inverse); brw_set_saturate(p, inst->saturate); + brw_set_mask_control(p, inst->force_writemask_all); switch (inst->opcode) { case BRW_OPCODE_MOV: |