In my application I have an alpha testing routine that if the shader's alpha test fails it will discard and return early before any real work is done.
In particular I had trouble with this alpha testing code in the new v95 driver that is provided in the Android 5.0 pre-release driver that came out for the Nexus 5.
The basic conditions in order to trigger this issue is to have a condition in an if statement and then negate the boolean value.
A simple shader like one that follows will fail to output anything. http://hastebin.com/jogunitenu.avrasmIf we change the boolean condition from from a negation to a simple check for false it will work. http://hastebin.com/vebesonahe.avrasm
This is clearly not intended behaviour. I have a source tree that I quickly whipped together that demonstrates the issue. This tarball contains both the source and a release built APK for your testing. http://gdurl.com/oROZ
I currently have the workaround implemented in production code on my project. https://github.com/dolphin-emu/dolphin/pull/1434I also noticed that boolean negation has an interesting effect to the program's disassembly as noted by my twitter post. https://twitter.com/sonicadvance1/status/527277298282536961
I hope this information allows you to rectify your issue.
The basic conditions in order to trigger this issue is to have a condition in an if statement and then negate the boolean value.
A simple shader like one that follows will fail to output anything. http://hastebin.com/jogunitenu.avrasmIf we change the boolean condition from from a negation to a simple check for false it will work. http://hastebin.com/vebesonahe.avrasm
This is clearly not intended behaviour. I have a source tree that I quickly whipped together that demonstrates the issue. This tarball contains both the source and a release built APK for your testing. http://gdurl.com/oROZ
I currently have the workaround implemented in production code on my project. https://github.com/dolphin-emu/dolphin/pull/1434I also noticed that boolean negation has an interesting effect to the program's disassembly as noted by my twitter post. https://twitter.com/sonicadvance1/status/527277298282536961
I hope this information allows you to rectify your issue.
Hi..
We've confirmed this problem with negation exists in current drivers, and has also been fixed recently for our newer drivers.