Commit Graph

4967 Commits

Author SHA1 Message Date
Benjamin Doherty
2b93f08ca5 Merge branch 'rc/1.20.2' into release v1.20.2 2022-03-07 14:10:07 -08:00
Benjamin Doherty
fca62b8fff Update RELEASE_NOTES for 1.20.2 2022-03-07 14:08:41 -08:00
Benjamin Doherty
dee6d9de2c Bump version to 1.20.2 2022-03-02 15:51:38 -08:00
Benjamin Doherty
574e3e7521 Merge branch 'rc/1.20.1' into release v1.20.1 2022-03-02 15:47:21 -08:00
Benjamin Doherty
1797ff5d90 Release Filament 1.20.1 2022-03-02 15:46:41 -08:00
Philip Rideout
8c46e6de9b matdbg: repair invalid JSON and display of active variants.
The JSON response to /api/active became malformed after #4465 because
raw hex strings need to be enclosed by quotes.

This commit changes the variant format in the /api/materials response
to be consistent with one used for /api/active. By using integers
instead of strings, we're avoiding the need to parse integers at run
time.

The JSON error did not appear in the Chrome console because it was being
silenced as a hack to appease "matinfo --web-server". I fix this by
removing the hack and simply emitting a valid response when there's
no live backend.

Also fixed the display of materials, which were always being marked
as active even when they had no active variants.
2022-03-02 15:01:25 -08:00
Philip Rideout
613adfa342 VulkanPipelineCache: fix use-after-free when growing pool.
We held a reference to a cache item after potentially clearing it due to
pool growth. I was able to trigger an error only after enabling ASAN and
loading a large model.  Many thanks to @jeanlemotan for catching this.
2022-03-02 14:59:10 -08:00
Philip Rideout
684b0622eb Vulkan: fix logic that determines when to grow descriptor pool.
When we added per-layout arenas for each of the 3 descriptor types, we
did not account for them when determining how much of the Vk Pool is in
use. Therefore the "growth" (really a re-creation) of the Vk Pool wasn't
always occurring when necessary, causing descriptor set allocation to
fail with large models.
2022-03-02 12:39:33 -08:00
Philip Rideout
426f345f19 Minor updates to how we include vk_mem_alloc.
In the current version of the library, it looks like the DYNAMIC config
macro has been replaced with a STATIC config macro.

Also disabled the "unused-private-field" warning since this is a 3rd
party library and its not our fault.
2022-03-02 12:37:14 -08:00
Ben Doherty
f80df6e061 Make VulkanContext compatible with vk_mem_alloc dev 2022-03-02 12:10:45 -08:00
Ben Doherty
29fdf82ac5 Make VulkanContext compatible with vk_mem_alloc dev 2022-03-02 12:10:20 -08:00
Ben Doherty
e2177e8b36 Apply some clang-tidy fixes (#5281) 2022-03-02 11:49:45 -08:00
Benjamin Doherty
c8cf2a54e8 Update RELEASE_NOTES for 1.20.1 2022-03-02 11:47:51 -08:00
Ben Doherty
bfd32e67d4 Apply some clang-tidy fixes (#5281) 2022-03-02 11:43:51 -08:00
chubei-oppen
37353cca55 android-utils: Copy bug fixes from upstream (#5279) 2022-03-01 17:32:40 -10:00
chubei-oppen
c72817fc25 Bugfix: Mat4 from Quaternion was transposed (#5277) 2022-03-01 10:08:27 -08:00
Mathias Agopian
81c1d3ed1a more code size reduction
The main change here is from ResourceList which ended-up generating
a lot of code due to inlining. This class is only used for tracking
user resources and is not in the performance path.

This saves another ~5K or so of code.
2022-03-01 10:03:31 -08:00
Mathias Agopian
0e1234c57d move the component manager thunks into their own cpp 2022-03-01 10:03:31 -08:00
Mathias Agopian
50fa816a6e fight more unnecessary inlining 2022-03-01 10:03:31 -08:00
Philip Rideout
07f4211dd3 Vulkan: cleanup as per code review. 2022-03-01 08:04:42 -08:00
Philip Rideout
44a433398f Vulkan: shrink DescriptorKey. 2022-03-01 08:04:42 -08:00
Philip Rideout
6821cb60b5 Vulkan: shrink PipelineKey from 608 bytes to 304 bytes. 2022-03-01 08:04:42 -08:00
Philip Rideout
b8788bc390 Minor refactoring in VulkanSwapChain. 2022-03-01 08:04:42 -08:00
Philip Rideout
94c59d9d97 libutils: fix inconsistent hash in StaticString
This caused a unit test failure because a StaticString constructed
from "make" had a different hash than one constructed from a literal,
even though the two strings were lexigraphically equivalent.
2022-02-28 15:42:06 -08:00
daemyung jang
5201b5a1ba Decouple the morphing from the render primitive (#5216)
Having MorphTargetBuffer in FRenderPrimitive is a concept of glTF. Filament doesn't have to follow this concept. Actually the responsibility of FRenderPrimitive is to define vertex input stream because FRenderPrimitive maps to HwRenderPrimitive in Filament. If we store MorphTargetBuffer into FRenderPrimitive then it exceeds the responsibility of FRenderPrimitive. Because MorphTargetBuffer doesn't have any information on how to set up vertex input stream. So handling morphing like skinning will be better.
2022-02-28 11:36:52 -08:00
Philip Rideout
215ef460ef Update Vulkan Memory Allocator to v2.3.0 2022-02-28 11:18:34 -08:00
Philip Rideout
90be8ebfa2 Metal: fix bad upload size in blitDepthPlane.
This was caught by ASAN.
2022-02-28 10:33:42 -08:00
Mathias Agopian
f62d58bd45 don't inline the command dispatcher ctor
We were basically getting two copies.
2022-02-25 13:19:31 -08:00
Mathias Agopian
9e5da2d75f more size optimizations 2022-02-25 13:19:31 -08:00
Mathias Agopian
e12f079ac1 don't prevent unrolling of libmath == operator
We were not unrolling the == loop because the generated code with
unrolling was very branchy; but that's not a good call either because
the loop has the same number of unpredicted branches.
Theoretically the compiler should be able to emit a branchless == but
it doesn't. At least we give it a chance.
2022-02-25 13:19:31 -08:00
Philip Rideout
3c0f18753f GLTFIO_LITE does not need volume texture. 2022-02-25 09:28:17 -08:00
Mathias Agopian
a0e4d3df32 fix android build 2022-02-24 22:43:53 -08:00
Mathias Agopian
4f590e3326 uninline some non performance critical setters 2022-02-24 20:59:21 -08:00
Mathias Agopian
6fdfe606e6 move all public trampolines into their own cpp file
This should prevent code duplication due to agressive inlining.
2022-02-24 20:59:21 -08:00
Mathias Agopian
1baab6c3ae move all 'F' classes into src/details 2022-02-24 20:59:21 -08:00
Mathias Agopian
61e67a2766 clenaup 2022-02-24 20:59:21 -08:00
Philip Rideout
8277015785 Vulkan: Fix regression with IridescentDishWithOlives.
When we introduced texture-based morphing, our custom depth resolver
needed to be updated to set up samplers correctly. This fixes a
validation error about shader stage access.
2022-02-24 15:03:23 -08:00
Philip Rideout
97952e0ddc gltfio ubershader: provide dummy texture for volume thickness.
Fixes logcat spam seen with IridescentDishWithOlives.
2022-02-24 15:02:30 -08:00
Benjamin Doherty
95915367fa Bump version to 1.20.1 2022-02-24 13:59:17 -08:00
Benjamin Doherty
b769cfda62 Merge branch 'rc/1.20.0' into release v1.20.0 2022-02-24 13:57:10 -08:00
Benjamin Doherty
b80d73f3cf Release Filament 1.20.0 2022-02-24 13:55:33 -08:00
Benjamin Doherty
40ac88dfed Bump MATERIAL_VERSION to 20 2022-02-24 13:53:43 -08:00
Benjamin Doherty
6d96082f07 Bump version to 1.20.0 2022-02-24 13:53:43 -08:00
Benjamin Doherty
21f913db1c Update RELEASE_NOTES for 1.20.0 2022-02-24 13:53:42 -08:00
Philip Rideout
a1bf6a427d Enhancement for FILAMENT_VULKAN_VERBOSE. 2022-02-24 11:18:48 -08:00
Philip Rideout
67144bec73 Fix build when FILAMENT_VULKAN_VERBOSE is enabled. 2022-02-24 11:11:15 -08:00
Ben Doherty
699a578966 Add SSR variant filter to matc (#5256) 2022-02-24 10:36:06 -08:00
Ben Doherty
f801763e6b Add SSR variant filter to matc (#5256) 2022-02-24 10:35:30 -08:00
Philip Rideout
542dd331d7 Vulkan: Add asserts that check render target size. 2022-02-24 09:26:32 -08:00
chubei-oppen
4ac3454dc6 Bugfix: The first image passed to Stream::SetAcquiredImage is ignored and leaked 2022-02-24 09:25:14 -08:00