Commit Graph

6822 Commits

Author SHA1 Message Date
Konstantin Sakhin
2f4e48b6b9 Texture: prevent SIGILL in sampler validator. (#8468)
Co-authored-by: Romain Guy <romainguy@curious-creature.com>
2025-03-07 12:11:04 -08:00
Powei Feng
5091b3112d matdbg: fix variant issue for surface materials (#8503)
- The set of active variants were not set correctly for surface
   materials since the frag/vert pairs could have different
   variant.
 - Fix the default selection logic in the UI
 - Random clean-ups

FIXES=328699979
2025-03-07 17:46:04 +00:00
Ajmal Kunnummal
7199961248 Update the associated uniforms every frame for materials with attached Streams (#8493)
BUGS=[399959254]
2025-03-07 01:05:44 +00:00
bridgewaterrobbie
d0a00803c1 Restore workaround for CONFIG_MAX_INSTANCES and CONFIG_FROXEL_BUFFER_HEIGHT not being a spec constant, because WGSL does not support that being an array length (#8479) 2025-03-07 00:28:36 +00:00
Sungun Park
0e3ef4bd63 Disable picking for multiview rendering (#8502)
Picking is not designed to work with multiview rendering. Disable it
when multiview is enabled.
2025-03-07 00:05:36 +00:00
Ben Doherty
c24535a6e4 Update permissions for GitHub release job 2025-03-06 15:00:48 -08:00
bridgewaterrobbie
74b09c708a Enable TINT_BUILD_SPV_READER on host platform webgpu builds 2025-03-06 17:12:03 -05:00
bridgewaterrobbie
80e0dbaa8a When preprocess fails, return false from process 2025-03-06 17:12:03 -05:00
bridgewaterrobbie
31e966f63f Add initial Tint support for shader transpile
Early version that will allow errors to be ignored currently, outputting what we can into filamat results.
2025-03-06 17:12:03 -05:00
Ajmal Kunnummal
02223dcaab Add a way to specify an additional uniform name along with a sampler param for the associated transform matrix (#8490)
BUGS=[399959254]
2025-03-06 18:42:24 +00:00
Ajmal Kunnummal
47112f136e Add a way to query the transform matrix of a surface texture from the driver (#8489)
* Add a way to query the transform matrix of a surface texture from the driver

BUGS=[399959254]
2025-03-06 10:23:06 -08:00
HanYunChenLuo
30bb4ad6eb fix SourceFormatter.h missing header file (#8498)
missing <string>
2025-03-06 09:22:29 -08:00
Doris Wu
d9e30460dc Enable fgviewer for android remote debugging (#8483)
* Enable fgviewer for the users

* Fix incorrect position

* Update

* Support remote debug server

* Enable fgviewer on android

* Link and include fgviewer_resources

* Adjust js to show untitled view
2025-03-06 05:36:41 +00:00
Doris Wu
075743ef59 Aggregate the subresource usage when collapsed (#8492) 2025-03-06 02:08:55 +00:00
Powei Feng
bd3a0d5377 Release Filament 1.57.2 2025-03-05 14:37:22 -08:00
Haneul Kim
4ede119c6d vk: Fix cleanup logic in VulkanStagePool::terminate (#8484)
Updated the `terminate` function to correct resource cleanup. Changed `mUsedStages` to `mUsedImages` and `mFreeStages` to `mFreeImages` to ensure proper memory management during termination.
2025-03-05 07:03:44 +00:00
Syed Idris Shah
14e3ae51c1 Update android build to use webgpu 2025-03-04 22:09:19 -05:00
Syed Idris Shah
86e71f37ae Add WebGPU stub backend code.
Introduce Enums to support WebGPU.
Start to use header files from dawn.
2025-03-04 22:09:19 -05:00
Syed Idris Shah
eb1e2dbe1b Compile dawn with filament codebase
Introduce FILAMENT_SUPPORTS_WEBGPU flag to be used for webgpu support.
Add -W option to  build.sh for webgpu support compilation from build script.

Thanks Andy Hovingh for helping out with this implementation
2025-03-04 22:09:19 -05:00
Syed Idris Shah
160fe34bc8 Add tnt folder for compilation with filament
Replace cmakelist content with few set and includes
Add the patch file to convert dawn shared to static lib

Thanks Robbie Bridgewater for helping out with this implementation
2025-03-04 22:09:19 -05:00
Syed Idris Shah
bd289054e4 build.sh: Cleanup leftover option j from build.sh 2025-03-04 22:09:19 -05:00
Doris Wu
44883fe5fc Add README.md (#8485) 2025-03-05 00:55:06 +00:00
Ben Doherty
0b5f95b28e Fix: Metal crashing when a render pass is abandoned (#8481) 2025-03-04 10:14:11 -08:00
Doris Wu
11b0327956 Enable fgviewer (#8453)
* Enable fgviewer for the users

* Fix incorrect position

* Update

* Remove IS_HOST_PLATFORM

* Set fgviewer to off by default on host platform
2025-03-04 05:52:24 +00:00
Syed Idris Shah
22b01ab852 Add dawn to third_party from https://github.com/google/dawn
Current copy is cloned using hash: 51694fd33cdaaec5bdd7ab3dc4f488f5818fd870

.git and .gitignore have been cleanup. tests,docs,webgpu-cts folders have been deleted.

For more details look at third_party/dawn/tnt/README.md file, which will be
pushed in subsequent patch.
2025-03-03 22:55:05 -05:00
Doris Wu
d0910b3fb6 Add resource details display to fgviewer web view (#8469)
* Add resource detail

* Add to_string for texture format

* Fix the type of currentResourceId

* Update

* Refactoring

* More refactoring

* Rename some properties

* Rename a function

* Address the comment

* Update the comment and remove if statement

* Fix indent
2025-03-01 02:54:54 +00:00
Mathias Agopian
95978f6fdc add a feature flag to control handle tags for heap handles
heap allocated handle tags are kept forever and we suspect this is
causing problems. the new feature flag "backend.disable_heap_handle_tags"
is enabled by default and controls if we store these tags at all or not.

BUGS=[397766275]
2025-02-28 16:30:59 -08:00
Amin Ya
cd4571700a fix: conditional cstdio include in vk_mem_alloc (#8265)
Based on 05973d8aeb/include/vk_mem_alloc.h (L2842)

Co-authored-by: Powei Feng <powei@google.com>
2025-02-27 23:26:31 +00:00
Amin Ya
ad2fdb4663 fix: const cast pair.first access for mg_websocket_write (#8264)
Co-authored-by: Powei Feng <powei@google.com>
2025-02-27 22:28:04 +00:00
Powei Feng
1b2ab09719 android: prevent leak of cubemap for IndirectLight/Skybox (#8470)
We break existing  API by returning both the IndirectLight and the
texture. Same thing with Skybox.

Fix one bug where the float array in getSphericalHarmonics wasn't
getting written out.

Fixes #6412
2025-02-27 20:14:22 +00:00
dependabot[bot]
2a2a6b7291 build(deps): bump the npm_and_yarn group across 1 directory with 3 updates (#8445)
Bumps the npm_and_yarn group with 2 updates in the /build/common/upload-release-assets directory: [@octokit/plugin-paginate-rest](https://github.com/octokit/plugin-paginate-rest.js) and [@octokit/rest](https://github.com/octokit/rest.js).


Updates `@octokit/plugin-paginate-rest` from 5.0.1 to 11.4.2
- [Release notes](https://github.com/octokit/plugin-paginate-rest.js/releases)
- [Commits](https://github.com/octokit/plugin-paginate-rest.js/compare/v5.0.1...v11.4.2)

Updates `@octokit/rest` from 19.0.5 to 21.1.0
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v19.0.5...v21.1.0)

Updates `@octokit/request` from 6.2.2 to 9.2.1
- [Release notes](https://github.com/octokit/request.js/releases)
- [Commits](https://github.com/octokit/request.js/compare/v6.2.2...v9.2.1)

---
updated-dependencies:
- dependency-name: "@octokit/plugin-paginate-rest"
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: "@octokit/rest"
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: "@octokit/request"
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Powei Feng <powei@google.com>
2025-02-27 19:40:17 +00:00
bridgewaterrobbie
a19e8d357d Update glslang Dependencies to match Dawn requirements 2025-02-27 14:22:41 -05:00
bridgewaterrobbie
a937362ccc Update SPIR-V Dependencies to match Dawn requirements 2025-02-27 14:22:41 -05:00
bridgewaterrobbie
17091df8dc Update abseil version to match Dawn requirements 2025-02-27 14:22:41 -05:00
Powei Feng
ff1f2fcac6 vk: timer query refactor (#8459)
- Put QueryManager into its own .h/.cpp
 - Do not assert when endTime <= beginTime.  This could happen if
   they were set on different command buffers.  To be resolved
   later.
 - Better logic for iterating through a bitset.
2025-02-27 19:08:17 +00:00
Powei Feng
db30a9a50c viewer: add option to export TIFF in automation (#8472)
PPM does not store alpha channel, but TIFF does.  We add a method
to export RGBA to a TIFF file without compression.

We add the corresponding options to gltf_viewer and
AutomationEngine.

The default export format for both gltf_viewer and AutomationEngine
is now TIFF.
2025-02-27 18:54:37 +00:00
Powei Feng
6f41853e06 vk: clean-up VulkanPipelineCache (#8466)
- remove unused code and fields
- reformatted
2025-02-27 18:27:14 +00:00
Benjamin Doherty
d35d466367 Release Filament 1.57.1 2025-02-27 10:08:55 -08:00
Powei Feng
db29b87647 gltfio: allow for multiple color attributes (#8462)
We are not correctly handling gltf models with multiple color
attributes. Filament doesn't allow for more than one color
attribute.  So we just set the additional attributes as
VertexAttribute::CUSOM(N).

Fixes #8396
2025-02-27 06:50:21 +00:00
Mathias Agopian
02fcec587a Initialize mShadowCulling properly (#8476)
Just like mCulling, mShadowCulling needs to be inherited from the 
material.


Fix breakage introduced in #8422 with attempted fix in #8475 and
caused by an uninitialized variable (mShadowCulling).

BUGS=[391679058]
2025-02-26 22:36:36 -08:00
Powei Feng
dc7eee0896 filamat: fix ubsan failure (#8461)
Enabling UBSan shows the following error:

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior filamat/src/eiff/Flattener.h:102:17 in
filamat/src/eiff/Flattener.h:102:17: runtime error: applying non-zero offset 8 to null pointer

We reference a placeholder byte on the heap when in DryRunner mode
to workaround this issue.
2025-02-27 03:55:30 +00:00
hyde zhou
e414b99c09 fix vmax(const vec4 v) (#8474)
* fix vmax(const vec4 v)

* fix vmin
2025-02-26 17:04:26 -08:00
Ben Doherty
5fccbce7bd Make setCullingMode also set shadow culling (#8475) 2025-02-26 15:13:35 -08:00
Powei Feng
defba23030 build: remove ios build dependency on filamat (#8465)
We are in the process of updating glslang, which requires

set(IOS_MIN_TARGET "13.0")

This is a problem since we are targeting iOS 11 in general.
glslang is a filamat depedency, and we're building filamat for
iOS for the iOS version of the backend test.

So one solution is to set set(IOS_MIN_TARGET "13.0") for the
backend test. And we might revisit this solution later.

But for now, we simply disable backend tests (and filamat tests)
for iOS.
2025-02-26 21:42:51 +00:00
Powei Feng
68ccee313a Add workaround for handle tag issue (#8467)
BUGS=397766275
2025-02-21 13:56:17 -08:00
Konstantin Sakhin
3bd5bf82ed Fix misprint in Texture.java binding (#8456)
Pass enums as int instead of long.
2025-02-21 21:39:13 +00:00
Powei Feng
3fae07f23c gltfio: undo clearing when resource is loaded (#8458)
Fixes #8367
2025-02-20 01:03:03 +00:00
Powei Feng
d60e44d989 vk: reformat, cleanup VulkanPlatform.cpp (#8457) 2025-02-19 16:50:37 -08:00
Konstantin Sakhin
62b8a60527 Implement a query to check if combination of texture format, pixel data format and type is valid. (#8452)
This will help Filament users to perform this check beforehand.
2025-02-18 16:05:03 -08:00
Doris Wu
1b59e24e99 fgviewer improvement (#8450)
* Introduce FrameGraphInfo class

* Move the assignment into pimpl

* Make ctors explicit

* Add ctors to fg info structs

* Revert the macro change to align with existing

* Address the comments

* Remove pimpl and move func def to .cc

* Fix

* Convert the FrameGraph to FrameGraphInfo

* Initialize and update debug server on engine side

* Fix compile error

* Address the comments

* Update

* Use camelCase

* Use camelCase

* Update

* Add JsonWriter to convert fginfo to json

* Add getStatus api and implement it

* Add increment

* Implement GET apis

* Fix compile error

* Update

* Use c_str_safe

* Add operator== for FrameGraphInfo

* Call updateFrameGraph in appropriate locations

* Address the comments

* Add webview for fgviewer

* Remove head and tail bracket

* Fix the table element

* Force web to re-render when fg info gets updated

* Skip culled resources

* Mark subresources as gray

* Add parent info for subresources

* Collapse subresources into their parent resource

* Make the leftmost column fixed

* Remove unused stuff in html

* Fix the comment

* Refactor the code

* Cull unused resources

* Update

* Fix the naming

* Format the file

* Merge multiple resource node in to single resource

* Improve the logic and naming

* Refine the code
2025-02-18 14:46:30 +08:00