According to the current specification the clipping volume is defined by:
-Wc <= Xc <= Wc
-Wc <= Yc <= Wc
Zmin <= Zc <= Wc
where Xc,Yc,Zc,Wc are the clip coordinates produced by the vertex shader as the components of gl_Position, and the Zmin is either -Wc or 0 depending on the value of depth mode set by glClipControl function. After the clipping, the division of {Xc,Yc,Zc} is performed by {Wc,Wc,Wc} producing the normalized device coordinates.
As the upper clipping bound (which is also the division vector) assembled from 3 identical values {Wc,Wc,Wc}, then all three coordinates {Xc,Yc,Zc} are divided by the same value. Technically, I see no reason to restrict the division vector from being assembled with unequal values (not necessarily {Wc=Wc=Wc}). By letting the vertex shader to output the division vector explicitly the additional functionality may be achieved (will be discussed below).
So the proposed extension references to the shading language adding an additional optional output for the vertex shader stage:
out vec3 gl_PositionDiv;
If the vertex shader writes to the gl_PositionDiv, then the clipping volume is defined by:
-gl_PositionDiv.x <= Xc <= gl_PositionDiv.x
-gl_PositionDiv.y <= Yc <= gl_PositionDiv.y
Zmin <= Zc <= gl_PositionDiv.z
where Zmin is either -gl_PositionDiv.z or 0 depending on the value of depth mode set by glClipControl function. If the vertex shader does not write to gl_PositionDiv then that vector is automatically assembled as:
gl_PositionDiv = gl_Position.www
which is being essentially an equivalent of the fixed functionality implemented currently.
After the clipping the normalized device coordinates are calculated by dividing the gl_Position.xyz by gl_PositionDiv.
The major problem this extension is targeted to solve is a poor z-buffer utilization due to the uniform division of x,y and z components. Specifying the separate division coefficients for xy and z opens a new possibilities to control the distribution of depth values. In particular, the Far clipping plane can be eliminated to allow drawing the objects any distance away and Near clipping plane can be set at much closer distances compared to the conventional setups. This will make it possible to render the large scenes without introductions of separate cameras or overpushed Near clipping plane; the special/oversized depth buffer formats would not be required either.
The example of such setup using the proposed extension is described in that post:
NOTE: the gl_PositionDiv is defined at that post as vec4 type. I can not edit the post as the time limit has expired. But it might be even better to make gl_PositionDiv a four-component vector and use the forth component as clipping bounds for Wc just the same way the first three are used (unless it will have a considerable performance cost). This will further increase the functionality of the proposed extension.