UBO reads zeros if buffer size exceeds MAX_UNIFORM_BLOCK_SIZE on Windows
Reported by
sergey....@gmail.com,
Nov 19
|
||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0 Steps to reproduce the problem: 1. Open this page: https://sergeyext.github.io/sergeyext/webgl_ubo_bug.html What is the expected behavior? Two colored squares should be visible. Both Chrome and Firefox on Linux desktops and Android mobile phones show this page as expected. What went wrong? On Windows 10 x64 only one square is visible in Chrome and Firefox. Did this work before? N/A Chrome version: 4bbeebac88fdc09c97265e47c205868bbd190497-refs/branch-heads/3538@{#1077} Channel: stable OS Version: 10.0 Flash Version: MAX_UNIFORM_BLOCK_SIZE limits UBO size only, but not the size of underlying buffer. Example page creates a buffer sized 2 * MAX_UNIFORM_BLOCK_SIZE, fills it with color data from the beginning and from the middle, and renders two squares. For the first square the buffer is bound with zero offset, and for the second square it's bound with MAX_UNIFORM_BLOCK_SIZE offset. Binding size is MAX_UNIFORM_BLOCK_SIZE in both drawcalls. Looks like ANGLE bug, as Firefox on Windows is affected.
,
Nov 20
,
Nov 30
kbr@ could you help triage? Is this as specced?
,
Nov 30
Jamie, could you take this? It sounds like a bug in ANGLE's implementation of uniform buffers on top of D3D's constant buffers.
,
Nov 30
Yeah I agree that I'm probably a good owner for this. Sure, can take a look in the next little while. |
||||
►
Sign in to add a comment |
||||
Comment 1 by dtapu...@chromium.org
, Nov 19