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
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.
2014-05-26Fix T40306: cycles baking not distributing work among CPU cores well.Brecht van Lommel
2014-05-19Cycles: revert async CUDA changes, these are giving too much trouble still.Brecht Van Lommel
Fixes T40027. This means we get more CPU usage again when using multiple CUDA, but the impact on performance is too big a problem with the current code.
2014-05-11Cycles / CUDA: Increase maximum image textures on GPU.Thomas Dinges
Instead of 95, we can use 145 images now. This only affects Kepler and above (sm30, sm_35 and sm_50). This can be increased further if needed, but let's first test if this does not come with a performance impact. Originally developed during my GSoC 2013.
2014-05-10Fix T40119, CUDA Toolkit version mismatchThomas Dinges
2014-05-04Style cleanup: indentation, bracesCampbell Barton
2014-05-03Code cleanup: style, require ; for cuda_assert, opencl_assertCampbell Barton
2014-05-03Cycles: CUDA changes for kernel evaluation cancelBrecht Van Lommel
2014-05-03Cycles BakeDalai Felinto
Expand Cycles to use the new baking API in Blender. It works on the selected object, and the panel can be accessed in the Render panel (similar to where it is for the Blender Internal). It bakes for the active texture of each material of the object. The active texture is currently defined as the active Image Texture node present in the material nodetree. If you don't want the baking to override an existent material, make sure the active Image Texture node is not connected to the nodetree. The active texture is also the texture shown in the viewport in the rendered mode. Remember to save your images after the baking is complete. Note: Bake currently only works in the CPU Note: This is not supported by Cycles standalone because a lot of the work is done in Blender as part of the operator only, not the engine (Cycles). Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Bake Supported Passes: ----------------- Data Passes * Normal * UV * Diffuse/Glossy/Transmission/Subsurface/Emit Color Light Passes * AO * Combined * Shadow * Diffuse/Glossy/Transmission/Subsurface/Emit Direct/Indirect * Environment Review: D421 Reviewed by: Campbell Barton, Brecht van Lommel, Sergey Sharybin, Thomas Dinge Original design by Brecht van Lommel. The entire commit history can be found on the branch: bake-cycles
2014-05-03Code cleanup: Add -Werror=float-conversion to CyclesCampbell Barton
2014-04-30Cycles CUDA: make CUDA toolkit 6.0 the official supported version.Brecht Van Lommel
This also updates the configurations to build kernels for compute capability 5.0 cards, when using and older CUDA toolkit version this will be skipped. Also includes tweaks to improve performance with this version: * Increase max registers on sm_30, sm_35 and sm_50 * No longer use texture storage on sm_30
2014-04-21Cleanup: Remove OpenCL __MULTI_CLOSURE__ sanity check, not needed anymore ↵Thomas Dinges
after 04a10907dc41.
2014-04-17Cycles CUDA: don't use cuLaunchGridAsync at all for display devices.Brecht Van Lommel
As suggested by Martijn, this is slower than cuLaunchGrid.
2014-04-17Cycles CUDA: only do async execution for GPUs not used for display.Brecht Van Lommel
Otherwise devices used for display will lock up the UI too much. This means you might still get 100% CPU for the display device, but for others CPU usage should be low still. The check to see if a device is used for display may not be entirely reliable, it checks if there is a watchdog timeout on the device, but I'm not entirely sure that always exists for display devices or is disabled for non-display devices, though some tools like cuda-gdb seem to make the same assumption. Ref T39559
2014-04-16Fix another compile error with recent commit on visual studio.Brecht Van Lommel
2014-04-16Cycles CUDA: enabled branched path kernel again, with more registers.Brecht Van Lommel
2014-04-16Cycles code refactor: use __launch_bounds__ instead of -maxrregcount for CUDA.Brecht Van Lommel
This makes it easier to have per kernel number of registers. Also, all the tunable parameters for this are now in kernel.cu, rather than spread over cmake, scons and device_cuda.cpp.
2014-04-09Cycles / CUDA: Increase sm_2x registers to 40.Thomas Dinges
This fixes the ptaxs "ACCESS_VIOLATION" error and should allow our Linux and Windows build bots to compile again. Unfortunately this comes with a performance penalty on sm_2x cards, so this is only a workaround for now. Branched Path is still globally disabled on GPU.
2014-04-07OpenCL Change opencl_assert to be more like cuda assert where possible.Martijn Berger
added some extra warnings and feedback if things go wrong
2014-04-04Cycles: Disable Branched Path on all GPUs for now, until we separate the cubins.Thomas Dinges
SM_20 fails now as well, reported by Zanqdo in IRC.
2014-03-29Cycles code internals: add CPU kernel support for 3D image textures.Brecht Van Lommel
2014-03-27Cycles: Raise a proper error message when using Branched Path on sm_30, this ↵Thomas Dinges
is currently still disabled.
2014-03-26Fix T39420: Cycles viewport/preview flickers, when moving mouse across editorsSergey Sharybin
Issue was caused by the wrong usage of OCIO GLSL binding API. To make it work properly on pre-GLSL-1.3 drivers shader is to be enabled after the texture is binded to the opengl context. Otherwise it wouldn't know the proper texture size. This is actually a regression in 2.70 and to be ported to 'a'.
2014-03-19Fix T39247Martijn Berger
Changes to interpolation break texture allocation on sm35 and greater.
2014-03-08Add support for multiple interpolation modes on cycles image texturesMartijn Berger
All textures are sampled bi-linear currently with the exception of OSL there texture sampling is fixed and set to smart bi-cubic. This patch adds user control to this setting. Added: - bits to DNA / RNA in the form of an enum for supporting multiple interpolations types - changes to the image texture node drawing code ( add enum) - to ImageManager (this needs to know to allocate second texture when interpolation type is different) - to node compiler (pass on interpolation type) - to device tex_alloc this also needs to get the concept of multiple interpolation types - implementation for doing non interpolated lookup for cuda and cpu - implementation where we pass this along to osl ( this makes OSL also do linear untill I add smartcubic to the interface / DNA/ RNA) Reviewers: brecht, dingto Reviewed By: brecht CC: dingto, venomgfx Differential Revision: https://developer.blender.org/D317