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
2021-04-01Fix Cycles build error with "make developer" on some CPUsNikita Sirgienko
The combination of building unit tests and WITH_CYCLES_NATIVE_ONLY did not correctly detect when AVX/AVX2 support is available. Differential Revision: https://developer.blender.org/D8201
2021-02-17Cycles: add utility functions for zero float2/float3/float4/transformBrecht Van Lommel
Ref D8237, T78710
2021-01-20CMake: add missing headersCampbell Barton
Resolves 'cmake_consistency_check' reports.
2020-11-04Cycles API: encapsulate Node socket membersKévin Dietrich
This encapsulates Node socket members behind a set of specific methods; as such it is no longer possible to directly access Node class members from exporters and parts of Cycles. The methods are defined via the NODE_SOCKET_API macros in `graph/ node.h`, and are for getting or setting a specific socket's value, as well as querying or modifying the state of its update flag. The setters will check whether the value has changed and tag the socket as modified appropriately. This will let us know how a Node has changed and what to update, which is the first concrete step toward a more granular scene update system. Since the setters will tag the Node sockets as modified when passed different data, this patch also removes the various modified methods on Nodes in favor of Node::is_modified which checks the sockets' update flags status. Reviewed By: brecht Maniphest Tasks: T79174 Differential Revision: https://developer.blender.org/D8544
2020-10-27Revert "Cycles API: encapsulate Node socket members"Brecht Van Lommel
This reverts commit 527f8b32b32187f754e5b176db6377736f9cb8ff. It is causing motion blur test failures and crashes in some renders, reverting until this is fixed.
2020-10-27Cycles API: encapsulate Node socket membersKévin Dietrich
This encapsulates Node socket members behind a set of specific methods; as such it is no longer possible to directly access Node class members from exporters and parts of Cycles. The methods are defined via the NODE_SOCKET_API macros in `graph/ node.h`, and are for getting or setting a specific socket's value, as well as querying or modifying the state of its update flag. The setters will check whether the value has changed and tag the socket as modified appropriately. This will let us know how a Node has changed and what to update, which is the first concrete step toward a more granular scene update system. Since the setters will tag the Node sockets as modified when passed different data, this patch also removes the various `modified` methods on Nodes in favor of `Node::is_modified` which checks the sockets' update flags status. Reviewed By: brecht Maniphest Tasks: T79174 Differential Revision: https://developer.blender.org/D8544
2020-10-19Fix build error with WITH_CYCLES_NATIVE_ONLY and AVX tests on macOSBrecht Van Lommel
Only build avx/avx2 unit tests if supported by the compiler and WITH_CYCLES_NATIVE_ONLY is off, otherwise the appropriate compiler flags are not available.
2020-10-13Cycles: fix missing ShaderNode ownership in render_graph_finalize_testKévin Dietrich
2020-09-17Tests: bundle tests for some modules in their own executablesBrecht Van Lommel
The ffmpeg, guardedalloc and blenlib are quite isolated and putting them in their own executable separate from blender_test is faster for development than linking the entire blender_tests executable. For Cycles, this also bundles all the unit tests into one executable. Ref T79958 Differential Revision: https://developer.blender.org/D8714
2020-09-17CMake: clean up setting of platform specific linker flagsBrecht Van Lommel
Set flags directly on the target, and use common function for all cases. This refactoring helps with the next commit for test executables. Ref D8714
2020-09-04Fix build error on macOS after recent changesBrecht Van Lommel
2020-09-04CMake: refresh building and external library handling of Cycles standaloneBrecht Van Lommel
* Support precompiled libraries on Linux * Add license headers * Refactoring to deduplicate code Includes work by Ray Molenkamp and Grische for precompiled libraries. Ref D8769
2020-08-04Cycles: Fix nan in decomposed transform for degenerated inputSergey Sharybin
The decomposed transform would have consists of nan values if the input transform had zero scale. Now the decomposition will check for zero scale, and if it is detected then the result will be ensured to be finite. Additionally, rotation value will be copied from previous/next time step to help avoiding obscure interpolation. The latter step can become more comprehensive than the current simple implementation. Differential Revision: https://developer.blender.org/D8450
2020-06-22Cleanup: minor refactoring around DeviceTaskBrecht Van Lommel
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Cycles: support rendering new Volume object typeBrecht Van Lommel
Voxels are loaded directly from the OpenVDB grid. Rendering still only supports dense grid, so memory usage is not great for sparse volumes, this is to be addressed in the future. Ref T73201
2020-03-05Cleanup: formatting, strip trailing spaceCampbell Barton
2020-03-04Cleanup: cmake indentationCampbell Barton
2020-02-18Cycles: Fix failing avxf cross test on AVX2Ray Molenkamp
cycles_util_avxf_avx2_test failed on the cross test, since it wasn't immediately clear why, the test was disabled. After looking into it, this test when build for AVX2 is generating FMA instructions where the intermediate results have "infinite" precision [1] leading to slightly different results. This diff re-enables the cross test and allows for a small error in the results. [1] https://www.felixcloutier.com/x86/vfmadd132ps:vfmadd213ps:vfmadd231ps Differential Revision: https://developer.blender.org/D6873 Reviewers: brecht
2020-02-11CLeanup: clang-formatCampbell Barton
2020-02-10CTest: Disable the cross test from the avxf unit tests.Ray Molenkamp
Test fails on AVX2, I'll look into this but until the cause is determined the test will be disabled
2020-02-10Cycles: Fix linking error of new avxf unit testsSergey Sharybin
Was happening on macOS. The reason of this is because OpenImageIO depends on boost, so it is to be passed to the linker after the OpenImageIO libraries.
2020-02-09Cycles: Add avxf unit tests.Ray Molenkamp
Differential Revision: https://developer.blender.org/D3706 Reviewers: brecht
2019-12-13Cycles: Fix compilation of the Render Graph testLukas Stockner
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
2019-08-21Shading: Add more operators to Vector Math node.OmarSquircleArt
Add Multiply, Divide, Project, Reflect, Distance, Length, Scale, Snap, Floor, Ceil, Modulo, Fraction, Absolute, Minimum, and Maximum operators to the Vector Math node. The Value output has been removed from operators whose output is a vector, and the other way around. All of those removals has been handled properly in versioning code. The patch doesn't include tests for the new operators. Tests will be added in a later patch. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5523
2019-08-20Cycles Tests: Fix Math tests when use_clamp is true.OmarSquircleArt
The clamp option is implemented using graph expansion, where a Clamp node named "clamp" is added and connected to the output. So the final result is actually from the node "clamp". Reviewers: brecht Differential Revision: https://developer.blender.org/D5540
2019-08-18Shading: Refactor Math node and use dynamic inputs.OmarSquircleArt
- Implement dynamic inputs. The second input is now unavailable in single operand math operators. - Reimplemenet the clamp option using graph expansion for Cycles. - Clean up code and unify naming between Blender and Cycles. - Remove unused code. Reviewers: brecht Differential Revision: https://developer.blender.org/D5481
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-19Cycles: Implement function to format and parse human readable timeSergey Sharybin
Gives value in seconds for a string which is encoded in format HH:MM:SS.hh.
2018-12-28Fix (unreported) broken Cycles tests after numaapi changes today.Bastien Montagne
Please always build tests when messing with build system/libs, am tired of fixing that kind of issues... Also, that fix is probably not working for standalone, no idea where's the numaapi lib then, but committing since I need a building blender here (with the tests, yes).
2018-12-05Fix (unreported) building Cycles tests with Embree enabled.Bastien Montagne
2018-11-30Fix T58183: crash with CPU + GPU rendering after profiling changes.Brecht Van Lommel
Multi-device was not passing along profiler to the CPU.
2018-11-26CMake: Remove Cycles specific OpenSubdiv optionsSergey Sharybin
Just use one flag which enables OpenSubdiv globally for all the areas of Blender.
2018-11-09Cycles: Cleanup, split array from vectorSergey Sharybin
Those are similar but different types, no reason to keep their definitions in a single file.
2018-11-09Cycles: Cleanup, spacing after preprocessorSergey Sharybin
It is supposed to be two spaces before comment stating which if else/endif statements corresponds to. Was mainly violated in the header guards.
2018-09-11Build: require OpenJPEG 2.x minimum, remove bundled version.Brecht Van Lommel
* WITH_SYSTEM_OPENJPEG is removed and is now always on, this was already the case for macOS and Windows. * This should not break existing Linx builds. If there is no new enough OpenJPEG installed, CMake will no find libopenjp2 and WITH_IMAGE_OPENJPEG will be disabled. * install_deps.sh was updated with new package names, since distributions put this version in a new package. Differential Revision: https://developer.blender.org/D3663
2018-06-28Fix Cycles tests build on macOS.Brecht Van Lommel
2018-06-14Cycles: Query XYZ to/from Scene Linear conversion from OCIO instead of ↵Lukas Stockner
assuming sRGB I've limited it to just the RGB<->XYZ stuff for now, correct image handling is the next step. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D3478
2017-10-24Fix Cycles gtests build on macOS.Brecht Van Lommel
2017-10-24Cycles: Fix memory leak in test and simplify codeSergey Sharybin
2017-10-24Cycles: Fix test compilation failure after recent refactorSergey Sharybin
The test will leak CPU devices, but is all passing other than that. Leak will be fixed shortly. P.S. Committing code refactor without running regression tests, tsk ;)
2017-06-08Cycles: Don't leave multiple spaces in the device nameSergey Sharybin
2017-02-03Cycles: Cleanup, order of arguments to EXPECT_EQSergey Sharybin
The order was wrong from the semantic point of view, caused by some legacy workarounds in Libmv. Didn't realize it's was not how things were expected to be used.
2017-01-25[Cycles/MSVC/Testing] Fix broken test code.lazydodo
Currently the tests don't run on windows for the following reasons 1) render_graph_finalize has an linking issue due missing a bunch of libraries (not sure why this is not an issue for linux) 2) This one is more interesting, in test/python/cmakelists.txt ${TEST_BLENDER_EXE_BARE} and ${TEST_BLENDER_EXE} are flat out wrong, but for some reason this doesn't matter for most tests, cause ctest will actually go out and look for the executable and fix the path for you *BUT* only for the command, if you use them in any of the parameters it'll happily pass on the wrong path. 3) on linux you can just run a .py file, windows is not as awesome and needs to be told to run it with pyton. 4) had to use the NAME/COMMAND long form of add_test otherwise $<TARGET_FILE:blender> doesn't get expanded, why? beats me. 5) missing idiff.exe for msvc2015/x64 in the libs folder. This patch addresses 1-4 , but given I have no working Linux build environment, I'm unsure if it'll break anything there 5 has been fixed in rBL61751 Reviewers: juicyfruit, brecht, sergey Reviewed By: sergey Subscribers: Blendify Tags: #cycles, #automated_testing Differential Revision: https://developer.blender.org/D2367
2016-10-24Cycles: Cleanup, styleSergey Sharybin
2016-10-01Cycles: implement partial constant folding for exponentiation.Alexander Gavrilov
This is also an important mathematical operation that can be folded if it is known that one argument is a certain constant. For colors the operation is provided as a Gamma node. The SVM Gamma node needs a small fix to make it follow the 0 ^ 0 == 1 rule, same as the Power node, or the Gamma node itself in OSL mode. Reviewers: #cycles Differential Revision: https://developer.blender.org/D2263
2016-08-22Fix T49136: full constant Curves with zero Fac input crashes in assert.Alexander Gavrilov
The if branches were reordered when the original patch was committed, which broke the implicit non-NULL guarantee on link. To prevent re-occurrence, add a couple of unit tests.
2016-08-11Revert "Cycles Tests: Add test for correct 16 byte alignment of KernelData ↵Sergey Sharybin
structs" Using unit tests is a wrong way to control static behavior of the application. They should only be used for checking dynamic behavior, all the rest is easily controllable at compile time. Doing tests at ocmpile time are actually more robust approach since we don't have strict policy of runnign unit tests before accepting any change. Proper alignment control is coming shortly. This reverts commit 7c3a06c34918567e6b0ab67bded60725ff63073b.
2016-08-10Cycles Tests: Add test for correct 16 byte alignment of KernelData structsLukas Stockner