etnaviv: add support for user index buffers
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
f139b6fb4f
commit
19c51e072b
|
@ -47,6 +47,7 @@
|
|||
#include "pipe/p_context.h"
|
||||
#include "pipe/p_state.h"
|
||||
#include "util/u_blitter.h"
|
||||
#include "util/u_helpers.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_prim.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
|
@ -137,6 +138,15 @@ etna_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||
return;
|
||||
}
|
||||
|
||||
/* Upload a user index buffer. */
|
||||
struct pipe_index_buffer ibuffer_saved = {};
|
||||
if (info->indexed && ctx->index_buffer.ib.user_buffer &&
|
||||
!util_save_and_upload_index_buffer(pctx, info, &ctx->index_buffer.ib,
|
||||
&ibuffer_saved)) {
|
||||
BUG("Index buffer upload failed.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (info->indexed && !ctx->index_buffer.FE_INDEX_STREAM_BASE_ADDR.bo) {
|
||||
BUG("Unsupported or no index buffer");
|
||||
return;
|
||||
|
@ -211,6 +221,8 @@ etna_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||
etna_resource(ctx->framebuffer.cbuf->texture)->seqno++;
|
||||
if (ctx->framebuffer.zsbuf)
|
||||
etna_resource(ctx->framebuffer.zsbuf->texture)->seqno++;
|
||||
if (info->indexed && ibuffer_saved.user_buffer)
|
||||
pctx->set_index_buffer(pctx, &ibuffer_saved);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -136,6 +136,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_USER_CONSTANT_BUFFERS:
|
||||
case PIPE_CAP_TGSI_TEXCOORD:
|
||||
case PIPE_CAP_VERTEX_COLOR_UNCLAMPED:
|
||||
case PIPE_CAP_USER_INDEX_BUFFERS:
|
||||
return 1;
|
||||
|
||||
/* Memory */
|
||||
|
@ -180,7 +181,6 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_FRAGMENT_COLOR_CLAMPED:
|
||||
case PIPE_CAP_VERTEX_COLOR_CLAMPED:
|
||||
case PIPE_CAP_USER_VERTEX_BUFFERS:
|
||||
case PIPE_CAP_USER_INDEX_BUFFERS:
|
||||
case PIPE_CAP_TEXTURE_BUFFER_OBJECTS:
|
||||
case PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT:
|
||||
case PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY:
|
||||
|
|
Loading…
Reference in New Issue