split/gfx scene#2077
Open
jcelerier wants to merge 50 commits into
Open
Conversation
jcelerier
commented
Jun 14, 2026
Member
- isf: TEX_DIMENSIONS_3D / IMG_SIZE_3D aliases for 3D samplers
- isf: point3d_input AS_COLOR flag for color-swatch display
- isf: parse-time warning on unknown csf_image_input FORMAT
- isf: parser rework — top-level descriptors, uniform inputs, geometry AUXILIARY, vertex inputs
- 3rdparty: add OffsetAllocator submodule
- gfx: add AssetTable + TextureLoader for shared decoded-asset cache
- gfx: add GpuResourceRegistry — slab-allocated GPU arenas backed by OffsetAllocator
- gfx: add CameraMath / GpuTiming / VertexFallback helpers
- gfx: add IsfBindingsBuilder + PipelineStateHelpers
- gfx: add SceneGPUState — FlatScene + scene packer
- gfx: add OffscreenDevice + RhiPreviewWidget + Metal buffer-copy backend
- gfx: extend ISF / SimpleRenderedISF nodes for new ISF features
- csf: rework for scene-aware compute pipeline
- gfx: rework raw raster pipeline (MRT, AUXILIARY, EXECUTION_MODEL) and VSA
- gfx: refresh shared graph plumbing for incremental scene pipeline
- gfx: add ScenePreprocessorNode — scene_spec to flat draws + arena uploads
- gfx: add SceneFilterNode + FlattenedSceneFilterNode + MergeGeometriesNode
- avnd: split CpuFilter / CpuAnalysis lifecycle into init / initState / release
- avnd: add scene_port concept
- avnd: split GpuNode lifecycle and add scene_port storage helpers
- gfx: extend ShaderProgram for new ISF features
- gfx: refresh Filter / GeometryFilter / TexturePort for new pipeline
- gfx: refresh WindowDevice / Spout / Syphon / WindowCapture
- gfx: refresh GfxContext + window / screen / multiwindow nodes for incremental scene rebuild
- js: gpu node lifecycle rework with deterministic teardown
- wip: many bugfixes across the board
- build: more build fixes
- ci: fixes for older qt versions
- rhi: populate caps
- ci: try windows fixes
- gfx: restore PhongNode, still used by score-vfx-template
- gfx: keep TextureRenderTarget compatible with addons' aggregate init
- gfx: do not include mmsystem.h in CommonUBOs.hpp
- gfx: fix build with Qt < 6.9
- gfx: fix designator order after TextureRenderTarget reorder
- gfx: fix build with Qt 6.4
- gfx: more Qt 6.4 compatibility guards
18d8ecf to
baed148
Compare
jcelerier
added a commit
that referenced
this pull request
Jun 19, 2026
- BackgroundNode.hpp: include <score/application/GUIApplicationContext.hpp> (called score::GUIAppContext() via a broken transitive include; non-unity only) - CommonUBOs.hpp: drop the <windows.h> + '#undef near/far' block (matches master) and rename the colliding UBO fields near/far -> znear/zfar. The '#undef far' leaked into downstream Windows headers, breaking mmeapi.h (CameraDevice.win32) and combaseapi.h (MSVC). - CameraDevice.win32.cpp: clang-format off/on around the order-sensitive Windows includes so SortIncludes can't reorder and re-break them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UJoeDPZWGZMVPe65Np4f2F
baed148 to
b382e16
Compare
jcelerier
added a commit
that referenced
this pull request
Jun 19, 2026
- BackgroundNode.hpp: include <score/application/GUIApplicationContext.hpp> (called score::GUIAppContext() via a broken transitive include; non-unity only) - CommonUBOs.hpp: drop the <windows.h> + '#undef near/far' block (matches master) and rename the colliding UBO fields near/far -> znear/zfar. The '#undef far' leaked into downstream Windows headers, breaking mmeapi.h (CameraDevice.win32) and combaseapi.h (MSVC). - CameraDevice.win32.cpp: clang-format off/on around the order-sensitive Windows includes so SortIncludes can't reorder and re-break them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UJoeDPZWGZMVPe65Np4f2F
db9b8dc to
1c1f6c8
Compare
jcelerier
added a commit
that referenced
this pull request
Jun 25, 2026
- BackgroundNode.hpp: include <score/application/GUIApplicationContext.hpp> (called score::GUIAppContext() via a broken transitive include; non-unity only) - CommonUBOs.hpp: drop the <windows.h> + '#undef near/far' block (matches master) and rename the colliding UBO fields near/far -> znear/zfar. The '#undef far' leaked into downstream Windows headers, breaking mmeapi.h (CameraDevice.win32) and combaseapi.h (MSVC). - CameraDevice.win32.cpp: clang-format off/on around the order-sensitive Windows includes so SortIncludes can't reorder and re-break them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UJoeDPZWGZMVPe65Np4f2F
… clang-22 to fix build issues
…AUXILIARY, vertex inputs Top-level descriptors (PIPELINE_STATE, MULTIVIEW, EXECUTION_MODEL, EXTENSIONS, CLIP_DISTANCES / CULL_DISTANCES, DEPTH_LAYOUT). New input kinds: uniform_input (UBO INPUTS), per-input sampler_config (WRAP / FILTER / COMPARE / MIPS), audio_sampler_config. Storage / image / cubemap input extensions: PERSISTENT, IS_ARRAY, GENERATE_MIPS, cube/3D textures. Geometry input AUXILIARY: storage + sampled, persistent, is_uniform, depth companion, INDIRECT block. Per-pass: LAYER, Z, FORMAT, PIPELINE_STATE override. OUTPUTS: LAYERS, DEPTH, FORMAT, SAMPLES, CUBEMAP, GENERATE_MIPS, WIDTH/HEIGHT expressions. Vertex inputs: REQUIRED, DEFAULT, SEMANTIC, INTERPOLATION (with auto-flat for int/bool varyings). Bug fixes: mat3/mat4 attribute slot count, TYPES struct emission in BOTH stages, drop incorrect std430 padding heuristic that was breaking RawLight stride.
…remental scene rebuild
It breaks the score-plugin-jit unity build where cc1_main.cpp #undefs CALLBACK earlier in the TU; windows.h is enough for the near/far undefs.
UsesShadingRate only exists since Qt 6.9; rhi/qrhi.h only since Qt 6.6 - use private/qrhi_p.h like the rest of the codebase.
QRhi::D3D12 only exists since Qt 6.6; QDebug << std::string is ambiguous there.
GPU timestamps & pipeline statistics need Qt 6.6, multiview needs Qt 6.7, buffer readbacks use QRhiBufferReadbackResult before 6.6; qrhivulkan_p.h was missing for QRhiVulkanNativeHandles.
setShadingRate build-break (rhi#1), multiview pipeline count on D3D12/Metal (rhi#2), 6.7->6.8 depth-resolve guards (rhi#3), D3D12 compute-barrier guards (rhi#4), depth-only RT UAF (rhi#5), multiview/layered MRT attachments (rhi#6), indirect stride/count + indexed-only MDI (rhi#7,8), GPU-cull readback freeze + feature check (rhi#9), PSO throttle race (rhi#11), barrier/Dynamic/D3D12-transition (rhi#12,13,14), async pipeline-cache write (rhi#17). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
model/renderer port drift for storage/image inputs and synthesized-int uniform shift across visitors, renderer port-advance and GLSL codegen (filter#2,3,11, avnd#6,7); ShaderSource hash/== (filter#4); save-without-document guard (filter#8); CSF oversized-workgroup continue + per-pass barrier (rhi#10,15). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bounds/null-check script-supplied EdgeSpecs in incrementalEdgeUpdate (filter#1); lock edge mutations + TS_GUARDED_BY (filter#6); race-free edges_changed handoff (filter#7). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
per-attribute stride dedup (threedim#4), duplicated-instance dedup by (node,path) (threedim#1), cloud fast-path fingerprint (threedim#2), per_draws mirror seeding (threedim#3), CPU attribute bounds (threedim#10), instancer material aux sizing (threedim#11), per-frame camera/copy gating (threedim#12,13). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
defer manager deletion until no previews remain (filter#5); walk_descriptor_inputs for preview port indexing (filter#10). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GStreamer partial-pipeline/EOS/stride/backpressure/bus (gst#1-7); Spout R16G16B16A16_UNORM (spout#9); Syphon reconnect + stop symmetry (syphon#10,11). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
gpu_render_target_output specialization (avnd#1), per-pass pipeline/SRB + SRB double-free/leak (avnd#2,3), compute renderer State protocol (avnd#4), per-frame edge dedup (avnd#10), output port flags (avnd#11a), xyzw_spinbox ctor (avnd#12), graphics prepare() (avnd#13), geometry stub interface (avnd#17). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
release engine by stored key not current-thread (js#2), tolerant port guards (js#3), sample-count-mismatch fallback (js#4), dead members/branches + --script file check (js#5,6,7,8,9). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
avendish: gpp::std140_offset alignment fix (avnd#5). libossia: geometry_port comment fix (avnd#16). NOTE: these submodule commits are LOCAL-ONLY (branches pr2050-std140-offset-fix / pr2050-geometry-port-comment) and must be pushed to their remotes/forks before this branch is shared, or the pointers will dangle. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The engine rework moved the pipeline pointer to Pass::p.pipeline; ModelDisplayNode still used the old Pass::pipeline (6 sites) and failed to compile against the reworked engine. This is the engine-API blast radius and must ride with gfx-scene so score_plugin_threedim builds (and so gfx-scene can merge without breaking master's threedim plugin). The fuller ModelDisplay refresh remains on split/threedim. PR #2050. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- BackgroundNode.hpp: include <score/application/GUIApplicationContext.hpp> (called score::GUIAppContext() via a broken transitive include; non-unity only) - CommonUBOs.hpp: drop the <windows.h> + '#undef near/far' block (matches master) and rename the colliding UBO fields near/far -> znear/zfar. The '#undef far' leaked into downstream Windows headers, breaking mmeapi.h (CameraDevice.win32) and combaseapi.h (MSVC). - CameraDevice.win32.cpp: clang-format off/on around the order-sensitive Windows includes so SortIncludes can't reorder and re-break them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UJoeDPZWGZMVPe65Np4f2F
c156b1e to
4d51502
Compare
jcelerier
added a commit
that referenced
this pull request
Jun 26, 2026
- BackgroundNode.hpp: include <score/application/GUIApplicationContext.hpp> (called score::GUIAppContext() via a broken transitive include; non-unity only) - CommonUBOs.hpp: drop the <windows.h> + '#undef near/far' block (matches master) and rename the colliding UBO fields near/far -> znear/zfar. The '#undef far' leaked into downstream Windows headers, breaking mmeapi.h (CameraDevice.win32) and combaseapi.h (MSVC). - CameraDevice.win32.cpp: clang-format off/on around the order-sensitive Windows includes so SortIncludes can't reorder and re-break them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UJoeDPZWGZMVPe65Np4f2F
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.