> I have some doubts about this patch though. It is impossible to satisfy > both DONTBLOCK and UNSYNCHRONIZED flags simultaneously, so the result of > specifying both is implementation dependent. Why should UNSYNCHRONIZED > be favored over DONTBLOCK?
I think that is the correct choice given the current codebase. In particular, vbo_exec_draw.c uses GL_MAP_UNSYNCHRONIZED_BIT | MESA_MAP_NOWAIT_BIT, which the Gallium state tracker translates to PIPE_BUFFER_USAGE_UNSYNCHRONIZED | PIPE_BUFFER_USAGE_DONTBLOCK. It uses that because it is using the buffer in subparts and knows that it never submitted the part it is writing to. Thus, in this case, UNSYNCHRONIZED should be favored. I think it also makes more sense to do things this way as DONTBLOCK doesn't intuitively mean "tell me if the buffer is used by the GPU by failing", but rather "avoid waiting and fail instead if necessary". Thus, if UNSYNCHRONIZED is specified, DONTBLOCK can be satisfied by ignoring it. ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev