Blender Git Commit Log

Git Commits -> Revision bcc0d2f

Revision bcc0d2f by Sergey Sharybin (master)
August 26, 2015, 10:07 (GMT)
OpenSubdiv: Fix/workaround bad shading on AMD devices

Uniform block data layout was different on CPU and GPU which caused wrong
data being used from shader.

In theory using layout(std140) is what we need to do, but for some reason
such layout specifier is being ignored. This is probably caused by the way
how we exploit extensions from older version of glsl.

For until we've upgraded our glsl pipeline used different approach which
is basically about removing unused fields form the struct manual in hope
that it'll keep memory layout consistent for both CPU and GPU.

This seems to work so far for both NVidia GTX580 and AMD FirePro W8000
here in the studio.

Commit Details:

Full Hash: bcc0d2fb1d66d5191276dcbe17621d50ae0fab35
Parent Commit: 77ce7eb
Lines Changed: +7, -3

2 Modified Paths:

/intern/opensubdiv/gpu_shader_opensubd_display.glsl (+3, -1) (Diff)
/intern/opensubdiv/opensubdiv_gpu_capi.cc (+4, -2) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021