问题
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