Support RGBA atlases, needed for WebRender
This commit is contained in:
parent
959293839f
commit
cd11deab46
|
@ -110,7 +110,7 @@ fn main() {
|
|||
let coverage_buffer = CoverageBuffer::new(rasterizer.device(), &atlas_size).unwrap();
|
||||
|
||||
let image = rasterizer.device()
|
||||
.create_image(Format::R8, buffer::Protection::ReadWrite, &atlas_size)
|
||||
.create_image(Format::RGBA8, buffer::Protection::ReadWrite, &atlas_size)
|
||||
.unwrap();
|
||||
|
||||
rasterizer.queue().submit_clear(&image, &Color::UInt(0, 0, 0, 0), &[]).unwrap();
|
||||
|
|
|
@ -33,7 +33,7 @@ __kernel void accum(__write_only image2d_t gImage,
|
|||
coverage += read_imagef(gCoverage, SAMPLER, coord).r;
|
||||
|
||||
float gray = fabs(coverage);
|
||||
write_imagef(gImage, coord + (int2)kAtlasRect.xy, (float4)(gray, 1.0f, 1.0f, 1.0f));
|
||||
write_imagef(gImage, coord + (int2)kAtlasRect.xy, (float4)(gray, gray, gray, 1.0f));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,6 +45,6 @@ void main() {
|
|||
for (uint row = firstRow; row < lastRow; row++) {
|
||||
ivec2 coord = ivec2(column, row);
|
||||
coverage += imageLoad(uCoverage, coord).r;
|
||||
imageStore(uImage, coord + ivec2(uAtlasRect.xy), vec4(coverage, 0.0, 0.0, 1.0));
|
||||
imageStore(uImage, coord + ivec2(uAtlasRect.xy), vec4(coverage, coverage, coverage, 1.0));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue