summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2016-04-29 23:35:01 -0700
committerFrancisco Jerez <currojerez@riseup.net>2016-05-29 23:41:37 -0700
commitf1a607cf68aef55df6ecc4bbc62e9a4f6e930ca8 (patch)
tree552906a1f1c8efbe821b110cb9b7d0347297cd9c /src/mesa/drivers/dri/i965
parentb0c8e5e0c88f7c5d7395715e58a8731e2ab55f7e (diff)
downloadexternal_mesa3d-f1a607cf68aef55df6ecc4bbc62e9a4f6e930ca8.zip
external_mesa3d-f1a607cf68aef55df6ecc4bbc62e9a4f6e930ca8.tar.gz
external_mesa3d-f1a607cf68aef55df6ecc4bbc62e9a4f6e930ca8.tar.bz2
i965/fs: Let CSE handle logical sampler sends as expressions.
This will prevent some shader-db regressions when we start plumbing logical sends through the optimizer. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Diffstat (limited to 'src/mesa/drivers/dri/i965')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_cse.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_cse.cpp b/src/mesa/drivers/dri/i965/brw_fs_cse.cpp
index 83444b6..410a600 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_cse.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_cse.cpp
@@ -79,6 +79,19 @@ is_expression(const fs_visitor *v, const fs_inst *const inst)
case SHADER_OPCODE_FIND_LIVE_CHANNEL:
case SHADER_OPCODE_BROADCAST:
case SHADER_OPCODE_MOV_INDIRECT:
+ case SHADER_OPCODE_TEX_LOGICAL:
+ case SHADER_OPCODE_TXD_LOGICAL:
+ case SHADER_OPCODE_TXF_LOGICAL:
+ case SHADER_OPCODE_TXL_LOGICAL:
+ case SHADER_OPCODE_TXS_LOGICAL:
+ case FS_OPCODE_TXB_LOGICAL:
+ case SHADER_OPCODE_TXF_CMS_LOGICAL:
+ case SHADER_OPCODE_TXF_CMS_W_LOGICAL:
+ case SHADER_OPCODE_TXF_UMS_LOGICAL:
+ case SHADER_OPCODE_TXF_MCS_LOGICAL:
+ case SHADER_OPCODE_LOD_LOGICAL:
+ case SHADER_OPCODE_TG4_LOGICAL:
+ case SHADER_OPCODE_TG4_OFFSET_LOGICAL:
case FS_OPCODE_PACK:
return true;
case SHADER_OPCODE_RCP: