From the Anglo-Saxon Chronicle for the year 577,
This year Cuthwin and Ceawlin fought with the Britons, and slew three kings, Commail, and Condida, and Farinmail, on the spot that is called Deorham, and took from them three cities, Gloucester, Cirencester, and Bath.
Ceawlin was the ruler of the Gewissae1 whose territory encompassed the upper Thames valley around Dorchester-on-Thames; Cuthwin was his son. Deorham or Dyrham2 as it is known today, is a village in Gloucestershire, some twelve miles east of Bristol. Nothing else is known of the three defeated kings named; they were presumably the rulers of kingdoms centred around each of the three named cities.
Of course, the Anglo-Saxon Chronicle are not necessarily a reliable account of events in the sixth century; the year may not be exactly correct, the names of the participants may be based on tradition rather than fact, and possibly the location is not precise. But some time in the late sixth century the native Brythonic kings did lose control of the stragtegically important area around modern day Bristol; contact between the 'Welsh' of Wales and those of the south-west was lost and with it the hope of amounting any effective resistance to further expansionism by the Anglo-Saxons in the south of Britain.
Hence the notion of a Battle at Deorham in 577, where Ceawlin defeated three Brythonic kings and captured three cities is probably not far off the truth.
1 Which would a century later become the kingdom of Wessex.
2 Noted for the nearby Dyrham Park, a National Trust property, rather than as the scene of an historic battle.