@Language("AGSL")
private static final String COLOR_SHADER_SRC =
"half4 main(float2 fragCoord) {\n" +
"return half4(1.0,0.0,0.0,1.0);\n" +
"}";
private static final RuntimeShader fixedColorShader = new RuntimeShader(COLOR_SHADER_SRC);
private static final Paint shaderPaint = new Paint();
< /code>
и в конструкторе: < /p>
shaderPaint.setShader(fixedColorShader)
< /code>
Но когда я звоню с каким -то холстом: < /p>
this.canvas.drawPaint(shaderPaint);
< /code>
Я получаю: < /p>
[SurfaceView[com.example.mandebrotset/com.example.mandebrotset.MainActivity]#1(BLAST Consumer
eglCreateWindowSurface: native_window_api_connect (win=0xb400007d4d1f56d0) failed (0xffffffea
eglCreateWindowSurfaceTmpl:689 error 3003 (EGL_BAD_ALLOC)
Exception dispatching input event.
Exception in MessageQueue callback: handleReceiveCallback
java.lang.IllegalArgumentException: Software rendering doesn't support RuntimeShader
at android.graphics.BaseCanvas.throwIfHasHwFeaturesInSwMode(BaseCanvas.java:745)
at android.graphics.BaseCanvas.throwIfHasHwFeaturesInSwMode(BaseCanvas.java:735)
at android.graphics.BaseCanvas.drawPaint(BaseCanvas.java:307)
at android.graphics.Canvas.drawPaint(Canvas.java:1832)
< /code>
[list]
[*] Я попытался перейти от API 33 к Android версии 14 с SDK API 34, но ничего не изменилось ... < /p>
< /li>
Я включен Android: HardwareAccelerated = "true"
на манифесте во всем приложении, все еще нет изменения.
[*] Canvas от The Surface Holder дается Surfholder.lockhardwareCanvas () . Нет изменения.
Я реализовал код AGSL, написанный в документации: < /p> [code]@Language("AGSL") private static final String COLOR_SHADER_SRC = "half4 main(float2 fragCoord) {\n" + "return half4(1.0,0.0,0.0,1.0);\n" + "}"; private static final RuntimeShader fixedColorShader = new RuntimeShader(COLOR_SHADER_SRC); private static final Paint shaderPaint = new Paint(); < /code> и в конструкторе: < /p> shaderPaint.setShader(fixedColorShader) < /code> Но когда я звоню с каким -то холстом: < /p> this.canvas.drawPaint(shaderPaint); < /code> Я получаю: < /p> [SurfaceView[com.example.mandebrotset/com.example.mandebrotset.MainActivity]#1(BLAST Consumer eglCreateWindowSurface: native_window_api_connect (win=0xb400007d4d1f56d0) failed (0xffffffea eglCreateWindowSurfaceTmpl:689 error 3003 (EGL_BAD_ALLOC) Exception dispatching input event. Exception in MessageQueue callback: handleReceiveCallback java.lang.IllegalArgumentException: Software rendering doesn't support RuntimeShader at android.graphics.BaseCanvas.throwIfHasHwFeaturesInSwMode(BaseCanvas.java:745) at android.graphics.BaseCanvas.throwIfHasHwFeaturesInSwMode(BaseCanvas.java:735) at android.graphics.BaseCanvas.drawPaint(BaseCanvas.java:307) at android.graphics.Canvas.drawPaint(Canvas.java:1832) < /code> [list] [*] Я попытался перейти от API 33 к Android версии 14 с SDK API 34, но ничего не изменилось ... < /p> < /li> Я включен Android: HardwareAccelerated = "true" [/code] на манифесте во всем приложении, все еще нет изменения.
[*] Canvas от The Surface Holder дается Surfholder.lockhardwareCanvas () . Нет изменения.