summaryrefslogtreecommitdiff
path: root/Android.mk
diff options
context:
space:
mode:
authorSteven Perron <stevenperron@google.com>2018-01-17 14:57:37 -0500
committerSteven Perron <stevenperron@google.com>2018-01-18 20:31:46 -0500
commit34d4294c2c610035e6e6bd10ef27e71692cbf85a (patch)
tree1f358c732933bc657b84ebd808249c0044ea9f07 /Android.mk
parent18618061cb87652246d35b45b3c401d2f0510b04 (diff)
downloadSPIRV-Tools-34d4294c2c610035e6e6bd10ef27e71692cbf85a.tar.gz
SPIRV-Tools-34d4294c2c610035e6e6bd10ef27e71692cbf85a.tar.bz2
SPIRV-Tools-34d4294c2c610035e6e6bd10ef27e71692cbf85a.zip
Create a pass to work around a driver bug related to OpUnreachable.
We have come across a driver bug where and OpUnreachable inside a loop is causing the shader to go into an infinite loop. This commit will try to avoid this bug by turning OpUnreachable instructions that are contained in a loop into branches to the loop merge block. This is not added to "-O" and "-Os" because it should only be used if the driver being targeted has this problem. Fixes #1209.
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk3
1 files changed, 2 insertions, 1 deletions
diff --git a/Android.mk b/Android.mk
index 2aeae427..70d3bb60 100644
--- a/Android.mk
+++ b/Android.mk
@@ -108,7 +108,8 @@ SPVTOOLS_OPT_SRC_FILES := \
source/opt/type_manager.cpp \
source/opt/types.cpp \
source/opt/unify_const_pass.cpp \
- source/opt/value_number_table.cpp
+ source/opt/value_number_table.cpp \
+ source/opt/workaround1209.cpp
# Locations of grammar files.
SPV_CORE10_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/1.0/spirv.core.grammar.json