i965: Implement all_varyings_in_vbos in terms of Array._DrawVAO.
Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
This commit is contained in:
parent
79eb6ab7b6
commit
172c9a908f
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#include <sys/errno.h>
|
#include <sys/errno.h>
|
||||||
|
|
||||||
|
#include "main/arrayobj.h"
|
||||||
#include "main/blend.h"
|
#include "main/blend.h"
|
||||||
#include "main/context.h"
|
#include "main/context.h"
|
||||||
#include "main/condrender.h"
|
#include "main/condrender.h"
|
||||||
|
@ -917,20 +918,6 @@ retry:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static bool
|
|
||||||
all_varyings_in_vbos(const struct gl_vertex_array *arrays)
|
|
||||||
{
|
|
||||||
GLuint i;
|
|
||||||
|
|
||||||
for (i = 0; i < VERT_ATTRIB_MAX; i++)
|
|
||||||
if (arrays[i].BufferBinding->Stride &&
|
|
||||||
arrays[i].BufferBinding->BufferObj->Name == 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
brw_draw_prims(struct gl_context *ctx,
|
brw_draw_prims(struct gl_context *ctx,
|
||||||
|
@ -982,7 +969,7 @@ brw_draw_prims(struct gl_context *ctx,
|
||||||
* get the minimum and maximum of their index buffer so we know what range
|
* get the minimum and maximum of their index buffer so we know what range
|
||||||
* to upload.
|
* to upload.
|
||||||
*/
|
*/
|
||||||
if (!index_bounds_valid && !all_varyings_in_vbos(arrays)) {
|
if (!index_bounds_valid && _mesa_draw_user_array_bits(ctx) != 0) {
|
||||||
perf_debug("Scanning index buffer to compute index buffer bounds. "
|
perf_debug("Scanning index buffer to compute index buffer bounds. "
|
||||||
"Use glDrawRangeElements() to avoid this.\n");
|
"Use glDrawRangeElements() to avoid this.\n");
|
||||||
vbo_get_minmax_indices(ctx, prims, ib, &min_index, &max_index, nr_prims);
|
vbo_get_minmax_indices(ctx, prims, ib, &min_index, &max_index, nr_prims);
|
||||||
|
|
Loading…
Reference in New Issue