July 2, 2014, 17:32 (GMT) |
Make OpenSubdiv working on a low-end video cards This commit changes the way how mesh is being displayed when using OpenSubdiv backend. It does no longer use neither effect factories nor fragment shaders in order to make all the shaders compatible with at least GLSL 1.3 compatible cards. In fact, seems the shaders now goes down to GLSL 1.1 even. Apart from this now the first material from the material stack is used for colors. Still requires our own OpenSubdiv branch: https://github.com/Nazg-Gul/OpenSubdiv/tree/cuda-dynload (it actually needs updated version of this branch) |
July 2, 2014, 16:11 (GMT) |
Switch to a much more simplified shader Useful to make it a base point for making stuff working on the Intel GPU i'm having here. |
July 2, 2014, 16:11 (GMT) |
Code cleanup: use Blender code style |
July 2, 2014, 16:03 (GMT) |
Fix for assert failure in CUDA when using Nvidia Optimus |
July 2, 2014, 09:51 (GMT) |
Merge branch 'master' into opensubdiv-modifier Conflicts: source/creator/CMakeLists.txt |
June 20, 2014, 08:40 (GMT) |
Update CUEW in order to solve compilation error on Windows |
June 18, 2014, 11:58 (GMT) |
Avoid some really bad memory usage - Need to count DM primitives properly in order to avoid bad memor write in ORCO DM. - Skip GPU if subsurf result will be converted to CDDM. Material and textured viewport is not quite working yet, but at least it doesn't crash. |
June 18, 2014, 10:57 (GMT) |
Solve crash when doing viewport render The issue was caused by the render pipeline creating DerivedMesh for purposes of it's export to the render database. In this case SubSurf modifier shouldn't be applied on GPU because render pipeline would want to access hires data from the CPU side. Added a flag to modifier apply bitmask which indicates that the result could be stored in the GPU side. The flag is called MOD_APPLY_ALLOW_GPU. If this flag is set modifiers are allowed to keep their result on GPU. We still need to implement CPU-side hi-res mesh unpack even if it was originally evaluated on GPU, but the current change is useful anyway because it'll avoid possible overhead of copying data back-n-forth. |
June 18, 2014, 10:06 (GMT) |
Merge branch 'master' into opensubdiv-modifier |
June 18, 2014, 09:56 (GMT) |
Use updated version of CUEW This wrangler is now automatically generated from cuda.h and cudaGL.h which is really handy from the maintenance point of view: with new CUDA toolkit release it should be rather simple to update the wrangler. Currently it's generated from CUDA toolkit 5 since it's the version which comes in Debian Wheezy. Also bundling the generator scripts, so others can tweak/improve it. Works fine on Linux, didn't verify it on Windows. |
June 18, 2014, 09:47 (GMT) |
Merge branch 'master' into opensubdiv-modifier |
June 16, 2014, 17:15 (GMT) |
Merge branch 'master' into opensubdiv-modifier Conflicts: source/blender/blenkernel/intern/subsurf_ccg.c source/blender/windowmanager/intern/wm_init_exit.c |
May 30, 2014, 19:42 (GMT) |
Revert "Update Ceres to latest upstream version" This reverts commit 39f575106d0fc3e2142bf79132a24a90fc399608. Was just testing WIP patch, didn't mean to commit it yet. Still need a bit of cleanup. |
May 30, 2014, 19:38 (GMT) |
Compilation fixes on Windows Now both scons and cmake are tested building with msvc2013 64bit. |
May 30, 2014, 15:45 (GMT) |
Merge branch 'opensubdiv-modifier' of git.blender.org:blender into opensubdiv-modifier |
May 30, 2014, 09:14 (GMT) |
Fix crash when quitting blender without OpenCL initialized |
May 30, 2014, 08:15 (GMT) |
Bring new OpenSubdiv with CUEW support WARNING: Latest fork of OpenSubdiv is to be used to be able to compile this revision: https://github.com/Nazg-Gul/OpenSubdiv/tree/cuda-dynload We'll work on pull-request when our branch would be proved to work on Linux (which seems to work already) and Windows (need to test this, that's why commit is happening now -- stashing changes, creating a milestone, easier access from Windows!). NOTE: Would ask platform maintainers to not bother trying to make this revision to work yet. Lemme test things on Windows first and it it all work i'll prepare libs for windows and do a pull-request to an upstream. Main idea is to make OpenSubdiv to detect OpenCL and CUDA on runtime. Before this Blender was linking against libOpenCL and libcuda which is not good for portability. OpenCL part was already kind of done, but wasn't properly integrated. Not sure why it compiled even :) CUDA is now does the same trick as Cycles does with dynamic load of cuda driver api library. That would have been real straightforward change if we wouldn't try to de-duplicate CUDA/CL wrappers in the Blender sources. The thing is, Cycles, Compositor and OpenSubdiv all requires wrappers for this libraries and it was real stupid to have two clew (for Cycles and Compositor) already. The idea to solve this is: move clew/cuew to extern/ and make all the bits which requires cuda/cl to use those wrappers instead of shipping their own. This is real straightforward change to make Cycles and Compositor happy since it's easy to re-arrange libraries we're maintaining in the sources. Making it so OpenSubdiv libraries can use symbols from our extern_{clew,cuew} was rather a black magic but it appeared to work pretty well here on Linux. Let's see how it works on Windows now. TODO: - Make sure Windows works - Remove cuda/cl wrappers from intern/cycles - Make sure Cycles stadalone works As for Cycles standalone it's real easy to make it compiled when building from inside Blender. When/if we'll move Cycles to own repo it's still easy to make it use clew/cuew by putting them to extern/ or third_party/ folder in Cycles repo. |
May 30, 2014, 08:15 (GMT) |
Merge remote-tracking branch 'origin/master' into opensubdiv-modifier |
May 26, 2014, 11:05 (GMT) |
OSX: fix compile after clew rework, include fix and whitespace cleanup |
May 26, 2014, 09:08 (GMT) |
Correction to previous commit |
|