Glitches on Radeon Pro 460

Hi,


I have some problems rendering a second pass with Metal on a MBP 15" 2016 with a Radeon Pro 460 GPU. The visual defaults appears if I perform a MTLLoadActionLoad for the load action of a depth attachment... No problem on a MacPro D500 and no problem if the load action is MTLLoadActionClear.


Did anyone experience anything similar ?

Thanks


(I have Sierra 10.12.2)

The 10.12.3 beta (16D17a) does not solve this problem either.

I would like to point out that if I force my app to use the integrated intel's GPU, there is no more problems. That conforts the fact that there is probably a problem on the dGPU or with the Polaris drivers...


Perserving the depth buffer from pass to pass is really common... So, I'm pretty sure that if noone has experienced the glitch here, it is surely a dGPU malfunction on my own laptop.


Should I change the MBP, or will Apple solve the glitch with a future macOS release ?

Thanks for your advises!

In my experience, each time (like 4 or 5 times during last 12 months) I did good bug report Metal engineers were able to fix it, and usually quite fast. Sometimes it took less than a month and just one beta release. And this for pretty old rMBP 12, so I guess newest rMBP would be supported even better.


By "good" bug report I mean little Xcode project (not all 20k lines of my application), but bare-bones project with just enough code to produce glitches. I usually also added #define which switched between bug/not bug mode. In your case it could be switching between Intel and AMD GPU right at the begin of the program. Good luck getting your problem fixed!


Best regards

Michal

So, I'll push a good bug report... Not really happy with that, as it often takes a lot of time to generate a small project in 3D domain, particularly with a multi-passes environnement... But if it is necessary...


Thanks Michal!

Cyril.

Hi,


So, I have generated a small Metal project to reproduce the glitch...

If someone here has a MBP15" with a Radeon Pro (460 preferrably), it would be really cool, if he could take some time to try it !

The first pass draws the blue cube and the second pass the red one. The bufffers are stored (MTLStoreActionStore) at the end of the first pass, and loaded at the beginning of the second one (MTLLoadActionLoad).


Here is the GitHub link of the project : https://github.com/iPerKard/Multi-passes-Metal-depth-buffer-bug-on-Radeon-Pro-460

A screenshot correctly rendered on a MacPro : https://github.com/iPerKard/Multi-passes-Metal-depth-buffer-bug-on-Radeon-Pro-460/blob/master/No%20glitch%20(MacPro%20D500).png

And with the glitch on the Radeon Pro 460 : https://github.com/iPerKard/Multi-passes-Metal-depth-buffer-bug-on-Radeon-Pro-460/blob/master/Glitch%20(MBP%202016%20With%20Radeon%20Pro%20460).png


Returns are welcome

Thanks!

Cyril.

OK : the bug report number is 29830692... I have another post below, that is waiting for moderation to be published, where I put a link to the GitHub xcode project I enclosed with the bug report (and with 2 screenshots, with and without the visual glitch). You could find the GitHub repository under the name : Multi-passes-Metal-depth-buffer-bug-on-Radeon-Pro-460


Cyril.

I can confirm the glitch on my MBP (with 460 Pro). Did you get any feedback from Apple yet?

Glitches on Radeon Pro 460
 
 
Q