JDK-8128553 : Unable to run any application on Mac OS on older ATI cards
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: fx2.0.2
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2011-10-29
  • Updated: 2015-06-17
  • Resolved: 2012-01-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
fx2.1Fixed
Related Reports
Blocks :  
Relates :  
Description
Any application I try to run just opens an empty window and repeatedly throws a RuntimeException:


java.lang.RuntimeException: Error creating framebuffer object with size 1020x700 (status code is 0x8cdd)
	at com.sun.prism.es2.ES2RTTexture.create(ES2RTTexture.java:175)
	at com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:52)
	at com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java:161)
	at com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java:25)
	at com.sun.javafx.tk.quantum.PaintRunnable.run(PaintRunnable.java:344)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
	at com.sun.prism.render.RenderJob.run(RenderJob.java:29)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:101)
	at java.lang.Thread.run(Thread.java:680)

I attached the complete output of a run of Ensemble.jar with -Dprism.verbose=true.
Comments
I've verified that this problem has been resolved in my simulated test.
17-03-2012

Fixed. Changeset: d758b1e0af68 Author: Chien Yang <chien.yang@orcale.com> Date: Thu Jan 26 18:29:09 2012 -0800 URL: http://jfxsrc.us.oracle.com/javafx/2.1/scrum/graphics/rt-closed/rev/d758b1e0af68
27-01-2012

The problem with this ATI X1600 GPU on Mac is that it passes the es2 requirement check but fails to render in your case. I have been asking around internally for a Mac with such configuration but I found none. This seems to be an old 2006 model, and it will be difficult for us to maintain it, esp. we haven't come across such issue on the rest of the Mac (Nvidia and Intel) configurations. This leads us to believe it is probably a driver issue, and this point our plan is to blacklisting it.
27-01-2012

Thanks for the explanation. Does that mean that this issue has been resolved without needing to blacklist the GPU in question? If not, then we may be misunderstanding one another: I was asking about detecting the kind of failure which results in the exceptions reported above, and falling back to j2d before the error reaches the user.
26-01-2012

This detection is already done. The blacklisting is only applied, after detection, on a small set of GPUs that can't handle our es2 pipe requirement well, such as buggy driver or performance badly. This extra blacklisting effort is to ensure best possible user experience on the JavaFX.platform.
25-01-2012

Thanks for the information. We will blacklist ATI Radeon X1600 and X1900 on Mac from using the es2 pipe as these are older GPUs that we can't support in-house. However this system should run well on 2D applications by falling back to the j2d pipe.
24-01-2012

Of course. Here it is: GL_VENDOR: ATI Technologies Inc. GL_RENDERER: ATI Radeon X1600 OpenGL Engine GL_VERSION: 2.1 ATI-7.0.52
21-01-2012

Hi Moritz, Can you do us a favor? Run any JavaFX program on your Mac with -Dprism.verbose=true property that you encountered this problem. Send us the GL_VENDOR, GL_RENDERER and GL_VERSION information that is printed to the output. For example, here is the information I got on my Mac Mini: GL_VENDOR: NVIDIA Corporation GL_RENDERER: NVIDIA GeForce 9400M OpenGL Engine GL_VERSION: 2.1 NVIDIA-1.6.36
19-01-2012

I'm getting a similar error with an ATI Radeon X1900 XT 512 M card in a Mac Pro. java.lang.RuntimeException: Error creating framebuffer object with size 300x250 (status code is 0x8cdd) at com.sun.prism.es2.ES2RTTexture.create(ES2RTTexture.java:175) at com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:52) at com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java:161) at com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java:25) at com.sun.javafx.tk.quantum.PaintRunnable.run(PaintRunnable.java:324) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at com.sun.prism.render.RenderJob.run(RenderJob.java:29) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at com.sun.javafx.tk.quantum.QuantumRenderer$ObservedRunnable.run(QuantumRenderer.java:80) at java.lang.Thread.run(Thread.java:680)
11-12-2011

Though this is an older card, it is still a prism-es2 capable card; it is a HW PS 3 (or OpenGL 2.0) capable card for on the specification. Do we have a X1600 card in-house?
29-11-2011

Target this for 2.1. Note that the X1600 is an old card that is below our minimum configuration for HW-accelerated JavaFX, so we may need to blacklist the graphics card so that it will fall back to SW rather than continuously throwing an exception.
31-10-2011