Support RGBA atlases, needed for WebRender

This commit is contained in:
Patrick Walton 2017-02-10 19:06:56 -08:00
parent 959293839f
commit cd11deab46
3 changed files with 3 additions and 3 deletions

View File

@ -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();

View File

@ -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));
}
}

View File

@ -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));
}
}