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
  • Program.cpp
Find file
BlameHistoryPermalink
  • Qin Jiajia's avatar
    Fixed the bug using uniform block array · 0350a64c
    Qin Jiajia authored Nov 01, 2016
    At the beginning of Program::defineUniformBlock, getUniformBlockSize will call
    getUniformBlockIndex on MacOS to check if the block is an active block with
    giving blockName. However, it didn't distinguish array and non-array situations
    and unified to use interfaceBlock.name as the blockName to call
    getUniformBlockIndex. It would result that INVALID_INDEX was returned when
    it's a block array. For example, using 'blockName' not 'blockName[0]'.
    
    In OpenGL 4.3 spec, section 7.3.1, there are following descriptions:
    If name exactly matches the name string of one of the active resources for
    programInterface, the index of the matched resource is returned. Additionally, if
    name would exactly match the name string of an active resource if "[0]" were
    appended to name, the index of the matched resource is returned. Otherwise, name
    is considered not to be the name of an active resource, and INVALID_INDEX is
    returned.
    
    So, for array block case, we use blockName appending [0] to check the activity.
    
    BUG=angleproject:1543
    
    Change-Id: I8189b62066b779f7d392a7dba1cf5cb02a31936d
    Reviewed-on: https://chromium-review.googlesource.com/405830Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    0350a64c
Program.cpp 90.4 KB
EditWeb IDE
×

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