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
  • FrameCapture.h
Find file
BlameHistoryPermalink
  • Tim Van Patten's avatar
    Capture/Replay Don't capture invalid commands · c3887991
    Tim Van Patten authored Feb 03, 2021
    Special Forces Group 2 issues invalid OpenGL ES commands, which are
    currently captured by ANGLE's frame capture. These invalid commands
    generate errors on both ANGLE and the native driver, causing the test to
    be marked as "failed".
    
    This CL updates FrameCapture::captureCall() to not capture invalid
    commands, which prevents replay errors. However, the other work related
    to the call is still performed, including:
    - maybeOverrideEntryPoint()
    - maybeCapturePreCallUpdates()
    - maybeCapturePostCallUpdates()
    
    This work is necessary, otherwise calls that update necessary members
    like FrameCapture::mClientArraySizes may be missed, causing leading to
    compilation failures related to missing symbols. For example,
    mClientArraySizes is updated via the following call stack:
      captureClientArraySnapshot()
        maybeCaptureDrawArraysClientData()
          maybeCapturePreCallUpdates()
    
    It's necessary for mClientArraySizes to contain non-zero values, so that
    the variable gClientArrays[] is output by WriteCppReplayIndexFiles().
    Otherwise a compilation error will occur when it's referenced by a
    glVertexAttribPointer() call in the capture.
    
    Bug: angleproject:5592
    Change-Id: I625a074e035eb75267d8384dc61ce6de1717af91
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673068
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com>
    c3887991
FrameCapture.h 23.5 KB
EditWeb IDE
×

Replace FrameCapture.h

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.