Skip to content

dri3: swap region XID handling fixes

Adam Jackson requested to merge ajax/mesa:dri3-xid-abuse into main

The Present extension uses XFIXES region resources to define the update areas, and we handled them poorly. The vl code created a new region for every present operation, and never freed them, which will cause bad things to happen when you exhaust either memory or XIDs. The loader code had the decency not to leak, but lots of code above xlib has XID reuse bugs, so if we can avoid needlessly cycling through the client's XID range we should.

Merge request reports