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
2022-08-05Fix T99201: Cycles render difference with 3D hair curves between OptiX and ↵Brecht Van Lommel
Emrbee It should consistently use the Cycles pirmitive ID for self intersection detection, not the one from the OptiX or Embree acceleration structure. Differential Revision: https://developer.blender.org/D15632
2022-08-04Merge branch 'blender-v3.3-release'Hans Goudey
2022-08-04Fix T99055: Cycles vertex color bake + denoising gives bad resultBrecht Van Lommel
No denoising is supported in this case, it only works on images.
2022-08-04Fix T100134: Cycles faceted triangle normals with motion blurBrecht Van Lommel
After recent changes to change barycentric coordinate convention.
2022-08-04Fix T100205: Cycles wrong volume shading with two materials in objectBrecht Van Lommel
Assume that all faces using the smae material form a closed mesh, so that joining meshes gives the same result as separate meshes. It does mean that using different materials on different sides of one closed mesh do not work, but the meaning of that is poorly defined anyway if there is a volume interior.
2022-08-04Cleanup: Move RNA path functions into own C++ fileJulian Eisel
NOTE: This is committed to the 3.3 branch as part of D15606, which we decided should go to this release still (by Bastien, Dalai and me). That is because these are important usability fixes/improvements to have for the LTS release. Adds `rna_path.cc` and `RNA_path.h`. `rna_access.c` is a quite big file, which makes it rather hard and inconvenient to navigate. RNA path functions form a nicely coherent unit that can stand well on it's own, so it makes sense to split them off to mitigate the problem. Moreover, I was looking into refactoring the quite convoluted/overloaded `rna_path_parse()`, and found that some C++ features may help greatly with that. So having that code compile in C++ would be helpful to attempt that. Differential Revision: https://developer.blender.org/D15540 Reviewed by: Brecht Van Lommel, Campbell Barton, Bastien Montagne
2022-08-04Fix broken build due to missing include.Bastien Montagne
Caused by rBa95103f6f4abda2b. Please build blender before committing!
2022-08-04Fix leak when the cursor leaves the window while dragging in WaylandCampbell Barton
2022-08-04Fix double-free after drag & drop with GHOST/WaylandCampbell Barton
Resolve crash on exit after drag & drop in Wayland.
2022-08-04GHOST/Wayland: support URL decoding for file drag & dropCampbell Barton
Paths that contained characters that needed escaping as URL's failed to import. Move URL decoding to a new file (GHOST_PathUtils), shared with X11 but maybe be useful for other platforms too.
2022-08-04Fix drag & drop in Wayland with some applicationsCampbell Barton
Drag & drop worked with GTK3 apps but not QT5 (pcmanfm-qt for eg) as files are separated by '\n' instead of '\r\n'. Resolve by supporting both (follow up to T99737).
2022-08-04GHOST/Wayland: improve logging for drag & dropCampbell Barton
Log the response for dropping events to simplify troubleshooting drag & drop failure.
2022-08-04Guarded allocator: Function to rename block for debuggingJulian Eisel
We have plenty of sorta generic functions, that allocate memory with some generic name for debugging. When such a function is called and the memory leaks, it may be unclear which call to it allocated the unfreed memory (and thus which execution path leads to the leak). The added function is only available if `NDEBUG` is not defined. Differential Revision: https://developer.blender.org/D15605 Reviewed by: Sergey Sharybin, Bastien Montagne
2022-08-03Image: Display GPU layout in `uiTemplateImageInfo`Angus Stanton
Add IMB_gpu_get_texture_format and GPU_texture_format_description to retrieve and 'stringify' an eGPUTextureFormat. These are then used in the image info panel used in several areas across blender. New Information: {F13330937} Reviewed By: jbakker Maniphest Tasks: T99998 Differential Revision: https://developer.blender.org/D15575
2022-08-02Fix T100119: Light object's parametric vector distorted in blender 3.4Sergey Sharybin
Caused by 38af5b050100. Adjust barycentric coordinates used for intersection result in the ray-to-rectangle intersection check. Differential Revision: https://developer.blender.org/D15592
2022-08-01Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-01Cycles: Resolve recent performance regression in oneAPI implementation for ↵Nikita Sirgienko
Intel® Arc™ GPUs Recently, performance with oneAPI have regressed due some recent changes in Blender itself. This commit's changes is resolving this and also improve compilation time for oneAPI backend first execution (or Blender compilation time in case of AoT). Regression have appeared after 5152c7c152e and not related to the changes itself, but increase of kernels complexity introduced with it. Changes in this commit is marking some Blender functions as noinlined for oneAPI backend, which helps GPU compiler to deal with this complexity without any negative side-effects on performance.
2022-07-29Cleanup: Move RNA path functions into own C++ fileJulian Eisel
Adds `rna_path.cc` and `RNA_path.h`. `rna_access.c` is a quite big file, which makes it rather hard and inconvenient to navigate. RNA path functions form a nicely coherent unit that can stand well on it's own, so it makes sense to split them off to mitigate the problem. Moreover, I was looking into refactoring the quite convoluted/overloaded `rna_path_parse()`, and found that some C++ features may help greatly with that. So having that code compile in C++ would be helpful to attempt that. Differential Revision: https://developer.blender.org/D15540 Reviewed by: Brecht Van Lommel, Campbell Barton, Bastien Montagne
2022-07-29Merge branch 'blender-v3.3-release'Bastien Montagne
2022-07-29Fix Cycles build error with CUDA on arm64Tianhao Chai
Checking arm64 assembly support before CUDA/Metal would cause NVCC to generate inline arm64 assembly. Differential Revision: https://developer.blender.org/D15569
2022-07-28Cleanup: simplifications and consistency for vector typesBrecht Van Lommel
* OneAPI: remove separate float3 definition * OneAPI: disable operator[] to match other GPUs * OneAPI: make int3 compact to match other GPUs * Use #pragma once * Add __KERNEL_NATIVE_VECTOR_TYPES__ to simplify checks * Remove unused vector3
2022-07-27Cycles: switch Cycles triangle barycentric convention to match Embree/OptiXBrecht Van Lommel
Simplifies intersection code a little and slightly improves precision regarding self intersection. The parametric texture coordinate in shader nodes is still the same as before for compatibility.
2022-07-27Cleanup: remove unnecessary bvh_instance_motion_popBrecht Van Lommel
2022-07-27Fix broken BVH2 on CPU after recent changesBrecht Van Lommel
Runtime switching between Embree and BVH2 got lost.
2022-07-27Cycles oneAPI: simplify num_concurrent_states selectionXavier Hallade
The number of Execution Units and resident "threads" (simd width * threads per EUs) are now exposed and used to select the number of states using a simplified heuristic.
2022-07-26Cleanup: spelling in commentsCampbell Barton
2022-07-26Fix Cycles Metal build errors after recent changesBrecht Van Lommel
float8 is a reserved type in Metal, but is not implemented. So rename to float8_t for now. Also move back intersection handlers to kernel.metal, they can't be in the class that encapsulates the other Metal kernel functions.
2022-07-25Cycles: Nishita Sky: Fix sun disk imprecision for large elevationClément Foucault
The issue was introduced by rBad5e3d30a2d2 which made possible to use unbounded elevation angle. In order to not touch the shading code, we just remap the value to the expected range the shading code expects. This means that elevation angles above +/-PI/2 effectively flip the sun rotation angle.
2022-07-25Cleanup: remove __KERNEL_CPU__Brecht Van Lommel
This was tested in some places to check if code was being compiled for the CPU, however this is only defined in the kernel. Checking __KERNEL_GPU__ always works.
2022-07-25Cycles: add math functions for float8Andrii Symkin
This patch adds required math functions for float8 to make it possible using float8 instead of float3 for color data. Differential Revision: https://developer.blender.org/D15525
2022-07-25Cleanup: move device BVH code to kernel/device/*/bvh.hBrecht Van Lommel
Having the OptiX/MetalRT/Embree/MetalRT implementations all in one file with many #ifdefs became too confusing. Instead split it up per device, and also move it together with device specific hit/filter/intersect functions and associated data types.
2022-07-25Fix wrong Cycles SSS intersection distance after ray distance changesBrecht Van Lommel
No need anymore to have a difference between CPU/GPU, all distances remain in world space.
2022-07-25Cycles: simplify handling of ray distance in GPU renderingBrecht Van Lommel
All our intersections functions now work with unnormalized ray direction, which means we no longer need to transform ray distance between world and object space, they can all remain in world space. There doesn't seem to be any real performance difference one way or the other, but it does simplify the code.
2022-07-25Cycles: more closely match some math and intersection operations in EmbreeBrecht Van Lommel
This helps with debugging, and gives a slightly closer match between CPU and CUDA/HIP/Metal renders when it comes to ray tracing precision.
2022-07-25Fix build error with WITH_CYCLES_KERNEL_NATIVE_ONLY on macOS ArmBrecht Van Lommel
-march=native is not supported for all architectures.
2022-07-24Fix T98367: Light group passes do not work when shadow catcher is usedLukas Stockner
2022-07-22GHOST/Wayland: Fix mouse wheel events for Sway Compositor (use seat v5)Campbell Barton
Bump the requested seat version to v5, use discreet scroll callback. Tested with gnome, river & sway.
2022-07-21Fix T91932: number sliders wrap around when dragged for long distance on X11Sebastiano Barrera
The value of number sliders (e.g. the "end frame" button) wrap around to their pre-click value when dragging them for a very long distance (e.g. by lifting the mouse off the desk and placing it back on to keep dragging in the same direction). The problem is X11-specific, and due to XTranslateCoordinates using a signed int16 behind the curtains, while its signature and the rest of Blender uses int32. The solution is to only use XTranslateCoordinates on (0, 0) to get the delta between the screen and client reference systems, and applying the delta in a second step. Differential Revision: https://developer.blender.org/D15507
2022-07-21GHOST/Wayland: fix cursor glitch after grabbing while hiddenCampbell Barton
When the cursor grabbing was disabled, Blender's internal location (wmWindow.eventstate) kept the location before un-hiding. This caused the paint cursor to show in the wrong location after adjusting the color wheel for e.g.
2022-07-21Cleanup: spelling in comments, typos in tool-tipsCampbell Barton
2022-07-20Point Cloud: Remove redundant custom data pointersHans Goudey
Similar to e9f82d3dc7eebadcc52, but for point clouds instead. Differential Revision: https://developer.blender.org/D15487
2022-07-20Curves: Remove redundant custom data pointersHans Goudey
These mutable pointers present problems with ownership in relation to proper copy-on-write for attributes. The simplest solution is to just remove them and retrieve the layers from `CustomData` when they are needed. This also removes the complexity and redundancy of having to update the pointers as the curves change. A similar change will apply to meshes and point clouds. One downside of this change is that it makes random access with RNA slower. However, it's simple to just use the RNA attribute API instead, which is unaffected. In this patch I updated Cycles to do that. With the future attribute CoW changes, this generic approach makes sense because Cycles can just request ownership of the existing arrays. Differential Revision: https://developer.blender.org/D15486
2022-07-19Cleanup: Remove compile option for curves objectHans Goudey
After becb1530b1c81a408e20 the new curves object type isn't hidden behind an experimental flag anymore, and other areas depend on this, so disabling curves at compile time doesn't make sense anymore.
2022-07-19Cleanup: quiet compiler warningsCampbell Barton
2022-07-18Cleanup: change internal Cycles compact BVH default to match UIBrecht Van Lommel
2022-07-18Subdiv: remove unused GPU device choice, fix crash with libepoxy on initBrecht Van Lommel
openSubdiv_init() would detect available evaluators before any OpenGL context exists, causing a crash with libepoxy. This test however is redundant as we already check the requirements on the Blender side through the GPU API. To simplify things, completely remove the device detection in the opensubdiv module and reduce the evaluators to just CPU and GPU. The plan here is to move to the GPU module abstraction over OpenGL/Metal/Vulkan and so all these different backends no longer make sense. This also removes the user preference for OpenSubdiv compute device, which was not used for the new GPU subdivision implementation. Ref D15291 Differential Revision: https://developer.blender.org/D15470
2022-07-16Cleanup: early exit MEM_lockfree_freeN when called with NULL pointerCampbell Barton
Simplify logic for freeing a NULL pointer. While no null-pointer de-reference was performed, this wasn't as so obvious as the pointer was passed to MEM_lockfree_allocN_len before checking for NULL. NOTE: T99744 claimed the a NULL pointer free was a vulnerability, while I can't see evidence for this - exiting early makes it clearer the memory isn't accessed. *Details* - Add MEMHEAD_LEN macro, avoids redundant NULL check. - Use "UNLIKELY(..)" hint's for error cases (freeing NULL pointer and checking if `leak_detector_has_run`).
2022-07-15Cycles: refactor rays to have start and end distance, fix precision issuesBrecht Van Lommel
For transparency, volume and light intersection rays, adjust these distances rather than the ray start position. This way we increment the start distance by the smallest possible float increment to avoid self intersections, and be sure it works as the distance compared to be will be exactly the same as before, due to the ray start position and direction remaining the same. Fix T98764, T96537, hair ray tracing precision issues. Differential Revision: https://developer.blender.org/D15455
2022-07-15Fix Cycles MetalRT error after recent specialization changesBrecht Van Lommel
2022-07-15Cleanup: compiler warningBrecht Van Lommel