Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle big size of instance property in gpu_cache. #1590

Closed
JerryShih opened this issue Aug 21, 2017 · 3 comments
Closed

Handle big size of instance property in gpu_cache. #1590

JerryShih opened this issue Aug 21, 2017 · 3 comments

Comments

@JerryShih
Copy link
Contributor

@JerryShih JerryShih commented Aug 21, 2017

@kvark @glennw @nical

If we have a big size of glyph(using dl::push_text()), we could hit the assert at [1].

Here is the STR:

  1. turn on WR in gecko and open view-source:https://tobias-kluge.de/css/bootstrap.css
  2. hit crash.

There are two problem here.
a) gecko should not send all glyph data into WR. The glyph data should be culled before sending the push_text(). In this case, gecko send all glyph data to WR even though a lot of glyph are not seen.

b) if a page really contain so many glyph on the screen, WR should split this glyph array into several batches. Otherwise, we hit the MAX_VERTEX_TEXTURE_WIDTH limit in WR.

[1]
https://hg.mozilla.org/mozilla-central/annotate/c01aa84ded7e/gfx/webrender/src/gpu_cache.rs#l252

@glennw
Copy link
Member

@glennw glennw commented Aug 21, 2017

Yup, we definitely need to handle (b) internally in WR. Thanks for posting a repro!

@JerryShih
Copy link
Contributor Author

@JerryShih JerryShih commented Aug 23, 2017

#1597 will handle the (b)

@JerryShih
Copy link
Contributor Author

@JerryShih JerryShih commented Aug 24, 2017

#1597 was merged.

@JerryShih JerryShih closed this Aug 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.