Record P2 Linux and exported Player validation evidence
Native and manual checks / native (windows-2025) (push) Waiting to run
Native and manual checks / native (ubuntu-24.04) (push) Failing after 40s
Native and manual checks / manual (push) Successful in 41s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s
Native and manual checks / native (windows-2025) (push) Waiting to run
Native and manual checks / native (ubuntu-24.04) (push) Failing after 40s
Native and manual checks / manual (push) Successful in 41s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# P2 GPU visibility: Linux validation, 2026-09-23
|
||||
|
||||
The P2 implementation adds selectable GPU frustum and two-pass HZB occlusion for opaque static meshes, prepared mesh LODs, renderer and Editor diagnostics, and a standalone Player option. Direct rendering remains the default and comparison path. The code built and tested here is at `9990234` (following `3be3d0d` for device-local GPU outputs); the later working-tree changes while gathering this record were documentation only.
|
||||
|
||||
## Builds and functional tests
|
||||
|
||||
| Environment | Check | Result |
|
||||
| --- | --- | --- |
|
||||
| Ubuntu Linux, Clang 21, Debug, RTX 2080 Ti | `cmake --build --preset linux-debug -j6`; `ctest --test-dir build/linux-debug --output-on-failure -j6` | Build passed; 57/57 tests passed, including 15 P2 cases. `render_window_lifecycle` reported its pre-existing compositor skip. |
|
||||
| Ubuntu Linux, Clang 21, Release, RTX 2080 Ti | `cmake --build build/p2-release -j6`; `ctest --test-dir build/p2-release --output-on-failure -j6` | Build passed; 57/57 tests passed, with the same window skip. |
|
||||
| Linux lavapipe software Vulkan | `VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/lvp_icd.json ctest --test-dir build/p2-release -L p2 --output-on-failure -j2` | 15/15 P2 cases passed; the frustum and occlusion examples each reported an active GPU path, both prepared LOD levels, and zero Vulkan validation errors. |
|
||||
| Release shader bundle | `spirv-val --target-env vulkan1.3` on all nine generated `.spv` files | All passed. |
|
||||
|
||||
The 15 P2 cases include empty and dense scenes, fixed-bin capacity, camera cut, resize, near-plane handling, multiple views, projection change, teleports, shadow and transparent passes, LOD selection and an open sequence. This is functional coverage, not a performance claim.
|
||||
|
||||
The complete [Debug CTest log](ctest-linux-debug.txt), [Release CTest log](ctest-linux-release.txt) and [lavapipe P2 log](ctest-lavapipe-p2.txt) retain every test name and the explicit window skip. The [shader validation record](shader-validation.txt) lists hashes and `spirv-val` results for the Release bundle.
|
||||
|
||||
## Independent exported Player checks
|
||||
|
||||
The [export report](report.json) records a Release export through the real Editor for both checked-in playable projects. Their packages were copied outside the SDK into a Unicode path, source project directories were hidden, and each package passed CPU validation plus 120 headless frames on the RTX 2080 Ti with Khronos validation active and zero errors. The 3D export includes the imported Blender asset. Package file hashes are retained in the [2D manifest](collect-2d-manifest.json) and [3D manifest](collect-3d-manifest.json). The [2D](collect-2d-profile.json) and [3D](collect-3d-profile.json) 120-frame profiles preserve device and frame counters.
|
||||
|
||||
Each relocated Player was then launched for six frames in **both** `--visibility gpu-frustum` and `--visibility gpu-occlusion`. All four [GPU-mode runs](p2-exported-gpu-visibility.json) completed with `gpu_visibility_active=true` in every profile sample and zero Vulkan validation errors. The raw profiles are [2D frustum](collect-2d-gpu-frustum-profile.json), [2D occlusion](collect-2d-gpu-occlusion-profile.json), [3D frustum](collect-3d-gpu-frustum-profile.json) and [3D occlusion](collect-3d-gpu-occlusion-profile.json). The Player also validated both shader bundles with `--validate --visibility MODE` before rendering.
|
||||
|
||||
The [capture comparison](capture-comparison.json) uses the same six-frame static camera for Direct and GPU modes. The 2D captures match pixel-for-pixel. In 3D, GPU frustum and GPU occlusion match pixel-for-pixel; each differs from Direct at only 7 of 921,600 pixels (maximum RGB channel delta 41), all at rasterized geometry edges. The result is deterministic across repeated runs and frame counts. A diagnostic with just the floor mesh and camera retains three edge pixels, isolating the difference from gameplay timing, occlusion decisions and draw ordering. Direct pretransforms vertices on the CPU in `renderer.cpp`; GPU modes transform them in `gpu_scene.slang`. Their floating-point rounding can change triangle coverage at subpixel boundaries. This is a bounded visual difference on this device, not evidence of lost geometry, and exact pixel counts should not be expected across GPU drivers.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Performance evidence and limits
|
||||
|
||||
The [first benchmark](../../studies/20-p2-gpu-visibility-benchmark-2026-09-23.md) exposed a slow GPU `MainCull` pass. The [optimization study](../../studies/21-p2-gpu-visibility-optimization-2026-09-23.md) keeps raw samples from baseline, device-local-only and device-local-plus-atomic variants and explains the measured improvement. Those are synthetic Debug/validation workloads on one RTX 2080 Ti, not Player frame rates or a promise that GPU culling wins in every scene. Open scenes pay extra HZB work. Direct remains the default until broader Release/game-content profiling supports another choice.
|
||||
|
||||
This record does not establish physical Windows GPU performance, other hardware/driver combinations, native Wayland restore, or automatic LOD mesh generation. The lavapipe run broadens functional driver coverage but is not a hardware speed measurement. Native Windows CI and later GPU families require their own evidence.
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"collect-2d": {
|
||||
"direct_vs_gpu_frustum": {
|
||||
"size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"changed_pixels": 0,
|
||||
"total_pixels": 921600,
|
||||
"max_channel_delta": 0,
|
||||
"coordinates_and_max_channel_delta": []
|
||||
},
|
||||
"direct_vs_gpu_occlusion": {
|
||||
"size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"changed_pixels": 0,
|
||||
"total_pixels": 921600,
|
||||
"max_channel_delta": 0,
|
||||
"coordinates_and_max_channel_delta": []
|
||||
},
|
||||
"gpu_frustum_vs_gpu_occlusion": {
|
||||
"size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"changed_pixels": 0,
|
||||
"total_pixels": 921600,
|
||||
"max_channel_delta": 0,
|
||||
"coordinates_and_max_channel_delta": []
|
||||
}
|
||||
},
|
||||
"collect-3d": {
|
||||
"direct_vs_gpu_frustum": {
|
||||
"size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"changed_pixels": 7,
|
||||
"total_pixels": 921600,
|
||||
"max_channel_delta": 41,
|
||||
"coordinates_and_max_channel_delta": [
|
||||
[
|
||||
939,
|
||||
361,
|
||||
41
|
||||
],
|
||||
[
|
||||
647,
|
||||
366,
|
||||
11
|
||||
],
|
||||
[
|
||||
468,
|
||||
465,
|
||||
6
|
||||
],
|
||||
[
|
||||
588,
|
||||
517,
|
||||
6
|
||||
],
|
||||
[
|
||||
700,
|
||||
566,
|
||||
6
|
||||
],
|
||||
[
|
||||
827,
|
||||
624,
|
||||
11
|
||||
],
|
||||
[
|
||||
848,
|
||||
627,
|
||||
15
|
||||
]
|
||||
]
|
||||
},
|
||||
"direct_vs_gpu_occlusion": {
|
||||
"size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"changed_pixels": 7,
|
||||
"total_pixels": 921600,
|
||||
"max_channel_delta": 41,
|
||||
"coordinates_and_max_channel_delta": [
|
||||
[
|
||||
939,
|
||||
361,
|
||||
41
|
||||
],
|
||||
[
|
||||
647,
|
||||
366,
|
||||
11
|
||||
],
|
||||
[
|
||||
468,
|
||||
465,
|
||||
6
|
||||
],
|
||||
[
|
||||
588,
|
||||
517,
|
||||
6
|
||||
],
|
||||
[
|
||||
700,
|
||||
566,
|
||||
6
|
||||
],
|
||||
[
|
||||
827,
|
||||
624,
|
||||
11
|
||||
],
|
||||
[
|
||||
848,
|
||||
627,
|
||||
15
|
||||
]
|
||||
]
|
||||
},
|
||||
"gpu_frustum_vs_gpu_occlusion": {
|
||||
"size": [
|
||||
1280,
|
||||
720
|
||||
],
|
||||
"changed_pixels": 0,
|
||||
"total_pixels": 921600,
|
||||
"max_channel_delta": 0,
|
||||
"coordinates_and_max_channel_delta": []
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"completed_frames": 6,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"dimension": 2,
|
||||
"fixed_delta_seconds": 0.016666666666666666,
|
||||
"format": "faset.player-profile",
|
||||
"height": 720,
|
||||
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
|
||||
"presentation_mode": "offscreen",
|
||||
"requested_frames": 6,
|
||||
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
|
||||
"samples": [
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 1,
|
||||
"gpu_allocated_bytes": 15750704,
|
||||
"gpu_ms": 0.583936,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 10.370041,
|
||||
"renderer_cpu_ms": 10.363859,
|
||||
"renderer_readback_cpu_ms": 3.834413,
|
||||
"simulation_ms": 0.262835,
|
||||
"snapshot_ms": 0.214305,
|
||||
"texture_count": 1,
|
||||
"tick": 1,
|
||||
"vertices": 66,
|
||||
"wall_ms": 10.973259
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 2,
|
||||
"gpu_allocated_bytes": 15750704,
|
||||
"gpu_ms": 0.571552,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 3.686664,
|
||||
"renderer_cpu_ms": 3.678208,
|
||||
"renderer_readback_cpu_ms": 0.613398,
|
||||
"simulation_ms": 0.23866,
|
||||
"snapshot_ms": 0.193525,
|
||||
"texture_count": 1,
|
||||
"tick": 2,
|
||||
"vertices": 66,
|
||||
"wall_ms": 4.128828
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 3,
|
||||
"gpu_allocated_bytes": 15750704,
|
||||
"gpu_ms": 0.5704,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 3.985278,
|
||||
"renderer_cpu_ms": 3.978084,
|
||||
"renderer_readback_cpu_ms": 0.584382,
|
||||
"simulation_ms": 0.4082,
|
||||
"snapshot_ms": 0.21229,
|
||||
"texture_count": 1,
|
||||
"tick": 3,
|
||||
"vertices": 66,
|
||||
"wall_ms": 4.63867
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 4,
|
||||
"gpu_allocated_bytes": 15750704,
|
||||
"gpu_ms": 0.570496,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 3.324371,
|
||||
"renderer_cpu_ms": 3.316877,
|
||||
"renderer_readback_cpu_ms": 1.097139,
|
||||
"simulation_ms": 0.404904,
|
||||
"snapshot_ms": 0.192392,
|
||||
"texture_count": 1,
|
||||
"tick": 4,
|
||||
"vertices": 66,
|
||||
"wall_ms": 3.933279
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 5,
|
||||
"gpu_allocated_bytes": 15750704,
|
||||
"gpu_ms": 0.57696,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 5.0101,
|
||||
"renderer_cpu_ms": 5.000393,
|
||||
"renderer_readback_cpu_ms": 0.68915,
|
||||
"simulation_ms": 0.191871,
|
||||
"snapshot_ms": 0.222941,
|
||||
"texture_count": 1,
|
||||
"tick": 5,
|
||||
"vertices": 66,
|
||||
"wall_ms": 5.437566
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 6,
|
||||
"gpu_allocated_bytes": 15750704,
|
||||
"gpu_ms": 0.616,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 2.787518,
|
||||
"renderer_cpu_ms": 2.780405,
|
||||
"renderer_readback_cpu_ms": 0.68932,
|
||||
"simulation_ms": 0.254069,
|
||||
"snapshot_ms": 0.198174,
|
||||
"texture_count": 1,
|
||||
"tick": 6,
|
||||
"vertices": 66,
|
||||
"wall_ms": 3.251403
|
||||
}
|
||||
],
|
||||
"simulation_mode": "synthetic_fixed_timestep",
|
||||
"startup_ms": {
|
||||
"main_to_first_frame": 659.174505,
|
||||
"renderer_initialization": 644.33295,
|
||||
"scene_read": 0.541101,
|
||||
"world_initialization": 0.882825
|
||||
},
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.616,
|
||||
"min": 0.5704,
|
||||
"p50": 0.571552,
|
||||
"p95": 0.616,
|
||||
"samples": 6
|
||||
},
|
||||
"render_call": {
|
||||
"max": 10.370041,
|
||||
"min": 2.787518,
|
||||
"p50": 3.686664,
|
||||
"p95": 10.370041,
|
||||
"samples": 6
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 10.363859,
|
||||
"min": 2.780405,
|
||||
"p50": 3.678208,
|
||||
"p95": 10.363859,
|
||||
"samples": 6
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 3.834413,
|
||||
"min": 0.584382,
|
||||
"p50": 0.68915,
|
||||
"p95": 3.834413,
|
||||
"samples": 6
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.4082,
|
||||
"min": 0.191871,
|
||||
"p50": 0.254069,
|
||||
"p95": 0.4082,
|
||||
"samples": 6
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.222941,
|
||||
"min": 0.192392,
|
||||
"p50": 0.198174,
|
||||
"p95": 0.222941,
|
||||
"samples": 6
|
||||
},
|
||||
"wall": {
|
||||
"max": 10.973259,
|
||||
"min": 3.251403,
|
||||
"p50": 4.128828,
|
||||
"p95": 10.973259,
|
||||
"samples": 6
|
||||
}
|
||||
},
|
||||
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"version": 1,
|
||||
"visibility_mode": "gpu-frustum",
|
||||
"width": 1280
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"completed_frames": 6,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"dimension": 2,
|
||||
"fixed_delta_seconds": 0.016666666666666666,
|
||||
"format": "faset.player-profile",
|
||||
"height": 720,
|
||||
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
|
||||
"presentation_mode": "offscreen",
|
||||
"requested_frames": 6,
|
||||
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
|
||||
"samples": [
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 1,
|
||||
"gpu_allocated_bytes": 38124080,
|
||||
"gpu_ms": 0.757824,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 16.535401,
|
||||
"renderer_cpu_ms": 16.528628,
|
||||
"renderer_readback_cpu_ms": 3.846085,
|
||||
"simulation_ms": 0.27565,
|
||||
"snapshot_ms": 0.228551,
|
||||
"texture_count": 1,
|
||||
"tick": 1,
|
||||
"vertices": 66,
|
||||
"wall_ms": 17.199143
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 2,
|
||||
"gpu_allocated_bytes": 38124080,
|
||||
"gpu_ms": 0.676832,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 3.418728,
|
||||
"renderer_cpu_ms": 3.406727,
|
||||
"renderer_readback_cpu_ms": 0.717063,
|
||||
"simulation_ms": 0.239893,
|
||||
"snapshot_ms": 0.26525,
|
||||
"texture_count": 1,
|
||||
"tick": 2,
|
||||
"vertices": 66,
|
||||
"wall_ms": 3.936004
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 3,
|
||||
"gpu_allocated_bytes": 38124080,
|
||||
"gpu_ms": 0.715808,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 3.096992,
|
||||
"renderer_cpu_ms": 3.087514,
|
||||
"renderer_readback_cpu_ms": 0.62547,
|
||||
"simulation_ms": 0.245012,
|
||||
"snapshot_ms": 0.21197,
|
||||
"texture_count": 1,
|
||||
"tick": 3,
|
||||
"vertices": 66,
|
||||
"wall_ms": 3.565927
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 4,
|
||||
"gpu_allocated_bytes": 38124080,
|
||||
"gpu_ms": 0.687936,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 2.784262,
|
||||
"renderer_cpu_ms": 2.775977,
|
||||
"renderer_readback_cpu_ms": 0.665536,
|
||||
"simulation_ms": 0.21729,
|
||||
"snapshot_ms": 0.19633,
|
||||
"texture_count": 1,
|
||||
"tick": 4,
|
||||
"vertices": 66,
|
||||
"wall_ms": 3.208973
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 5,
|
||||
"gpu_allocated_bytes": 38124080,
|
||||
"gpu_ms": 0.675488,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 2.720792,
|
||||
"renderer_cpu_ms": 2.709341,
|
||||
"renderer_readback_cpu_ms": 0.654685,
|
||||
"simulation_ms": 0.170141,
|
||||
"snapshot_ms": 0.137158,
|
||||
"texture_count": 1,
|
||||
"tick": 5,
|
||||
"vertices": 66,
|
||||
"wall_ms": 3.040926
|
||||
},
|
||||
{
|
||||
"draw_calls": 11,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 6,
|
||||
"gpu_allocated_bytes": 38124080,
|
||||
"gpu_ms": 0.67584,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 2.505646,
|
||||
"renderer_cpu_ms": 2.498283,
|
||||
"renderer_readback_cpu_ms": 0.559014,
|
||||
"simulation_ms": 0.229363,
|
||||
"snapshot_ms": 0.224584,
|
||||
"texture_count": 1,
|
||||
"tick": 6,
|
||||
"vertices": 66,
|
||||
"wall_ms": 2.971696
|
||||
}
|
||||
],
|
||||
"simulation_mode": "synthetic_fixed_timestep",
|
||||
"startup_ms": {
|
||||
"main_to_first_frame": 352.01617,
|
||||
"renderer_initialization": 331.461939,
|
||||
"scene_read": 0.514401,
|
||||
"world_initialization": 0.607015
|
||||
},
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.757824,
|
||||
"min": 0.675488,
|
||||
"p50": 0.676832,
|
||||
"p95": 0.757824,
|
||||
"samples": 6
|
||||
},
|
||||
"render_call": {
|
||||
"max": 16.535401,
|
||||
"min": 2.505646,
|
||||
"p50": 2.784262,
|
||||
"p95": 16.535401,
|
||||
"samples": 6
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 16.528628,
|
||||
"min": 2.498283,
|
||||
"p50": 2.775977,
|
||||
"p95": 16.528628,
|
||||
"samples": 6
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 3.846085,
|
||||
"min": 0.559014,
|
||||
"p50": 0.654685,
|
||||
"p95": 3.846085,
|
||||
"samples": 6
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.27565,
|
||||
"min": 0.170141,
|
||||
"p50": 0.229363,
|
||||
"p95": 0.27565,
|
||||
"samples": 6
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.26525,
|
||||
"min": 0.137158,
|
||||
"p50": 0.21197,
|
||||
"p95": 0.26525,
|
||||
"samples": 6
|
||||
},
|
||||
"wall": {
|
||||
"max": 17.199143,
|
||||
"min": 2.971696,
|
||||
"p50": 3.208973,
|
||||
"p95": 17.199143,
|
||||
"samples": 6
|
||||
}
|
||||
},
|
||||
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"version": 1,
|
||||
"visibility_mode": "gpu-occlusion",
|
||||
"width": 1280
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@@ -0,0 +1,195 @@
|
||||
{
|
||||
"asset_generations": {},
|
||||
"build_fingerprint": "5c54fc6e20ba827fe1befee8b6194b5df360f053927cbdc83bcf32a654f32899",
|
||||
"configuration": "Release",
|
||||
"executable": "faset_player",
|
||||
"files": [
|
||||
{
|
||||
"path": "scene.fscene",
|
||||
"sha256": "0d7b221abc1cae5e9f1d04357c684ac6993f5878d634b4b950eec66dd8e55b2a",
|
||||
"size": 6214
|
||||
},
|
||||
{
|
||||
"path": "faset_player",
|
||||
"sha256": "cfd9e4edf524cd8963329aad68f8a97c67413c0ab6c5616e2377a199ca28e419",
|
||||
"size": 5972792
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.spv",
|
||||
"sha256": "1ad2631c35d654f48166321ae43d4165043e1b919b14f1dc61caf97b1ada0898",
|
||||
"size": 1224
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.spv",
|
||||
"sha256": "f5c4f289917ecab5d00d543c053aac1d10e6cca311fd172daf06d315160a3505",
|
||||
"size": 7436
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.spv",
|
||||
"sha256": "7643b4d688492b5ee923b9606f0b0e70343ca05fa67673838206119a6f86d8d8",
|
||||
"size": 784
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.reflection.json",
|
||||
"sha256": "c584f3b957ebf194a292451362a98590f85ff3cfbfd8f917b1c1265039381777",
|
||||
"size": 2639
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.reflection.json",
|
||||
"sha256": "72ebf8d32452830650416dc4717d89a4324e97ece7028dfb97c66803c8dce71f",
|
||||
"size": 2649
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.reflection.json",
|
||||
"sha256": "e3fd0889cd2f569d410f5d7558a4091d9f57f247a1dcf1788462f67525340819",
|
||||
"size": 2645
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.spv",
|
||||
"sha256": "041c1e5f0db4007c51e01ed5db6e0fbf4db09b8dcbcb085c0c73612cdc682fe3",
|
||||
"size": 5008
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.spv",
|
||||
"sha256": "9078577943bf9c51220d5341434834eb4a28cf0f0f6203bad2b96e1b0e11b360",
|
||||
"size": 2484
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.spv",
|
||||
"sha256": "7691360ec55f41d40d43652f506b051cef8b3a3ddcdcc7db61a7d4d97f9e87d8",
|
||||
"size": 16180
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.spv",
|
||||
"sha256": "08682362ee2120ed19d260e613285071747c3e436bb09bb6238e46f9cedc2308",
|
||||
"size": 4140
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.spv",
|
||||
"sha256": "62cb72e356346e1511c6d640a3cecb4a6e5283795338299b357edae5f7f52be4",
|
||||
"size": 12460
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.reflection.json",
|
||||
"sha256": "3726c09d38e68cf0b6e317daaddb7b5b3e1bb0b073afd0eff43b8f1125378cd9",
|
||||
"size": 3092
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.reflection.json",
|
||||
"sha256": "7fbe869421b61f0261729eac26ebda2a484d423583d3a5b739ba59bbf3afbe12",
|
||||
"size": 2749
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.reflection.json",
|
||||
"sha256": "996fe5c7e31c6b8f316d8f290b3be0ae7063eb46c500a661e8715e9b822a2598",
|
||||
"size": 3587
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.reflection.json",
|
||||
"sha256": "589818f670881c64f3aba726ee3bc82fe4b9d835a347f99134e0e157dc4a112e",
|
||||
"size": 2050
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.reflection.json",
|
||||
"sha256": "eed140bbe09c7d14935b688c770261ac0e81677c0974aa811c88ed67ea779b95",
|
||||
"size": 3591
|
||||
},
|
||||
{
|
||||
"path": "Notices/sdl3/LICENSE.txt",
|
||||
"sha256": "97f35b302b361680ec1e891e95d2d52097bb95abff361434916d99dc1305f127",
|
||||
"size": 884
|
||||
},
|
||||
{
|
||||
"path": "Notices/entt/LICENSE",
|
||||
"sha256": "0785027ce472d7c61f05fba664a1d3ba6639c1593ced351ad9e4bed868765d99",
|
||||
"size": 1097
|
||||
},
|
||||
{
|
||||
"path": "Notices/box2d/LICENSE",
|
||||
"sha256": "68a3e676d7e94093b102d5cba0d4e04af812040d6f230c3db67a6664574e43d2",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/box3d/LICENSE",
|
||||
"sha256": "da5e31a26bf3cfd5ba5c96d6823e480128c81e76c107ef9d3ee5d94789184b90",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/json/LICENSE.MIT",
|
||||
"sha256": "46a65cffd1ea955132d95a8dd921640714a8d6b537d2e4e482d31145ae95b603",
|
||||
"size": 1076
|
||||
},
|
||||
{
|
||||
"path": "Notices/stb/LICENSE",
|
||||
"sha256": "bebfe904b14301657e4e5d655c811d51fd31b97c455b9cc2d8600d6bac6cff63",
|
||||
"size": 2510
|
||||
},
|
||||
{
|
||||
"path": "Notices/dependencies.json",
|
||||
"sha256": "a54639ad2d9ad13c2e5f1ec90d6775f5dfc493656789b78c7e44debe2a378fdc",
|
||||
"size": 2206
|
||||
},
|
||||
{
|
||||
"path": "Notices/Faset-NOTICE.txt",
|
||||
"sha256": "30c2e7e80f5153b31ab57675e07246aef9165965d64e36022b426a26449ece3f",
|
||||
"size": 204
|
||||
},
|
||||
{
|
||||
"path": "README.txt",
|
||||
"sha256": "82bf72bc542643f6c4090e0a5de69b0014ca3fa17c6f9dfb12cc41e44c8b8db6",
|
||||
"size": 262
|
||||
}
|
||||
],
|
||||
"format": "faset.export",
|
||||
"generation": "e10bfc78-962f-45ef-a570-1237628cc7ec",
|
||||
"lua_enabled": false,
|
||||
"lua_fingerprint": "",
|
||||
"platform": "linux",
|
||||
"prerequisites": [
|
||||
"Linux x86_64",
|
||||
"Vulkan 1.3 driver",
|
||||
"Compatible glibc and libstdc++ runtime"
|
||||
],
|
||||
"renderer_profile": {
|
||||
"api": "Vulkan 1.3",
|
||||
"materials": [
|
||||
"base-color factor and texture",
|
||||
"metallic and roughness factors"
|
||||
],
|
||||
"required_features": [
|
||||
"dynamicRendering",
|
||||
"synchronization2"
|
||||
],
|
||||
"shadow_map": {
|
||||
"resolution": 1024,
|
||||
"world_extent": 40
|
||||
},
|
||||
"texture_sampling": "linear clamp, one mip level",
|
||||
"unsupported_material_features": [
|
||||
"normal maps",
|
||||
"metallic-roughness maps",
|
||||
"emissive and occlusion maps",
|
||||
"alpha mode selection",
|
||||
"unlit mode",
|
||||
"per-material face culling"
|
||||
]
|
||||
},
|
||||
"scene_hash": "fdfa1c49cf78a1cf52cd41b201c35bb0b5f852c90b7626b2a7f17da3e2e3e24c",
|
||||
"simulation": {
|
||||
"fixed_delta": 0.016666666666666666,
|
||||
"gravity": [
|
||||
0,
|
||||
-9.81,
|
||||
0
|
||||
],
|
||||
"max_catch_up_ticks": 4,
|
||||
"physics_substeps": 4
|
||||
},
|
||||
"units": {
|
||||
"angle": "radian",
|
||||
"coordinates": "right-handed Y-up",
|
||||
"distance": "metre"
|
||||
},
|
||||
"validation_log": "{\"dimension\":2,\"validated\":true}\n",
|
||||
"version": 1
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-2d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"120",
|
||||
"--capture",
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-2d/verification.ppm",
|
||||
"--profile",
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-2d/profile.json"
|
||||
],
|
||||
"cwd": "/tmp/faset-playable-exports-u_8rjufs/empty-working-directory",
|
||||
"seconds": 0.9394604200206231,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "New round: collect the three gold cubes, then reach the green exit. E resets.\n{\"device\":\"NVIDIA GeForce RTX 2080 Ti\",\"dimension\":2,\"frames\":120,\"gpu_visibility_active\":false,\"ticks\":120,\"validation_errors\":0,\"visibility_mode\":\"direct\"}\n",
|
||||
"stderr": ""
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-2d/faset_player",
|
||||
"--validate"
|
||||
],
|
||||
"cwd": "/tmp/faset-playable-exports-u_8rjufs/empty-working-directory",
|
||||
"seconds": 0.011183144990354776,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "{\"dimension\":2,\"validated\":true}\n",
|
||||
"stderr": ""
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"completed_frames": 6,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"dimension": 3,
|
||||
"fixed_delta_seconds": 0.016666666666666666,
|
||||
"format": "faset.player-profile",
|
||||
"height": 720,
|
||||
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
|
||||
"presentation_mode": "offscreen",
|
||||
"requested_frames": 6,
|
||||
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
|
||||
"samples": [
|
||||
{
|
||||
"draw_calls": 20,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 1,
|
||||
"gpu_allocated_bytes": 15798512,
|
||||
"gpu_ms": 0.61888,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 14.210575,
|
||||
"renderer_cpu_ms": 14.203583,
|
||||
"renderer_readback_cpu_ms": 6.924622,
|
||||
"simulation_ms": 0.255843,
|
||||
"snapshot_ms": 1.021316,
|
||||
"texture_count": 1,
|
||||
"tick": 1,
|
||||
"vertices": 720,
|
||||
"wall_ms": 15.597061
|
||||
},
|
||||
{
|
||||
"draw_calls": 20,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 2,
|
||||
"gpu_allocated_bytes": 15798512,
|
||||
"gpu_ms": 0.608416,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 5.125658,
|
||||
"renderer_cpu_ms": 5.116,
|
||||
"renderer_readback_cpu_ms": 0.658192,
|
||||
"simulation_ms": 0.28099,
|
||||
"snapshot_ms": 0.235524,
|
||||
"texture_count": 1,
|
||||
"tick": 2,
|
||||
"vertices": 720,
|
||||
"wall_ms": 5.652933
|
||||
},
|
||||
{
|
||||
"draw_calls": 20,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 3,
|
||||
"gpu_allocated_bytes": 15798512,
|
||||
"gpu_ms": 0.60528,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 4.80823,
|
||||
"renderer_cpu_ms": 4.797389,
|
||||
"renderer_readback_cpu_ms": 0.641901,
|
||||
"simulation_ms": 0.297551,
|
||||
"snapshot_ms": 0.276121,
|
||||
"texture_count": 1,
|
||||
"tick": 3,
|
||||
"vertices": 720,
|
||||
"wall_ms": 5.392282
|
||||
},
|
||||
{
|
||||
"draw_calls": 20,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 4,
|
||||
"gpu_allocated_bytes": 15798512,
|
||||
"gpu_ms": 0.605824,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 5.855645,
|
||||
"renderer_cpu_ms": 5.846038,
|
||||
"renderer_readback_cpu_ms": 0.696824,
|
||||
"simulation_ms": 0.32371,
|
||||
"snapshot_ms": 0.245643,
|
||||
"texture_count": 1,
|
||||
"tick": 4,
|
||||
"vertices": 720,
|
||||
"wall_ms": 6.438234
|
||||
},
|
||||
{
|
||||
"draw_calls": 20,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 5,
|
||||
"gpu_allocated_bytes": 15798512,
|
||||
"gpu_ms": 0.607584,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 4.411862,
|
||||
"renderer_cpu_ms": 4.402855,
|
||||
"renderer_readback_cpu_ms": 0.724306,
|
||||
"simulation_ms": 0.290087,
|
||||
"snapshot_ms": 0.231477,
|
||||
"texture_count": 1,
|
||||
"tick": 5,
|
||||
"vertices": 720,
|
||||
"wall_ms": 4.943475
|
||||
},
|
||||
{
|
||||
"draw_calls": 20,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 6,
|
||||
"gpu_allocated_bytes": 15798512,
|
||||
"gpu_ms": 0.606208,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 3.279987,
|
||||
"renderer_cpu_ms": 3.266321,
|
||||
"renderer_readback_cpu_ms": 0.664774,
|
||||
"simulation_ms": 0.318361,
|
||||
"snapshot_ms": 0.250953,
|
||||
"texture_count": 1,
|
||||
"tick": 6,
|
||||
"vertices": 720,
|
||||
"wall_ms": 3.862496
|
||||
}
|
||||
],
|
||||
"simulation_mode": "synthetic_fixed_timestep",
|
||||
"startup_ms": {
|
||||
"main_to_first_frame": 343.895332,
|
||||
"renderer_initialization": 323.914923,
|
||||
"scene_read": 0.505263,
|
||||
"world_initialization": 1.141073
|
||||
},
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.61888,
|
||||
"min": 0.60528,
|
||||
"p50": 0.606208,
|
||||
"p95": 0.61888,
|
||||
"samples": 6
|
||||
},
|
||||
"render_call": {
|
||||
"max": 14.210575,
|
||||
"min": 3.279987,
|
||||
"p50": 4.80823,
|
||||
"p95": 14.210575,
|
||||
"samples": 6
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 14.203583,
|
||||
"min": 3.266321,
|
||||
"p50": 4.797389,
|
||||
"p95": 14.203583,
|
||||
"samples": 6
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 6.924622,
|
||||
"min": 0.641901,
|
||||
"p50": 0.664774,
|
||||
"p95": 6.924622,
|
||||
"samples": 6
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.32371,
|
||||
"min": 0.255843,
|
||||
"p50": 0.290087,
|
||||
"p95": 0.32371,
|
||||
"samples": 6
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 1.021316,
|
||||
"min": 0.231477,
|
||||
"p50": 0.245643,
|
||||
"p95": 1.021316,
|
||||
"samples": 6
|
||||
},
|
||||
"wall": {
|
||||
"max": 15.597061,
|
||||
"min": 3.862496,
|
||||
"p50": 5.392282,
|
||||
"p95": 15.597061,
|
||||
"samples": 6
|
||||
}
|
||||
},
|
||||
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"version": 1,
|
||||
"visibility_mode": "gpu-frustum",
|
||||
"width": 1280
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"completed_frames": 6,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"dimension": 3,
|
||||
"fixed_delta_seconds": 0.016666666666666666,
|
||||
"format": "faset.player-profile",
|
||||
"height": 720,
|
||||
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
|
||||
"presentation_mode": "offscreen",
|
||||
"requested_frames": 6,
|
||||
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
|
||||
"samples": [
|
||||
{
|
||||
"draw_calls": 24,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 1,
|
||||
"gpu_allocated_bytes": 38171888,
|
||||
"gpu_ms": 0.771968,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 11.369366,
|
||||
"renderer_cpu_ms": 11.362463,
|
||||
"renderer_readback_cpu_ms": 3.603508,
|
||||
"simulation_ms": 0.338388,
|
||||
"snapshot_ms": 0.880631,
|
||||
"texture_count": 1,
|
||||
"tick": 1,
|
||||
"vertices": 720,
|
||||
"wall_ms": 12.728099
|
||||
},
|
||||
{
|
||||
"draw_calls": 24,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 2,
|
||||
"gpu_allocated_bytes": 38171888,
|
||||
"gpu_ms": 0.724864,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 3.184266,
|
||||
"renderer_cpu_ms": 3.170179,
|
||||
"renderer_readback_cpu_ms": 0.641099,
|
||||
"simulation_ms": 0.223501,
|
||||
"snapshot_ms": 0.269128,
|
||||
"texture_count": 1,
|
||||
"tick": 2,
|
||||
"vertices": 720,
|
||||
"wall_ms": 3.687185
|
||||
},
|
||||
{
|
||||
"draw_calls": 24,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 3,
|
||||
"gpu_allocated_bytes": 38171888,
|
||||
"gpu_ms": 0.721568,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 3.179287,
|
||||
"renderer_cpu_ms": 3.170631,
|
||||
"renderer_readback_cpu_ms": 0.509361,
|
||||
"simulation_ms": 0.307731,
|
||||
"snapshot_ms": 0.283124,
|
||||
"texture_count": 1,
|
||||
"tick": 3,
|
||||
"vertices": 720,
|
||||
"wall_ms": 3.785811
|
||||
},
|
||||
{
|
||||
"draw_calls": 24,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 4,
|
||||
"gpu_allocated_bytes": 38171888,
|
||||
"gpu_ms": 0.722336,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 5.69337,
|
||||
"renderer_cpu_ms": 5.685525,
|
||||
"renderer_readback_cpu_ms": 0.436172,
|
||||
"simulation_ms": 0.289446,
|
||||
"snapshot_ms": 0.252797,
|
||||
"texture_count": 1,
|
||||
"tick": 4,
|
||||
"vertices": 720,
|
||||
"wall_ms": 6.245241
|
||||
},
|
||||
{
|
||||
"draw_calls": 24,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 5,
|
||||
"gpu_allocated_bytes": 38171888,
|
||||
"gpu_ms": 0.73584,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 5.95359,
|
||||
"renderer_cpu_ms": 5.941097,
|
||||
"renderer_readback_cpu_ms": 0.531442,
|
||||
"simulation_ms": 0.274438,
|
||||
"snapshot_ms": 0.223482,
|
||||
"texture_count": 1,
|
||||
"tick": 5,
|
||||
"vertices": 720,
|
||||
"wall_ms": 6.460516
|
||||
},
|
||||
{
|
||||
"draw_calls": 24,
|
||||
"dropped_simulation_seconds": 0.0,
|
||||
"fixed_ticks": 1,
|
||||
"frame": 6,
|
||||
"gpu_allocated_bytes": 38171888,
|
||||
"gpu_ms": 0.72576,
|
||||
"gpu_visibility_active": true,
|
||||
"interpolation_alpha": 0.0,
|
||||
"physics_debug": false,
|
||||
"render_call_ms": 5.297592,
|
||||
"renderer_cpu_ms": 5.082367,
|
||||
"renderer_readback_cpu_ms": 0.648092,
|
||||
"simulation_ms": 0.275159,
|
||||
"snapshot_ms": 0.235665,
|
||||
"texture_count": 1,
|
||||
"tick": 6,
|
||||
"vertices": 720,
|
||||
"wall_ms": 5.82136
|
||||
}
|
||||
],
|
||||
"simulation_mode": "synthetic_fixed_timestep",
|
||||
"startup_ms": {
|
||||
"main_to_first_frame": 367.40061,
|
||||
"renderer_initialization": 351.144686,
|
||||
"scene_read": 0.607135,
|
||||
"world_initialization": 0.946856
|
||||
},
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.771968,
|
||||
"min": 0.721568,
|
||||
"p50": 0.724864,
|
||||
"p95": 0.771968,
|
||||
"samples": 6
|
||||
},
|
||||
"render_call": {
|
||||
"max": 11.369366,
|
||||
"min": 3.179287,
|
||||
"p50": 5.297592,
|
||||
"p95": 11.369366,
|
||||
"samples": 6
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 11.362463,
|
||||
"min": 3.170179,
|
||||
"p50": 5.082367,
|
||||
"p95": 11.362463,
|
||||
"samples": 6
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 3.603508,
|
||||
"min": 0.436172,
|
||||
"p50": 0.531442,
|
||||
"p95": 3.603508,
|
||||
"samples": 6
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.338388,
|
||||
"min": 0.223501,
|
||||
"p50": 0.275159,
|
||||
"p95": 0.338388,
|
||||
"samples": 6
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.880631,
|
||||
"min": 0.223482,
|
||||
"p50": 0.252797,
|
||||
"p95": 0.880631,
|
||||
"samples": 6
|
||||
},
|
||||
"wall": {
|
||||
"max": 12.728099,
|
||||
"min": 3.687185,
|
||||
"p50": 5.82136,
|
||||
"p95": 12.728099,
|
||||
"samples": 6
|
||||
}
|
||||
},
|
||||
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"version": 1,
|
||||
"visibility_mode": "gpu-occlusion",
|
||||
"width": 1280
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
File diff suppressed because one or more lines are too long
@@ -0,0 +1,222 @@
|
||||
{
|
||||
"asset_generations": {
|
||||
"5832763b-3ed0-44d6-9088-0b524f196a91": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2"
|
||||
},
|
||||
"build_fingerprint": "337f590d99812f1509c9373117bda21a3ff7eb3e192f60a3752828d813e74b25",
|
||||
"configuration": "Release",
|
||||
"executable": "faset_player",
|
||||
"files": [
|
||||
{
|
||||
"path": "scene.fscene",
|
||||
"sha256": "21c364140669ec82c6886102667b255df5ccdf0ec77e0ca64060f84dd7b86632",
|
||||
"size": 8639
|
||||
},
|
||||
{
|
||||
"path": "faset_player",
|
||||
"sha256": "716d250a863ccc9fc13304a1f7775b9c820c186d5b0a21e6c9a88bd98798abbf",
|
||||
"size": 5977808
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.spv",
|
||||
"sha256": "1ad2631c35d654f48166321ae43d4165043e1b919b14f1dc61caf97b1ada0898",
|
||||
"size": 1224
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.spv",
|
||||
"sha256": "f5c4f289917ecab5d00d543c053aac1d10e6cca311fd172daf06d315160a3505",
|
||||
"size": 7436
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.spv",
|
||||
"sha256": "7643b4d688492b5ee923b9606f0b0e70343ca05fa67673838206119a6f86d8d8",
|
||||
"size": 784
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.reflection.json",
|
||||
"sha256": "c584f3b957ebf194a292451362a98590f85ff3cfbfd8f917b1c1265039381777",
|
||||
"size": 2639
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.reflection.json",
|
||||
"sha256": "72ebf8d32452830650416dc4717d89a4324e97ece7028dfb97c66803c8dce71f",
|
||||
"size": 2649
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.reflection.json",
|
||||
"sha256": "e3fd0889cd2f569d410f5d7558a4091d9f57f247a1dcf1788462f67525340819",
|
||||
"size": 2645
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.spv",
|
||||
"sha256": "041c1e5f0db4007c51e01ed5db6e0fbf4db09b8dcbcb085c0c73612cdc682fe3",
|
||||
"size": 5008
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.spv",
|
||||
"sha256": "9078577943bf9c51220d5341434834eb4a28cf0f0f6203bad2b96e1b0e11b360",
|
||||
"size": 2484
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.spv",
|
||||
"sha256": "7691360ec55f41d40d43652f506b051cef8b3a3ddcdcc7db61a7d4d97f9e87d8",
|
||||
"size": 16180
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.spv",
|
||||
"sha256": "08682362ee2120ed19d260e613285071747c3e436bb09bb6238e46f9cedc2308",
|
||||
"size": 4140
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.spv",
|
||||
"sha256": "62cb72e356346e1511c6d640a3cecb4a6e5283795338299b357edae5f7f52be4",
|
||||
"size": 12460
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.reflection.json",
|
||||
"sha256": "3726c09d38e68cf0b6e317daaddb7b5b3e1bb0b073afd0eff43b8f1125378cd9",
|
||||
"size": 3092
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.reflection.json",
|
||||
"sha256": "7fbe869421b61f0261729eac26ebda2a484d423583d3a5b739ba59bbf3afbe12",
|
||||
"size": 2749
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.reflection.json",
|
||||
"sha256": "996fe5c7e31c6b8f316d8f290b3be0ae7063eb46c500a661e8715e9b822a2598",
|
||||
"size": 3587
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.reflection.json",
|
||||
"sha256": "589818f670881c64f3aba726ee3bc82fe4b9d835a347f99134e0e157dc4a112e",
|
||||
"size": 2050
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.reflection.json",
|
||||
"sha256": "eed140bbe09c7d14935b688c770261ac0e81677c0974aa811c88ed67ea779b95",
|
||||
"size": 3591
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/generations/4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2/meshes/mesh-fc069a07a87e0f831fd92efdbc4efa1f-0.fmesh",
|
||||
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
|
||||
"size": 928
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/generations/4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2/meshes/mesh-0961e2a3f92977836a3aa80cab09277e-0.fmesh",
|
||||
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
|
||||
"size": 928
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/generations/4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2/meshes/mesh-93b5b3e52cb6bb120fefb80e2d8e222b-0.fmesh",
|
||||
"sha256": "3875c16ea628d4126373ebfe07816621fbad3961596a2fcd112f1eec0e378071",
|
||||
"size": 928
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/generations/4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2/manifest.json",
|
||||
"sha256": "ee3f68794c6dc44ab492b1ba4640aa74e4de79a5ec10aed8dcdd45a03afc508e",
|
||||
"size": 4532
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/current.json",
|
||||
"sha256": "b0732959808ce61ef5a3223fba2d9ad8c17a3ea7873d4a81c00aadee6c51032e",
|
||||
"size": 134
|
||||
},
|
||||
{
|
||||
"path": "Notices/sdl3/LICENSE.txt",
|
||||
"sha256": "97f35b302b361680ec1e891e95d2d52097bb95abff361434916d99dc1305f127",
|
||||
"size": 884
|
||||
},
|
||||
{
|
||||
"path": "Notices/entt/LICENSE",
|
||||
"sha256": "0785027ce472d7c61f05fba664a1d3ba6639c1593ced351ad9e4bed868765d99",
|
||||
"size": 1097
|
||||
},
|
||||
{
|
||||
"path": "Notices/box2d/LICENSE",
|
||||
"sha256": "68a3e676d7e94093b102d5cba0d4e04af812040d6f230c3db67a6664574e43d2",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/box3d/LICENSE",
|
||||
"sha256": "da5e31a26bf3cfd5ba5c96d6823e480128c81e76c107ef9d3ee5d94789184b90",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/json/LICENSE.MIT",
|
||||
"sha256": "46a65cffd1ea955132d95a8dd921640714a8d6b537d2e4e482d31145ae95b603",
|
||||
"size": 1076
|
||||
},
|
||||
{
|
||||
"path": "Notices/stb/LICENSE",
|
||||
"sha256": "bebfe904b14301657e4e5d655c811d51fd31b97c455b9cc2d8600d6bac6cff63",
|
||||
"size": 2510
|
||||
},
|
||||
{
|
||||
"path": "Notices/dependencies.json",
|
||||
"sha256": "a54639ad2d9ad13c2e5f1ec90d6775f5dfc493656789b78c7e44debe2a378fdc",
|
||||
"size": 2206
|
||||
},
|
||||
{
|
||||
"path": "Notices/Faset-NOTICE.txt",
|
||||
"sha256": "30c2e7e80f5153b31ab57675e07246aef9165965d64e36022b426a26449ece3f",
|
||||
"size": 204
|
||||
},
|
||||
{
|
||||
"path": "README.txt",
|
||||
"sha256": "82bf72bc542643f6c4090e0a5de69b0014ca3fa17c6f9dfb12cc41e44c8b8db6",
|
||||
"size": 262
|
||||
}
|
||||
],
|
||||
"format": "faset.export",
|
||||
"generation": "013fe953-8787-45ac-963f-ffbd9ac5f636",
|
||||
"lua_enabled": false,
|
||||
"lua_fingerprint": "",
|
||||
"platform": "linux",
|
||||
"prerequisites": [
|
||||
"Linux x86_64",
|
||||
"Vulkan 1.3 driver",
|
||||
"Compatible glibc and libstdc++ runtime"
|
||||
],
|
||||
"renderer_profile": {
|
||||
"api": "Vulkan 1.3",
|
||||
"materials": [
|
||||
"base-color factor and texture",
|
||||
"metallic and roughness factors"
|
||||
],
|
||||
"required_features": [
|
||||
"dynamicRendering",
|
||||
"synchronization2"
|
||||
],
|
||||
"shadow_map": {
|
||||
"resolution": 1024,
|
||||
"world_extent": 40
|
||||
},
|
||||
"texture_sampling": "linear clamp, one mip level",
|
||||
"unsupported_material_features": [
|
||||
"normal maps",
|
||||
"metallic-roughness maps",
|
||||
"emissive and occlusion maps",
|
||||
"alpha mode selection",
|
||||
"unlit mode",
|
||||
"per-material face culling"
|
||||
]
|
||||
},
|
||||
"scene_hash": "ee12794145c14ba5b599c5d9ae21648cccdfa91c47ee7742549f60d5fe7bc3e0",
|
||||
"simulation": {
|
||||
"fixed_delta": 0.016666666666666666,
|
||||
"gravity": [
|
||||
0,
|
||||
-9.81,
|
||||
0
|
||||
],
|
||||
"max_catch_up_ticks": 4,
|
||||
"physics_substeps": 4
|
||||
},
|
||||
"units": {
|
||||
"angle": "radian",
|
||||
"coordinates": "right-handed Y-up",
|
||||
"distance": "metre"
|
||||
},
|
||||
"validation_log": "warning: material material-bb63b094febbf90bb7049c9bcf7587bc has features beyond the initial base-color/PBR renderer\n{\"dimension\":3,\"validated\":true}\n",
|
||||
"version": 1
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-3d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"120",
|
||||
"--capture",
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-3d/verification.ppm",
|
||||
"--profile",
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-3d/profile.json"
|
||||
],
|
||||
"cwd": "/tmp/faset-playable-exports-u_8rjufs/empty-working-directory",
|
||||
"seconds": 1.485020653984975,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "New round: collect the three gold cubes, then reach the green exit. E resets.\n{\"device\":\"NVIDIA GeForce RTX 2080 Ti\",\"dimension\":3,\"frames\":120,\"gpu_visibility_active\":false,\"ticks\":120,\"validation_errors\":0,\"visibility_mode\":\"direct\"}\n",
|
||||
"stderr": "warning: material material-bb63b094febbf90bb7049c9bcf7587bc has features beyond the initial base-color/PBR renderer\n"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-3d/faset_player",
|
||||
"--validate"
|
||||
],
|
||||
"cwd": "/tmp/faset-playable-exports-u_8rjufs/empty-working-directory",
|
||||
"seconds": 0.01345648302230984,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "{\"dimension\":3,\"validated\":true}\n",
|
||||
"stderr": "warning: material material-bb63b094febbf90bb7049c9bcf7587bc has features beyond the initial base-color/PBR renderer\n"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
Test project /home/emil/Desktop/.worktrees/Faset_Engine-p2/build/p2-release
|
||||
Start 26: render_gpu_lifecycle
|
||||
Start 29: render_gpu_open_sequence
|
||||
1/15 Test #26: render_gpu_lifecycle ............. Passed 0.80 sec
|
||||
Start 30: render_gpu_transparent
|
||||
2/15 Test #30: render_gpu_transparent ........... Passed 0.43 sec
|
||||
Start 27: render_gpu_views
|
||||
3/15 Test #27: render_gpu_views ................. Passed 0.43 sec
|
||||
Start 25: render_gpu_near
|
||||
4/15 Test #25: render_gpu_near .................. Passed 0.36 sec
|
||||
Start 23: render_gpu_lod
|
||||
5/15 Test #23: render_gpu_lod ................... Passed 0.69 sec
|
||||
Start 28: render_gpu_projection
|
||||
6/15 Test #29: render_gpu_open_sequence ......... Passed 3.05 sec
|
||||
Start 17: render_gpu_capacity
|
||||
7/15 Test #28: render_gpu_projection ............ Passed 0.43 sec
|
||||
Start 22: render_gpu_resize
|
||||
8/15 Test #17: render_gpu_capacity .............. Passed 0.37 sec
|
||||
Start 18: render_gpu_dense
|
||||
9/15 Test #22: render_gpu_resize ................ Passed 0.38 sec
|
||||
Start 24: render_gpu_teleport
|
||||
10/15 Test #18: render_gpu_dense ................. Passed 0.30 sec
|
||||
Start 16: render_gpu_empty
|
||||
11/15 Test #24: render_gpu_teleport .............. Passed 0.38 sec
|
||||
Start 21: render_gpu_cut
|
||||
12/15 Test #16: render_gpu_empty ................. Passed 0.31 sec
|
||||
Start 19: render_gpu_door
|
||||
13/15 Test #21: render_gpu_cut ................... Passed 0.44 sec
|
||||
Start 20: render_gpu_shadow
|
||||
14/15 Test #19: render_gpu_door .................. Passed 0.42 sec
|
||||
15/15 Test #20: render_gpu_shadow ................ Passed 0.30 sec
|
||||
|
||||
100% tests passed, 0 tests failed out of 15
|
||||
|
||||
Label Time Summary:
|
||||
gpu = 9.09 sec*proc (15 tests)
|
||||
p2 = 9.09 sec*proc (15 tests)
|
||||
|
||||
Total Test time (real) = 4.65 sec
|
||||
@@ -0,0 +1,127 @@
|
||||
Test project /home/emil/Desktop/.worktrees/Faset_Engine-p2/build/linux-debug
|
||||
Start 37: build_schema_publication
|
||||
Start 50: editor_gui_mcp
|
||||
Start 44: editor_ui_reload
|
||||
Start 46: editor_ui_templates
|
||||
Start 34: lua_player_reload
|
||||
Start 48: editor_ui_authoring
|
||||
1/57 Test #48: editor_ui_authoring .............. Passed 2.61 sec
|
||||
Start 32: player_shutdown_diagnostics
|
||||
2/57 Test #34: lua_player_reload ................ Passed 3.22 sec
|
||||
Start 47: editor_ui_gizmos
|
||||
3/57 Test #46: editor_ui_templates .............. Passed 4.08 sec
|
||||
Start 43: editor_ui_project_settings
|
||||
4/57 Test #47: editor_ui_gizmos ................. Passed 1.50 sec
|
||||
Start 45: editor_ui_launcher
|
||||
5/57 Test #32: player_shutdown_diagnostics ...... Passed 2.37 sec
|
||||
Start 42: editor_ui_import_conflicts
|
||||
6/57 Test #44: editor_ui_reload ................. Passed 4.99 sec
|
||||
Start 10: render_shader_reload
|
||||
7/57 Test #43: editor_ui_project_settings ....... Passed 1.64 sec
|
||||
Start 57: playable_3d
|
||||
8/57 Test #45: editor_ui_launcher ............... Passed 1.24 sec
|
||||
Start 41: ui_render
|
||||
9/57 Test #42: editor_ui_import_conflicts ....... Passed 1.53 sec
|
||||
Start 29: render_gpu_open_sequence
|
||||
10/57 Test #50: editor_gui_mcp ................... Passed 6.83 sec
|
||||
Start 8: render_offscreen
|
||||
11/57 Test #57: playable_3d ...................... Passed 1.27 sec
|
||||
Start 12: render_shader_reflection
|
||||
12/57 Test #41: ui_render ........................ Passed 1.16 sec
|
||||
Start 9: render_sprite_alpha
|
||||
13/57 Test #8: render_offscreen ................. Passed 0.95 sec
|
||||
Start 15: gpu_visibility
|
||||
14/57 Test #9: render_sprite_alpha .............. Passed 0.76 sec
|
||||
Start 26: render_gpu_lifecycle
|
||||
15/57 Test #12: render_shader_reflection ......... Passed 1.58 sec
|
||||
Start 56: playable_2d
|
||||
16/57 Test #56: playable_2d ...................... Passed 0.60 sec
|
||||
Start 28: render_gpu_projection
|
||||
17/57 Test #15: gpu_visibility ................... Passed 2.00 sec
|
||||
Start 25: render_gpu_near
|
||||
18/57 Test #29: render_gpu_open_sequence ......... Passed 4.14 sec
|
||||
Start 30: render_gpu_transparent
|
||||
19/57 Test #10: render_shader_reload ............. Passed 6.04 sec
|
||||
Start 17: render_gpu_capacity
|
||||
20/57 Test #28: render_gpu_projection ............ Passed 2.29 sec
|
||||
Start 24: render_gpu_teleport
|
||||
21/57 Test #26: render_gpu_lifecycle ............. Passed 3.96 sec
|
||||
Start 22: render_gpu_resize
|
||||
22/57 Test #25: render_gpu_near .................. Passed 2.20 sec
|
||||
Start 27: render_gpu_views
|
||||
23/57 Test #30: render_gpu_transparent ........... Passed 2.74 sec
|
||||
Start 23: render_gpu_lod
|
||||
24/57 Test #17: render_gpu_capacity .............. Passed 2.51 sec
|
||||
Start 16: render_gpu_empty
|
||||
25/57 Test #24: render_gpu_teleport .............. Passed 2.28 sec
|
||||
Start 18: render_gpu_dense
|
||||
26/57 Test #22: render_gpu_resize ................ Passed 2.30 sec
|
||||
Start 21: render_gpu_cut
|
||||
27/57 Test #27: render_gpu_views ................. Passed 2.29 sec
|
||||
Start 20: render_gpu_shadow
|
||||
28/57 Test #37: build_schema_publication ......... Passed 14.35 sec
|
||||
Start 36: process_and_cook
|
||||
29/57 Test #36: process_and_cook ................. Passed 0.33 sec
|
||||
Start 49: editor_mcp_stdio
|
||||
30/57 Test #49: editor_mcp_stdio ................. Passed 0.28 sec
|
||||
Start 19: render_gpu_door
|
||||
31/57 Test #23: render_gpu_lod ................... Passed 2.55 sec
|
||||
Start 6: lua_safety_contracts
|
||||
32/57 Test #18: render_gpu_dense ................. Passed 2.42 sec
|
||||
Start 3: assets_pipeline
|
||||
33/57 Test #6: lua_safety_contracts ............. Passed 0.26 sec
|
||||
Start 51: core
|
||||
34/57 Test #16: render_gpu_empty ................. Passed 2.70 sec
|
||||
Start 33: lua_cli_contracts
|
||||
35/57 Test #3: assets_pipeline .................. Passed 0.17 sec
|
||||
Start 2: runtime_contracts
|
||||
36/57 Test #33: lua_cli_contracts ................ Passed 0.18 sec
|
||||
Start 40: ui_widgets
|
||||
37/57 Test #51: core ............................. Passed 0.21 sec
|
||||
Start 5: lua_contracts
|
||||
38/57 Test #21: render_gpu_cut ................... Passed 2.29 sec
|
||||
Start 4: assets_blender_bundle
|
||||
39/57 Test #20: render_gpu_shadow ................ Passed 2.23 sec
|
||||
Start 55: tutorial_physics
|
||||
40/57 Test #2: runtime_contracts ................ Passed 0.16 sec
|
||||
Start 11: render_gpu_shader_contract
|
||||
41/57 Test #5: lua_contracts .................... Passed 0.14 sec
|
||||
Start 1: authoring
|
||||
42/57 Test #55: tutorial_physics ................. Passed 0.09 sec
|
||||
Start 38: editor_plugins
|
||||
43/57 Test #4: assets_blender_bundle ............ Passed 0.14 sec
|
||||
Start 52: tutorial_moving
|
||||
44/57 Test #11: render_gpu_shader_contract ....... Passed 0.11 sec
|
||||
Start 39: editor_session_settings
|
||||
45/57 Test #40: ui_widgets ....................... Passed 0.21 sec
|
||||
46/57 Test #1: authoring ........................ Passed 0.06 sec
|
||||
Start 54: tutorial_spawning
|
||||
Start 53: tutorial_following
|
||||
47/57 Test #38: editor_plugins ................... Passed 0.08 sec
|
||||
48/57 Test #52: tutorial_moving .................. Passed 0.07 sec
|
||||
49/57 Test #54: tutorial_spawning ................ Passed 0.04 sec
|
||||
Start 35: editor_mcp
|
||||
Start 31: player_scene_contracts
|
||||
Start 7: render_graph
|
||||
50/57 Test #53: tutorial_following ............... Passed 0.05 sec
|
||||
Start 14: visibility_policy
|
||||
51/57 Test #35: editor_mcp ....................... Passed 0.03 sec
|
||||
52/57 Test #31: player_scene_contracts ........... Passed 0.02 sec
|
||||
53/57 Test #7: render_graph ..................... Passed 0.02 sec
|
||||
Start 13: render_window_lifecycle
|
||||
54/57 Test #39: editor_session_settings .......... Passed 0.08 sec
|
||||
55/57 Test #14: visibility_policy ................ Passed 0.01 sec
|
||||
56/57 Test #19: render_gpu_door .................. Passed 1.76 sec
|
||||
57/57 Test #13: render_window_lifecycle ..........***Skipped 4.22 sec
|
||||
|
||||
100% tests passed, 0 tests failed out of 57
|
||||
|
||||
Label Time Summary:
|
||||
gpu = 81.79 sec*proc (30 tests)
|
||||
p2 = 38.66 sec*proc (15 tests)
|
||||
window = 11.04 sec*proc (2 tests)
|
||||
|
||||
Total Test time (real) = 20.92 sec
|
||||
|
||||
The following tests did not run:
|
||||
13 - render_window_lifecycle (Skipped)
|
||||
@@ -0,0 +1,127 @@
|
||||
Test project /home/emil/Desktop/.worktrees/Faset_Engine-p2/build/p2-release
|
||||
Start 10: render_shader_reload
|
||||
Start 32: player_shutdown_diagnostics
|
||||
Start 44: editor_ui_reload
|
||||
Start 34: lua_player_reload
|
||||
Start 15: gpu_visibility
|
||||
Start 29: render_gpu_open_sequence
|
||||
1/57 Test #29: render_gpu_open_sequence ......... Passed 3.15 sec
|
||||
Start 26: render_gpu_lifecycle
|
||||
2/57 Test #15: gpu_visibility ................... Passed 3.31 sec
|
||||
Start 37: build_schema_publication
|
||||
3/57 Test #34: lua_player_reload ................ Passed 3.51 sec
|
||||
Start 28: render_gpu_projection
|
||||
4/57 Test #32: player_shutdown_diagnostics ...... Passed 4.60 sec
|
||||
Start 30: render_gpu_transparent
|
||||
5/57 Test #44: editor_ui_reload ................. Passed 5.01 sec
|
||||
Start 25: render_gpu_near
|
||||
6/57 Test #28: render_gpu_projection ............ Passed 1.77 sec
|
||||
Start 23: render_gpu_lod
|
||||
7/57 Test #37: build_schema_publication ......... Passed 2.03 sec
|
||||
Start 27: render_gpu_views
|
||||
8/57 Test #30: render_gpu_transparent ........... Passed 2.48 sec
|
||||
Start 8: render_offscreen
|
||||
9/57 Test #26: render_gpu_lifecycle ............. Passed 3.92 sec
|
||||
Start 50: editor_gui_mcp
|
||||
10/57 Test #10: render_shader_reload ............. Passed 7.15 sec
|
||||
Start 24: render_gpu_teleport
|
||||
11/57 Test #25: render_gpu_near .................. Passed 2.30 sec
|
||||
Start 12: render_shader_reflection
|
||||
12/57 Test #23: render_gpu_lod ................... Passed 2.23 sec
|
||||
Start 9: render_sprite_alpha
|
||||
13/57 Test #27: render_gpu_views ................. Passed 2.39 sec
|
||||
Start 46: editor_ui_templates
|
||||
14/57 Test #8: render_offscreen ................. Passed 1.53 sec
|
||||
Start 45: editor_ui_launcher
|
||||
15/57 Test #9: render_sprite_alpha .............. Passed 1.26 sec
|
||||
Start 22: render_gpu_resize
|
||||
16/57 Test #12: render_shader_reflection ......... Passed 1.56 sec
|
||||
Start 18: render_gpu_dense
|
||||
17/57 Test #24: render_gpu_teleport .............. Passed 2.04 sec
|
||||
Start 17: render_gpu_capacity
|
||||
18/57 Test #46: editor_ui_templates .............. Passed 1.98 sec
|
||||
Start 16: render_gpu_empty
|
||||
19/57 Test #50: editor_gui_mcp ................... Passed 2.78 sec
|
||||
Start 21: render_gpu_cut
|
||||
20/57 Test #45: editor_ui_launcher ............... Passed 1.57 sec
|
||||
Start 48: editor_ui_authoring
|
||||
21/57 Test #18: render_gpu_dense ................. Passed 2.48 sec
|
||||
Start 19: render_gpu_door
|
||||
22/57 Test #22: render_gpu_resize ................ Passed 2.74 sec
|
||||
Start 43: editor_ui_project_settings
|
||||
23/57 Test #48: editor_ui_authoring .............. Passed 1.58 sec
|
||||
Start 20: render_gpu_shadow
|
||||
24/57 Test #17: render_gpu_capacity .............. Passed 2.90 sec
|
||||
Start 42: editor_ui_import_conflicts
|
||||
25/57 Test #16: render_gpu_empty ................. Passed 2.48 sec
|
||||
Start 41: ui_render
|
||||
26/57 Test #21: render_gpu_cut ................... Passed 2.46 sec
|
||||
Start 47: editor_ui_gizmos
|
||||
27/57 Test #43: editor_ui_project_settings ....... Passed 1.66 sec
|
||||
Start 36: process_and_cook
|
||||
28/57 Test #36: process_and_cook ................. Passed 0.30 sec
|
||||
Start 49: editor_mcp_stdio
|
||||
29/57 Test #49: editor_mcp_stdio ................. Passed 0.25 sec
|
||||
Start 4: assets_blender_bundle
|
||||
30/57 Test #42: editor_ui_import_conflicts ....... Passed 1.75 sec
|
||||
Start 33: lua_cli_contracts
|
||||
31/57 Test #4: assets_blender_bundle ............ Passed 0.14 sec
|
||||
Start 40: ui_widgets
|
||||
32/57 Test #19: render_gpu_door .................. Passed 2.52 sec
|
||||
Start 57: playable_3d
|
||||
33/57 Test #41: ui_render ........................ Passed 1.71 sec
|
||||
34/57 Test #47: editor_ui_gizmos ................. Passed 1.57 sec
|
||||
Start 6: lua_safety_contracts
|
||||
Start 51: core
|
||||
35/57 Test #20: render_gpu_shadow ................ Passed 2.23 sec
|
||||
Start 56: playable_2d
|
||||
36/57 Test #51: core ............................. Passed 0.10 sec
|
||||
Start 3: assets_pipeline
|
||||
37/57 Test #6: lua_safety_contracts ............. Passed 0.14 sec
|
||||
Start 38: editor_plugins
|
||||
38/57 Test #57: playable_3d ...................... Passed 0.18 sec
|
||||
Start 5: lua_contracts
|
||||
39/57 Test #38: editor_plugins ................... Passed 0.03 sec
|
||||
Start 1: authoring
|
||||
40/57 Test #3: assets_pipeline .................. Passed 0.08 sec
|
||||
Start 2: runtime_contracts
|
||||
41/57 Test #40: ui_widgets ....................... Passed 0.22 sec
|
||||
Start 11: render_gpu_shader_contract
|
||||
42/57 Test #33: lua_cli_contracts ................ Passed 0.25 sec
|
||||
Start 31: player_scene_contracts
|
||||
43/57 Test #56: playable_2d ...................... Passed 0.10 sec
|
||||
Start 55: tutorial_physics
|
||||
44/57 Test #1: authoring ........................ Passed 0.03 sec
|
||||
Start 39: editor_session_settings
|
||||
45/57 Test #31: player_scene_contracts ........... Passed 0.01 sec
|
||||
Start 35: editor_mcp
|
||||
46/57 Test #2: runtime_contracts ................ Passed 0.04 sec
|
||||
47/57 Test #11: render_gpu_shader_contract ....... Passed 0.03 sec
|
||||
48/57 Test #39: editor_session_settings .......... Passed 0.02 sec
|
||||
49/57 Test #35: editor_mcp ....................... Passed 0.01 sec
|
||||
Start 7: render_graph
|
||||
Start 14: visibility_policy
|
||||
Start 54: tutorial_spawning
|
||||
Start 52: tutorial_moving
|
||||
50/57 Test #5: lua_contracts .................... Passed 0.09 sec
|
||||
51/57 Test #7: render_graph ..................... Passed 0.02 sec
|
||||
52/57 Test #14: visibility_policy ................ Passed 0.02 sec
|
||||
Start 53: tutorial_following
|
||||
Start 13: render_window_lifecycle
|
||||
53/57 Test #55: tutorial_physics ................. Passed 0.06 sec
|
||||
54/57 Test #54: tutorial_spawning ................ Passed 0.03 sec
|
||||
55/57 Test #52: tutorial_moving .................. Passed 0.02 sec
|
||||
56/57 Test #53: tutorial_following ............... Passed 0.02 sec
|
||||
57/57 Test #13: render_window_lifecycle ..........***Skipped 4.23 sec
|
||||
|
||||
100% tests passed, 0 tests failed out of 57
|
||||
|
||||
Label Time Summary:
|
||||
gpu = 79.96 sec*proc (30 tests)
|
||||
p2 = 38.08 sec*proc (15 tests)
|
||||
window = 7.01 sec*proc (2 tests)
|
||||
|
||||
Total Test time (real) = 18.39 sec
|
||||
|
||||
The following tests did not run:
|
||||
13 - render_window_lifecycle (Skipped)
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"source_report": "report.json",
|
||||
"runs": [
|
||||
{
|
||||
"name": "collect-2d",
|
||||
"mode": "gpu-frustum",
|
||||
"frames": 6,
|
||||
"gpu_visibility_active": true,
|
||||
"validation_errors": 0,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"capture_sha256": "f9d74067d87c1ebf30c6db372a26d93b7285791c8cb0307a24af5adb23bf201a",
|
||||
"profile": "collect-2d-gpu-frustum-profile.json",
|
||||
"capture": "collect-2d-gpu-frustum.ppm",
|
||||
"command": [
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-2d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"6",
|
||||
"--visibility",
|
||||
"gpu-frustum",
|
||||
"--profile",
|
||||
"/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/evidence/collect-2d-gpu-frustum-profile.json",
|
||||
"--capture",
|
||||
"/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/evidence/collect-2d-gpu-frustum.ppm"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "collect-2d",
|
||||
"mode": "gpu-occlusion",
|
||||
"frames": 6,
|
||||
"gpu_visibility_active": true,
|
||||
"validation_errors": 0,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"capture_sha256": "f9d74067d87c1ebf30c6db372a26d93b7285791c8cb0307a24af5adb23bf201a",
|
||||
"profile": "collect-2d-gpu-occlusion-profile.json",
|
||||
"capture": "collect-2d-gpu-occlusion.ppm",
|
||||
"command": [
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-2d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"6",
|
||||
"--visibility",
|
||||
"gpu-occlusion",
|
||||
"--profile",
|
||||
"/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/evidence/collect-2d-gpu-occlusion-profile.json",
|
||||
"--capture",
|
||||
"/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/evidence/collect-2d-gpu-occlusion.ppm"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "collect-3d",
|
||||
"mode": "gpu-frustum",
|
||||
"frames": 6,
|
||||
"gpu_visibility_active": true,
|
||||
"validation_errors": 0,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"capture_sha256": "7d18da12d685ed41705175fd7c65887d767668c1614b1b7669c99f05c694d435",
|
||||
"profile": "collect-3d-gpu-frustum-profile.json",
|
||||
"capture": "collect-3d-gpu-frustum.ppm",
|
||||
"command": [
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-3d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"6",
|
||||
"--visibility",
|
||||
"gpu-frustum",
|
||||
"--profile",
|
||||
"/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/evidence/collect-3d-gpu-frustum-profile.json",
|
||||
"--capture",
|
||||
"/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/evidence/collect-3d-gpu-frustum.ppm"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "collect-3d",
|
||||
"mode": "gpu-occlusion",
|
||||
"frames": 6,
|
||||
"gpu_visibility_active": true,
|
||||
"validation_errors": 0,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"capture_sha256": "7d18da12d685ed41705175fd7c65887d767668c1614b1b7669c99f05c694d435",
|
||||
"profile": "collect-3d-gpu-occlusion-profile.json",
|
||||
"capture": "collect-3d-gpu-occlusion.ppm",
|
||||
"command": [
|
||||
"/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-3d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"6",
|
||||
"--visibility",
|
||||
"gpu-occlusion",
|
||||
"--profile",
|
||||
"/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/evidence/collect-3d-gpu-occlusion-profile.json",
|
||||
"--capture",
|
||||
"/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/evidence/collect-3d-gpu-occlusion.ppm"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,435 @@
|
||||
{
|
||||
"format": "faset.playable-export-verification",
|
||||
"version": 1,
|
||||
"started_utc": "2026-09-23T20:13:26.594779+00:00",
|
||||
"platform": "linux",
|
||||
"engine": "/home/emil/Desktop/.worktrees/Faset_Engine-p2",
|
||||
"editor": "/home/emil/Desktop/.worktrees/Faset_Engine-p2/build/p2-release/faset_editor",
|
||||
"standalone_root": "/tmp/faset-playable-exports-u_8rjufs",
|
||||
"frames_per_game": 120,
|
||||
"status": "passed",
|
||||
"projects": [
|
||||
{
|
||||
"name": "collect-2d",
|
||||
"dimension": 2,
|
||||
"source_inputs": [
|
||||
{
|
||||
"path": ".gitignore",
|
||||
"sha256": "53aa4d7124d4c8d93b8d7c4cb470b6c82b844e019a660d6243ffeadc50602de1"
|
||||
},
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "8cf5a2d6de849eb090b9ea6d5e27841f551bd06947e5054f0d2f59639a90edd0"
|
||||
},
|
||||
{
|
||||
"path": "Scenes/main.scene.json",
|
||||
"sha256": "be48a6d21385e717b6c8ebf9a3b4322eebbeff6bb067428e089ab5214be79854"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.cpp",
|
||||
"sha256": "6b581b24da613e1915819de0a0f0ea820dd3333efa62c4b479a9ea7ffdbc6bcc"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.hpp",
|
||||
"sha256": "4121587182ed4f74901b1c0757c53daadbf309af1d6bb5dd87fef142130ccbbe"
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "36e2acd32210f5489372a2331346a3294ead2395f0713e3e5fd2da4e83263689"
|
||||
}
|
||||
],
|
||||
"generation": "e10bfc78-962f-45ef-a570-1237628cc7ec",
|
||||
"configuration": "Release",
|
||||
"standalone_directory": "/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-2d",
|
||||
"executable": "faset_player",
|
||||
"package_file_count": 27,
|
||||
"asset_generations": {},
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"completed_frames": 120,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.581792,
|
||||
"min": 0.55696,
|
||||
"p50": 0.56032,
|
||||
"p95": 0.571968,
|
||||
"samples": 120
|
||||
},
|
||||
"render_call": {
|
||||
"max": 8.92785,
|
||||
"min": 1.767093,
|
||||
"p50": 2.388886,
|
||||
"p95": 4.916754,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 8.922791,
|
||||
"min": 1.762985,
|
||||
"p50": 2.372405,
|
||||
"p95": 4.910192,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 3.480115,
|
||||
"min": 0.461981,
|
||||
"p50": 0.631702,
|
||||
"p95": 1.483368,
|
||||
"samples": 120
|
||||
},
|
||||
"simulation": {
|
||||
"max": 4.035202,
|
||||
"min": 0.141437,
|
||||
"p50": 0.213794,
|
||||
"p95": 0.321327,
|
||||
"samples": 120
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.740767,
|
||||
"min": 0.13285,
|
||||
"p50": 0.194106,
|
||||
"p95": 0.407779,
|
||||
"samples": 120
|
||||
},
|
||||
"wall": {
|
||||
"max": 9.833829,
|
||||
"min": 2.085394,
|
||||
"p50": 2.880784,
|
||||
"p95": 5.96917,
|
||||
"samples": 120
|
||||
}
|
||||
},
|
||||
"capture": {
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"sampled_colors": 7,
|
||||
"sha256": "f9d74067d87c1ebf30c6db372a26d93b7285791c8cb0307a24af5adb23bf201a"
|
||||
},
|
||||
"source_project_paths_unavailable": true,
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"name": "collect-3d",
|
||||
"dimension": 3,
|
||||
"source_inputs": [
|
||||
{
|
||||
"path": ".gitignore",
|
||||
"sha256": "53aa4d7124d4c8d93b8d7c4cb470b6c82b844e019a660d6243ffeadc50602de1"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/create.py",
|
||||
"sha256": "9c7291124fb1498a3f992ef74afc39cd98f9cc3e2ff4687c633bece85d580905"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/manifest.json",
|
||||
"sha256": "7a13347adc89761fb02ebeab3c58ba87f319cd62f53ec87a3bb61bcd066ffa55"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/manifest.json.faset-import.json",
|
||||
"sha256": "ef4eef28a18a0cc40a40df75db34c97faa5d783b891265f862633f3aec514afc"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/payload/ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3.glb",
|
||||
"sha256": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/source.blend",
|
||||
"sha256": "ff2676bec97ab778e531e87a185ad716049ea3b05b4a4f0027a6345737735035"
|
||||
},
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "2df5ca4df47ab5d3d05d41508201296d4ad5ec876245f19f061767ade6a30e8f"
|
||||
},
|
||||
{
|
||||
"path": "Scenes/main.scene.json",
|
||||
"sha256": "61b65baf79e52f07ac386a7f98acf985a1b09e88770cdde37ef461dc94b9dcd7"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Extensions/Beacon.hpp",
|
||||
"sha256": "c60d56161eead16f541835053ad32ac3333383d83015709c060b7d45e0af5a97"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.cpp",
|
||||
"sha256": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.hpp",
|
||||
"sha256": "4121587182ed4f74901b1c0757c53daadbf309af1d6bb5dd87fef142130ccbbe"
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "43d273b1054ec9069369073f54cc1fc7efb3d6b699dcd342c552a2dc2ef852ef"
|
||||
}
|
||||
],
|
||||
"import": {
|
||||
"asset_id": "5832763b-3ed0-44d6-9088-0b524f196a91",
|
||||
"cache_hit": false,
|
||||
"diagnostics": [],
|
||||
"generation": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2",
|
||||
"manifest": {
|
||||
"asset_id": "5832763b-3ed0-44d6-9088-0b524f196a91",
|
||||
"files": [
|
||||
{
|
||||
"path": "meshes/mesh-fc069a07a87e0f831fd92efdbc4efa1f-0.fmesh",
|
||||
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
|
||||
"size": 928
|
||||
},
|
||||
{
|
||||
"path": "meshes/mesh-0961e2a3f92977836a3aa80cab09277e-0.fmesh",
|
||||
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
|
||||
"size": 928
|
||||
},
|
||||
{
|
||||
"path": "meshes/mesh-93b5b3e52cb6bb120fefb80e2d8e222b-0.fmesh",
|
||||
"sha256": "3875c16ea628d4126373ebfe07816621fbad3961596a2fcd112f1eec0e378071",
|
||||
"size": 928
|
||||
}
|
||||
],
|
||||
"generation": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2",
|
||||
"importer": "faset-gltf-1/cgltf-1.15",
|
||||
"input_key": {
|
||||
"bundle_sha256": "7a13347adc89761fb02ebeab3c58ba87f319cd62f53ec87a3bb61bcd066ffa55",
|
||||
"dependencies": {},
|
||||
"importer": "faset-gltf-1/cgltf-1.15",
|
||||
"settings": {},
|
||||
"source": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3",
|
||||
"target_profile": "desktop-static-pbr-v1",
|
||||
"toolchain": {
|
||||
"cgltf": "360db1a95480fe102ae9c69b27c5d101167ff5ba",
|
||||
"stb": "2c980bb59875b0d32144a71867fbdebb2f77cd20"
|
||||
}
|
||||
},
|
||||
"kind": "scene",
|
||||
"materials": [
|
||||
{
|
||||
"alpha_cutoff": 0.5,
|
||||
"alpha_mode": "OPAQUE",
|
||||
"base_color": [
|
||||
0.2199999988079071,
|
||||
0.28999999165534973,
|
||||
0.3400000035762787,
|
||||
1.0
|
||||
],
|
||||
"base_color_texture": -1,
|
||||
"double_sided": true,
|
||||
"emissive": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"emissive_texture": -1,
|
||||
"format": "faset.material",
|
||||
"id": "material-bb63b094febbf90bb7049c9bcf7587bc",
|
||||
"metallic": 0.07999999821186066,
|
||||
"metallic_roughness_texture": -1,
|
||||
"name": "Weathered stone",
|
||||
"normal_texture": -1,
|
||||
"occlusion_texture": -1,
|
||||
"roughness": 0.800000011920929,
|
||||
"unlit": false,
|
||||
"version": 1
|
||||
}
|
||||
],
|
||||
"meshes": [
|
||||
{
|
||||
"id": "mesh-fc069a07a87e0f831fd92efdbc4efa1f",
|
||||
"name": "Cube.001",
|
||||
"primitives": [
|
||||
{
|
||||
"material": 0,
|
||||
"path": "meshes/mesh-fc069a07a87e0f831fd92efdbc4efa1f-0.fmesh"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mesh-0961e2a3f92977836a3aa80cab09277e",
|
||||
"name": "Cube.002",
|
||||
"primitives": [
|
||||
{
|
||||
"material": 0,
|
||||
"path": "meshes/mesh-0961e2a3f92977836a3aa80cab09277e-0.fmesh"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mesh-93b5b3e52cb6bb120fefb80e2d8e222b",
|
||||
"name": "Cube.003",
|
||||
"primitives": [
|
||||
{
|
||||
"material": 0,
|
||||
"path": "meshes/mesh-93b5b3e52cb6bb120fefb80e2d8e222b-0.fmesh"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "node-cec6e8cea80cf5a98ba3263a0156bee4",
|
||||
"local_transform": [
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.4500000476837158,
|
||||
1.2999999523162842,
|
||||
1.0
|
||||
],
|
||||
"mesh": 0,
|
||||
"name": "Left post",
|
||||
"parent_id": "",
|
||||
"stable_source_id": true
|
||||
},
|
||||
{
|
||||
"id": "node-5f8a90a6c4d27020d20bd4fa81d1d958",
|
||||
"local_transform": [
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.4500000476837158,
|
||||
-1.2999999523162842,
|
||||
1.0
|
||||
],
|
||||
"mesh": 1,
|
||||
"name": "Right post",
|
||||
"parent_id": "",
|
||||
"stable_source_id": true
|
||||
},
|
||||
{
|
||||
"id": "node-482463e486a8d1fd741340c653cd128f",
|
||||
"local_transform": [
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
3.0,
|
||||
0.0,
|
||||
1.0
|
||||
],
|
||||
"mesh": 2,
|
||||
"name": "Lintel",
|
||||
"parent_id": "",
|
||||
"stable_source_id": true
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
"node-cec6e8cea80cf5a98ba3263a0156bee4",
|
||||
"node-5f8a90a6c4d27020d20bd4fa81d1d958",
|
||||
"node-482463e486a8d1fd741340c653cd128f",
|
||||
"mesh-fc069a07a87e0f831fd92efdbc4efa1f",
|
||||
"mesh-0961e2a3f92977836a3aa80cab09277e",
|
||||
"mesh-93b5b3e52cb6bb120fefb80e2d8e222b",
|
||||
"material-bb63b094febbf90bb7049c9bcf7587bc"
|
||||
],
|
||||
"payload_source": "/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/Faset Café 世界/collect-3d/Assets/exit-arch/payload/ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3.glb",
|
||||
"schema_version": 1,
|
||||
"settings": {},
|
||||
"source": "/home/emil/Desktop/.worktrees/Faset_Engine-p2/.cache/p2-playable-exports-retry/Faset Café 世界/collect-3d/Assets/exit-arch/manifest.json",
|
||||
"source_sha256": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3",
|
||||
"textures": []
|
||||
},
|
||||
"previous_generation": "",
|
||||
"removed_output_ids": []
|
||||
},
|
||||
"generation": "013fe953-8787-45ac-963f-ffbd9ac5f636",
|
||||
"configuration": "Release",
|
||||
"standalone_directory": "/tmp/faset-playable-exports-u_8rjufs/Faset Café 世界/collect-3d",
|
||||
"executable": "faset_player",
|
||||
"package_file_count": 32,
|
||||
"asset_generations": {
|
||||
"5832763b-3ed0-44d6-9088-0b524f196a91": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2"
|
||||
},
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"completed_frames": 120,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.603104,
|
||||
"min": 0.57088,
|
||||
"p50": 0.57456,
|
||||
"p95": 0.587488,
|
||||
"samples": 120
|
||||
},
|
||||
"render_call": {
|
||||
"max": 15.27347,
|
||||
"min": 1.95597,
|
||||
"p50": 2.713318,
|
||||
"p95": 8.219264,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 15.265616,
|
||||
"min": 1.95115,
|
||||
"p50": 2.705423,
|
||||
"p95": 8.212883,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 5.034867,
|
||||
"min": 0.493391,
|
||||
"p50": 0.680484,
|
||||
"p95": 2.359841,
|
||||
"samples": 120
|
||||
},
|
||||
"simulation": {
|
||||
"max": 9.318287,
|
||||
"min": 0.205918,
|
||||
"p50": 0.288985,
|
||||
"p95": 1.079266,
|
||||
"samples": 120
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 2.595406,
|
||||
"min": 0.178897,
|
||||
"p50": 0.267054,
|
||||
"p95": 0.536412,
|
||||
"samples": 120
|
||||
},
|
||||
"wall": {
|
||||
"max": 15.872521,
|
||||
"min": 2.389648,
|
||||
"p50": 3.497057,
|
||||
"p95": 9.960939,
|
||||
"samples": 120
|
||||
}
|
||||
},
|
||||
"capture": {
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"sampled_colors": 42,
|
||||
"sha256": "914060401de93d08b33bf09a1e210859e491a0060c331e5e2044f517356f4980"
|
||||
},
|
||||
"source_project_paths_unavailable": true,
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"finished_utc": "2026-09-23T20:19:17.315585+00:00"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
spirv-val --target-env vulkan1.3 (Release bundle)
|
||||
compatibility.spv sha256=83d519113c99c7b14cf92bc6e0e9867edd91da1f370f964df6ba978d51470a54 exit=0
|
||||
fragmentMain.spv sha256=f5c4f289917ecab5d00d543c053aac1d10e6cca311fd172daf06d315160a3505 exit=0
|
||||
gpuCullMain.spv sha256=7691360ec55f41d40d43652f506b051cef8b3a3ddcdcc7db61a7d4d97f9e87d8 exit=0
|
||||
gpuHzbMain.spv sha256=08682362ee2120ed19d260e613285071747c3e436bb09bb6238e46f9cedc2308 exit=0
|
||||
gpuPostCullMain.spv sha256=62cb72e356346e1511c6d640a3cecb4a6e5283795338299b357edae5f7f52be4 exit=0
|
||||
gpuShadowMain.spv sha256=9078577943bf9c51220d5341434834eb4a28cf0f0f6203bad2b96e1b0e11b360 exit=0
|
||||
gpuVertexMain.spv sha256=041c1e5f0db4007c51e01ed5db6e0fbf4db09b8dcbcb085c0c73612cdc682fe3 exit=0
|
||||
shadowMain.spv sha256=7643b4d688492b5ee923b9606f0b0e70343ca05fa67673838206119a6f86d8d8 exit=0
|
||||
vertexMain.spv sha256=1ad2631c35d654f48166321ae43d4165043e1b919b14f1dc61caf97b1ada0898 exit=0
|
||||
Reference in New Issue
Block a user