Commit Graph

7311 Commits

Author SHA1 Message Date
Powei Feng
e89363751d docs: various updates and improvements (#8971)
- Add github link to page
 - Fix link in contributing.md
 - Small update to docs_src/README.md
 - Remove logo in the core docs
 - Move branching.md and release_guide.md to /docs_src
 - Add "under construction" warning for the web samples
 - Update matdbg README.md
2025-07-18 21:00:25 +00:00
Sungun Park
8636f11d73 Fix handle allocator (#8970)
Use the right type for the index to prevent the value from being
truncated.
2025-07-18 18:07:05 +00:00
Powei Feng
f499103ac8 docs: remove deprecated site generation code (#8968)
- Remove build.sh option for turning markdeep docs into html.
   This is subsumed by workflow in docs_src
- Remove old hugo templating path. This is also subsumed by
   docs_src.
2025-07-18 17:46:03 +00:00
Filament Bot
1b145310f8 [automated] Updating /docs due to commit f3d0741
Full commit hash is f3d0741853

DOCS_ALLOW_DIRECT_EDITS
2025-07-18 17:26:56 +00:00
Powei Feng
f3d0741853 docs: add back .md.html files
And also make Filament.html and Material.html redirects to the
md.html
2025-07-18 10:23:26 -07:00
Eliza Velasquez
feabf2d063 vulkan: fix build errors when trace enabled 2025-07-17 14:17:00 -07:00
Filament Bot
a3a46a051c [automated] Updating /docs due to commit 095014c
Full commit hash is 095014c860

DOCS_ALLOW_DIRECT_EDITS
2025-07-17 18:14:48 +00:00
Powei Feng
095014c860 docs: add coverage doc to SUMMARY.md 2025-07-17 11:11:41 -07:00
Filament Bot
8ef7755628 [automated] Updating /docs due to commit 06b0d52
Full commit hash is 06b0d5229a

DOCS_ALLOW_DIRECT_EDITS
2025-07-17 18:00:34 +00:00
Powei Feng
06b0d5229a Update docs_src/README.md 2025-07-17 10:57:39 -07:00
Powei Feng
528894339e Trigger doc regen 2025-07-16 16:59:43 -07:00
Powei Feng
329ca04248 Change unfilterable to filterable (#8932) 2025-07-16 23:46:20 +00:00
Powei Feng
7080dbbd23 Quick fix to docs generation postsubmit workflow 2025-07-16 15:59:50 -07:00
Ben Doherty
33da5fa38e Add documentation and flags for generating code coverage report (#8959) 2025-07-16 15:14:08 -07:00
Powei Feng
d136d85402 renderdiff: fix compare.py 2025-07-16 15:03:44 -07:00
Ben Doherty
a44f6d9498 Update renderdiff README.md (#8961) 2025-07-16 14:56:20 -07:00
Powei Feng
b5aeee3dfd renderdiff: upload artifact even when comparison fails (#8960)
Previously, if a comparison fails then the artifacts are not
uploaded.  This is defeats the puprpose of having artifacts. We
fix that by moving the test logic into presubmit.yml.

local_test.sh is the way to repro a run from local machine.
2025-07-16 14:45:51 -07:00
Sungun Park
d5ee54ff7e gl: Move program cache retrieval to the thread pool (#8957)
This commit refactors the ShaderCompilerService to move the logic for
retrieving compiled programs from the cache off the main thread and into
the compiler thread pool.

Previously, the cache lookup was performed on the main thread before a
compilation job was created. If the cache was slow or contained a large
number of entries, this could cause a noticeable stall, impacting
application responsiveness.

By moving the cache retrieval into the compilation task, the lookup now
happens on the background thread. This alleviates the main thread stall.

BUGS=[430628799]
2025-07-16 00:59:03 +00:00
rafadevai
cfd75743a2 vk: Fix pipeline binds (#8952)
When flushing a VulkanCommandBufffer the last bound pipeline in VulkanPipelineCache is not reset, so when starting a new VulkanCommandBuffer recording if the next binded pipeline is the same as the current one the vkCmdBindPipeline is not recorded, causing undefined behavior.

By the spec, the vkCmdBindPipeline only affects the commands in the same vkCommandBuffer. https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipeline.html#_description

BUGS=429105603,361822355
2025-07-15 22:56:10 +00:00
Mathias Agopian
6fd4f94418 better UBO invalidation
Only invalidate UBOs when the data actually changes. It turns out it's
a fairly common case for application to update MaterialInstance
parameters with the same value; we now check for this before
marking the UBO "dirty".

The overhead of this check should be very small but it could save
many very expensive buffer updates.
2025-07-15 11:24:01 -07:00
Mathias Agopian
e155fad7ef better UBO invalidation
Only invalidate UBOs when the data actually changes. It turns out it's
a fairly common case for application to update MaterialInstance
parameters with the same value; we now check for this before
marking the UBO "dirty".

The overhead of this check should be very small but it could save
many very expensive buffer updates.
2025-07-15 11:24:01 -07:00
Mathias Agopian
3683f94704 move postfx materials into their own cpp
eventually, we'll move postfx materials into their own .a and we'll
have a way to manually register them.
2025-07-15 11:23:36 -07:00
Mathias Agopian
34e2b81855 internal materials are now generated in different resources
instead of using a single resource binary for all materials, each
postfx set of materials (e.g. dof, bloom) gets its own resource file
based on the directory it is in.
2025-07-15 11:23:36 -07:00
Mathias Agopian
edebd8eed8 fix typo missing MaterialInstance::getParameter<mat4f>() 2025-07-15 11:16:25 -07:00
Sungun Park
36f7911917 Release Filament 1.62.1 2025-07-14 23:11:18 +00:00
Powei Feng
f64117fa26 vk: clean-up VulkanContext usage (#8945)
- Make sure that we don't allocate a VulkanContext on the function
   stack since this was passed erroroneously to other components
   and stored as a pointer
 - Use const& to refer to VulkanContext across components for
   consistency.
 - Remove unused VkPhysicalDeviceProtectedMemoryProperties struct.
2025-07-14 19:29:55 +00:00
Jeremy Nelson
1422c8cba9 check if format is compatible with renderpass blit mipmap generation 2025-07-14 14:13:44 -05:00
Mathias Agopian
29ed42fa98 dynamic resolution can be always be enable if minScale==maxScale
normally dynamic resolution is turned off when timerQueries are no
available, but we should still allow it if minScale==maxScale.

FIXES=[428767320]
2025-07-14 10:32:48 -07:00
Powei Feng
93029d2318 vk: clean-up rendertarget msaa setup (#8930) 2025-07-10 21:28:52 +00:00
Juan Caldas
c4a304788f webgpu : Remove try catch (#8936) 2025-07-10 13:33:20 +00:00
Juan Caldas
dfcdc9ca1e Add WebGPU Feature Levels (#8939)
BUGS = [420985749]
2025-07-10 13:05:29 +00:00
Mathias Agopian
dd844b1183 resgen: output offset/size as constants instead of variables
resgen now generates the resources size/offset directly as #define
instead of as an `extern` variable. The assembly file also 
doesn't generate the corresponding global variables, saving some binary 
space.
2025-07-09 17:08:58 -07:00
Sungun Park
a29f3a3011 gl: Enhance error reporting for asynchronous shader operations (#8938)
* gl: Enhance error reporting for asynchronous shader operations

When ShaderCompilerService asynchronously compiles and links shaders,
unexpected errors (e.g., GL_CONTEXT_LOST) can occur after the initial GL
call, complicating diagnostics.

This change improves error context by collecting the GL error status
when querying shader compilation and program link statuses. This
provides a more detailed understanding of error origins.

BUGS=[373396840]

* feedback
2025-07-09 18:33:02 +00:00
Sungun Park
84218f6ba2 gl: More robustly verify cached programs (#8941)
`glProgramBinary` can succeed but result in an unlinked program, for
instance if the graphics driver has been updated. This change adds a
check for `GL_LINK_STATUS` in addition to `glGetError` to ensure the
program is valid.

Also adds more detailed logging on failure.

BUGS=[430290459]
2025-07-09 17:58:25 +00:00
Jeremy Nelson
f9960fb065 adding checks for headless texture creation
& correcting present for headless
2025-07-09 10:28:31 -07:00
Jeremy Nelson
172d6d1045 Make isHeadless public, getCurrentTextureView doesn't need driver 2025-07-09 10:28:31 -07:00
Jeremy Nelson
2cfae31e9a Resolving conflicts 2025-07-09 10:28:31 -07:00
Juan Caldas
f44d1cbfe4 webgpu: Fix release branch (#8935) 2025-07-08 07:27:42 -04:00
Ben Doherty
f8eaa14a31 Metal: respect alpha to coverage (#8931) 2025-07-07 15:32:26 -07:00
Powei Feng
3d29cffd5d postsubmit: fix bad commit replacement 2025-07-07 14:30:26 -07:00
Mathias Agopian
3b1522ab56 API BREAKAGE: remove Texture::generatePrefilterMipmap
This feature is now supported by libfilament-generatePrefilterMipmap.a
2025-07-07 14:16:16 -07:00
Mathias Agopian
f6f7082b55 Make libfilament.java use libfilament-generatePrefilterMipmap 2025-07-07 14:16:16 -07:00
Mathias Agopian
4e50e64888 new generatePrefilterMipmap.a library 2025-07-07 14:16:16 -07:00
Mathias Agopian
27f7b198a6 make generatePrefilterMipmap more like a utility
it's now fully implemented with public API and is static.
2025-07-07 14:16:16 -07:00
Powei Feng
dc6c9996f6 renderdiff: update get-mesa to use also macport on MacOS (#8920) 2025-07-07 21:11:21 +00:00
Powei Feng
e0d19c8442 docs: post-submit update flow (#8906)
- Move directories into more descriptive organization
    - src_mdbook, src_markdeep, src_raw
    - mdbook will be generated from mdbook
    - markdeep will be generated to html
    - raw will be copied without modification
 - Add script that will run on a succesful commit to main. This
   script will update /docs and commit the changes.
2025-07-07 20:08:27 +00:00
Ben Doherty
086f81a49d Fix brew check in render tests (#8921) 2025-07-07 15:11:48 -04:00
rafadevai
4879a0a124 VK: Fix calculating the alignment for updateImage (#8929)
The alignment must be calculated using the
VulkanTexture format (dstImage) instead of the
PixelBufferDescriptor format.

Set the correct values for all supported formats
in getTexelBlockSize.

Use a helper function to correctly calculate the
required aligment based on the spec rules for
vkCmdCopyBufferToImage.

Co-authored-by: Serge Metral <sergemetral@google.com>
2025-07-07 10:59:05 -07:00
Mathias Agopian
637affefeb undeprecate a few methods because there is no cost keeping them
Box::transform is just an inline
IndirectLight::get{Color|Direction}Estimate() can be document to handle
the UB cases.
2025-07-07 10:10:12 -07:00
Andy Hovingh
8d219d3bc0 webgpu: render pipeline cache 2025-07-07 08:35:42 -05:00