There are so many state trackers and winsys that rely on it for debug
building, and trace can really build anywhere and is thin so there's no
point is making it an option.
Based on Xavier Chantry <chantry.xavier@gmail.com>'s patch:
"I also removed the trace check in xlib SConscript which is now useless, and
that script seems to deal with the cell driver, so I added cell in the check
for supported drivers."
glapi/dispatch.h is a core Mesa header file. Move the header file to
main/ to make this clear. It also becomes clear after this change that
IN_DRI_DRIVER is only used in core Mesa to enable the remap table.
glapi: Move src/mesa/main/dispatch.c to glapi and rename.
main/dispatch.c is a glapi source file. It is part of GLAPI_SOURCES in
sources.mak and part of glapi_sources in SConscript. This commit moves
it to glapi/ and renames it to glapi_dispatch.c.
st/egl: Reduce validation round-trips in DRI2 backend.
This is similar to the changes to reduce the round-trips in ximage
backend.
When the server supports DRI_InvalidateBuffers, the event is used to
update the server stamp (this path is not tested). Otherwise, the
server stamp is updated when flush_frontbuffer or swap_buffers is
called. This makes sure at least the client APIs get the new buffers
when a new frame is started while skipping all round-trips during the
drawing.
st/egl: Reduce validation round-trips in ximage backend.
ximage_surface_validate is called several times per frame. This commit
adds the client and server stamps to reduce the round-trips to the
server. The idea is to bump the server stamp when flush_frontbuffer or
swap_buffers is called, and to skip the round-trip when the client stamp
is equal to the server stamp. This makes sure the client APIs get the
new buffers when a new frame is started while skipping all round-trips
during the drawing. To make this work, egl_g3d_validate_context is no
longer called after swap_buffers.
src/glx/dri2.c will call dri2InvalidateBuffers when
DRI2_InvalidateBuffers event is received. This fixes a missing symbol
error, and paves the way for event-based validation.