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
2017-04-25Cycles: use safe compiler flags for OpenCL.Hristo Gueorguiev
Using -cl-fast-relaxed-math assumes no NaN/Inf values in any expression. This causes problems on overflow, division by zero, square root of negative number. Comparisons with NaN or infinite value are affected as well. This patch causes <2% slowdown on benchmark scenes. Fix T50985: Rendering volume scatter with GPU OpenCL comes to an halt after a few seconds
2017-04-18Cycles: Cleanup, styleSergey Sharybin
2017-04-10Cycles: Apparently board name could be an empty stringSergey Sharybin
2017-04-07Cycles: Fix warning with MSVCSergey Sharybin
2017-04-07Cycles: Add missing flushMai Lavelle
2017-03-31Cycles: More fixes after include changesMai Lavelle
2017-03-30Cycles: Fix missing kernel re-compilation after recent changesSergey Sharybin
Reported by Mai in IRC, thanks!
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-21Cycles: Use more friendly GPU device name for AMD cardsSergey Sharybin
For example, for RX480 you'll no longer see "Ellesmere" but will see "AMD Radeon RX 480 Graphics" which makes more sense and allows to easily distinguish which exact card it is when having multiple different cards of Ellesmere codenames (i.e. RX480 and WX7100) in the same machine.
2017-03-21Cycles: Simplify some extra OpenCL query codeSergey Sharybin
2017-03-21Cycles: Cleanup, add some utility functions to shorten access to low level APISergey Sharybin
Should be no functional changes.
2017-03-20Fix T50268: Cycles allows to select un supported GPUs for OpenCLSergey Sharybin
2017-03-16Cycles: Adjust global size for OpenCL CPU devices to make them fasterMai Lavelle
2017-03-14Cycles: Cleanup, indentationSergey Sharybin
2017-03-11Fix T50888: Numeric overflow in split kernel state buffer size calculationMai Lavelle
Overflow led to the state buffer being too small and the split kernel to get stuck doing nothing forever.
2017-03-09Cycles: add single program debug option for split kernelHristo Gueorguiev
Single program generally compiles kernels faster (2-3 times), loads faster, takes less drive space (2-3 times), and reduces the number of cached kernels.
2017-03-08Cycles: Make it more obvious message which initialization failedSergey Sharybin
2017-03-08Cycles: Log which device kernels are being loaded forSergey Sharybin
2017-03-08Cycles: Make it possible to access KernelGlobals from split data ↵Sergey Sharybin
initialization function
2017-03-08Cycles: Cleanup, remove residue of previous split kernel dataSergey Sharybin
This is all in split data state array.
2017-03-08Cycles: Fix indentationMai Lavelle
2017-03-08Cycles: Calculate size of split state buffer kernel sideMai Lavelle
By calculating the size of the state buffer in the kernel rather than the host less code is needed and the size actually reflects the requested features. Will also be a little faster in some cases because of larger global work size.
2017-03-08Cycles: Faster building of split kernelMai Lavelle
Simple change to make it so that only kernels that have been modified are rebuilt. Might only be useful during development.
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.
2017-03-08Cycles: Report device maximum allocation and detected global sizeSergey Sharybin
2017-03-08Cycles: Workaround for driver hangsMai Lavelle
Simple workaround for some issues we've been having with AMD drivers hanging and rendering systems unresponsive. Unfortunately this makes things a bit slower, but its better than having to do hard reboots. Will be removed when drivers have been fixed. Define CYCLES_DISABLE_DRIVER_WORKAROUNDS to disable for testing purposes.
2017-03-08Cycles: OpenCL split kernel refactorMai Lavelle
This does a few things at once: - Refactors host side split kernel logic into a new device agnostic class `DeviceSplitKernel`. - Removes tile splitting, a new work pool implementation takes its place and allows as many threads as will fit in memory regardless of tile size, which can give performance gains. - Refactors split state buffers into one buffer, as well as reduces the number of arguments passed to kernels. Means there's less code to deal with overall. - Moves kernel logic out of OpenCL kernel files so they can later be used by other device types. - Replaced OpenCL specific APIs with new generic versions - Tiles can now be seen updating during rendering
2017-03-08Cycles: Add OpenCL kernel for zeroing memory buffersMai Lavelle
Transferring memory to the device was very slow and there's really no need when only zeroing a buffer.
2017-03-08Cycles: Allow device_memory to be used directlyMai Lavelle
This is useful for when theres no host side memory attched to the buffer
2017-02-22Cycles: Additionally report all OpenCL cflagsSergey Sharybin
This way we can control exact spaces and such added to the cflags which is crucial to troubleshoot certain drivers.
2016-12-03Cycles: Refactor Progress system to provide better estimatesLukas Stockner
The Progress system in Cycles had two limitations so far: - It just counted tiles, but ignored their size. For example, when rendering a 600x500 image with 512x512 tiles, the right 88x500 tile would count for 50% of the progress, although it only covers 15% of the image. - Scene update time was incorrectly counted as rendering time - therefore, the remaining time started very long and gradually decreased. This patch fixes both problems: First of all, the Progress now has a function to ignore time spans, and that is used to ignore scene update time. The larger change is the tile size: Instead of counting samples per tile, so that the final value is num_samples*num_tiles, the code now counts every sample for every pixel, so that the final value is num_samples*num_pixels. Along with that, some unused variables were removed from the Progress and Session classes. Reviewers: brecht, sergey, #cycles Subscribers: brecht, candreacchio, sergey Differential Revision: https://developer.blender.org/D2214
2016-11-22Cycles: Fix strict compilation warningsSergey Sharybin
Should be no functional changes.
2016-11-21Cycles: Attempt to fix compilation error on ppc64elSergey Sharybin
There is some define conflict between system headers and clew, so delay include of clew.h as much as possible.] This is something which needed to be done in the code before the refactor, hopefully such change will still work.
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: Cleanup, styleSergey Sharybin
2016-10-21Cycles: Fix another OpenCL logging issueLukas Stockner
Previously an error message would be printed whenever the OpenCL build produced output. However, some frameworks seem to print extra information even if the build succeeded, so now the actual returned error is checked as well. When --debug-cycles is activated, the build output will always be printed, otherwise it only gets printed if there was an error.
2016-10-17Fix T49630: Cycles: Swapped shader and bake kernelsLukas Stockner
The problem here was, as the title says, that the two kernels were swapped. Since shader evaluation is only used for building the samling map when World MIS is enabled, rendering without it would still work fine, although baking also was broken.
2016-10-17Cycles: Improve OpenCL kernel compilation loggingLukas Stockner
The previous refactor changed the code to use a separate logging mechanism to support multithreaded compilation. However, since that's not supported by any frameworks yes, it just resulted in bad logging behaviour. So, this commit changes the logging to go diectly to stdout/stderr once again by default.
2016-10-09Cycles: Split device_opencl.cpp into multiple files for easier maintenanceLukas Stockner
There are no user-visible changes, just some internal restructuring. Differential Revision: https://developer.blender.org/D2231