Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-12-26Threaded object update and EvaluationContextSergey Sharybin
Summary: Made objects update happening from multiple threads. It is a task-based scheduling system which uses current dependency graph for spawning new tasks. This means threading happens on object level, but the system is flexible enough for higher granularity. Technical details: - Uses task scheduler which was recently committed to trunk (that one which Brecht ported from Cycles). - Added two utility functions to dependency graph: * DAG_threaded_update_begin, which is called to initialize threaded objects update. It will also schedule root DAG node to the queue, hence starting evaluation process. Initialization will calculate how much parents are to be evaluation before current DAG node can be scheduled. This value is used by task threads for faster detecting which nodes might be scheduled. * DAG_threaded_update_handle_node_updated which is called from task thread function when node was fully handled. This function decreases num_pending_parents of node children and schedules children with zero valency. As it might have become clear, task thread receives DAG nodes and decides which callback to call for it. Currently only BKE_object_handle_update is called for object nodes. In the future it'll call node->callback() from Ali's new DAG. - This required adding some workarounds to the render pipeline. Mainly to stop using get_object_dm() from modifiers' apply callback. Such a call was only a workaround for dependency graph glitch when rendering scene with, say, boolean modifiers before displaying this scene. Such change moves workaround from one place to another, so overall hackentropy remains the same. - Added paradigm of EvaluaitonContext. Currently it's more like just a more reliable replacement for G.is_rendering which fails in some circumstances. Future idea of this context is to also store all the local data needed for objects evaluation such as local time, Copy-on-Write data and so. There're two types of EvaluationContext: * Context used for viewport updated and owned by Main. In the future this context might be easily moved to Window or Screen to allo per-window/per-screen local time. * Context used by render engines to evaluate objects for render purposes. Render engine is an owner of this context. This context is passed to all object update routines. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: lukastoenne Differential Revision: https://developer.blender.org/D94
2013-12-23Fix for crash when no args where given with -o, -x command line argsCampbell Barton
Patch D123 from djnz (Masakazu Ito)
2013-12-10Fix T37713: proxy not updated for first frame in background render.Brecht Van Lommel
The problem is that the animation curves are first before object updates, where BKE_pose_rebuild and proxy synchronize will undo the animation when the proxy is evaluted for the first time after loading. This is somewhat of a workaround but it's also useful to have the scene updated once when opening in background mode, and it makes rendering from the UI and background more similar and so more predictable to give the same result.
2013-11-25CMake Build: option to compile without opennl/superlu.Campbell Barton
2013-11-21Fix compile error on MinGW64, time.h is required for gmtime.Antony Riakiotakis
2013-11-17fix for crash with new buildinfo, when gmtime() returns NULLCampbell Barton
2013-11-16Skip .git files from submodules for install targetsSergey Sharybin
Also removed .svn checks when it's not longer needed. Some further tweaks (probably for OSX bundler) are likely needed.
2013-11-16Remove check for whether po folder existSergey Sharybin
It was just a temp thing to not break stuff before final git migration.
2013-11-15Further tweaks to buildinfoSergey Sharybin
Summary: Old idea with changes since previous release tag didn't work good enough. In most of the cases tag was done in a branch hence not actually reachable from the master branch. Now change since release is gone, and date of the latest commit is used instead. The date is displayed in format YYYY-MM-DD HH:mm in the splash. New bpy.app fields: - build_commit_timestamp is an unix timestamp of the commit blender was build from. - build_commit_date is a date of that commit. - build_commit_time is a time of that commit. Reviewers: campbellbarton Differential Revision: http://developer.blender.org/D5
2013-11-09Be ready for changes in bf-translations repositorySergey Sharybin
Made it so if there's release/datafiles/locale/po folder, then all the .po files will be converted to .mo at blender compile time and installed to an appropriate location. Uses small own implementation msgfmt which is based on msgfmt.py from Python project, but also supports contexts. There's no functional changes for until we've switched to use source .po files instead of pre-compiled .mo. P.S. Well, there's one change which is msgfmt.cc being compiled even if it's not used, but would rather not clutter code with checks since pretty soon we'll use this program anyway.
2013-11-04Made buildinfo aware of builds from GITSergey Sharybin
- Use commit number since last annotated tag as a revision number replacement. It'll eb followed by 'M' symbol if there're local modification in the source tree. - Commit short SHA1 is included. Helps getting information about commit used to build blender with much faster. - If build is not done from master branch, this also will be noticed in the splash screen. This commit also replaces revision stored in the files with git-specific fields (change and hash). This is kind of breaks compatibility, meaning files which were saved before this change wouldn't display any information about which revision they were saved with. When we'll finally switch to git, we'll see proper hash and change number since previous release in the files, for until then svn version will be used as a change number and hash will be empty. Not a huge deal, since this field was only used by developers to help torubleshooting things and isn't needed for blender itself. Some additional tweaks are probably needed :)
2013-11-01code cleanup: spellingCampbell Barton
2013-10-10Lock-free memory allocatorSergey Sharybin
Release builds will now use lock-free allocator by default without any internal locks happening. MemHead is also reduces to as minimum as it's possible. It still need to be size_t stored in a MemHead in order to make us keep track on memory we're requesting from the system, not memory which system is allocating. This is probably also faster than using a malloc's usable size function. Lock-free guarded allocator will say you whether all the blocks were freed, but wouldn't give you a list of unfreed blocks list. To have such a list use a --debug or --debug-memory command line arguments. Debug builds does have the same behavior as release builds. This is so tools like valgrind are not screwed up by guarded allocator as they're currently are. -- svn merge -r59941:59942 -r60072:60073 -r60093:60094 \ -r60095:60096 ^/branches/soc-2013-depsgraph_mt
2013-10-09Photoshop PSD supportDalai Felinto
We now support the combined layer of Photoshop files (stored as layer 0 in the file). This way users can keep their files as multilayer PSD and Blender always handle them as flat images. For perfect alpha this requires an OpenImageIO update: https://github.com/OpenImageIO/oiio/commit/342cc2633ff590a3bb278481c61ae798c7148361 Photoshop sample files: https://github.com/OpenImageIO/oiio-images Brecht has some pending fixes to push for OIIO as well, so we may as well wait to update our libraries. What works: =========== * 8bit images (with or without alpha) * 16bits images (alpha discarded) * Photoshop files saved with 'Maximum Compatibility' * Cycles, Blender internal, BGE (and player) Known limitations (due to OIIO dependency): ========================= * Images with less than 4 channels show a wrong thumbnail (bug may be in OIIO) * Packed images are not supported * We do not write PSD files. Note: old Blenders have support for PSD via Quicktime library. But due to license issues this was discontinued. Many thanks for Brecht van Lommel for reviewing the patch, suggesting multiple improvements and to help solving the alpha issue.
2013-10-03freeing mempool elements now fills freed memory with --debug for debug builds.Campbell Barton
2013-09-25Don't install LICENSE-bmonofont-i18n.ttf.txt unless international fonts are ↵Irie Shinsuke
enabled.
2013-09-25Add font licenses to installation filesSergey Sharybin
So now release archive will have this files included.
2013-09-13OSX: Compilefix for ndof symbols get magled when used extern C, now use ↵Jens Verwiebe
discrete c files embedded, patch by Jake Kauth
2013-08-28remove callback BLI_localErrorCallBack from scanfill, was here for years and ↵Campbell Barton
only ever wrapped printf.
2013-08-26quiet warnings when building as a python moduleCampbell Barton
2013-08-19Made modifiers_getVirtualModifierList safe for threadingSergey Sharybin
Move static variables to context filling in by this fcuntion and owned by a callee function. This ensures no conflicts between threads happens because of static variables used in this function. Also moved modifier types and virtual modifiers data to a function called from creator. This is needed to be sure all the information is properly initialied to the time when threads starts to use this data. -- svn merge -r57899:57900 ^/branches/soc-2013-depsgraph_mt
2013-07-21_MSV_VER should be _MSC_VERJason Wilkins
2013-07-04Remove SDL_VIDEODRIVER=dummy environment variable setting, this may interfereBrecht Van Lommel
with other applications launching SDL applications from Blender. At the time this was added the game engine joystick code was unnecessarily initializing the SDL video subsystem, and looking at the SDL source code that's the only place this environment variable is read. That doesn't happen anymore, though we do have WITH_GHOST_SDL now. But the environment variable is set after GHOST has been initialized, otherwise this code would have actually broken that.
2013-06-29re-arrange '--help' output into more useful sections (added debug, python).Campbell Barton
also minor style cleanup
2013-06-26remove unused callbackCampbell Barton
2013-06-18add option to enable auto-execute scripts, but exclude certain directories.Campbell Barton
2013-06-17cmake: remove set_lib_path macroCampbell Barton
2013-06-10Python script auto-execution changes:Campbell Barton
- script execution is off by default - if a blend file attempts to execute a script this shows a message in the header with the action that was suppressed (script/driver/game-autostart) and 2 buttons to either reload the file trusted, or to ignore the message. - the file selector will always default to use the trust setting in the user preferences, but reloading an open file will keep using the current setting (whatever was set before or set on the command-line). - added SCons setting WITH_BF_PYTHON_SECURITY, this sets the default state for the user prefereces not to trust blend files on load. ... this option was in CMake before, but always off, now its enabled by default for SCons and CMake, and forced on in CMake for now.
2013-06-10code cleanup: group python reset functions in BPY_python_reset()Campbell Barton
2013-06-02Fix #35587: Cycles: image movie to single image crashingSergey Sharybin
Crash was happening on windows platforms only and was caused by some specifics about how CRT works. Basically, blender and all of the .dll are compiled with /MT flag, which means blender.exe and all .dll are using separate environments. This makes it impossible to pass file descriptors from blender to other dll, because it becomes invalid in the dll. And this is exactly what was happening: OIIO was trying to open movie file with all known plugins and one of them was zlib. And the way OIIO was using zlib API is opening the file using Boost and passing a file descriptor to zlib. And since zlib was a dynamic library this lead to general issues using this descriptor in zlib code. Solved by linking to zlib statically. This allows to safely pass file descriptor to zlib API. Alternative would be to compile all the stuff with /MD flag, but that's much bigger and less robust way to fix the issue. Tested on windows using msvc2008, scons plus cmake both 32 and 64 bit versions. Seems to be working fine. Further tweaks for mingw and msvc2012 could be needed tho.
2013-05-25code cleanup: typo and stop manpage turning '$' into italic.Campbell Barton
2013-05-21Fix #35443: Animation player doesn't play some movie formatsSergey Sharybin
Need to initialize FFmpeg for animation player. This is a bit confusing, but the only way to do this properly and clear is to call IMB_ffmpeg_init from playback_mode command line callback. This is because this callback is blocking and "usual" FFmpeg initializetion (which happens after command line parsing) was never called. Could be switched to separate FFmpeg initializtion and debug level set but let's keep simple for now.
2013-05-16CMakeLists.txt changes to use new static Jack libs with VC2012Jürgen Herrmann
2013-05-15Patch for CMakeLists.txt to build with new OpenAL libs on VS2012.Jürgen Herrmann
Because of crashing issue with old Creative Labs OpenAL on Windows 8 x64.
2013-05-14Patch to CMake build system.Jürgen Herrmann
Install needed dlls for libjack.
2013-05-14CMake build system updateJürgen Herrmann
- Extending CMakeLists.txt to support builds with VC2012. - Fix some typo in CMakeLists.txt - Introduces experimental WITH_AVX_CPU to build with /arch:AVX (VC11 only)
2013-05-13Remplace bunch of annoying ifdefs in tracking.c with a libmv-capi_stub.ccSergey Sharybin
Makes code in tracking.cc much easier to understand and modify, without worring to breck compulation with Libmv disabled. It is still possible compilation will break due to libmv-capi changes, but that's not happening so much often.
2013-05-08Fix #35240: command line -t number of threads option did not work for cycles.Brecht Van Lommel
Now it works for blender internal, cycles and other multithreading code in Blender in both background and UI mode.
2013-05-06Attempt to fix #35228: hide a few LLVM symbols that are not in the llvm ↵Brecht Van Lommel
namespace to try to avoid conflicts with Mesa GL llvmpipe on linux.
2013-04-29Fix for --debug-ffmpeg not giving enough informationSergey Sharybin
2013-04-23minor changes to get numpy working with locally bundled python.Campbell Barton
- enable site-packages for bundled python distrobution, py3.2 had a problem where it would try to parse headers we didnt include, but its resolved now. - workaround for glitch I was having on arch-linux where lib64 would be be used for the bundled python directory when it was just a symlink.
2013-04-13Accidentally left in test function. All's fine now!Ton Roosendaal
2013-04-13Fix compilation, ifdef test_file just in case it is useful for later.Antony Riakiotakis
2013-04-13Bug fix #34896Ton Roosendaal
The feature "Keep Session" was also loading that session when you double-click on a .blend to open it, or when a .blend file was on commandline. Moved this feature to the main() in creator.c, so it can check on it properly, skipping the kept session when a file was loaded.
2013-04-08fix [#34900] Building blender as a python module is broken in trunkCampbell Barton
patch provided by reporter - Martijn Berger (juicyfruit) also quiet warnings for headless mode.
2013-04-04svn merge ^/trunk/blender -r55700:55776Campbell Barton
2013-04-04code cleanup: use bools in UI and WM code, quiet some shadow warnings, ↵Campbell Barton
remove unused function uiEmboss()
2013-04-01Merged changes in the trunk up to revision 55700.Tamito Kajiyama
Conflicts resolved: source/blender/editors/mesh/mesh_intern.h
2013-03-28Fix typo with non-system bullet.Antony Riakiotakis
2013-03-24Merged changes in the trunk up to revision 55546.Tamito Kajiyama
Conflicts resolved: source/blenderplayer/bad_level_call_stubs/SConscript Partly reverted changes to intern/cycles/blender/addon/ui.py in revision 52899 to make it easier to merge trunk changes.