[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    shader question
From:       Johan Vos <johan () lodgon ! com>
Date:       2014-11-27 21:13:32
Message-ID: CABek58m0rSk16WYZzqo-JOUyxt3TXksQD2aThgipYxUTSY-_tA () mail ! gmail ! com
[Download RAW message or body]

Hi,

I'm not sure this will ever work, but I started looking into JavaFX 3D on
Android.
This is the info from the GPU on my Nexus 5:
Graphics Vendor: Qualcomm
Renderer: Adreno (TM) 330
Version: OpenGL ES 3.0 V@95.0 AU@  (GIT@I68fa98814b)

While that looks fine, running a simple JavaFX 3D sample crashes in the
render phase:
 java.lang.RuntimeException: Error creating shader program
     at com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:158)
     at com.sun.prism.es2.ES2PhongShader.getShader(ES2PhongShader.java:177)

I debugged the native code, and the native call to nCreateProgram in
native-prism-es2/GLContext.c fails in the line
ctxInfo->glGetProgramiv(shaderProgram, GL_LINK_STATUS, &success);
(that is, success = GL_FALSE)

Good enough, the error messages are retrieved, and printed in the log:
Program link log: --From Vertex Shader:
Error: Symbol lights defined with different precision in vertex and
fragment shaders.
Error: Symbol lights defined with different precision in vertex and
fragment shaders.
 --From Fragment Shader:
Error: Symbol lights defined with different precision in vertex and
fragment shaders.
Error: Symbol lights defined with different precision in vertex and
fragment shaders.

Does anyone have an idea about this? Or is 3D on Android just over
ambitious?

Thanks,

- Johan
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic