8000 Comparing gioui:main...inkeliz:main · gioui/gio · GitHub
[go: up one dir, main page]

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gioui/gio
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: inkeliz/gio
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 10 commits
  • 48 files changed
  • 1 contributor

Commits on Oct 27, 2026

  1. app,gpu,op: [android,ios,macos,windows] add ExternalOp paint for exte…

    …rnal views
    
    This change adds paint.ExternalOp, which allows native views, activities, or HWNDs to appear inside a Gio layout.
    
    The implementation uses a punch-through method. Gio marks a region as transparent so the layer below becomes visible. The external view receives that region and renders there.
    Before this change, integrating external components such as WebView, Ads, or Camera views had two problems.
    
    1. Gio content could not render above the external view.
    2. The external view required an absolute position. That was difficult when combined with offsets or transformations.
    
    The paint.ExternalOp reduces both issues while keeping the API simple. The operation includes a callback that runs every frame. The callback can update position, size, and z-order to keep the native view synchronized with the Gio layout.
    Platform behavior required small adjustments, mainly on Windows.
    
    Windows uses an extra child window:
    MainWindow → GioWindow
    
    This structure allows additional HWNDs to attach to the MainWindow while GioWindow remains on top. For example:
    MainWindow → GioWindow → WebView
    
    ExternalOp exposes a region of the GioWindow so the underlying HWND, such as a WebView, becomes visible in that area.
    
    On macOS, iOS, and Android the rendering stack already uses additional layers. No structural change was required there, only the background was changed to Transparent.
    
    Implements: https://todo.sr.ht/~eliasnaur/gio/428
    
    Signed-off-by: inkeliz <inkeliz@inkeliz.com>
    inkeliz committed Oct 27, 2026
    Configuration menu
    Copy the full SHA
    9519a05 View commit details
    Browse the repository at this point in the history
  2. app,gpu: fix Unisoc

    Signed-off-by: Lucas Rodrigues <inkeliz@inkeliz.com>
    inkeliz committed Oct 27, 2026
    Configuration menu
    Copy the full SHA
    265d9c2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bc6c805 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0112371 View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2026

  1. gpu,io,internal,text,app: improve performance, OpenGL backend and ras…

    …terization
    
    - Added support for raster batching in the OpenGL backend with `SupportsRasterBatch` method.
    - Improved texture handling in `BeginFrame` by storing the output texture in the backend.
    - Enhanced `SRGBFBO` to utilize `EXT_sRGB_write_control` for efficient framebuffer blitting.
    - Introduced incremental intersection packing and preparation in the renderer for better performance.
    - Implemented occlusion culling in draw operations to skip hidden opacity groups.
    - Added analytic primitive recognition for rounded rectangles and ellipses to optimize rendering.
    - Enhanced raster cache management for better texture reuse and memory efficiency.
    - Improved glyph data caching in text shaping to reduce redundant glyph processing.
    inkeliz committed Oct 29, 2026
    Configuration menu
    Copy the full SHA
    725b088 View commit details
    Browse the repository at this point in the history
  2. gpu,internal,app: refactor GPU caching and drawing operations

    - Updated opCache to return slot indices instead of values, improving cache management.
    - Enhanced drawOps structure to include cache indices for paths, optimizing path handling.
    - Introduced drawReader for efficient decoding of operations and managing macro programs.
    - Improved intersection and occlusion handling by utilizing work arrays for dirty checks.
    - Added support for float render targets in the OpenGL driver, enhancing rendering capabilities.
    - Implemented new methods for uploading buffer data with discard options for better performance.
    - Refined the decoding process for macros and operations, ensuring better memory management and efficiency.
    inkeliz committed Oct 29, 2026
    Configuration menu
    Copy the full SHA
    a957ba2 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2026

  1. gpu,os: GPU packet handling for drawing operations

    This commit introduces a new file `packets.go` that implements the packet handling system for GPU drawing operations. It includes structures and methods for managing draw packets, analyzing packets, and replaying them for rendering. Key features include:
    
    - Definition of `drawPacket`, `packetPath`, and `packetPaint` structures to encapsulate drawing state and operations.
    - Implementation of packet analysis to determine eligibility for drawing based on opacity, color inheritance, and clipping.
    - Functions for capturing paths and managing image operations within the drawing context.
    - Mechanisms for handling transformations and ensuring that drawing operations respect the defined clipping bounds.
    
    This foundational work sets the stage for more efficient rendering and better management of drawing resources in the GPU pipeline.
    inkeliz committed Oct 30, 2026
    Configuration menu
    Copy the full SHA
    ffdc2f5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9eb1f57 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2026

  1. Configuration menu
    Copy the full SHA
    1c3b123 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0b9e6d View commit details
    Browse the repository at this point in the history
Loading
0