https://bugs.winehq.org/show_bug.cgi?id=45724
--- Comment #3 from Henri Verbeet hverbeet@gmail.com --- (In reply to Andrew Wesie from comment #2)
Is the concern that applications may expect EndScene (without a Present call) to flush the pipeline and they can rely on that instead of using the D3DGETDATA_FLUSH flag for queries?
For example, yeah.
While I haven't found an authoritative source regarding EndScene and flushes, a random forum post (https://www.gamedev.net/forums/topic/620095-present-without-actually- presenting/?do=findComment&comment=4911694) states that:
"without calling Present() you can't be sure that after EndScene() the GPU will flush the pipeline"
Yeah, though what Windows drivers do in practice tends to be more important than what the documentation claims they should or shouldn't do.
I don't think we need a formal unit test for this, although that would be ideal. Some manual testing may be enough, but note that this would affect d3d8 and ddraw as well.