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-08-29Cycles: Add BVH8 and packeted triangle intersectionSergey Sharybin
This is an initial implementation of BVH8 optimization structure and packated triangle intersection. The aim is to get faster ray to scene intersection checks. Scene BVH4 BVH8 barbershop_interior 10:24.94 10:10.74 bmw27 02:41.25 02:38.83 classroom 08:16.49 07:56.15 fishy_cat 04:24.56 04:17.29 koro 06:03.06 06:01.45 pavillon_barcelona 09:21.26 09:02.98 victor 23:39.65 22:53.71 As memory goes, peak usage raises by about 4.7% in a complex scenes. Note that BVH8 is disabled when using OSL, this is because OSL kernel does not get per-microarchitecture optimizations and hence always considers BVH3 is used. Original BVH8 patch from Anton Gavrikov. Batched triangles intersection from Victoria Zhislina. Extra work and tests and fixes from Maxym Dmytrychenko.
2018-08-25Cycles Denoiser: Allocate a single temporary buffer for the entire denoising ↵Lukas Stockner
process With small tiles, the repeated allocations on GPUs can actually slow down the denoising quite a lot. Allocating the buffer just once reduces rendertime for the default cube with 16x16 tiles and denoising on a mobile 1050 from 22.7sec to 14.0sec.
2018-08-24Cycles: Cleanup, styleSergey Sharybin
I wouldn't mind changing style to have space after keyword, but there was no official code style change proposed.
2018-08-14Fix T56359: Unitialized variable in Cycles OpenCL could cause crashes.Stefan Werner
2018-08-09Cycles: Append compute units for RX Vega card namesfclem
Makes it more clear whether compute device is Vega 56 or Vega 64.
2018-08-09Cycles: Report more details about OpenCL devicesfclem
2018-07-06Cycles: Enabled half precision textures for OpenCL devices that support the ↵Stefan Werner
cl_khr_fp16 extension.
2018-07-06Cleanup: strip trailing space for cyclesCampbell Barton
2018-07-05Cycles: Adding native support for UINT16 textures.Stefan Werner
Textures in 16 bit integer format are sometimes used for displacement, bump and normal maps and can be exported by tools like Substance Painter. Without this patch, Cycles would promote those textures to single precision floating point, causing them to take up twice as much memory as needed. Reviewers: #cycles, brecht, sergey Reviewed By: #cycles, brecht, sergey Subscribers: sergey, dingto, #cycles Tags: #cycles Differential Revision: https://developer.blender.org/D3523
2018-07-04Cycles Denoising: Pass tile buffers to every OpenCL kernel to conform to ↵Lukas Stockner
standard and get rid of set_tile_info
2018-07-04Cycles Denoising: Correctly handle target buffer in tile unmapping and move ↵Lukas Stockner
device swap logic to the device_memory
2018-07-04Cycles Denoising: Cleanup: Rename tiles to tile_infoLukas Stockner
2018-07-04Cycles Denoising: Refactor denoiser tile handlingLukas Stockner
This deduplicates the calls for tile (un)mapping and allows to have a target buffer that is different from the source buffer (needed for baking and animation denoising).
2018-07-04Cycles Denoising: Split main function into logical stepsLukas Stockner
2018-06-26Revert "Turned off clang warnings in third party includes."Stefan Werner
This reverts commit d53093953f8f3b58600cb19020ecbe0b5f254b52.
2018-06-26Turned off clang warnings in third party includes.Stefan Werner
The latest clang compiler (at least the one in Xcode 9.4.1) warns about the register keyword and macro expansions using defined(). Since these warnings come from third party code, we can't address them directly in Blender. Silencing them via #pramgas will at least keep the warnings during a build down to the ones that are relevant to Blender code.
2018-06-21Fix Cycles CUDA render errors with CUDA 9.2.Brecht Van Lommel
Work around what might be a compiler bug.
2018-06-12Fix T55448: Typo in Cycles CUDA debug outputLukas Stockner
Reviewers: sergey, lukasstockner97 Reviewed By: lukasstockner97 Tags: #cycles, #bf_blender Differential Revision: https://developer.blender.org/D3472
2018-04-29Cycles: Cleanup: Remove double semicolonsLukas Stockner
2018-04-04Fix T54400: Some GCN 1 cards available to select for use with CyclesMai Lavelle
Hainan was missing from the list of GCN 1 cards.
2018-02-18Cycles: tweak CUDA messages and avoid build errors with existing sm_2x configs.Brecht Van Lommel
2018-02-18Code cleanup: remove some more unused code after recent CUDA changes.Brecht Van Lommel
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-02-17Cycles: Remove Fermi support from CMake and update runtime checks in ↵Thomas Dinges
device_cuda.cpp. Fermi code in Cycles kernel and texture system are coming next.
2018-02-07Update CUEW to latest versionBrecht Van Lommel
This brings separate initialization for libcuda and libnvrtc, which fixes Cycles nvrtc compilation not working on build machines without CUDA hardware available. Differential Revision: https://developer.blender.org/D3045
2018-02-06Fix T54001: AMD OpenCL fails with certain resolutions, after recent changes.Brecht Van Lommel
We should actually be using CL_DEVICE_MEM_BASE_ADDR_ALIGN for sub buffers, previous change in this code was incorrect. Renamed the function now to make the specific purpose of this alignment clear, it's not required for data types in general.
2018-02-04msvc: Use source folder structure for project file.Ray Molenkamp
This patch changes the huge list of projects in visual studio into a nice tree matching the source folder structure. see D2823 for details. Differential Revision: http://developer.blender.org/D2823
2018-02-03cycles: Add an nvrtc based cubin cli compiler.Ray Molenkamp
nvcc is very picky regarding compiler versions, severely limiting the compiler we can use, this commit adds a nvrtc based compiler that'll allow us to build the cubins even if the host compiler is unsupported. for details see D2913. Differential Revision: http://developer.blender.org/D2913
2018-01-29Fix Cycles allocating too much device memory, after recent memory refactoring.Brecht Van Lommel
Spotted by Ha Hyung-jin, thanks!
2018-01-23Fix Cycles assert when resizing rendererd viewport.Brecht Van Lommel
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-19Cycles: Make it more proper check on vectorization flags from DebugFlagsSergey Sharybin
Mimics to checks in system_cpu_support() checks.
2018-01-19Cycles: Cleanup, stop using debug flags in system utilitiesSergey Sharybin
Debug flags are to be controlling render behavior, nothing to do with low level system utilities. it was simple to hack, but logically is wrong. Lets do things where they are supposed to be done!
2018-01-19Cycles: Remove unneeded include statementsSergey Sharybin
Also try to move them from headers to implementation files as much as possible.
2018-01-19Fix T53830: Cycles OpenCL debug assert on macOS,Brecht Van Lommel
This was probably harmless besides some unnecessary memory usage due to aligning allocations too much.
2018-01-11Fix issue with moving CUDA memory to host and multiple devices.Brecht Van Lommel
This is not expected to fix all issues. Also adds some more details to error reporting to investigate failures.
2018-01-11Fix T53692: OpenCL multi GPU rendering not using all GPUs.Brecht Van Lommel
Ensure each OpenCL device has a unique ID even if the hardware ID is not unique for some reason.
2018-01-03Cycles: CUDA support for rendering scenes that don't fit on GPU.Brecht Van Lommel
In that case it can now fall back to CPU memory, at the cost of reduced performance. For scenes that fit in GPU memory, this commit should not cause any noticeable slowdowns. We don't use all physical system RAM, since that can cause OS instability. We leave at least half of system RAM or 4GB to other software, whichever is smaller. For image textures in host memory, performance was maybe 20-30% slower in our tests (although this is highly hardware and scene dependent). Once other type of data doesn't fit on the GPU, performance can be e.g. 10x slower, and at that point it's probably better to just render on the CPU. Differential Revision: https://developer.blender.org/D2056
2018-01-03Cycles: make CUDA code a bit more robust to host/device alloc failures.Brecht Van Lommel
Fixes a few corner cases found while stress testing host mapped memory.
2017-12-20Cycles: Cleanup, indentationSergey Sharybin
2017-12-06Cycles: Fix constness for load_kernels in device_cpu.cppLukas Stockner
2017-11-30Cycles: Improve denoising speed on GPUs with small tile sizesLukas Stockner
Previously, the NLM kernels would be launched once per offset with one thread per pixel. However, with the smaller tile sizes that are now feasible, there wasn't enough work to fully occupy GPUs which results in a significant slowdown. Therefore, the kernels are now launched in a single call that handles all offsets at once. This has two downsides: Memory accesses to accumulating buffers are now atomic, and more importantly, the temporary memory now has to be allocated for every shift at once, increasing the required memory. On the other hand, of course, the smaller tiles significantly reduce the size of the memory. The main bottleneck right now is the construction of the transformation - there is nothing to be parallelized there, one thread per pixel is the maximum. I tried to parallelize the SVD implementation by storing the matrix in shared memory and launching one block per pixel, but that wasn't really going anywhere. To make the new code somewhat readable, the handling of rectangular regions was cleaned up a bit and commented, it should be easier to understand what's going on now. Also, some variables have been renamed to make the difference between buffer width and stride more apparent, in addition to some general style cleanup.
2017-11-17Cycles: Add per-tile render time debug passLukas Stockner
Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D2920
2017-11-12Fix T53289: CUDA missing textures not showing pink, after recent changes.Brecht Van Lommel
2017-11-11Cycles: Set error if a split kernel fails to loadMai Lavelle
To help catch cases where adding a new kernel is missed for one of the device implementations.
2017-11-09Cycles: avoid reallocating tile denoising memory many times during render.Brecht Van Lommel
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-08Code refactor: rename subsurface to local traversal, for reuse.Brecht Van Lommel
2017-11-08Cycles: add an extra CUDA synchronize before rendering.Brecht Van Lommel
It should not be needed as far as I know, but just in case it fixes any of the recent issues like T52572.
2017-11-05Code refactor: device memory cleanups, preparing for mapped host memory.Brecht Van Lommel