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
path: root/intern
AgeCommit message (Collapse)Author
2021-11-10Fix T92864: curve object does not sync correctly in cyclesJacques Lucke
The issue was that the `object_is_geometry` method was used in two different contexts that expected the function to behave differently. So a recent change that fixed `object_is_geometry` for one context, broke it for the other context. The two contexts are: * Check if a "real" object can contain a geometry to check if it has to be tagged for sync after an update. * Check if an object/instance actually is a geometry that cycles can work with. I created a new `object_can_have_geometry` method for the first use case, instead of trying to adapt the existing object_is_geometry method to serve both uses. Additionally, I changed it so that a BObjectInfo is passed into `object_is_geometry` to make it more explicit when this method is supposed to be used. Differential Revision: https://developer.blender.org/D13135
2021-11-09Cycles: mark both RDNA and RDNA2 as support for HIPBrecht Van Lommel
2021-11-09Cycles: add AMD driver version info for HIP on WindowsBrecht Van Lommel
2021-11-09Fix T92645: Cycles OSL crash due use of uninitialized pointerBrecht Van Lommel
Thanks to Ilja Razinkov for identifying the problem and solution.
2021-11-09Cycles: Improve OptiX denoising with dark images and fix crash when denoiser ↵Patrick Mours
is destroyed Adds a pass before denoising that calculates the intensity of the image, which can be passed into the OptiX denoiser for more optimal results for very dark or very bright images. In addition this also fixes a crash that sometimes occurred on exit. The OptiX denoiser object has to be destroyed before the OptiX device context object (since it references that). But in C++ the destructor function of a class is called before its fields are destructed, so "~OptiXDevice" was always called before "OptiXDevice::~Denoiser" and therefore "optixDeviceContextDestroy" was called before "optixDenoiserDestroy", hence the crash. Differential Revision: https://developer.blender.org/D13160
2021-11-09Fix T92472: OptiX denoising artifacts with recent GPU driver 495.29.05 or ↵Patrick Mours
newer on Linux Adds a workaround for a driver bug in r495 that causes artifacts with OptiX denoising. `optixDenoiserSetup` is not working properly there when called with a stream other than the default stream, so use the default stream for now and force synchronization across the entire context afterwards to ensure the other stream Cycles uses to enqueue the actual denoising command cannot execute before the denoising setup has finished. Maniphest Tasks: T92472 Differential Revision: https://developer.blender.org/D13158
2021-11-09Fix T92876: Cycles incorrect volume emission + absorption handlingBrecht Van Lommel
2021-11-08CMake: add missing headers to CMake listsCampbell Barton
2021-11-06Cycles: perform CPU film reading in the kernel, to use AVX2 half conversionBrecht Van Lommel
Adds a bunch of CPU kernel function to process on row of pixels, and use those instead of calling unoptimized implementations. Fixes T92598
2021-11-05Fix T91733, T92486: Cycles wrong shadow catcher with volumesBrecht Van Lommel
Changes: * After hitting a shadow catcher, re-initialize the volume stack taking into account shadow catcher ray visibility. This ensures that volume objects are included in the stack only if they are shadow catchers. * If there is a volume to be shaded in front of the shadow catcher, the split is now performed in the shade_volume kernel after volume shading is done. * Previously the background pass behind a shadow catcher was done as part of the regular path, now it is done as part of the shadow catcher path. For a shadow catcher path with volumes and visible background, operations are done in this order now: * intersect_closest * shade_volume * shadow catcher split * intersect_volume_stack * shade_background * shade_surface The world volume is currently assumed to be CG, that is it does not exist in the footage. We may consider adding an option to control this, or change the default. With a volume object this control is already possible. This includes refactoring to centralize the logic for next kernel scheduling in intersect_closest.h. Differential Revision: https://developer.blender.org/D13093
2021-11-05Fix T92566: Cycles distant lights too dim in reflectionsBrecht Van Lommel
2021-11-05Fix T92503: Cycles OSL crash with object attributesBrecht Van Lommel
Can't cast to float4 because it might not have correct alignment.
2021-11-05Fix T92815: Incorrect handling of evaluated meshes from curvesHans Goudey
Evaluated meshes from curves are presented to render engines as separate instance objects now, just like evaluated meshes from other object types like point clouds and volumes. For that reason, cycles should not consider curve objects as geometry (previously it did, meaning it retrieved a second mesh from the curve object as well as the temporary evaluated mesh geometry). Further, avoid adding a curve object's evaluated mesh as data_eval, since that is special behavior for meshes that is arbitrary. Adding an evaluated mesh there but not an evalauted pointcloud is arbitrary, for example. Retrieve the evaluated mesh in from the geometry set in BKE_object_get_evaluated_mesh now, to support that change. This gets us closer to a place where all of an object's evaluated data is stored in geometry_set_eval, and we just have helper functions to access specific geometry components. Differential Revision: https://developer.blender.org/D13118
2021-11-04Cleanup: fix typoBrecht Van Lommel
2021-11-04Cycles: add code to check for supported HIP device architecturesBrecht Van Lommel
RDNA2 only for now to be conservative, but testing more hardware is underway. Ref T92393 Differential Revision: https://developer.blender.org/D12958
2021-11-04Fix Cycles HIP Kernels loading on Arch names with extra optionsBrian Savery
The kernel file names are search for based on the arch name, for example gfx1010. However HIP's gcnArchName can contain options such as xnack- in the name. For example gfx1010:sramecc-:xnack-. This revision tokenizes the info from gcnArchName and just uses the first token for choosing the Kernel file to use. Kernels are portable across those features in the arch name. Also remove the bit for recompiling ptx as clearly that is not relevant. Differential Revision: https://developer.blender.org/D13117
2021-11-04Fix part of T91797: Cycles CPU and GPU render differences with camera inside ↵Brecht Van Lommel
volume
2021-11-04Fix T91986: incorrect syncing of geometry instancesJacques Lucke
The issue was that some geometries were not synced again even when they changed. This commit adds a map that keeps track of the geometries that need to be updated when an object has changed. Differential Revision: https://developer.blender.org/D13020
2021-11-04Fix T92450: Cycles wrong render with overlapping glass, transparency and volumesBrecht Van Lommel
We need to store the continuation probability used to make the termination decision in intersect_closest, instead of recomputing it in shade_surface. Because otherwise a shade_volume in between can change the throughput and change the probability.
2021-11-04Fix T92002: Cycles baking certain light passes does not workBrecht Van Lommel
When reading pixels for virtual passes like diffuse, that sum diffuse direct and indirect passes, we do not need them to exist with an offset in the render buffer.
2021-11-02Fix T85676: Cycles EXR merging not working with some single layer EXRsBrecht Van Lommel
If there is only a layer without a name, use metadata from the first cycles layer in the metadata, if any.
2021-11-02Fix T77681, T92634: noise texture artifacts with high detailBrecht Van Lommel
We run into float precision issues here, clamp the number of octaves to one less, which has little to no visual difference. This was empirically determined to work up to 16 before, but with additional inputs like roughness only 15 appears to work. Also adds misisng clamp for the geometry nodes implementation.
2021-11-02Fix T92462: Cycles crash calculating hair transparencySergey Sharybin
Need to make sure images needed for hair shaders are loaded before running the shader. The naming is a bit misleading, but this is an internal API and we can change it easily. Submitting minimal patch needed to fix logic in the code to make it safer to review for 3.0. Differential Revision: https://developer.blender.org/D13067
2021-11-02Fix typo in Cycles PMJ enum define.Thomas Dinges
Reported by Raimund58 in the chat, thanks!
2021-11-01Fix Cycles integrator presets.Thomas Dinges
New presets couldn't be added.
2021-11-01Fix Cycles unit test failing after recent changesBrecht Van Lommel
2021-11-01Fix Python error running regression tests after recent changesBrecht Van Lommel
2021-11-01Fix Cycles Python warnings when removed OpenCL device was enabledBrecht Van Lommel
2021-11-01Fix T92575: Cycles black pixels when rendering with > 65k samplesWilliam Leeson
Differential Revision: https://developer.blender.org/D13039
2021-11-01Fix T92684: Cycles does not fall back to OIDN if OptiX is not availableBrecht Van Lommel
2021-11-01Fix Cycles denoising depth pass missing in compositorBrecht Van Lommel
2021-11-01Fix Cycles logging some excessive detail with default --debug-cyclesBrecht Van Lommel
2021-11-01Fix T92671: confusing Cycles debug logs about CPU architectureBrecht Van Lommel
Instead of printing debug flags listing various CPU and GPU settings that may or may not be used, print when we are using them. This include CPU kernel types, OptiX debugging and CUDA and HIP adaptive compilation. BVH type was already printed.
2021-10-29Fix T92592: Cycles stereo render not rendering right viewBrecht Van Lommel
2021-10-29Fix T88877: 2.93: Crash on recent OSX with a non-English locale.Ankit Meel
Looks like OSX changed the default format of its locale, which is not valid anymore for gettext/boost::locale. Solution based on investigations and patch by Kieun Mun (@kieuns), with some further tweaks by Ankit Meel (@ankitm), many thanks. Also add an exception catcher on `std::runtime_error` in `bl_locale_set()`, since in OSX catching the ancestor `std::exception` does not work with `boost::locale::conv::conversion_error` and the like for some reasons. Reviewed By: #platform_macos, brecht Maniphest Tasks: T88877 Differential Revision: https://developer.blender.org/D13019
2021-10-28Fix T92513: Cycles stereo pole merge not rotating along with cameraBrecht Van Lommel
2021-10-28Fix T92255: Cycles Christensen-Burley render errors with scaled objectsBrecht Van Lommel
2021-10-28Fix T92491: Cycles panoramic camera inside volume fails with near clippingBrecht Van Lommel
2021-10-28Fix T92158: Cycles crash with Fast GI and area light MISBrecht Van Lommel
2021-10-28Cleanup: compiler warnings in with Cycles OSL and clangBrecht Van Lommel
2021-10-28Fix T92503: Cycles OSL crash with material previewsBrecht Van Lommel
2021-10-28Fix T92526: Cycles viewport denoiser red tint after recent changesBrecht Van Lommel
2021-10-27Cycles: tweak scrambling distance UI grouping, and improve tooltipBrecht Van Lommel
2021-10-27Cycles: Update UI for Scrambling Distance PatchAlaska
The current UI for the Scramble Distance patch is grayed out depending on different settings that are enabled. However it didn't make much sense to me so I have updated when the UI is grayed out to hopefully make more sense to the end user. Differential Revision: https://developer.blender.org/D12963
2021-10-27Cycles: Scrambling distance for the PMJ samplerWilliam Leeson
Adds scrambling distance to the PMJ sampler. This is based on the work by Mathieu Menuet in D12318 who created the original implementation for the Sobol sampler. Reviewed By: brecht Maniphest Tasks: T92181 Differential Revision: https://developer.blender.org/D12854
2021-10-27Cycles: Replace saturate with saturatefWilliam Leeson
saturate is depricated in favour of __saturatef this replaces saturate with __saturatef on CUDA by createing a saturatef function which replaces all instances of saturate and are hooked up to the correct function on all platforms. Reviewed By: brecht Differential Revision: https://developer.blender.org/D13010
2021-10-26Fix Cycles runtime GPU kernel compilation after recent refactorBrecht Van Lommel
2021-10-26Cleanup: remove files that should not have been added in file renamesBrecht Van Lommel
2021-10-26Distance Scrambling for for Cycles X - Sobol versionWilliam Leeson
Cycles:Distance Scrambling for Cycles Sobol Sampler This option implements micro jittering an is based on the INRIA research paper [[ https://hal.inria.fr/hal-01325702/document | on micro jittering ]] and work by Lukas Stockner for implementing the scrambling distance. It works by controlling the correlation between pixels by either using a user supplied value or an adaptive algorithm to limit the maximum deviation of the sample values between pixels. This is a follow up of https://developer.blender.org/D12316 The PMJ version can be found here: https://developer.blender.org/D12511 Reviewed By: leesonw Differential Revision: https://developer.blender.org/D12318
2021-10-26Fix T92502: Position Pass brokenSergey Sharybin
The kernel was writing it for the first sample only, while the film accessor was thinking it needs to be filtered.