问题
My questions pertain to the use of a single OpenGL 4.5 context without any direct memory mapping or explicit synchronisation (hypothetically), with both rendering shaders (invoked with glDrawArrays()
) and compute shaders (invoked with glDispatchCompute()
).
Question 1.1: Are all changes to rendering state – such as with glUseProgram()
, glEnable()
/glDisable()
, glStencilFunc()
, glStencilOp()
,glClearColor()
, glStencilMask()
, glClearStencil()
, glBlendFunc()
, glColorMask()
, etc. – made by the client application BEFORE invoking shaders guaranteed to be seen by those shader invocations (and associated fixed-function rendering operations)?
And if the answer is NO, what forms of synchronisation when added would change the answer to YES?
来源:https://stackoverflow.com/questions/59328829/synchronisation-in-opengl-part-1-1