Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
angle
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • angle
  • Repository

Switch branch/tag
  • angle
  • src
  • libANGLE
  • formatutils.cpp
Find file
BlameHistoryPermalink
  • Olli Etuaho's avatar
    Set colorspace of D3D pbuffers according to DXGI format · ceffd20c
    Olli Etuaho authored Jan 08, 2018
    When a EGL pbuffer is created based on a D3D SRGB texture using
    EGL_ANGLE_d3d_texture_client_buffer, SRGB conversions are performed as
    if it was an SRGB surface. The value of EGL_GL_COLORSPACE now
    reflects that correctly. If the pbuffer is bound to a texture and used
    as a framebuffer attachment, querying GL_FRAMEBUFFER_COLOR_ATTACHMENT
    also reflects that correctly.
    
    The behavior is the same on both the D3D backend, where there is no
    native interop involved, and on the GL backend using
    WGL_NV_DX_interop(2).
    
    There are a few limitations on the GL backend that relies on native
    interop:
    
    1. SRGB conversion for textures created this way can't be disabled
    using the GL_FRAMEBUFFER_SRGB_EXT toggle that's exposed in ANGLE
    through EXT_sRGB_write_control. This is now documented in the
    EGL_ANGLE_d3d_texture_client_buffer spec. On the D3D backend this is
    not a problem since EXT_sRGB_write_control is not supported either
    way.
    
    2. Creating a pbuffer out of a D3D11 texture with the format
    DXGI_FORMAT_B8G8R8A8_UNORM_SRGB does not work, even though it was
    listed as one of the supported formats in the
    EGL_ANGLE_d3d_texture_client_buffer spec. It's now mentioned that
    support for this format is optional.
    
    BUG=angleproject:2300
    TEST=angle_white_box_tests
    
    Change-Id: I70ee0646680805e4469291a5b2ce59e92fda009e
    Reviewed-on: https://chromium-review.googlesource.com/866743Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    ceffd20c
formatutils.cpp 113 KB
EditWeb IDE
×

Replace formatutils.cpp

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.