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
  • VaryingPacking.cpp
Find file
BlameHistoryPermalink
  • Tim Van Patten's avatar
    Support linking PPOs without attached Shaders · fe3a9ffb
    Tim Van Patten authored Mar 17, 2021
    The application "Command & Conquer: Rivals" uses the following pattern:
    
        // Create and link VS, save binary data
        glCreateProgram()
        glAttachShader()
        glLinkProgram()
        glGetProgramBinary()
    
        // Create and link FS, save binary data
        glCreateProgram()
        glAttachShader()
        glLinkProgram()
        glGetProgramBinary()
        ...
        // Create VS, load binary data
        glCreateProgram()
        glProgramBinary()
    
        // Create FS, load binary data
        glCreateProgram()
        glProgramBinary()
        ...
        glUseProgramStages(GL_VERTEX_SHADER_BIT)
        glUseProgramStages(GL_FRAGMENT_SHADER_BIT)
        glBindProgramPipeline()
    
    Later, when issuing the draw command that uses the PPO, the PPO must be
    linked with the Programs that were loaded via binary data. Those
    Programs don't have any Shaders attached, just linked. This CL adds
    support for linking Programs without attached Shaders.
    
    Bug: b/182409935
    Test: ProgramPipelineTest31.ProgramBinary
    Change-Id: Ic5a4776e1374322665f45fbbcbf955838d093d02
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770685
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    fe3a9ffb
VaryingPacking.cpp 43.6 KB
EditWeb IDE
×

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