Hey everyone,
I was trying to the 'Display a Scene' sample app on a Nexus 6 API 26 emulator but got the error below.
I tried to change the 'Emulator performance' to 'Software - GLES 2.0' and increased the Emulator RAM to 3072Mb, but to no effect.
Any insight will be very much appreciated.
Cheers
E/AndroidRuntime: FATAL EXCEPTION: Rendering thread
Process: com.example.a2d3d_test_app, PID: 8020
com.esri.arcgisruntime.ArcGISRuntimeException: Internal error.: Failed to compile GL Shader: tile_3d_draw_ps
Error Log:
WARNING: 0:2: 'GL_EXT_frag_depth' : extension is not supported
ERROR: 0:254: 'gl_FragDepthEXT' : undeclared identifier
at com.esri.arcgisruntime.internal.jni.CoreGeoView.nativeDraw(Native Method)
at com.esri.arcgisruntime.internal.jni.CoreGeoView.a(SourceFile:5)
at com.esri.arcgisruntime.a.i.f.g.a(SourceFile:87)
at com.esri.arcgisruntime.mapping.view.GeoView$RenderingThread.draw(SourceFile:2)
at com.esri.arcgisruntime.mapping.view.SceneView.b(SourceFile:1)
at com.esri.arcgisruntime.mapping.view.SceneView.lambda$moyPL0flTCRthLMFyvD_1llgzxc(Unknown Source:0)
at com.esri.arcgisruntime.mapping.view.-$$Lambda$SceneView$moyPL0flTCRthLMFyvD_1llgzxc.a(Unknown Source:2)
at com.esri.arcgisruntime.internal.jni.CoreGeoView.onDrawRequested(SourceFile:4)
at com.esri.arcgisruntime.internal.jni.CoreGeoView.nativePulse(Native Method)
at com.esri.arcgisruntime.internal.jni.CoreGeoView.z(SourceFile:1)
at com.esri.arcgisruntime.a.i.f.g.o(SourceFile:1)
at com.esri.arcgisruntime.mapping.view.GeoView$RenderingThread.doFrame(SourceFile:3)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:909)
at android.view.Choreographer.doCallbacks(Choreographer.java:723)
at android.view.Choreographer.doFrame(Choreographer.java:655)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at com.esri.arcgisruntime.mapping.view.GeoView$RenderingThread.run(SourceFile:5)
Hi,
Whats the CPU architecture of the emulator? Do you see it on any physical devices as well?
I just tried a API 26 x86 emulator which rendered the scene fine.
Thanks
Rama
Thank you for the answer Rama,
It works well in a physical device, not on the emulator.
The emulator I tried is a Nexus 6 API26 x86 CPU architecture, I'll leave the details below.
Name: Nexus_6_API_26
CPU/ABI: Google APIs Intel Atom (x86)
Path: C:\Users\migue\.android\avd\Nexus_6_API_26.avd
Target: google_apis [Google APIs] (API level 26)
Skin: nexus_6
SD Card: 512 MB
fastboot.chosenSnapshotFile:
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: Nexus 6
hw.lcd.width: 1440
hw.initialOrientation: Portrait
image.androidVersion.api: 26
tag.id: google_apis
hw.mainKeys: no
hw.camera.front: emulated
avd.ini.displayname: Nexus 6 API 26
hw.gpu.mode: software
hw.ramSize: 3072
PlayStore.enabled: false
fastboot.forceColdBoot: no
hw.cpu.ncore: 4
hw.keyboard: yes
hw.sensors.proximity: yes
hw.dPad: no
hw.lcd.height: 2560
vm.heapSize: 384
skin.dynamic: yes
hw.device.manufacturer: Google
hw.gps: yes
hw.audioInput: yes
image.sysdir.1: system-images\android-26\google_apis\x86\
showDeviceFrame: yes
hw.camera.back: virtualscene
AvdId: Nexus_6_API_26
hw.lcd.density: 560
hw.arc: false
hw.device.hash2: MD5:869d76256fcdae165862720ddb8343f9
fastboot.forceChosenSnapshotBoot: no
fastboot.forceFastBoot: yes
hw.trackBall: no
hw.battery: yes
hw.sdCard: yes
tag.display: Google APIs
runtime.network.latency: none
disk.dataPartition.size: 800M
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes
Hi,
Thanks for the emulator information. Will pass it on to the team. From initial glance appears similar to the configuration I used, anyways will try to reproduce it with above configuration.
- Rama