Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
S
swiftshader
  • 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
  • swiftshader
  • Repository

Switch branch/tag
  • swiftshader
  • src
  • OpenGL
  • libGLESv2
  • Shader.cpp
Find file
BlameHistoryPermalink
  • Nicolas Capens's avatar
    Always create an OpenGL ES 3.0 context. · 83463115
    Nicolas Capens authored Jun 12, 2018
    The EGL spec allows that on context creation, a newer, compatible
    version is returned. OpenGL ES 3.0 is stated to be backward compatible
    with OpenGL ES 2.0, so we can stop creating a context that is limited to
    OpenGL ES 2.0 features, and always return an OpenGL ES 3.0 context.
    
    This simplifies our code and maintenance a bit and reduces the risk of
    incorrect validation.
    
    Note that Appendix F of the OpenGL ES 3.0 specification lists changes
    in behavior that aren't entirely backward compatible with OpenGL ES 2.0:
    * OpenGL ES 3.0 requires that all cube map filtering be seamless. OpenGL
      ES 2.0 specified that a single cube map face be selected and used for
      filtering. See section 3.8.9.1.
    * OpenGL ES 3.0 specifies a zero-preserving mapping when converting back
      and forth between signed normalized fixed-point values and floating-
      point values. OpenGL ES 2.0 specified a mapping by which zeros are not
      preserved. See section 2.1.6.
    * OpenGL ES 3.0 requires that framebuffer objects not be shared between
      contexts. OpenGL ES 2.0 left it undefined whether framebuffer objects
      could be shared. See appendix D.
    
    Additional differences can stem from new extensions being exposed (e.g.
    GL_EXT_color_buffer_float), and framebuffer configurations that are
    newly supported or no longer supported (in particular we allowed
    separate depth and stencil attachments, which OpenGL ES 3.0 expressly
    disallows).
    
    See also https://gitlab.khronos.org/opengl/API/issues/82
    
    Bug swiftshader:45
    
    Change-Id: I90d72698d509b4f03263edcf7c67e44fcef0beb6
    Reviewed-on: https://swiftshader-review.googlesource.com/19388Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
    Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
    83463115
Shader.cpp 8.74 KB
EditWeb IDE
×

Replace Shader.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.