As reported in: https://github.com/ValveSoftware/Source-1-Games/issues/390 the recently released native build of Portal on steam has rendering issues with portals. Depending on the angle at which the portal is viewed, it may be draw or not. I captured an apitrace of this. The trace was captured on an IVB system, and renders properly when replayed on nVidia closed source drivers. When replayed on nVidia, you can also see that Chell's head turns about the same time that the rendering starts working properly on IVB.
apitrace mentioned in the summary: http://people.freedesktop.org/~jljusten/portal-bug-apitrace.tar.xz
Thanks, Jordan. I've grabbed the trace and plan to add a new mode to apitrace to be able to trim to drawing operations that affect a particular region of pixels. My hope is that the result of that trim will be small enough to make analysis of the problem much easier. -Carl
Carl saw this on Sandybridge, and according to comment 24 on bug #59187 it happens on GM45 as well.
So if it's not only the portal rendering erros but also the depth issues: Here is a trace for that (unfortunately 400 Megabyte): http://w3studi.informatik.uni-stuttgart.de/~haagch/files/hl2_linux.trace.gz And here is a video of how it looks on my Ivy Bridge, mesa git master: http://w3studi.informatik.uni-stuttgart.de/~haagch/files/hl2_linux.mp4 Note that the depth issues only appear when there is a portal in the field of view and vanish when not looking at a portal.
it is the same problem on my GMA 4500MHD
Here's a trace trimmed to the first clearly misbehaving draw call. http://openra.res0l.net/portal-bug-206184.tar.xz
Created attachment 79126 [details] misrendering Error is the block around the timer on the RHS.
Created attachment 79129 [details] portal-bug.206184.trim.trace_call_206184-1_0-nvidia.png
portal-bug.206184.trim.trace_call_206184-1_0-nvidia.png shows how nvidia renders portal-bug.206184.trim.trace.
This patch on the mesa list corrects the issue on at least IVB. http://lists.freedesktop.org/archives/mesa-dev/2013-May/039313.html Or if you'd prefer a git tree, the portal-fixes branch at http://github.com/chrisforbes/mesa. I expect the view through portals to still be misclipped on Gen4/5, and will address that separately (relies on gl_ClipVertex).
After discussing this with Ken, I've sent out a new series which replaces the previous patch. Git tree is available at http://github.com/chrisforbes/mesa portal-fixes-v2
What about backport for 9.1?
I would like to give it a try, can it be backported into ubuntu raring packages?
I'd like to collect some review comments and get it landed into master before thinking too much about backporting to 9.1 ;) But at a trivial `will the patches apply?` level it should be straightforward to backport.
Hm, I cloned the ubuntu package repository, checkout the ubuntu branch, added your git repository in remotes and picked picked your commits: git cherry-pick 3bcc1e74de332ee13693836901b77870de7f3e8d..ea0a7e7 But building the package says: ../../../../src/mesa/main/get.c: In function 'find_custom_value': ../../../../src/mesa/main/get.c:645:7: error: implicit declaration of function '_mesa_get_stencil_ref' [-Werror=implicit-function-declaration] Maybe I'm missing some commits?
Stupid me, that did not pick commit 3bcc1e74de332ee13693836901b77870de7f3e8d. Builds find now.
great! applied commit http://lists.freedesktop.org/archives/mesa-dev/2013-May/039313.html to Mesa 9.1.2 now depth rendering is fixed on my GMA 4500 MHD.
(In reply to comment #11) > After discussing this with Ken, I've sent out a new series which replaces > the previous patch. > > Git tree is available at http://github.com/chrisforbes/mesa portal-fixes-v2 Applied v2 against mesa-9.1, now portal works fine for me, thank you very much!
Great that seems to have fixed all the problems I've seen in portal. Thanks! If someone is interested in ubuntu packages, I've pushed them to a ppa: https://launchpad.net/~zdra/+archive/mesa-portal
(In reply to comment #10) > This patch on the mesa list corrects the issue on at least IVB. > > http://lists.freedesktop.org/archives/mesa-dev/2013-May/039313.html > > Or if you'd prefer a git tree, the portal-fixes branch at > http://github.com/chrisforbes/mesa. > > I expect the view through portals to still be misclipped on Gen4/5, and will > address that separately (relies on gl_ClipVertex). yeah view through portal is misclipped and maybe this is also related to water rendering bug in Half Life 2
Yes, sounds like the same thing. I was hoping to finish my new GLSL-1.3-capable clip shader by now, but maybe I'll just send out a patch to do gl_ClipVertex to fix the immediate issues...
Fix for userclipping is on master now.
Great fixes water rendering bug on Half Life 2 as well unbelievable but true! tested on my Intel GMA 4500 MHD
Ubuntu 13.04 upgraded to mesa 9.1.3 and this bug is not fixed. The patch was not backported in 9.1 branch upstream? or it regressed again?
Ah, they were applied in 9.1 branch after the 9.1.3 release. So it will have to wait for 9.1.4.
(In reply to comment #25) > Ah, they were applied in 9.1 branch after the 9.1.3 release. So it will have > to wait for 9.1.4. Or you can try out drivers I have compiled http://www.youtube.com/watch?v=vB_gX6z53vM
(In reply to comment #26) > (In reply to comment #25) > > Ah, they were applied in 9.1 branch after the 9.1.3 release. So it will have > > to wait for 9.1.4. > > Or you can try out drivers I have compiled > > http://www.youtube.com/watch?v=vB_gX6z53vM I don't know where are your drivers, but I updated my ppa with patches applied on top of latest ubuntu package: https://launchpad.net/~zdra/+archive/mesa-portal (still building on the ppa atm)
The additional fixes for user clipping on Gen4/5 aren't in the 9.1 branch yet at all. Ian, and others: any objections to picking those fixes to the 9.1 branch before 9.1.4 gets tagged?
They've been in master a while, and I haven't heard any grumbling about regressions, so it seems like a good idea to me.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.