Fix T45218: Crash when trying to open System in the User preferences
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 20 Jul 2015 09:08:50 +0000 (11:08 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 20 Jul 2015 10:46:56 +0000 (12:46 +0200)
commit87328bde478ba77db4387530c39d21c62c2c0d20
treeb3f289845d619ff79ca1f4dda9b881e2d36234d0
parentbd28c25f9b9006608a86ee9f747c9bd433fa9ccc
Fix T45218: Crash when trying to open System in the User preferences
Fix T45381: Crash Blender 2.75 in Win7 x64 AMD card

The issue is basically caused by graphics card driver which crashes when
querying OpenCL platforms. This isn't something we can really solve from
the CLEW side, because opencl.dll does exist in old driver and even has
all the needed symbols, but first ever call to clGetPlatformIDs crashes.

While rest of the blender works fine with those older ATI/AMD cards it's
really needed to solve crashes of OpenCL device enumeration.

Solution here is to force disable OpenCL platforms if we've detected that
display card is using old ATI/AMD driver. It's not really proper solution
so it's done in the python side where it's easy to do tweaks. Reasoning
behind this change is:

- If one uses really old driver it's likely because it's the latest one
  he/she can ever to install (because of discontinued support from AMD).

- If old card is used it's likely to not have dedicated GPUs for rendering.

- Even if there's a dedicated GPU device enumeration is likely to crash
  because of attempt to query OpenCL from the old card.

There are still some tweaks needed likely, but this commit should make
some of the configurations to work.
intern/cycles/blender/addon/engine.py