blender/intern
Kévin Dietrich b8ecdbcd96 Cycles: avoid copying vertex normals attribute twice to the devices
Vertex normals are needed for normals maps and therefore are packed and send
to the device alongside the other float3 attributes. However, we already pack
and send vertex normals through `DeviceScene.tri_vnormal`.

This removes the packing of vertex normals from the attributes buffer, and
reuses `tri_vnormal` in the kernel for normals lookup for normal maps, which
reduces memory usage a bit, and speeds up device updates.

This also fixes potential missing normals updates following rB12a06292af86,
since the need for vertex normals for normals maps was overlooked.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D12237
2021-08-18 21:12:39 +02:00
..
atomic Add support for RISC-V architecture 2021-07-15 14:22:35 +02:00
audaspace Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
clog Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
cycles Cycles: avoid copying vertex normals attribute twice to the devices 2021-08-18 21:12:39 +02:00
dualcon Spelling: Then Versus Than 2020-10-19 08:43:08 -07:00
eigen Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
ffmpeg Fix: VSE search in mpegts files would fail 2021-06-11 14:05:07 +02:00
ghost Cleanup: spelling 2021-08-16 23:46:28 +10:00
glew-mx Cleanup: GPUState: Remove stack from the state manager and rename it 2020-08-18 21:30:10 +02:00
guardedalloc Cleanup: use C++ style comments for disabled code 2021-08-12 14:34:41 +10:00
iksolver Cleanup: Spelling Mistakes 2021-06-22 10:54:50 -07:00
itasc Cleanup: repeated terms in code comments & error messages 2021-06-28 15:46:08 +10:00
libc_compat Build: add more libc compatibility functions for upcoming libraries update 2020-07-09 18:10:05 +02:00
libmv GTest: Use INC/INC_SYS for Libmv/OSD tests 2021-07-23 16:50:13 -06:00
locale Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
mantaflow Cleanup: repeated terms in code comments & error messages 2021-06-28 15:46:08 +10:00
memutil Cleanup: missing leading '*' from comment blocks 2021-07-30 22:20:31 +10:00
mikktspace Cleanup: use '#if 0' for commented code-block 2021-06-24 15:53:26 +10:00
numaapi Add support for RISC-V architecture 2021-07-15 14:22:35 +02:00
opencolorio Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
opensubdiv GTest: Use INC/INC_SYS for Libmv/OSD tests 2021-07-23 16:50:13 -06:00
openvdb Cleanup: Remove unused/unecessary OpenVDB C API 2021-08-02 12:26:28 -04:00
quadriflow Cleanup: Simplify logic, follow style guide for integer types 2021-07-30 15:08:43 -04:00
rigidbody Cleanup: reserve C++ comments for disabled code 2021-07-20 15:01:05 +10:00
sky Cleanup: Clang-tidy, readability-non-const-parameter. 2020-11-07 21:52:53 +05:30
utfconv Cleanup: spelling 2021-03-12 00:51:29 +11:00
CMakeLists.txt Atomic: Cover with unit tests 2020-11-19 17:19:48 +01:00