Page MenuHome

Viewport compositing error without NPOT support
Closed, ResolvedPublic

Description

Screenspace AO doesn't work correctly on cards blacklisted for non-power-of-2 textures.

Event Timeline

Joseph Eagar (joeedh) updated the task description. (Show Details)
Joseph Eagar (joeedh) raised the priority of this task from to Needs Triage by Developer.
Joseph Eagar (joeedh) set Type to Bug.
Campbell Barton (campbellbarton) triaged this task as Confirmed, Medium priority.Sep 14 2015, 8:05 AM

Confirmed. I was looking into this while checking on NPOT off-screen rendering.

Note that this isn't a regression, though it would be good to fix of course.

However being so close to release, larger changes here should go via patch review first.

Campbell Barton (campbellbarton) renamed this task from Screenspace AO Bug With Disabled NPOT to Viewport compositing error without NPOT support.Sep 14 2015, 11:09 AM

@Joseph Eagar (joeedh), are you using hardware which can do GPU compositing but has no NPOT support? Or is this just an error when testing with it forcefully disabled?

Hardware has NPOT support, but is being blacklisted (there's a comment in gpu_extensions.c that certain API chipsets have issues, or something like that).

Antony Riakiotakis (psy-fi) lowered the priority of this task from Confirmed, Medium to Needs Information from User.Sep 16 2015, 2:44 PM

It would help to have your system specs (OS, GPU model) and the system_info.txt generated from blender.

Can you try forcibly enabling npo2 support in blender and check if compositing works properly and fast?

That said, I'm quite sceptical about supporting those GPUs. While they can support compositing, since all that is needed is shader support + framebuffer object support, accounting for npo2 support can be annoying while writing more shaders and those GPUs are quite old indeed. Remember, we don't have fast way to debug code on GPU, it has to be done visually and through trial and error. Having an extra reason why code breaks due to po2 factors going wild makes things more hectic to develop for 95% of GPUs out there which do have npo2 support.

So I'm more inclined to unblacklist your GPU and disable compositing for po2 only GPUs rather than adding scaling factors to all shaders to properly account for such systems.