Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8341990

Unable to load D3D12 shaders when running tests

XMLWordPrintable

      To reproduce:

      ```
      _JAVA_OPTIONS="-Dprism.order=d3d12 -Dprism.verbose=true" gradle --info \
          -PTEST_ONLY=true -PFULL_TEST=true -PUSE_ROBOT=true :systemTests:test --tests RobotTest

      ...

      Picked up _JAVA_OPTIONS: -Dprism.order=d3d12 -Dprism.verbose=true

      RobotTest STANDARD_OUT
          Prism pipeline init order: d3d12
          Using Double Precision Marlin Rasterizer
          Using dirty region optimizations
          Not using texture mask for primitives
          Not forcing power of 2 sizes for textures
          Using hardware CLAMP_TO_ZERO mode
          Opting in for HiDPI pixel scaling
          Prism pipeline name = com.sun.prism.d3d12.D3D12Pipeline
          Loading D3D12 native library ...
           succeeded.
          (X) Got class = class com.sun.prism.d3d12.D3D12Pipeline

      RobotTest STANDARD_ERROR
          GraphicsPipeline.createPipeline failed for com.sun.prism.d3d12.D3D12Pipeline
          java.lang.RuntimeException: InputStream must be non-null
           at javafx.graphics@24-internal/com.sun.prism.d3d12.D3D12Utils.getShaderCodeBuffer(D3D12Utils.java:37)
           at javafx.graphics@24-internal/com.sun.prism.d3d12.D3D12Utils.getShaderCodeBuffer(D3D12Utils.java:69)
           at javafx.graphics@24-internal/com.sun.prism.d3d12.D3D12Pipeline.loadInternalShader(D3D12Pipeline.java:133)
           at javafx.graphics@24-internal/com.sun.prism.d3d12.D3D12Pipeline.loadInternalShaders(D3D12Pipeline.java:140)
           at javafx.graphics@24-internal/com.sun.prism.d3d12.D3D12Pipeline.init(D3D12Pipeline.java:173)
           at javafx.graphics@24-internal/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:230)
           at javafx.graphics@24-internal/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:92)
           at javafx.graphics@24-internal/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
           at java.base/java.lang.Thread.run(Thread.java:1570)
          Graphics Device initialization failed for : d3d12
          Error initializing QuantumRenderer: no suitable pipeline found
          java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
           at javafx.graphics@24-internal/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:283)
           at javafx.graphics@24-internal/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:253)
           at javafx.graphics@24-internal/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:263)
           at javafx.graphics@24-internal/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:290)
           at javafx.graphics@24-internal/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:162)
           at javafx.graphics@24-internal/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:651)
           at javafx.graphics@24-internal/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:671)
           at javafx.graphics@24-internal/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
           at java.base/java.lang.Thread.run(Thread.java:1570)
          Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
           at javafx.graphics@24-internal/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:95)
           at javafx.graphics@24-internal/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
           ... 1 more
          Exception in thread "Thread-3" java.lang.RuntimeException: No toolkit found
           at javafx.graphics@24-internal/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:275)
           at javafx.graphics@24-internal/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:290)
           at javafx.graphics@24-internal/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:162)
           at javafx.graphics@24-internal/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:651)
           at javafx.graphics@24-internal/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:671)
           at javafx.graphics@24-internal/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
           at java.base/java.lang.Thread.run(Thread.java:1570)
      ```

      We ran into a somewhat similar problem for Metal that I fixed a few months ago, although this might be different.

            lkostyra Lukasz Kostyra
            kcr Kevin Rushforth
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: