Skip to content
Open
Show file tree
Hide file tree
Changes from 145 commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
2bff0a4
refactor(shader-compiler): cut parser reverse-deps on ShaderCompiler
zhuxudong Jun 2, 2026
dbc634a
refactor(shader-compiler): decouple parser modules from engine-core
zhuxudong Jun 2, 2026
72be8c1
refactor(shader-parser): extract shader-parser package from shader-co…
zhuxudong Jun 2, 2026
f140f73
feat(shader-analyzer): add diagnostics package restoring compiler dia…
zhuxudong Jun 2, 2026
c957380
refactor(shader-compiler): remove verbose build and diagnostic reporting
zhuxudong Jun 2, 2026
fd833b3
refactor(shader): remove dead code and tighten comments
zhuxudong Jun 2, 2026
6ac1477
refactor(shader): inline ObjectPool base and use direct type in analyzer
zhuxudong Jun 2, 2026
a57dc9a
feat(shader-analyzer): add structured Diagnostic API with error codes
zhuxudong Jun 2, 2026
cdec863
fix(shader-parser): surface used-before-declared warning
zhuxudong Jun 2, 2026
cbaa656
feat(shader-analyzer): flag undefined function calls (C0-09)
zhuxudong Jun 2, 2026
2df1373
refactor(shader-parser): remove vestigial #if _VERBOSE conditionals
zhuxudong Jun 2, 2026
17e58ff
refactor(shader): drop dead verbose jscc config, tighten any types
zhuxudong Jun 2, 2026
25ca756
feat(shader-analyzer): warn on variable redefinition (C0-10)
zhuxudong Jun 2, 2026
43974b1
feat(shader-analyzer): report invalid vector swizzles (C1-01)
zhuxudong Jun 2, 2026
2e167c2
feat(shader-analyzer): report incompatible-type assignments (C1-02)
zhuxudong Jun 2, 2026
7a7e904
feat(shader-analyzer): report mismatched return types (C1-03)
zhuxudong Jun 2, 2026
acb5370
fix(shader-parser): reset parser working state per parse
zhuxudong Jun 2, 2026
e50f333
feat(shader-analyzer): add registerRule custom-rule API
zhuxudong Jun 3, 2026
31ad719
feat(examples): add shader analyzer playground
zhuxudong Jun 3, 2026
e10e6f7
refactor(shader): log via a controllable Logger, drop bare console
zhuxudong Jun 3, 2026
03219bf
refactor(shader-parser): use engine-core Logger, drop local copy
zhuxudong Jun 3, 2026
c69ba49
feat(shader-analyzer): print diagnostics through Logger
zhuxudong Jun 3, 2026
2596048
refactor(shader-parser): use engine-core ClearableObjectPool, drop lo…
zhuxudong Jun 3, 2026
8657e6d
refactor(shader-parser): use engine-core render-state enums, drop loc…
zhuxudong Jun 3, 2026
b60cf39
refactor(shader): drop stale verbose comments and dead jscc plugin
zhuxudong Jun 3, 2026
093f36c
refactor(shader): dedupe ShaderPreprocessorDirective via core export
zhuxudong Jun 3, 2026
e7855d0
refactor(shader-analyzer): source diagnostic codes from DiagnosticCod…
zhuxudong Jun 3, 2026
3cd1145
refactor(shader): move swizzle judgment from parser into analyzer walker
zhuxudong Jun 3, 2026
0835606
refactor(shader): move operator check from parser into analyzer walker
zhuxudong Jun 3, 2026
eff069e
refactor(shader): revert analyzer walker hack, judgments stay in parser
zhuxudong Jun 3, 2026
2bed492
refactor(shader): stamp diagnostic codes at parser judgment sites (er…
zhuxudong Jun 3, 2026
4eded32
chore(shader): remove leftover SemanticWalker file from reverted hack
zhuxudong Jun 3, 2026
225121f
refactor(shader): stamp diagnostic codes at codegen judgment sites
zhuxudong Jun 4, 2026
8a1dd89
refactor(shader): stamp codes at A/B sites, drop message-matching fal…
zhuxudong Jun 4, 2026
e90c6d6
refactor(shader): add parser-side IO analyzer + expectation-driven tests
zhuxudong Jun 4, 2026
7ce06e9
test(shader): comprehensive diagnostic coverage map
zhuxudong Jun 4, 2026
0b58aa8
fix(shader): report use-before-declaration as error, not warning
zhuxudong Jun 11, 2026
e5907aa
refactor(shader): replace numeric diagnostic codes with semantic Diag…
zhuxudong Jun 11, 2026
3e04c86
style(shader): capitalize IO struct diagnostic messages for consistency
zhuxudong Jun 11, 2026
9322e2f
refactor(shader): extract parseShaderPass so analyzer drops LALR/lexe…
zhuxudong Jun 11, 2026
09993d3
refactor(shader): move gl_FragData diagnostic from codegen to parse-time
zhuxudong Jun 12, 2026
02f5485
refactor(shader): validate struct field access at parse time
zhuxudong Jun 12, 2026
2bb1862
refactor(shader): source IO diagnostics from parser, decouple analyze…
zhuxudong Jun 12, 2026
71f755c
refactor(shader): collect gl_FragColor as a parse clue, drop the para…
zhuxudong Jun 12, 2026
1177aa9
docs(shader): drop stale numeric-code references and fix outdated doc…
zhuxudong Jun 12, 2026
770fff0
refactor(shader): codegen consumes ShaderIOAnalyzer IO structs, dropp…
zhuxudong Jun 12, 2026
cead4da
refactor(shader): move struct-var role derivation into ShaderIOAnalyzer
zhuxudong Jun 12, 2026
7545f29
refactor(shader): delete dead codegen diagnostics, dedupe StructRole,…
zhuxudong Jun 12, 2026
fb86b5a
fix(shader): detect duplicate entry assignment, the check read the wr…
zhuxudong Jun 12, 2026
e12898b
fix(shader): always reset processingPassText so a failed compile can'…
zhuxudong Jun 15, 2026
7183b5c
feat(shader): analyze() returns parsed per-pass ASTs so the editor pa…
zhuxudong Jun 15, 2026
b4a68f8
refactor(shader): enums over magic strings; one shared generate() entry
zhuxudong Jun 15, 2026
55d6f01
feat(shader): inject a ShaderAnalyzer to diagnose during compilation,…
zhuxudong Jun 15, 2026
abd8d5b
refactor(shader): cut speculative analyzer API
zhuxudong Jun 26, 2026
8bfd06e
feat(shader): add MissingEntry diagnostic
zhuxudong Jun 26, 2026
b9550c1
feat(shader): add NonBoolCondition diagnostic
zhuxudong Jun 26, 2026
bf80a28
feat(shader): add RecursiveFunction diagnostic
zhuxudong Jun 26, 2026
c5630b9
Merge remote-tracking branch 'origin/dev/2.0' into refactor/shader-an…
zhuxudong Jun 26, 2026
76162a5
test(shader): use src-relative shader path for vitest readFile base
zhuxudong Jun 26, 2026
60cde16
Merge remote-tracking branch 'origin/dev/2.0' into refactor/shader-an…
zhuxudong Jun 26, 2026
b4438f7
feat(shader): add NonConstructibleReturnType diagnostic
zhuxudong Jun 26, 2026
f73678f
feat(shader): add NestedIOStruct diagnostic
zhuxudong Jun 26, 2026
631e183
feat(shader): add ConstDivideByZero diagnostic + const-eval helper
zhuxudong Jun 26, 2026
7065b81
feat(shader): add ShiftOutOfRange diagnostic
zhuxudong Jun 26, 2026
ac575a2
feat(shader): add IndexOutOfBounds diagnostic
zhuxudong Jun 26, 2026
0f80cf4
feat(shader): add InvalidUnaryOperand diagnostic
zhuxudong Jun 26, 2026
a9e4173
feat(shader): add InvalidBinaryOperands diagnostic
zhuxudong Jun 26, 2026
2c1beca
feat(shader): add NonIntegerIndex diagnostic
zhuxudong Jun 26, 2026
0656841
feat(shader): add InvalidConversion + ConstructorArgType diagnostics
zhuxudong Jun 26, 2026
fbac65f
feat(shader): add ConstructorArgCount diagnostic
zhuxudong Jun 26, 2026
ed1cabf
feat(shader): add MissingVertexPosition diagnostic
zhuxudong Jun 26, 2026
4f44250
feat(shader): re-enable binary arithmetic type deduce
zhuxudong Jun 26, 2026
9862f8d
feat(shader): add UnreachableCode diagnostic
zhuxudong Jun 26, 2026
611ac5b
feat(shader): add MisplacedControlFlow diagnostic
zhuxudong Jun 26, 2026
ac21206
refactor(shader): move array-of-array off the analyzer (C4)
zhuxudong Jun 26, 2026
f0d1913
feat(shader): add NonIndexableType and ExpectedSampler diagnostics
zhuxudong Jun 26, 2026
fc4d0bc
feat(shader): add NonFlatIntegerVarying diagnostic
zhuxudong Jun 26, 2026
e32d531
feat(shader): add NonConstInitializer and NonConstArraySize diagnostics
zhuxudong Jun 26, 2026
3027e5c
feat(shader): add EntryNotFound diagnostic
zhuxudong Jun 26, 2026
d3e64c5
refactor(shader): simplify diagnostic code (no behavior change)
zhuxudong Jun 26, 2026
005864a
fix(shader): align diagnostics with Naga validation
zhuxudong Jun 26, 2026
50841ef
test(shader): enforce full diagnostic coverage
zhuxudong Jun 26, 2026
1866f9b
fix(shader): type entry location as ShaderRange at the analyzer boundary
zhuxudong Jun 26, 2026
aecf75a
refactor(shader): drop UnreachableCode diagnostic
zhuxudong Jun 26, 2026
0c32f93
feat(shader): unify diagnostic formatting into one built-in formatter
zhuxudong Jun 26, 2026
e5f2d54
refactor(shader): merge over-split diagnostics to match Naga
zhuxudong Jun 26, 2026
fb9648c
docs(shader): rebuild shader-playground diagnostics demo
zhuxudong Jun 26, 2026
aeb75cf
fix(shader): fragment entry may also return void
zhuxudong Jun 27, 2026
830d17e
refactor(shader): merge return-type diagnostics to match Naga
zhuxudong Jun 27, 2026
ced1337
refactor(shader): extract TypeSystem from ParserUtils
zhuxudong Jun 27, 2026
6b72043
refactor(shader): introduce ShaderValidator, move first check off the…
zhuxudong Jun 27, 2026
7c7035b
refactor(shader): move stateless type checks to ShaderValidator (B1)
zhuxudong Jun 27, 2026
f7b0f7f
refactor(shader): move remaining stateless checks to ShaderValidator …
zhuxudong Jun 27, 2026
1f83ee7
refactor(shader): move walk-context checks to ShaderValidator (B2a)
zhuxudong Jun 27, 2026
9a276ef
refactor(shader): tidy ShaderValidator after the incremental separation
zhuxudong Jun 27, 2026
66ea707
fix(shader): restore FunctionDefinition.returnStatement void gate
zhuxudong Jul 3, 2026
ab23627
fix(shader): scope IO struct-var map by stage to fix attribute drop
zhuxudong Jul 6, 2026
c4f444e
docs(shader): group playground diagnostic samples by category
zhuxudong Jul 6, 2026
fc5f58d
feat(shader): add DiagnosticCategory as source-of-truth
zhuxudong Jul 6, 2026
b6cfc82
refactor(shader): use english values for DiagnosticCategory
zhuxudong Jul 6, 2026
00582de
fix(shader): diagnostic fixes and new checks
zhuxudong Jul 8, 2026
0913887
fix(shader): function Redefinition — error + reject on same signature
zhuxudong Jul 8, 2026
75c057b
fix(shader): collect duplicate-entry-assignment instead of throwing
zhuxudong Jul 8, 2026
0f20d78
fix(shader): compare struct types by name in isAssignable
zhuxudong Jul 8, 2026
f045624
fix(shader): add matrix component-count to ConstructorArgCount
zhuxudong Jul 8, 2026
b69c5a0
fix(shader): recurse structs for NonConstructibleReturnType
zhuxudong Jul 8, 2026
a115883
fix(shader): recognise compound const expressions in NonConstInitializer
zhuxudong Jul 8, 2026
5f304e4
feat(shader): add InvalidArraySize diagnostic for size <= 0
zhuxudong Jul 8, 2026
d7f5a82
fix(shader): detect mutual recursion in RecursiveFunction
zhuxudong Jul 8, 2026
222164f
fix(shader): propagate DerivativeInVertexShader through helper chain
zhuxudong Jul 8, 2026
0b5b452
fix(shader): dedup GlFragColorWithMrt and GlFragData per shader
zhuxudong Jul 8, 2026
d1fc279
refactor(shader): drop GlFragData diagnostic to keep gl_FragData legal
zhuxudong Jul 8, 2026
523d3a6
refactor(shader): downgrade identifier/function lookup diagnostics to…
zhuxudong Jul 8, 2026
c20b182
test(shader): tie analyzer, codegen, and real WebGL driver into one c…
zhuxudong Jul 8, 2026
8329e1f
test(shader): extend analyzer/driver consistency suite to 36 diagnost…
zhuxudong Jul 8, 2026
5ec183f
test(shader): tighten warning-severity contract to match driver reality
zhuxudong Jul 8, 2026
f6c0178
feat(shader): add BareGlFragData diagnostic for unindexed gl_FragData…
zhuxudong Jul 8, 2026
3516e01
refactor(shader): tighten undeclared-identifier warnings and silence …
zhuxudong Jul 8, 2026
060b114
refactor(shader): drop obsolete '#include' hint from undeclared warnings
zhuxudong Jul 8, 2026
26a3e06
fix(shader): propagate isConst on global VariableDeclaration to VarSy…
zhuxudong Jul 8, 2026
dfba45b
feat(shader): add InvalidAssignmentTarget diagnostic for non-l-value LHS
zhuxudong Jul 8, 2026
17ff800
fix(shader): enforce GLSL ES §4 no-implicit-conversion in initializer…
zhuxudong Jul 8, 2026
3292dbe
fix(shader): close 9 GLSL ES diagnostic gaps from glslang corpus scan
zhuxudong Jul 8, 2026
f25026b
fix(shader): stop InvalidAssignmentTarget from firing on macro-as-LHS
zhuxudong Jul 8, 2026
e3f632c
feat(shader): quick-win diagnostics — void variables, sampler-priorit…
zhuxudong Jul 8, 2026
f5eb959
fix(shader): branch-aware diagnostic severity — downgrade errors insi…
zhuxudong Jul 8, 2026
e9a4227
Revert "fix(shader): branch-aware diagnostic severity — downgrade err…
zhuxudong Jul 8, 2026
3cdd448
feat(shader): add MacroBranchConflict — same-name symbol with diverge…
zhuxudong Jul 8, 2026
c8393b1
Revert "feat(shader): add MacroBranchConflict — same-name symbol with…
zhuxudong Jul 10, 2026
f8112ee
refactor(shader): branch-aware SymbolTable lookup
zhuxudong Jul 10, 2026
0193c56
fix(shader): recover global VariableDeclaration ArraySpecifier
zhuxudong Jul 10, 2026
d62850e
fix(shader): recognize #ifdef/#else return-guarantees
zhuxudong Jul 10, 2026
a52efa2
fix(shader): three type-inference sharpenings
zhuxudong Jul 10, 2026
bbb6099
fix(shader): overload ambiguity guards for TypeAny arguments
zhuxudong Jul 10, 2026
aadb304
feat(shader): warn on cross-branch symbol type divergence
zhuxudong Jul 10, 2026
9d11b72
feat(shader): add branch-aware macro diagnostics
zhuxudong Jul 21, 2026
8a8b168
fix(shader): resolve branch-aware macro conflicts
zhuxudong Jul 22, 2026
4863179
fix(shader-analyzer): enforce macro branch diagnostics
zhuxudong Jul 22, 2026
b57b81f
fix(shader-analyzer): enforce macro branch coverage
zhuxudong Jul 22, 2026
60fa35c
fix(shader-analyzer): cover elif complements
zhuxudong Jul 22, 2026
e26ac80
fix(shader-analyzer): align macro conditions
zhuxudong Jul 22, 2026
e9ce082
refactor(shader-parser): unify condition parsing
zhuxudong Jul 22, 2026
4c07a77
refactor(shader-parser): simplify condition model
zhuxudong Jul 22, 2026
86968da
refactor(shader): clean diagnostics code and docs
zhuxudong Jul 22, 2026
4e33d49
chore: resolve dev/2.0 conflicts
zhuxudong Jul 22, 2026
6cb9760
fix(shader): address analyzer and compiler review findings
zhuxudong Jul 23, 2026
3aa3479
fix(shader): validate branch-aware struct type references
zhuxudong Jul 23, 2026
db4fa4a
refactor(shader): separate neutral IR and analyzer ownership
Aug 4, 2026
1c37536
chore: merge dev/2.0 into shader analyzer branch
Aug 4, 2026
8fd6abc
fix(shader): close runtime artifact gates
Aug 4, 2026
1fcc0d0
refactor(shader): keep parser internals behind package boundary
Aug 4, 2026
3aabb46
test(shader): cover macro-empty struct diagnostics
Aug 4, 2026
a12d346
fix(shader): close review correctness and boundary gaps
Aug 4, 2026
5c593e0
fix(ci): run parser package verifier on Windows
Aug 4, 2026
f1504b0
refactor(shader): isolate analyzer parser from runtime
Aug 4, 2026
55df995
fix(shader): close remaining analyzer review findings
Aug 5, 2026
2ecc31b
fix(ci): preserve analyzer CLI executable mode
Aug 5, 2026
234ee8c
chore(shader): remove implementation-only verification tools
Aug 5, 2026
bbcc151
fix(shader): align diagnostic markers with source ranges
Aug 5, 2026
8d0f71e
docs(shader): document analyzer CLI and offline package usage
Aug 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions examples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"@galacean/engine-math": "workspace:*",
"@galacean/engine-rhi-webgl": "workspace:*",
"@galacean/engine-shader": "workspace:*",
"@galacean/engine-shader-analyzer": "workspace:*",
"@galacean/engine-shader-compiler": "workspace:*",
"@galacean/engine-toolkit": "latest",
"@galacean/engine-toolkit-stats": "latest",
Expand Down
Loading
Loading