On Windows and macOS, the default maximum number of stdio file handles
is 512 and 256 respectively. On Linux it's usually some very high
number. This increases that limit on startup to 8192, to better handle
some production files and have more uniform limits across platforms.
This is commonly done in VFX software.
Some code in Blender keeps file handles open for a long time,
particularly the Cycles texture cache and Alembic cache file datablocks.
This helps improve performance when reading tiles or frames on demand,
without having to reopen the file each time.
Cycles limits itself to 128 file handles, but there is no limit on cache
file datablocks. The production file in #160383 has 480 open file
handles for Alembic, so it was already near the limit on Windows, and
then a few more pushed it over.
By increasing the limit, at a minimum all production files that worked
before should continue to work when enabling the texture cache.
Improving the cache file datablock to use fewer handles is left for
another time.
Fix#160383: Cycles texture missing images in production file
Pull Request: https://projects.blender.org/blender/blender/pulls/160488
* Switch to more accurate half and float conversion supporting denormals
to match native instructions. This makes CPU and GPU match more
closely in some tests and avoids clipping some low values.
* Inf and NaN are not supported still, as we already filter these out
and there is no reason to have the overhead.
* Change avx2 kernel to require f16c. For all physical CPUs avx2 implies
f16c, and it's only for emulation and virtual machines that this would
not be the case. So it's fine to fall back to the sse4.1 kernel then.
* Assume half instructions are available with ARM NEON. There is no
defined minimum architecture, but Blender assumes the same and ARMv8.2-A
is relatively old.
* For everything else there are SIMD optimized fallbacks.
* New unit tests were added, coverting both native instructions and
fallback implementations, and half/half3/half4.
Fix#152763: Half float image low values are clipped
Pull Request: https://projects.blender.org/blender/blender/pulls/154042
On APUs, cpuid returns a brand string that includes both CPU and GPU
information. For RDNA 3 and RDNA 3.5 parts, the pattern is
"cpu_info w/ gpu_info" (e.g., _AMD Ryzen 9 8940H w/ Radeon 780M Graphics_).
RDNA 2 APUs follow the same pattern using “with”.
Including GPU details in the CPU device option has caused confusion for some
users.
This pull request updates the logic to detect AMD in the brand string and
strips the GPU portion if it is part of the string. It checks for “w/” or
“with” and removes the trailing GPU information, leaving only the CPU name.
Co-authored-by: Sergey Sharybin <sergey@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/151141
This probably should always have been the value used, really.
Now, instead of reporting `Qualcomm Technologies Inc`, it reports the more informative `Snapdragon(R) X Elite - X1E78100 - Qualcomm(R) Oryon(TM) CPU` on a Thinkpad T14s Gen6 device.
Pull Request: https://projects.blender.org/blender/blender/pulls/128808
This commit updates all defines, compiler flags and cleans up some code for unused CPU capabilities.
There should be no functional change, unless it's run on a CPU that supports sse41 but not sse42. It will fallback to the SSE2 kernel in this case.
In preparation for the new SSE4.2 minimum in Blender 4.2.
Pull Request: https://projects.blender.org/blender/blender/pulls/118043
The performance of this will be slightly more important for upcoming changes.
Also removed an unused function and changed includes so these system.h can
be included in more places.
* Add missing GLEW and hgiGL libraries for Hydra
* Fix wrong case sensitive include
* Fix link errors by adding external libs to static Hydra lib
* Work around weird Hydra link error with MAX_SAMPLES
* Use Embree by default for Hydra
* Sync external libs code with standalone
* Update version number to match Blender
* Remove unneeded CLEW/GLEW from test executable
None of this should affect Cycles in Blender.
Ref T96731
* Replace license text in headers with SPDX identifiers.
* Remove specific license info from outdated readme.txt, instead leave details
to the source files.
* Add list of SPDX license identifiers used, and corresponding license texts.
* Update copyright dates while we're at it.
Ref D14069, T95597
No need for it now since all the threading queries and
scheduling is done via TBB.
Should be no functional changes as all the removed code
is supposed to be unused.
Remove prefix of filenames that is the same as the folder name. This used
to help when #includes were using individual files, but now they are always
relative to the cycles root directory and so the prefixes are redundant.
For patches and branches, git merge and rebase should be able to detect the
renames and move over code to the right file.
2021-10-26 15:37:04 +02:00
Renamed from intern/cycles/util/util_system.cpp (Browse further)