Submitted by Marek Olšák on Aug. 8, 2018, 5:41 a.m.


Reviewer None
Submitted Aug. 8, 2018, 5:41 a.m.
Last Updated Aug. 21, 2018, 3:43 a.m.
Revision 2

Cover Letter(s)

Revision 1

This adds EXT_gpu_shader4 with its subset EXT_texture_buffer_object.

Some applications that previously required force_glsl_version=130 now
work without it, because EXT_gpu_shader4 enables a subset of GLSL 1.30.

There are also applications that need the old-style texture functions
from EXT_gpu_shader4.

I have some tests internally. I'm not sure I wanna write piglits for
everything (there are about 360 texture functions). A lot of the code
is shared with GLSL 1.30 anyway.

The only special additions are "unsigned int" and "truncate".

The following GLSL code compiles successfully, even though
the "unsigned int" constructor looks weird.

    unsigned int x = unsigned int(gl_Vertex.x);
    unsigned int y = 0u;
    gl_FrontColor.x = truncate(float(x + y));

Please review.