1. 13 Oct, 2025 1 commit
  2. 12 Oct, 2025 1 commit
  3. 09 Oct, 2025 2 commits
    • Igor Demin's avatar
      Revert "Pack ANGLE into a separate jar" (#1114) · 2044a13b
      Igor Demin authored
      Reverts JetBrains/skiko#1082
      
      Sign task failed on CI
      (`publishSkikoJvmRuntimeWindowsX64PublicationToComposeRepoRepository`):
      ```
      
        Some problems were found with the configuration of task ':signSkikoJvmRuntimeWindowsX64Publication' (type 'Sign').
      16:29:09     - Gradle detected a problem with the following location: 'C:\buildagent\work\381d14fe560aa354\skiko\build\libs\skiko-0.9.28+debug-javadoc.jar.asc'.
      
        org.gradle.internal.execution.WorkValidationException: Some problems were found with the configuration of task ':signSkikoJvmRuntimeWindowsX64Publication' (type 'Sign').
          - Gradle detected a problem with the following location: 'C:\buildagent\work\381d14fe560aa354\skiko\build\libs\skiko-0.9.28+debug-javadoc.jar.asc'.
            
            Reason: Task ':publishSkikoJvmRuntimeAngleWindowsX64PublicationToComposeRepoRepository' uses this output of task ':signSkikoJvmRuntimeWindowsX64Publication' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
            
            Possible solutions:
              1. Declare task ':signSkikoJvmRuntimeWindowsX64Publication' as an input of ':publishSkikoJvmRuntimeAngleWindowsX64PublicationToComposeRepoRepository'.
              2. Declare an explicit dependency on ':signSkikoJvmRuntimeWindowsX64Publication' from ':publishSkikoJvmRuntimeAngleWindowsX64PublicationToComposeRepoRepository' using Task#dependsOn.
              3. Declare an explicit dependency on ':signSkikoJvmRuntimeWindowsX64Publication' from ':publishSkikoJvmRuntimeAngleWindowsX64PublicationToComposeRepoRepository' using Task#mustRunAfter.
            
            For more information, please refer to https://docs.gradle.org/8.14.3/userguide/validation_problems.html#implicit_dependency in the Gradle documentation.
          - Gradle detected a problem with the following location: 'C:\buildagent\work\381d14fe560aa354\skiko\build\libs\skiko-0.9.28+debug-sources.jar.asc'.
            
            Reason: Task ':publishSkikoJvmRuntimeAngleWindowsX64PublicationToComposeRepoRepository' uses this output of task ':signSkikoJvmRuntimeWindowsX64Publication' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
            
            Possible solutions:
              1. Declare task ':signSkikoJvmRuntimeWindowsX64Publication' as an input of ':publishSkikoJvmRuntimeAngleWindowsX64PublicationToComposeRepoRepository'.
              2. Declare an explicit dependency on ':signSkikoJvmRuntimeWindowsX64Publication' from ':publishSkikoJvmRuntimeAngleWindowsX64PublicationToComposeRepoRepository' using Task#dependsOn.
              3. Declare an explicit dependency on ':signSkikoJvmRuntimeWindowsX64Publication' from ':publishSkikoJvmRuntimeAngleWindowsX64PublicationToComposeRepoRepository' using Task#mustRunAfter.
            
            For more information, please refer to https://docs.gradle.org/8.14.3/userguide/validation_problems.html#implicit_dependency in the Gradle documentation.
      ```
      2044a13b
    • Igor Demin's avatar
      Pack ANGLE into a separate jar (#1082) · 3e870638
      Igor Demin authored
      An addition to [the feature
      PR](https://github.com/JetBrains/skiko/pull/1017) that allows including
      ANGLE the same way as Skiko native libraries included:
      - unpack it from an additional jar
      `org.jetbrains.skiko:skiko-awt-runtime-angle-$target:$version`
      - find them in `skiko.library.path` directoty (a system property)
      - find them in `java.home`
      
      It reuses the same logic that is used to load `Skiko.dll`.
      
      Currently only Windows supported, the same way as in the original PR.
      
      No CI changes needed, as building of this jar is added as a dependency
      for
      `publishSkikoJvmRuntimeWindowsX64PublicationToComposeRepoRepository`/`publishSkikoJvmRuntimeWindowsArm64PublicationToComposeRepoRepository`
      
      ## Testing
      
      Manually with `skiko.rendering.angle.enabled` true/false on
      SkikoAwtSample.
      
      ## Release Notes (Skiko)
      ### Features - Desktop
      A new experimental renderer is introduced for Windows. It uses [the
      ANGLE library](https://github.com/google/angle) which has proven to be
      stable because it is used inside Chromium, compared to the `DIRECT3D`
      renderer that has issues on a few machines. Note that `ANGLE` still uses
      `DIRECT3D` API under the hood.
      
      1. Add this to the code to enable it:
      ```
      System.setProperty("skiko.rendering.angle.enabled", "true")
      ```
      
      2. Add the ANGLE library into the dependencies:
        - If you use Gradle:
        ```
        if (System.getProperty("os.name").startsWith("Win")) {
      
      implementation("org.jetbrains.skiko:skiko-awt-runtime-angle-$target:$version")
        }
        ```
      - If you set `skiko.library.path`. Extract `libEGL.dll`, `libGLESv2.dll`
      from https://github.com/JetBrains/angle-pack/releases into this
      directory.
      
      ## Release Notes (Compose)
      ### Features - Desktop
      N/A
      
      Until we specify how to match Skiko and Compose versions, or include it
      in Compose, it is a Skiko-only experimental feature. Some projects can
      include Skiko directly, it should work, but not supported as a Compose
      feature.
      3e870638
  4. 08 Oct, 2025 3 commits
  5. 07 Oct, 2025 1 commit
  6. 21 Sep, 2025 1 commit
  7. 17 Sep, 2025 1 commit
    • Igor Demin's avatar
      Fix "ComposePanel doesn't use hardware acceleration with... · 67e0c0b8
      Igor Demin authored
      Fix "ComposePanel doesn't use hardware acceleration with RenderSettings.SwingGraphics on Linux" (#1103)
      
      Fixes https://youtrack.jetbrains.com/issue/CMP-8936
      
      `glXChooseFBConfig` fails to find a config with `GLX_DOUBLEBUFFER,
      False` on my machine, it only has double buffered configs. But
      double/single buffering doesn't matter as we use pixel buffers.
      
      Also choose a correct config that is required by
      https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glXCreatePbuffer.xml:
      ```
      BadMatch is generated if config does not support rendering to pixel buffers (e.g., GLX_DRAWABLE_TYPE does not contain GLX_PBUFFER_BIT)
      ```
      
      ## Testing
      - manually, in the clocks example
      - the modified test failed before the fix, now it doesn't fail
      
      ## Release Notes (Skiko)
      Fix "SkiaSwingLayer doesn't use hardware acceleration on Linux"
      
      ## Release Notes (Compose)
      ### Fixes - Desktop 
      Fix "ComposePanel doesn't use hardware acceleration with
      RenderSettings.SwingGraphics on Linux"
      67e0c0b8
  8. 16 Sep, 2025 1 commit
  9. 15 Sep, 2025 1 commit
  10. 12 Sep, 2025 2 commits
  11. 11 Sep, 2025 4 commits
  12. 09 Sep, 2025 4 commits
  13. 08 Sep, 2025 1 commit
    • Shagen Ogandzhanian's avatar
      Simplify gradle web wasm build (#1089) · d65ac361
      Shagen Ogandzhanian authored
      Following changes introduced in this PR:
      * jsWasmMain and jsWasmTest sourcesets renamed to webMain and webTest
      (it causes less confusion, regarding the fact that we already have
      wasmJsMain, apart from that, this would be a standard name for this
      sourceset in webMain)
      * remove redunant resource processing (there's yet room for improvement
      though)
         * Simplify wasm task introduction
      * Remove flag for building js separately from wasm (this flag was a lie
      - we can not have separate js target)
      d65ac361
  14. 05 Sep, 2025 1 commit
  15. 26 Aug, 2025 1 commit
  16. 14 Aug, 2025 3 commits
    • Alovchin91's avatar
      Update DEVELOPMENT.md (#1086) · 2260bbe4
      Alovchin91 authored
      Update instructions for VS 2022.
      2260bbe4
    • Igor Demin's avatar
      Update DEVELOPMENT.md (VS 2022 requirement) (#1084) · e7081fad
      Igor Demin authored
      It is now required for development. Tested it locally
      e7081fad
    • Alovchin91's avatar
      ANGLE support (#1017) · eda88cdc
      Alovchin91 authored
      This change adds ANGLE renderer support to Skiko.
      
      [ANGLE project](https://chromium.googlesource.com/angle/angle)
      translates OpenGL ES API calls to the native platform's graphics API.
      This is mostly useful on Windows where ANGLE provides the Direct3D 11
      backend.
      
      Right now, there is a gap in Skiko's graphics support. On Windows ARM,
      Skia doesn't support OpenGL yet. At the same time, some GPUs, like
      Parallels or VMware virtual GPUs, don't support DirectX 12. This means
      Skiko falls back to the slow software rendering on those GPUs. ANGLE
      solves this problem by providing an easy-to-use DirectX 11 backend.
      
      In addition, ANGLE is used by Chromium-based browsers and apps, so we
      expect it to be more stable than Skia's DirectX backend.
      
      ---------
      Co-authored-by: 's avatarIgor Demin <igor.demin@jetbrains.com>
      eda88cdc
  17. 08 Aug, 2025 4 commits
  18. 21 Jul, 2025 1 commit
  19. 18 Jul, 2025 1 commit
  20. 04 Jul, 2025 1 commit
  21. 02 Jul, 2025 3 commits
  22. 13 Jun, 2025 1 commit
  23. 12 Jun, 2025 1 commit