gecko-dev/gfx/wr/examples
Timothy Nikkel 5455bb5b62 Bug 1505871. Write component transfer filter data into the webrender display list bitstream. r=jrmuizel
The format for stacking contexts in the built display list goes from

PushStackingContext item
push_iter of Vec<FilterOp>

to

SetFilterOps item
push_iter of Vec<FilterOp>
1st SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
.
.
.
nth SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
PushStackingContext item

We need separate a SetFilterData item for each filter because we can't push_iter a variable sized thing.

When we iterate over the built display list to flatten it we work similarly to how gradients work with a SetGradientStops item before the actual gradient item. So when we see SetFilterOps or SetFilterData we use them to fill out values on the built display list iterator but don't those items return them to the iterator user and instead continue iterating until we hit the PushStackingContext item, at which point to the iterator consumer it appears as those the FilterOps and FilterDatas were on the PushStackingContext item. (This part is trickier too since we need a TempFilterData type that just holds ItemRange's until we get the actual bytes later.)

Do we need to clear cur_filters and cur_filter_data at some point to prevent them from getting ready by items for which they do not apply?
2019-02-25 22:45:15 -06:00
..
common Bug 1518899 - Update webrender to commit d3edc30cf95d3c96fd8308969b22062698a0f6ce (WR PR #3493). r=kats 2019-01-09 22:16:02 +00:00
alpha_perf.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
animation.rs Bug 1505871. Write component transfer filter data into the webrender display list bitstream. r=jrmuizel 2019-02-25 22:45:15 -06:00
basic.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
blob.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
Cargo.toml Bug 1521920 - Remove conditional compilation around debug_renderer. r=emilio 2019-01-22 21:29:24 +00:00
document.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
frame_output.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
iframe.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
image_resize.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
multiwindow.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
README.md
scrolling.rs Bug 1528987 - Send the gecko scroll offsets for scrollframes to WR. r=gw 2019-02-21 21:06:25 +00:00
texture_cache_stress.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00
yuv.rs Bug 1522017 - Make picture caching explicit. r=gw 2019-01-24 10:44:35 -08:00

Examples

This directory contains a collection of examples which uses the WebRender API.

To run an example e.g. basic, try:

cargo run --bin basic