Skip to content

Shader link error on UBERARCHIVE_DEFAULT_DATA (Adreno Only) #6355

@mejai1206

Description

@mejai1206

Describe the bug
This bug only occurs in Adreno.
Using uberarchive builded with disabling optimization about matc,
create material with below code.
gltfio::createUbershaderProvider(engine, UBERARCHIVE_DEFAULT_DATA, UBERARCHIVE_DEFAULT_SIZE)
then shader link error occur in OpenGLProgram::checkProgramStatus.

To Reproduce

  1. Open filament/CMakeList.txt and edit so that code:set(MATC_OPT_FLAGS -gd) always works. like below.
    # Disable optimizations and enable debug info (preserves names in SPIR-V) set(MATC_OPT_FLAGS -gd)

  2. Build android demo app with command: ./build.sh -p desktop,android -i release

  3. Run sample-gltf-viewer

  4. We can check this bug. object did not rendered, with shader-error.

Expected behavior
Object is rendered without shader-error on Adreno, with matc-option(-gd)

Logs
E KHR_debug ERROR: shader 0 is not a shader object E KHR_debug ERROR: program 58 is not a program object or shader 0 is not a shader object

Smartphone (please complete the following information):

  • Device: [Pixel 3]
  • OS: [Android 12]
  • Backend: [OpenGL]
  • GPU: [Adreno]

image

Additional context
If instanced option on base.mat is true, it works well.

Metadata

Metadata

Assignees

Labels

androidIssue/feature request for Android onlybugSomething isn't workinggpu specificThis bug occurs only with a single GPU vendor.openglIssue/request specific to OpenGL

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions