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
2018-02-18Merge branch 'master' into blender2.8Campbell Barton
2018-02-18Cycles: Remove Fermi texture code.Thomas Dinges
This should be the last Fermi removal commit, unless I missed something. It's been a pleasure Fermi!
2018-01-23Merge branch 'master' into blender2.8Campbell Barton
2018-01-22Cycles: Replace use_qbvh boolean flag with an enum-based propertySergey Sharybin
This was we can introduce other types of BVH, for example, wider ones, without causing too much mess around boolean flags. Thoughs: - Ideally device info should probably return bitflag of what BVH types it supports. It is possible to implement based on simple logic in device/ and mesh.cpp, rest of the changes will stay the same. - Not happy with workarounds in util_debug and duplicated enum in kernel. Maybe enbum should be stores in kernel, but then it's kind of weird to include kernel types from utils. Soudns some cyclkic dependency. Reviewers: brecht, maxim_d33 Reviewed By: brecht Differential Revision: https://developer.blender.org/D3011
2018-01-19Merge remote-tracking branch 'origin/master' into blender2.8Dalai Felinto
2018-01-19Cycles: Remove unneeded include statementsSergey Sharybin
Also try to move them from headers to implementation files as much as possible.
2017-11-24Fix unneeded legacy OpenGL call in Cycles viewport drawing.Brecht Van Lommel
2017-11-09Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-09Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variableMai Lavelle
Goal is to reduce OpenCL kernel recompilations. Currently viewport renders are still set to use 64 closures as this seems to be faster and we don't want to cause a performance regression there. Needs to be investigated. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2775
2017-11-06Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/device/device.cpp source/blender/blenkernel/intern/library.c source/blender/blenkernel/intern/material.c source/blender/editors/object/object_add.c source/blender/editors/object/object_relations.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/space_outliner/outliner_edit.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/util/ed_util.c source/blender/windowmanager/intern/wm_files_link.c
2017-11-05Code refactor: device memory cleanups, preparing for mapped host memory.Brecht Van Lommel
2017-11-04Merge branch 'master' into blender2.8Campbell Barton
2017-11-03Fix T53247: mixed CPU + GPU render wrong texture limits.Brecht Van Lommel
2017-10-24Merge branch 'master' into blender2.8Sergey Sharybin
2017-10-24Cycles: Fix compilation in debug modeSergey Sharybin
Please check compilation before committing refactor changes!
2017-10-24Merge branch 'master' into blender2.8Brecht Van Lommel
2017-10-24Code refactor: move more memory allocation logic into device API.Brecht Van Lommel
* Remove tex_* and pixels_* functions, replace by mem_*. * Add MEM_TEXTURE and MEM_PIXELS as memory types recognized by devices. * No longer create device_memory and call mem_* directly, always go through device_only_memory, device_vector and device_pixels.
2017-10-24Code refactor: store device/interp/extension/type in each device_memory.Brecht Van Lommel
2017-10-24Code refactor: pass device to scene, check OSL with device info.Brecht Van Lommel
2017-10-23Merge branch 'master' into blender2.8Julian Eisel
2017-10-21Cycles: combined CPU + GPU rendering support.Brecht Van Lommel
CPU rendering will be restricted to a BVH2, which is not ideal for raytracing performance but can be shared with the GPU. Decoupled volume shading will be disabled to match GPU volume sampling. The number of CPU rendering threads is reduced to leave one core dedicated to each GPU. Viewport rendering will also only use GPU rendering still. So along with the BVH2 usage, perfect scaling should not be expected. Go to User Preferences > System to enable the CPU to render alongside the GPU. Differential Revision: https://developer.blender.org/D2873
2017-10-11Merge branch 'master' into blender2.8Sergey Sharybin
2017-10-11Cycles: Fix possible race condition when initializing devices listSergey Sharybin
2017-10-08Fix T53017: Cycles not detecting AMD GPU when there is an NVidia GPU too.Mathieu Menuet
Best guess is that cuInit() somehow interferes with the AMD graphics driver on Windows, and switching the initialization order to do OpenCL first seems to solve the issue.
2017-10-08Code refactor: use DeviceInfo to enable QBVH and decoupled volume shading.Brecht Van Lommel
2017-08-08Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/depsgraph/intern/builder/deg_builder_relations.cc source/blender/editors/object/object_add.c source/blender/python/intern/bpy_app_handlers.c
2017-08-08Cycles: Pack kernel textures into buffers for OpenCLMai Lavelle
Image textures were being packed into a single buffer for OpenCL, which limited the amount of memory available for images to the size of one buffer (usually 4gb on AMD hardware). By packing textures into multiple buffers that limit is removed, while simultaneously reducing the number of buffers that need to be passed to each kernel. Benchmarks were within 2%. Fixes T51554. Differential Revision: https://developer.blender.org/D2745
2017-06-12Merge branch 'master' into blender2.8Sergey Sharybin
2017-06-10Cycles: Selectively include denoising in kernelSergey Sharybin
2017-05-08Merge branch 'master' into blender2.8Julian Eisel
2017-05-07Cycles: Implement denoising option for reducing noise in the rendered imageLukas Stockner
This commit contains the first part of the new Cycles denoising option, which filters the resulting image using information gathered during rendering to get rid of noise while preserving visual features as well as possible. To use the option, enable it in the render layer options. The default settings fit a wide range of scenes, but the user can tweak individual settings to control the tradeoff between a noise-free image, image details, and calculation time. Note that the denoiser may still change in the future and that some features are not implemented yet. The most important missing feature is animation denoising, which uses information from multiple frames at once to produce a flicker-free and smoother result. These features will be added in the future. Finally, thanks to all the people who supported this project: - Google (through the GSoC) and Theory Studios for sponsoring the development - The authors of the papers I used for implementing the denoiser (more details on them will be included in the technical docs) - The other Cycles devs for feedback on the code, especially Sergey for mentoring the GSoC project and Brecht for the code review! - And of course the users who helped with testing, reported bugs and things that could and/or should work better!
2017-04-28Cycles support for preview on viewport with core profileDalai Felinto
This upgrade the drawing code to use latest opengl calls. Also, it adds a fallback shader for opencolorio. Reviewers: sergey, brecht Subscribers: merwin, fclem Differential Revision: https://developer.blender.org/D2652
2017-04-21Cycles: Solve speed regression of classroom scene after principled commitSergey Sharybin
This way we can skip it from compiling into OpenCL kernels by making this shader compile-time feature.
2017-03-29Cycles: Make all #include statements relative to cycles source directorySergey Sharybin
The idea is to make include statements more explicit and obvious where the file is coming from, additionally reducing chance of wrong header being picked up. For example, it was not obvious whether bvh.h was refferring to builder or traversal, whenter node.h is a generic graph node or a shader node and cases like that. Surely this might look obvious for the active developers, but after some time of not touching the code it becomes less obvious where file is coming from. This was briefly mentioned in T50824 and seems @brecht is fine with such explicitness, but need to agree with all active developers before committing this. Please note that this patch is lacking changes related on GPU/OpenCL support. This will be solved if/when we all agree this is a good idea to move forward. Reviewers: brecht, lukasstockner97, maiself, nirved, dingto, juicyfruit, swerner Reviewed By: lukasstockner97, maiself, nirved, dingto Subscribers: brecht Differential Revision: https://developer.blender.org/D2586
2017-03-27Cleanup: Use upper case consistently in adaptive feature compile logging.Thomas Dinges
2017-03-08Cycles: Add names to buffer allocationsMai Lavelle
This is to help debug and track memory usage for generic buffers. We have similar for textures already since those require a name, but for buffers the name is only for debugging proposes.
2016-12-09Land D2339 by bliblu blilazydodo
2016-11-07Cycles: Refactor Device selection to allow individual GPU compute device ↵Lukas Stockner
selection Previously, it was only possible to choose a single GPU or all of that type (CUDA or OpenCL). Now, a toggle button is displayed for every device. These settings are tied to the PCI Bus ID of the devices, so they're consistent across hardware addition and removal (but not when swapping/moving cards). From the code perspective, the more important change is that now, the compute device properties are stored in the Addon preferences of the Cycles addon, instead of directly in the User Preferences. This allows for a cleaner implementation, removing the Cycles C API functions that were called by the RNA code to specify the enum items. Note that this change is neither backwards- nor forwards-compatible, but since it's only a User Preference no existing files are broken. Reviewers: #cycles, brecht Reviewed By: #cycles, brecht Subscribers: brecht, juicyfruit, mib2berlin, Blendify Differential Revision: https://developer.blender.org/D2338
2016-10-24Cycles: Remove explicit std:: from types where possibleSergey Sharybin
We have our own abstraction level on top of the STL's implementation. This commit will guarantee our tweaks are used for all cases.
2016-08-15Cycles microdisplacement: Allow kernels to be built without patch evaluationMai Lavelle
Kernels can now be built without patch evaluation when not needed by the scene (Catmull-Clark subdivision not in use), giving a performance boost for some devices.
2016-05-17Cycles / Requested Features: Volume was missing in logging print.Thomas Dinges
2016-02-16Cycles: Fix crash when trying to render after re-enabling the addonSergey Sharybin
2016-02-12Cycles: Always use guarded allocator of vectorsSergey Sharybin
We don't have vectors re-allocation happening multiple times from inside a loop anymore, so we can safely switch to a memory guarded allocator for vectors and keep track on the memory usage at various stages of rendering. Additionally, when building from inside Blender repository, Cycles will use Blender's guarded allocator, so actual memory usage will be displayed in the Space Info header. There are couple of tricky aspects of the patch: - TaskScheduler::exit() now explicitly frees memory used by `threads`. This is needed because `threads` is a static member which destructor isn't getting called on Blender's exit which caused memory leak print to happen. This shouldn't give any measurable speed issues, reallocation of that vector is only one of fewzillion other allocations happening during synchronization. - Use regular guarded malloc (not aligned one). No idea why it was made to be aligned in the first place. Perhaps some corner case tests or so. Vector was never expected to be aligned anyway. Let's see if we'll have actual bugs with this. Reviewers: dingto, lukasstockner97, juicyfruit, brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D1774
2016-01-24Cycles: Fix typo in flags checkSergey Sharybin
2016-01-12Cycles: Use special debug panel to fine-tune debug flagsSergey Sharybin
This panel is only visible when debug_value is set to 256 and has no affect in other cases. However, if debug value is not set to this value, environment variables will be used to control which features are enabled, so there's no visible changes to anyone in fact. There are some changes needed to prevent devices re-enumeration on every Cycles session create. Reviewers: juicyfruit, lukasstockner97, dingto, brecht Reviewed By: lukasstockner97, dingto Differential Revision: https://developer.blender.org/D1720
2016-01-07Cycles: Cleanup, use "string_" prefix for functions in util_stringSergey Sharybin
No functional changes, just makes it easier to track where the function is coming from.
2016-01-07Cycles: Add utility function to convert bool to string.Thomas Dinges
2015-07-18Cycles: Log requested device featuresSergey Sharybin
Useful to have this always logged because otherwise it's needed to remove cached kernels and check build flags to see which features are enabled.
2015-06-05Cycles: Initial support for OpenCL capabilities reportsSergey Sharybin
For now it's just generic information, still need to expose memory, workgorup sizes and so on.
2015-06-01Cycles: Code cleanup, spaces around keyword and braceSergey Sharybin