Intel Working On Layered Rendering For Mesa Driver
A set of twelve patches were published on Monday by an Intel OTC developer for allowing support for OpenGL layered rendering as needed for OpenGL 3.2 / GLSL 1.50 support.
Jordan Justen of Intel posted the patches for getting the Mesa Intel DRI i965 driver code into shape for supporting the GL_AMD_vertex_shader_layer extension. The patch-set enables this extension for Intel Ivy Bridge "Gen7" hardware and newer.
The OpenGL.org registry explains the GL_AMD_vertex_shader_layer extension as:
Jordan Justen of Intel posted the patches for getting the Mesa Intel DRI i965 driver code into shape for supporting the GL_AMD_vertex_shader_layer extension. The patch-set enables this extension for Intel Ivy Bridge "Gen7" hardware and newer.
The OpenGL.org registry explains the GL_AMD_vertex_shader_layer extension as:
The gl_Layer built-in shading language variable was introduced with the ARB_geometry_shader extension and subsequently promoted to core OpenGL in version 3.2. This variable is an output from the geometry shader stage that allows rendering to be directed to a specific layer of an array texture, slice of a 3D texture or face of a cube map or cube map array attachment of the framebuffer. Thus, this extremely useful functionality is only available if a geometry shader is present - even if the geometry shader is not otherwise required by the application. This adds overhead to the graphics processing pipeline, and complexity to applications. It also precludes implementations that cannot support geometry shaders from supporting rendering to layered framebuffer attachments.
This extension exposes the gl_Layer built-in variable in the vertex shader, allowing rendering to be directed to layered framebuffer attachments with only a vertex and fragment shader present. Combined with features such as instancing, or static vertex attributes and so on, this allows a wide variety of techniques to be implemented without the requirement for a geometry shader to be present.
3 Comments