New issue
Advanced search Search tips

Issue 906683 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

UBO reads zeros if buffer size exceeds MAX_UNIFORM_BLOCK_SIZE on Windows

Reported by sergey....@gmail.com, Nov 19

Issue description

UserAgent: 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.
 
Components: -Blink Internals>GPU>ANGLE
Labels: Needs-Triage-M70
Components: Blink>WebGL
Owner: kbr@chromium.org
Status: Assigned (was: Unconfirmed)
kbr@ could you help triage?  Is this as specced?
Cc: geoffl...@chromium.org
Owner: jmad...@chromium.org
Jamie, could you take this? It sounds like a bug in ANGLE's implementation of uniform buffers on top of D3D's constant buffers.

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