Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

matc fails compilation on ghost token #7820

Closed
Nolram12345 opened this issue May 3, 2024 · 3 comments
Closed

matc fails compilation on ghost token #7820

Nolram12345 opened this issue May 3, 2024 · 3 comments
Assignees
Labels
bug Something isn't working materials Issue/request for the material system

Comments

@Nolram12345
Copy link

Nolram12345 commented May 3, 2024

Describe the bug
When attempting to compile a material that #includes the attached fragment shader file, the compile fails on a non-existent character (Ç).

To Reproduce
Steps to reproduce the behavior (not tested yet):

  1. Append the given fragment shader source file into colorGrading.mat (or any other material) using a #include statement.
  2. Attempt to compile the material with matc.

Expected behavior
The shader should compile correctly (or at least error on an actual error) and not fail on this non-existent symbol.

Logs

[61/185] Compiling material N:/BDE/filament/filament/src/materials/colorGrading/colorGrading.mat to N:/BDE/filament/cmake-build-release-visual-studio/filament/generated/material/colorGrading.filamat
FAILED: filament/generated/material/colorGrading.filamat N:/BDE/filament/cmake-build-release-visual-studio/filament/generated/material/colorGrading.filamat 
cmd.exe /C "cd /D N:\BDE\filament\cmake-build-release-visual-studio\filament && N:\BDE\filament\cmake-build-release-visual-studio\tools\matc\matc.exe -a opengl -a vulkan -p desktop -o N:/BDE/filament/cmake-build-release-visual-studio/filament/generated/material/colorGrading.filamat N:/BDE/filament/filament/src/materials/colorGrading/colorGrading.mat"
ERROR: Unable to parse fragment shader:
ERROR: ../../../../shaders/src/chromatic_aberration.fs:1: 'Ç' : unexpected token 
ERROR: 1 compilation errors.  No code generated.

Additional context
Tried this on Windows 10 22H2, using Clion as an IDE, on a fresh clone of the Filament repository.
This issue may be user error - I'm only just attempting to get my bearings in working with Filament's internals by implementing a simple post-processing effect.

I had to attach the .fs file renamed to a .txt due to GitHub limitations.

chromatic_aberration.txt

@pixelflinger pixelflinger added bug Something isn't working materials Issue/request for the material system labels May 8, 2024
@pixelflinger pixelflinger self-assigned this May 8, 2024
@poweifeng
Copy link
Contributor

Not sure how your file was created, but if you look at the hexcode, you'll see non-ascii chars in the first few bytes., using xxd chromatic_aberration.txt, we see

00000000: efbb bf2f 2f2d 2d2d 2d2d 2d2d 2d2d 2d2d  ...//-----------
00000010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------

Also there is windows style carriage return 0d0a

00000050: 2d2d 2d0d 0a2f 2f20 4368 726f 6d61 7469  ---..// Chromati

These are not what matc expects as input.

@poweifeng poweifeng closed this as not planned Won't fix, can't repro, duplicate, stale May 30, 2024
@Nolram12345
Copy link
Author

This file was created by creating a new file in Clion, the IDE recommended for Filament development. No idea how that got there.
What formatting does matc expect as input?

@poweifeng
Copy link
Contributor

With testing, it looks like matc can handle CRLF (windows new line) fine. So it's probably just those errant bytes at the beginning that was the problem. I don't know if there's a strict definition of the input for matc, but as long as you can fix those bytes, you're good I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working materials Issue/request for the material system
Projects
None yet
Development

No branches or pull requests

3 participants