@@ -144,8 +144,7 @@ EntityPass* EntityPass::AddSubpass(std::unique_ptr<EntityPass> pass) {
144144
145145static EntityPassTarget CreateRenderTarget (ContentContext& renderer,
146146 ISize size,
147- bool readable,
148- const Color& clear_color) {
147+ bool readable) {
149148 auto context = renderer.GetContext ();
150149
151150 // / All of the load/store actions are managed by `InlinePassContext` when
@@ -164,7 +163,7 @@ static EntityPassTarget CreateRenderTarget(ContentContext& renderer,
164163 .resolve_storage_mode = StorageMode::kDevicePrivate ,
165164 .load_action = LoadAction::kDontCare ,
166165 .store_action = StoreAction::kMultisampleResolve ,
167- . clear_color = clear_color }, // color_attachment_config
166+ }, // color_attachment_config
168167 RenderTarget::AttachmentConfig{
169168 .storage_mode = readable ? StorageMode::kDevicePrivate
170169 : StorageMode::kDeviceTransient ,
@@ -204,18 +203,13 @@ uint32_t EntityPass::GetTotalPassReads(ContentContext& renderer) const {
204203
205204bool EntityPass::Render (ContentContext& renderer,
206205 const RenderTarget& render_target) const {
207- if (render_target.GetColorAttachments ().empty ()) {
208- VALIDATION_LOG << " The root RenderTarget must have a color attachment." ;
209- return false ;
210- }
211-
212206 StencilCoverageStack stencil_coverage_stack = {StencilCoverageLayer{
213207 .coverage = Rect::MakeSize (render_target.GetRenderTargetSize ()),
214208 .stencil_depth = 0 }};
215209
216210 if (GetTotalPassReads (renderer) > 0 ) {
217- auto offscreen_target = CreateRenderTarget (
218- renderer, render_target.GetRenderTargetSize (), true , clear_color_ );
211+ auto offscreen_target =
212+ CreateRenderTarget ( renderer, render_target.GetRenderTargetSize (), true );
219213
220214 if (!OnRender (renderer, // renderer
221215 offscreen_target.GetRenderTarget ()
@@ -275,25 +269,18 @@ bool EntityPass::Render(ContentContext& renderer,
275269 return true ;
276270 }
277271
278- // Set up the clear color of the root pass.
279- auto color0 = render_target.GetColorAttachments ().find (0 )->second ;
280- color0.clear_color = clear_color_;
281-
282- auto root_render_target = render_target;
283- root_render_target.SetColorAttachment (color0, 0 );
284-
285272 EntityPassTarget pass_target (
286- root_render_target ,
273+ render_target ,
287274 renderer.GetDeviceCapabilities ().SupportsReadFromResolve ());
288275
289- return OnRender ( //
290- renderer, // renderer
291- root_render_target .GetRenderTargetSize (), // root_pass_size
292- pass_target, // pass_target
293- Point (), // global_pass_position
294- Point (), // local_pass_position
295- 0 , // pass_depth
296- stencil_coverage_stack); // stencil_coverage_stack
276+ return OnRender ( //
277+ renderer, // renderer
278+ render_target .GetRenderTargetSize (), // root_pass_size
279+ pass_target, // pass_target
280+ Point (), // global_pass_position
281+ Point (), // local_pass_position
282+ 0 , // pass_depth
283+ stencil_coverage_stack); // stencil_coverage_stack
297284}
298285
299286EntityPass::EntityResult EntityPass::GetEntityForElement (
@@ -399,10 +386,9 @@ EntityPass::EntityResult EntityPass::GetEntityForElement(
399386 subpass_coverage->Intersection (Rect::MakeSize (root_pass_size));
400387
401388 auto subpass_target =
402- CreateRenderTarget (renderer, //
403- ISize (subpass_coverage->size ), //
404- subpass->GetTotalPassReads (renderer) > 0 , //
405- clear_color_);
389+ CreateRenderTarget (renderer, //
390+ ISize (subpass_coverage->size ), //
391+ subpass->GetTotalPassReads (renderer) > 0 );
406392
407393 auto subpass_texture =
408394 subpass_target.GetRenderTarget ().GetRenderTargetTexture ();
@@ -715,7 +701,7 @@ bool EntityPass::IterateUntilSubpass(
715701 return false ;
716702}
717703
718- size_t EntityPass::GetElementCount () const {
704+ size_t EntityPass::GetEntityCount () const {
719705 return elements_.size ();
720706}
721707
@@ -753,14 +739,6 @@ void EntityPass::SetBlendMode(BlendMode blend_mode) {
753739 cover_whole_screen_ = Entity::IsBlendModeDestructive (blend_mode);
754740}
755741
756- void EntityPass::SetClearColor (Color clear_color) {
757- clear_color_ = clear_color;
758- }
759-
760- Color EntityPass::GetClearColor () const {
761- return clear_color_;
762- }
763-
764742void EntityPass::SetBackdropFilter (std::optional<BackdropFilterProc> proc) {
765743 if (superpass_) {
766744 VALIDATION_LOG << " Backdrop filters cannot be set on EntityPasses that "
0 commit comments