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
2015-05-10Cycles: Correction to opencl whitelist checkSergey Sharybin
Was using platform as a device id accidentally.
2015-05-09Cycles: Only whitelist AMD GPU devices in the OpenCL sectionSergey Sharybin
Only those ones are priority for now, all the rest are still testable if CYCLES_OPENCL_TEST or CYCLES_OPENCL_SPLIT_KERNEL_TEST environment variables are set.
2015-05-09Cycles: OpenCL kernel splitGeorge Kyriazis
This commit contains all the work related on the AMD megakernel split work which was mainly done by Varun Sundar, George Kyriazis and Lenny Wang, plus some help from Sergey Sharybin, Martijn Berger, Thomas Dinges and likely someone else which we're forgetting to mention. Currently only AMD cards are enabled for the new split kernel, but it is possible to force split opencl kernel to be used by setting the following environment variable: CYCLES_OPENCL_SPLIT_KERNEL_TEST=1. Not all the features are supported yet, and that being said no motion blur, camera blur, SSS and volumetrics for now. Also transparent shadows are disabled on AMD device because of some compiler bug. This kernel is also only implements regular path tracing and supporting branched one will take a bit. Branched path tracing is exposed to the interface still, which is a bit misleading and will be hidden there soon. More feature will be enabled once they're ported to the split kernel and tested. Neither regular CPU nor CUDA has any difference, they're generating the same exact code, which means no regressions/improvements there. Based on the research paper: https://research.nvidia.com/sites/default/files/publications/laine2013hpg_paper.pdf Here's the documentation: https://docs.google.com/document/d/1LuXW-CV-sVJkQaEGZlMJ86jZ8FmoPfecaMdR-oiWbUY/edit Design discussion of the patch: https://developer.blender.org/T44197 Differential Revision: https://developer.blender.org/D1200
2015-05-09Cycles: Communicate number of closures and nodes feature set to the deviceSergey Sharybin
This way device can actually make a decision of how it can optimize the kernel in order to make it most efficient.
2015-05-09Cycles: Pass requested tile size to the device via device taskSergey Sharybin
This is currently unused but crucial for things like calculating amount of device memory required to deal with the tasks. Maybe not really best place to store it, but consider it good enough for now.
2015-05-09Cycles: Change the way how we pass requested capabilities to the deviceSergey Sharybin
Previously we only had experimental flag passed to device's load_kernel() which was all fine. But since we're gonna to have some extra parameters passed there it makes sense to wrap them into a single struct, which will make it easier to pass stuff around.
2015-04-10Cycles: Fix compilation error on windows after recent logging changesSergey Sharybin
2015-04-10Cycles: Add some statistics loggingSergey Sharybin
Covers number of entities in the scene (objects, meshes etc), also reports sizes of textures being allocated.
2015-03-29Optionally use c++11 stuff instead of boost in cycles where possible. We do ↵Martijn Berger
and continue to depend on boost though Reviewers: dingto, sergey Reviewed By: sergey Subscribers: #cycles Differential Revision: https://developer.blender.org/D1185
2015-03-27Cycles: Code cleanup, spaces around keywordsSergey Sharybin
This inconsistency drove me totally crazy, it's really confusing when it's inconsistent especially when you work on both Cycles and Blender sides. Shouldn;t cause merge PITA, it's whitespace changes only, Git should be able to merge it nicely.
2015-03-27Cycles: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2015-02-19Cycles: Cleanup for indentation in device_cpu.cppSergey Sharybin
Perhaps became broken after rather recent change about which entry point to kernel to use.
2015-02-02Cycles: Fix inconsistent command line used for runtime kernel compilationSergey Sharybin
Basically build-time compiled kernels were using --fast-math (which is correct) but run-time compiled did not.
2015-02-02Cycles: Allow paths customization via environment variablesSergey Sharybin
This is for development and test environment setup only, not for regular users usage hence no mentioning in the man page needed.
2015-01-06Cycles: Repot CPU and CUDA capabilities to system info operatorSergey Sharybin
For CPU it gives available instructions set (SSE, AVX and so). For GPU CUDA it reports most of the attribute values returned by cuDeviceGetAttribute(). Ideally we need to only use set of those which are driver-specific (so we don't clutter system info with values which we can get from GPU specifications and be sure they stay the same because driver can't affect on them).
2015-01-02Cycles: Fix compilation error on AVX platforms with -arch-nativeSergey Sharybin
Was a conflict in headers between clew and util_optimization.h.
2014-12-31Cycles: Add logging to OSL and CUDA initialization/compilationSergey Sharybin
This is what was handy troubleshooting issues in the studio, plus this is exactly the same thing which would be helpful when solving issues with paths to compiled shaders and cubins for standalone repository.
2014-12-31Cycles: Synchronize changes with standalone repositorySergey Sharybin
This changes were done in original commit of the standalone Cycles repository and needed here for easier patch synchronization.
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-12-08Docs: reference the new manualCampbell Barton
2014-12-02Cycles: Remove workaround for missing sm_52 kernel, now we require it for ↵Thomas Dinges
Maxwell cards.
2014-11-03Fix typo breaking compilation with SSE2.Bastien Montagne
Spotted by sybrenstuvel (Sybren Stüvel), thanks!
2014-10-30Cycles / CUDA: Better fix for missing sm_52 kernel, in case user compiles ↵Thomas Dinges
himself.
2014-10-30Deduplicate some code by using a function pointer to the real kernelMartijn Berger
This has no performance impact what so ever and is already used in the adaptive sampling patch
2014-10-14Cycles: Do cuda pointer arithmetic in integers, don't use pointer arithmeticSergey Sharybin
This should hopefully fix https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765187
2014-10-08Ghost Context RefactorJason Wilkins
https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
2014-10-06Cycles: Workaround dead-slow expf() on 64bit linuxSergey Sharybin
Single precision exponent on 64bit linux tends to be order of magnitude slower than double precision version even with single<->double precision conversion. Some feedback in the mailing lists also suggests that logf() is also slow, but this i didn't confirm here in the studio yet. Depending on the shader setup it gives ~3% with the secret agent shot and up to around 15% with the bmw scene here.
2014-10-05Cycles: Make OpenCL folks happy to use __KERNEL_DEBUG__Sergey Sharybin
Quite straightforward change, the only annoying thing is that we can't use indentation for include directive just because of the way headers inlineing works for OpenCL. Might do smarter job in path_source_replace_includes() but don't want to spend time on this yet.
2014-10-05Cycles: Fix for debug kernel not working with CUDASergey Sharybin
2014-10-05Cycles / CUDA: Workaround to make sm_52 (Maxwell) cards work.Thomas Dinges
* sm_52 can run a sm_50 kernel, so tell runtime detection to use that until we build a dedicated sm_52 kernel.
2014-10-03Cycles: Implement preliminary test for volume stack update from SSSSergey Sharybin
This adds an AABB collision check for objects with volumes and if there's a collision detected then the object will have SD_OBJECT_INTERSECTS_VOLUME flag. This solves a speed regression introduced by the fix for T39823 by skipping volume stack update in cases no volumes intersects the current SSS object.
2014-09-04Fix wrong track of the memory when doing device vector resize before freeing itSergey Sharybin
This is rather legit case which happens i.e. when having persistent images enabled and session is updating the lookup tables. Now device_memory keeps track of amount of memory being allocated on the device, which makes freeing using the proper allocated size, not the CPU side buffer size.
2014-08-26Cycles: Add an experimental CUDA kernel.Thomas Dinges
Now we build 2 .cubins per architecture (e.g. kernel_sm_21.cubin, kernel_experimental_sm_21.cubin). The experimental kernel can be used by switching to the Experimental Feature Set: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Experimental_Features This enables Subsurface Scattering and Correlated Multi Jitter Sampling on GPU, while keeping the stability and performance of the regular kernel. Differential Revision: https://developer.blender.org/D762 Patch by Sergey and myself. Developer / Builder Note: CUDA Toolkit 6.5 is highly recommended for this, also note that building the experimental kernel requires a lot of system memory (~7-8GB).
2014-08-22Cycles: Drop support for CUDA 5.0 Toolkit, only 6.0 and 6.5 (recommended) ↵Thomas Dinges
are supported now.
2014-08-19Fix T41471 Cycles Bake: Setting small tile size results in wrong bake with ↵Dalai Felinto
stripes rather than the expected noise pattern This problem was introduced in 983cbafd1877f8dbaae60b064a14e27b5b640f18 Basically the issue is that we were not getting a unique index in the baking routine for the RNG (random number generator). Reviewers: sergey Differential Revision: https://developer.blender.org/D749
2014-08-15Revert "Fix T41222 Blender gives weird output when baking (4096*4096) ↵Dalai Felinto
resolution on GPU" This reverts commit a48b372b04421b00644a0660bfdf42229b5ffceb. Leaving only the part that fix device_multi.cpp
2014-08-09Cycles OpenCL error to string removed in favour of the same function in clew.Martijn Berger
2014-08-05Fix T41222 Blender gives weird output when baking (4096*4096) resolution on GPUDalai Felinto
In collaboration with Sergey Sharybin. Also thanks to Wolfgang Faehnle (mib2berlin) for help testing the solutions. Reviewers: sergey Differential Revision: https://developer.blender.org/D690
2014-08-05Deduplicate CUDA and OpenCL wranglersSergey Sharybin
For now it was mainly about OpenCL wrangler being duplicated between Cycles and Compositor, but with OpenSubdiv work those wranglers were gonna to be duplicated just once again. This commit makes it so Cycles and Compositor uses wranglers from this repositories: - https://github.com/CudaWrangler/cuew - https://github.com/OpenCLWrangler/clew This repositories are based on the wranglers we used before and they'll be likely continued maintaining by us plus some more players in the market. Pretty much straightforward change with some tricks in the CMake/SCons to make this libs being passed to the linker after all other libraries in order to make OpenSubdiv linked against those wranglers in the future. For those who're worrying about Cycles being less standalone, it's not truth, it's rather more flexible now and in the future different wranglers might be used in Cycles. For now it'll just mean those libs would need to be put into Cycles repository together with some other libs from Blender such as mikkspace. This is mainly platform maintenance commit, should not be any changes to the user space. Reviewers: juicyfruit, dingto, campbellbarton Reviewed By: juicyfruit, dingto, campbellbarton Differential Revision: https://developer.blender.org/D707
2014-08-02SpellingCampbell Barton
2014-07-29Implement get_split_task_count to make device_network compile again.Martijn Berger
2014-07-25Cycles Bake: show progress bar during bakeDalai Felinto
Baking progress preview is not possible, in parts due to the way the API was designed. But at least you get to see the progress bar while baking. Reviewers: sergey Differential Revision: https://developer.blender.org/D656
2014-07-25Switch to Cuda 4.0 style api for kernel invocation. This is a small clean-up ↵Martijn Berger
that has no functional changes but makes code a bit more readable. Differential revision: https://developer.blender.org/D659 Reviewed by: Sergey Sharybin, Thomas Dinges
2014-07-05Cleanup: Typo fixes.Thomas Dinges
2014-07-02Cycles: Update CUDA error messages, based on Toolkit 6.0.Thomas Dinges
* Removed deprecated erros, and added some new ones, which might help to figure out problems in the future.
2014-07-02Cleanup: Remove unused checks in CUDA device code.Thomas Dinges
2014-06-14Cycles: Add an AVX2 CPU kernel.Thomas Dinges
This kernel is compiled with AVX2, FMA3, and BMI compiler flags. At the moment only Intel Haswell benefits from this, but future AMD CPUs will have these instructions as well. Makes rendering on Haswell CPUs a few percent faster, only benchmarked with clang on OS X though. Part of my GSoC 2014.
2014-06-06Fix T40370: cycles CUDA baking timeout with high number of AA samples.Brecht Van Lommel
Now baking does one AA sample at a time, just like final render. There is also some code for shader antialiasing that solves T40369 but it is disabled for now because there may be unpredictable side effects.
2014-06-05Fix T40228: cycles CUDA multi GPU + world MIS giving error.Brecht Van Lommel
2014-05-27Fix T40379: world MIS causing too much CUDA memory usage.Brecht Van Lommel
The kernel for baking the world texture was the same as the one used for baking. Now that's separate which allows the kernel to reserve much less memory.