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
  • validationES1.cpp
Find file
BlameHistoryPermalink
  • Corentin Wallez's avatar
    Use packed enums for the texture types and targets, part 1 · f0e89be6
    Corentin Wallez authored Nov 08, 2017
    In OpenGL there are two enum "sets" used by the API that are very
    similar: texture types (or bind point) and texture targets. They only
    differ in that texture types have GL_TEXTURE_CUBEMAP and target have
    GL_TEXTURE_CUBEMAP_[POSITIVE|NEGATIVE]_[X|Y|Z].
    
    This is a problem because in ANGLE we use GLenum to pass around both
    types of data, making it difficult to know which of type and target a
    variable is.
    
    In addition these enums are placed somewhat randomly in the space of
    OpenGL enums, making it slow to have a mapping from texture types to
    some data. Such a mapping is in hot-code with gl::State::mTextures.
    
    This commit stack makes the texture types and target enums be
    translated to internal packed enums right at the OpenGL entry point
    and used throughout ANGLE to have type safety and performance gains.
    
    This is the first of two commit which does the refactor for all of the
    validation and stops inside gl::Context. This was the best place to
    split patches without having many conversions from packed enums to GL
    enums.
    
    BUG=angleproject:2169
    
    Change-Id: Ib43da7e71c253bd9fe210fb0ec0de61bc286e6d3
    Reviewed-on: https://chromium-review.googlesource.com/758835
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    f0e89be6
validationES1.cpp 14.5 KB
EditWeb IDE
×

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