i965: Implement the GL_ARB_base_instance extension.
Thanks to Fredrik Höglund, all the hard work was already done. Tested using a modified oglconform (that actually runs these tests on our driver); it looks like there may be some bugs when using client arrays. All applicable non-compatibility tests passed. For now, only enable it in core profiles. Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Ian Romanick <idr@freedesktop.org>
This commit is contained in:
parent
0d108116bd
commit
cdd3f5496a
|
@ -193,7 +193,7 @@ static void brw_emit_prim(struct brw_context *brw,
|
|||
OUT_BATCH(verts_per_instance);
|
||||
OUT_BATCH(start_vertex_location);
|
||||
OUT_BATCH(prim->num_instances);
|
||||
OUT_BATCH(0); // start instance location
|
||||
OUT_BATCH(prim->base_instance);
|
||||
OUT_BATCH(base_vertex_location);
|
||||
ADVANCE_BATCH();
|
||||
|
||||
|
@ -249,7 +249,7 @@ static void gen7_emit_prim(struct brw_context *brw,
|
|||
OUT_BATCH(verts_per_instance);
|
||||
OUT_BATCH(start_vertex_location);
|
||||
OUT_BATCH(prim->num_instances);
|
||||
OUT_BATCH(0); // start instance location
|
||||
OUT_BATCH(prim->base_instance);
|
||||
OUT_BATCH(base_vertex_location);
|
||||
ADVANCE_BATCH();
|
||||
|
||||
|
|
|
@ -120,6 +120,8 @@ intelInitExtensions(struct gl_context *ctx)
|
|||
}
|
||||
|
||||
if (intel->gen >= 4) {
|
||||
if (ctx->API == API_OPENGL_CORE)
|
||||
ctx->Extensions.ARB_base_instance = true;
|
||||
ctx->Extensions.ARB_color_buffer_float = true;
|
||||
ctx->Extensions.ARB_depth_buffer_float = true;
|
||||
ctx->Extensions.ARB_depth_clamp = true;
|
||||
|
|
Loading…
Reference in New Issue