Properly check for result when getting pipeline in Msaa#11758
Conversation
afonsolage
left a comment
There was a problem hiding this comment.
Tested and is working fine!
Just a question: The problems seems to be caused by some ordering issue on async pipeline compilation, so guarding the PipelineCache won't hide the underlying issue?
I mean, returning Ok(()) will disable the msaa_writeback and fix the crash, but I'm missing something or this will sometimes enable msaa_writeback and sometimes not, depending on the order in which the async pipeline compilation ran?
I am not a full rendering expert, but as far as I understand it, the pipeline only needs to be compiled once, but it can take time some time to compile and now that it is spawned, more than one frame ( the spawning itself can take some time, probably what happens with the example). After compilation, the pipeline will be run each frame, the protection prevent the pipeline to be run while its compilation is not yet finished. So the first few frames of the example can have no msaa, but afterwards it will always be enabled. |
Objective
two_passesexample breaking on Windows #11755get_render_pipelineshould check the result.Solution
get_render_pipelinecall result for msaa_writebackget_render_pipelinein bevy code base is missng the checking on the result.