d3d12: GL4.4
This MR implements:
GL_ARB_enhanced_layouts
GL_ARB_query_buffer_object
-
GL_ARB_texture_mirror_clamp_to_edge
(trivially, was already implemented just without the cap)
Enhanced layouts is a pain because DXIL is very particular about signatures, and when enhanced layouts are supported, Mesa no longer packs varyings as nicely, so we have to do some of the packing ourselves.
QBOs weren't too bad, just needs a shader to aggregate data from the query buffer and format it appropriately for the QBO dest. The only annoying part is that 64-bit values need to be saturated to match what's produced on the CPU, and timestamps need a multiplier.