• Show log

    Commit

  • Hash : 5fd368aa
    Author : Igor Nazarov
    Date : 2025-07-30T14:45:55

    Replace Surface::getWidth/Height() with getSize()
    
    Most places in the code use both `getWidth/Height()` methods at the same
    time. On some back-ends it is more optimal to have single method.
    For example, `WindowSurfaceWGL` first uses `GetClientRect()` Win32 API
    inside each method to then calculate width and hight in each method,
    causing repeated `GetClientRect()` call.
    
    The only place where only one of the methods may be used is from
    `SurfaceImpl::getUserSize()` when one of the parameters is `nullptr`,
    which is only possible from `QuerySurfaceAttrib()` function. This
    method is rewritten to use new `getSize()` method and then use whatever
    dimensions is requested by the caller. This may cause
    `QuerySurfaceAttrib()` inefficiency on some back-ends that get width and
    height of the surface differently (`SurfaceEGL` for example). In such
    cases `getUserSize()` is overridden to avoid returning a dimension
    which is not required.
    
    After this change all places in the code that previously used both
    `getWidth/Height()` methods (like `Surface::getAttachmentSize()`) will
    be more efficient. The `QuerySurfaceAttrib()`, on the other hand, will
    have slightly more overhead on back-ends where base
    `SurfaceImpl::getUserSize()` method is used, which only happens on
    back-ends with trivial `getSize()` implementation.
    
    Bug: angleproject:397848903
    Change-Id: I4a22701a1e62ee4e7d07e77cac5b388050d98e4d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6802440
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/angle.git
    Git SSH git@git.kmx.io:kc3-lang/angle.git
    Public access ? public
    Description

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags