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
path: root/tests
AgeCommit message (Collapse)Author
2020-05-25Merge branch 'blender-v2.83-release'Campbell Barton
2020-05-25GTest: BLI_ghash_performance_test was failingCampbell Barton
Change the seed from 0 to 1, so BLI_ghash_performance_test doesn't assert with duplicate keys.
2020-05-25Task: Graph Flow Task SchedulingJeroen Bakker
Add TBB::flow graph scheduling to BLI_task. Using flow graphs, a graph of nodes (tasks) and links can be defined. Work can flow though the graph. During this process the execution of the nodes will be scheduled among the available threads. We are planning to use this to improve the threading in the draw manager. The implemented API is still limited it only supports sequential flows. Joins and buffers are not supported. We could eventually support them as part of an CPP API. These features from uses compile time templates and are hard to make a clean C-API for this. Reviewed By: Sergey Sharybin, Brecht van Lommel Differential Revision: https://developer.blender.org/D7578
2020-05-21BLI: improve Vector testJacques Lucke
2020-05-20Fix Windows build after recent guardedalloc changesBrecht Van Lommel
2020-05-08Cleanup: USD test, clarfied commentSybren A. Stüvel
No functional changes
2020-05-08Tests: Alembic, log entire command when `abcls` failsSybren A. Stüvel
This makes it easier to manually run the `abcls` when a test fails, aiding inspection & fixing. No function changes to actual Blender code.
2020-05-08Cleanup: Alembic, moved axis conversion functions into their own filesSybren A. Stüvel
The long-term goal is to move code out of `abc_util.{h,cc}` into either files with better, more concrete names, or simply into the one file where they are used. No functional changes.
2020-05-04Merge remote-tracking branch 'origin/blender-v2.83-release'Sybren A. Stüvel
2020-05-04Fix T76355: USD test fails in debug modeSybren A. Stüvel
Thanks @LazyDodo for the help! No functional changes.
2020-05-04Add StringMap.LookupOrAdd and StringMap.LookupOrAddDefaultJacques Lucke
2020-05-04Cleanup: USD tests, use `EXPECT_LT` and `EXPECT_FALSE` where appropriateSybren A. Stüvel
Unfortunately there is no `EXPECT_NOT_LT`; as the `HierarchyContext` only has an `operator<()` function, testing for `(A < B) == false` is different than simply testing `(A >= B)`. No functional changes.
2020-05-03Cleanup: clang-formatCampbell Barton
2020-05-01Fix: added missing buildinfo to BKE_fcurve testSybren A. Stüvel
2020-05-01Tests: Animation, added unittests for FCurve evaluationSybren A. Stüvel
This introduces unittests for FCurve evaluation. No functional changes to actual Blender code. Differential Revision: https://developer.blender.org/D6778
2020-04-30Task: Use TBB as Task SchedulerBrecht Van Lommel
This patch enables TBB as the default task scheduler. TBB stands for Threading Building Blocks and is developed by Intel. The library contains several threading patters. This patch maps blenders BLI_task_* function to their counterpart. After this patch we can add more patterns. A promising one is TBB:graph that can be used for depsgraph, draw manager and compositor. Performance changes depends on the actual hardware. It was tested on different hardwares from laptops to workstations and we didn't detected any downgrade of the performance. * Linux Xeon E5-2699 v4 got FPS boost from 12 to 17 using Spring's 04_010_A.anim.blend. * AMD Ryzen Threadripper 2990WX 32-Core Animation playback goes from 9.5-10.5 FPS to 13.0-14.0 FPS on Agent 327 , 10_03_B.anim.blend. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D7475
2020-04-28BLI: add VectorSet.is_empty methodJacques Lucke
2020-04-28BLI: rename Vector.empty to Vector.is_emptyJacques Lucke
2020-04-28BLI: add Set.clear methodJacques Lucke
2020-04-28BLI: add Set.is_empty methodJacques Lucke
2020-04-28BLI: add Map.lookup_or_add_default methodJacques Lucke
2020-04-28Fix armature roll test failing on macOSBrecht Van Lommel
2020-04-28Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-04-28Tests: fix some tests passing even if there are Python errorsBrecht Van Lommel
Blender was not configured to exit with non-zero return code on Python errors. A bunch of tests worked around this but not all. This removes the need for such workarounds.
2020-04-28Fix Python bundled module test errorBrecht Van Lommel
We don't bundle cffi, rather the ffi library is used for ctypes. This test is currently passing even when there are errors, that will be fixed next.
2020-04-28Tests: add physics tests cloth and softybodyHimanshi Kalra
This uses the same framework as automated modifier tests. It adds a physics modifier, bakes and compares vertex coordinates on the end frame. Differential Revision: https://developer.blender.org/D7017
2020-04-28Strengthen modifiers test validation, from D7397.Howard Trickey
Submitting on behalf of Jesse Y (deadpin). In test harness for modifier testing, now run mesh validation on output mesh. Also, fix printing so it interleaves properly.
2020-04-28BLI: add Map.is_empty() methodJacques Lucke
2020-04-25BLI: add LinearAllocatorJacques Lucke
This allocator is useful when it is necessary to allocate many small elements.
2020-04-25BLI: improve StringRef.copyJacques Lucke
2020-04-24BLI: Implement StringMap.add and StringMap.add_or_modifyJacques Lucke
2020-04-24Tests: use explicit Python to run unit testsSybren A. Stüvel
CentOS on the buildbot still runs Python 3.6, which is also used for the unit tests. This means that the tests can't use language features that are available to Blender itself. And testing with a different version of Python than will be used by the actual code seems like a bad idea to me. This commit adds `TEST_PYTHON_EXECUTABLE` as advanced CMake option. This will allow us to set a specific Python executable when we need it. When not set, a platform-specific default will be used: - On Windows, the `python….exe` from the installation directory. This is just like before this patch, except that this patch adds the overridability. - On macOS/Linux, the `${PYTHON_EXECUTABLE}` as found by CMake. Every platform should now have a value (configured by the user or detected by CMake) for `TEST_PYTHON_EXE`, so there is no need to allow running without. This also removes the need to have some Python files marked as executable. If `TEST_PYTHON_EXE` is not user-configured, and thus the above default is used, a status message is logged by CMake. I've seen this a lot in other projects, and I like that it shows which values are auto-detected. However, it's not common in Blender, so if we want we can either remove it now, or remove it after the buildbot has been set up correctly. Differential Revision: https://developer.blender.org/D7395 Reviewed by: campbellbarton, mont29, sergey
2020-04-23BLI: various data structure improvementsJacques Lucke
* Rename template parameter N to InlineBufferCapacity * Expose InlineBufferCapacity parameter for Set and Map * Add some comments * Fixed an error that I introduced recently
2020-04-23BLI: remove TaskParallelRangePoolBrecht Van Lommel
This is not currently used and will take some work to support with TBB, so remove it until we have a new implementation based on TBB. Fixes T76005, parallel range pool tests failing. Ref D7475
2020-04-23Fix T76005: BLI_task test failing after recent changesBrecht Van Lommel
This was an error in changes made to this test to accomodate the new reduce callback.
2020-04-23BLI: optimize VectorSet implementationJacques Lucke
Instead of building on top of `BLI::Vector`, just use a raw array and handle the growing in `BLI::VectorSet`. After this change, the existing `EdgeSet` can be reimplemented using `BLI::VectorSet` without performance regressions.
2020-04-22Tests: Fix build error in BKE_armature testRay Molenkamp
Test does not link due to missing symbols, needs buildinfoobj to link against when WITH_BUILDINFO is on
2020-04-21Tests: added unit test for `mat3_vec_to_roll()` functionSybren A. Stüvel
This was used to investigate T73840. Since the armature math is far from simple, I thought it would be a good idea to start writing some unit tests for it. No functional changes in Blender itself.
2020-04-21BLI: simplify naming of listbase wrapperJacques Lucke
2020-04-21BLI: Use .hh extension for C++ headers in blenlibJacques Lucke
2020-04-21CleanUp: Renamed `BLI_task_pool_userdata` to `BLI_task_pool_user_data`Jeroen Bakker
In preparation for {D7475}
2020-04-21Strengthen modifiers test validation, from D7397.Howard Trickey
Submitting on behalf of Jesse Y (deadpin). In test harness for modifier testing, now run mesh validation on output mesh. Also, fix printing so it interleaves properly.
2020-04-17Task: Separate Finalize into Reduce And FreeJeroen Bakker
In preparation of TBB we need to split the finalize function into reduce and free. Reduce is used to combine results and free for freeing any allocated memory. The reduce function is called to join user data chunk into another, to reduce the result to the original userdata_chunk memory. These functions should have no side effects so that they can be run on any thread. The free functions should free data created during execution (TaskParallelRangeFunc). Original patch by Brecht van Lommel {rB61f49db843cf5095203112226ae386f301be1e1a}. Reviewed By: Brecht van Lommel, Bastien Montagne Differential Revision: https://developer.blender.org/D7394
2020-04-09TaskScheduler: Minor Preparations for TBBBrecht Van Lommel
Tasks: move priority from task to task pool {rBf7c18df4f599fe39ffc914e645e504fcdbee8636} Tasks: split task.c into task_pool.cc and task_iterator.c {rB4ada1d267749931ca934a74b14a82479bcaa92e0} Differential Revision: https://developer.blender.org/D7385
2020-04-09USD: ensure test does not depend on BLI_assert()Sybren A. Stüvel
The test failure in T75491 only showed up in debug builds because `BLI_assert()` is a no-op in release builds. This is now replaced by a proper GTests call to `ADD_FAILURE()`, ensuring that the test fails regardless of build mode.
2020-04-07Cleanup: BLI_path.h function renamingCampbell Barton
Use BLI_path_ prefix, more consistent names: BLI_parent_dir -> BLI_path_parent_dir BLI_parent_dir_until_exists -> BLI_path_parent_dir_until_exists BLI_ensure_filename -> BLI_path_filename_ensure BLI_first_slash -> BLI_path_slash_find BLI_last_slash -> BLI_path_slash_rfind BLI_add_slash -> BLI_path_slash_ensure BLI_del_slash -> BLI_path_slash_rstrip BLI_path_native_slash -> BLI_path_slash_native Rename 'cleanup' to 'normalize', similar to Python's `os.path.normpath`. BLI_cleanup_path -> BLI_path_normalize BLI_cleanup_dir -> BLI_path_normalize_dir BLI_cleanup_unc -> BLI_path_normalize_unc BLI_cleanup_unc16 -> BLI_path_normalize_unc16 Clarify naming for extracting, creating numbered paths: BLI_stringenc -> BLI_path_sequence_encode BLI_stringdec -> BLI_path_sequence_decode Part of T74506 proposal.
2020-03-26Test: update bl_run_operators blacklist, add volume objectCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Tests: add OpenVDB volume testsBrecht Van Lommel
2020-03-17VR: Initial Virtual Reality support - Milestone 1, Scene InspectionJulian Eisel
NOTE: While most of the milestone 1 goals are there, a few smaller features and improvements are still to be done. Big picture of this milestone: Initial, OpenXR-based virtual reality support for users and foundation for advanced use cases. Maniphest Task: https://developer.blender.org/T71347 The tasks contains more information about this milestone. To be clear: This is not a feature rich VR implementation, it's focused on the initial scene inspection use case. We intentionally focused on that, further features like controller support are part of the next milestone. - How to use? Instructions on how to use this are here: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/How_to_Test These will be updated and moved to a more official place (likely the manual) soon. Currently Windows Mixed Reality and Oculus devices are usable. Valve/HTC headsets don't support the OpenXR standard yet and hence, do not work with this implementation. --------------- This is the C-side implementation of the features added for initial VR support as per milestone 1. A "VR Scene Inspection" Add-on will be committed separately, to expose the VR functionality in the UI. It also adds some further features for milestone 1, namely a landmarking system (stored view locations in the VR space) Main additions/features: * Support for rendering viewports to an HMD, with good performance. * Option to sync the VR view perspective with a fully interactive, regular 3D View (VR-Mirror). * Option to disable positional tracking. Keeps the current position (calculated based on the VR eye center pose) when enabled while a VR session is running. * Some regular viewport settings for the VR view * RNA/Python-API to query and set VR session state information. * WM-XR: Layer tying Ghost-XR to the Blender specific APIs/data * wmSurface API: drawable, non-window container (manages Ghost-OpenGL and GPU context) * DNA/RNA for management of VR session settings * `--debug-xr` and `--debug-xr-time` commandline options * Utility batch & config file for using the Oculus runtime on Windows. * Most VR data is runtime only. The exception is user settings which are saved to files (`XrSessionSettings`). * VR support can be disabled through the `WITH_XR_OPENXR` compiler flag. For architecture and code documentation, see https://wiki.blender.org/wiki/Source/Interface/XR. --------------- A few thank you's: * A huge shoutout to Ray Molenkamp for his help during the project - it would have not been that successful without him! * Sebastian Koenig and Simeon Conzendorf for testing and feedback! * The reviewers, especially Brecht Van Lommel! * Dalai Felinto for pushing and managing me to get this done ;) * The OpenXR working group for providing an open standard. I think we're the first bigger application to adopt OpenXR. Congratulations to them and ourselves :) This project started as a Google Summer of Code 2019 project - "Core Support of Virtual Reality Headsets through OpenXR" (see https://wiki.blender.org/wiki/User:Severin/GSoC-2019/). Some further information, including ideas for further improvements can be found in the final GSoC report: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/Final_Report Differential Revisions: D6193, D7098 Reviewed by: Brecht Van Lommel, Jeroen Bakker