• Show log

    Commit

  • Hash : 0f2b1560
    Author : Olli Etuaho
    Date : 2016-05-13T16:15:35

    Fix GenerateMipmap when base level or max level are set
    
    According to GLES 3.0.4 section 3.8.10, GenerateMipmap should generate
    levels based on the base level, and generate them at most up to the
    max level. Levels outside the base/max level range should be unchanged
    by GenerateMipmap.
    
    The Texture class is fixed so that the image descs are set only for
    the changed mipmap range when GenerateMipmap is called.
    
    The D3D backend is fixed so that mipmap generation is correctly
    started from the base level instead of level 0, and making sure that
    mipmaps are generated only up to the max level. Generating mipmaps for
    array textures is also fixed for cases where the base level depth >=
    max(width, height) * 2.
    
    The GL backend is fixed to sync texture state before GenerateMipmap is
    called, so that base level and max level are set correctly in the
    driver.
    
    The GenerateMipmap entry point is refactored so that it has a separate
    validation function and a context function which does the work.
    Validation for out-of-range base levels is added.
    
    New tests are added to verify the functionality. One corner case in
    the tests fails on NVIDIA GL drivers likely due to a driver bug -
    similar rules for GenerateMipmap are found from newer GLES specs and
    also OpenGL specs (checked versions 3.3 and 4.4).
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: Ifc7b4126281967fc4f6dc4f9452e5b01e39f83d7
    Reviewed-on: https://chromium-review.googlesource.com/344514
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.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