15 const std::shared_ptr<Context>& context,
20 TRACE_EVENT0(
"impeller",
"SurfaceGLES::WrapOnScreenFBO");
22 if (context ==
nullptr || !context->IsValid() || !swap_callback) {
30 color0_tex.
format = color_format;
31 color0_tex.
size = fbo_size;
37 color0.
texture = std::make_shared<TextureGLES>(
45 depth_stencil_texture_desc.
format = color_format;
46 depth_stencil_texture_desc.
size = fbo_size;
50 auto depth_stencil_tex = std::make_shared<TextureGLES>(
51 gl_context.GetReactor(), depth_stencil_texture_desc,
56 depth0.
texture = depth_stencil_tex;
62 stencil0.
texture = depth_stencil_tex;
73 gl_context.GetGPUTracer()->RecordRasterThread();
76 return std::unique_ptr<SurfaceGLES>(
77 new SurfaceGLES(std::move(swap_callback), render_target_desc));
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...