While testing clear operations on EGLImage targets created with gen12 modifiers, I ran into an issue with new behavior on gen12 with regards to fast-clears and texture views. It implicitly reads all fast-cleared blocks rendered to before committing any changes. The read can be incorrect when the format changes. The issue is similar to a previously reported bug (#1711) which affects all platforms as they read fast-cleared blocks partially written to. Given the similarity, this MR implements a single fix for gen7-12. While a partial resolve is enough to solve the aforementioned issues, disabling CCS is done because gen12 can also convert render target writes to fast-clears. We don't want to have fast-cleared blocks for a view format only to end up with pixels whose bits will change when using the resource format. No measurements were done for performance implications (so some work might be needed there).
The simple demonstrator is here: piglit!285 (merged). Review of it would be greatly appreciated.