Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1281)

Issue 1941049: Changed glFlush to not wait until issued event is processed....

Can't Edit
Can't Publish+Mail
Start Review
Created:
15 years ago by apatrick1
Modified:
15 years ago
Reviewers:
dgkoch
CC:
angleproject-review_googlegroups.com
Base URL:
http://angleproject.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Changed glFlush to not wait until issued event is processed. I think these reduced synchronization guarantees are still compliant with the spec. I found that this significantly improved the frame rate for some of our demos (40 fps to 50fps for one on my box). I will change the demo so that it does not call glFlush at all but I still think this is a valuable change. The OpenGL ES2 spec says: "The command void Flush( void ); indicates that all commands that have previously been sent to the GL must complete in finite time." My reading of it is that any GL calls previously issued will be processed at some point in the future but not necessarily prior to glFlush returning. I believe that issuing the D3D event and then calling GetData once with the flush flag should meet these requirements. I also added some assertions to glFinish because I was paranoid that if issuing an event ever failed, the spin loop might never terminate.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+11 lines, -8 lines) Patch
M src/libGLESv2/Context.cpp View 3 chunks +11 lines, -8 lines 0 comments Download

Messages

Total messages: 2
apatrick1
Hi Daniel, Can you take a look at this optimization? Thanks, Al
15 years ago (2010-08-18 23:37:48 UTC) #1
dgkoch
15 years ago (2010-08-25 02:39:46 UTC) #2
I believe you're right.  Looks good.

Daniel
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b