search for: nv50_draw_array

Displaying 5 results from an estimated 5 matches for "nv50_draw_array".

Did you mean: nv50_draw_arrays
2009 Dec 17
0
No subject
a fence in the command stream when you change the vtxbuf addresses, on nv50 that is, I don't know about nv40, sorry. But it *did* look like the blob inserts a fence after *uploading* new data to a vertex buffer. That's why there's method 0x142c in nv50_draw_arrays. > Other observations: > - the data during execution of gl commands actually seems to be put into > location C - when I switch to software path, I could track down that it > reads data from location C - rendering is done correctly in software path > - when I comment out freeing of...
2009 Jul 28
0
[PATCH 6/8] nv50: support more vtxelt formats
...+ } else + if (pf_exp2(pf) == 6 && pf_size_x(pf) == 1) { + NOUVEAU_ERR("unsupported vbo component size 64\n"); + assert(0); + return (nf | 0x08000000); + } + + NOUVEAU_ERR("invalid vbo format %s\n",pf_name(pf)); + assert(0); + return (nf | 0x08000000); +} + boolean nv50_draw_arrays(struct pipe_context *pipe, unsigned mode, unsigned start, unsigned count) @@ -208,6 +259,10 @@ nv50_vbo_validate(struct nv50_context *nv50) struct nouveau_stateobj *vtxbuf, *vtxfmt; int i; + /* don't validate if Gallium took away our buffers */ + if (nv50->vtxbuf_nr == 0) + retur...
2009 Oct 14
0
[PATCH 3/7] nv50: submit user vbo data through the fifo
...ements_u16(struct nv50_context *, uint16_t *, unsigned); + +static boolean +nv50_push_elements_u32(struct nv50_context *, uint32_t *, unsigned); + +static boolean +nv50_push_arrays(struct nv50_context *, unsigned, unsigned); + static INLINE unsigned nv50_prim(unsigned mode) { @@ -132,6 +144,7 @@ nv50_draw_arrays(struct pipe_context *pipe, unsigned mode, unsigned start, struct nv50_context *nv50 = nv50_context(pipe); struct nouveau_channel *chan = nv50->screen->tesla->channel; struct nouveau_grobj *tesla = nv50->screen->tesla; + boolean ret; nv50_state_validate(nv50); @@ -142,17...
2014 Dec 31
0
[PATCH] nv50,nvc0: set vertex id base to index_bias
...(push, 0); + } + PUSH_KICK (push); } diff --git a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c index 5a4a457..c1590ee 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c @@ -472,6 +472,10 @@ nv50_draw_arrays(struct nv50_context *nv50, if (nv50->state.index_bias) { BEGIN_NV04(push, NV50_3D(VB_ELEMENT_BASE), 1); PUSH_DATA (push, 0); + if (nv50->screen->base.class_3d >= NV84_3D_CLASS) { + BEGIN_NV04(push, SUBC_3D(NV84_3D_VERTEX_ID_BASE), 1); + PUSH_DATA...
2009 Oct 10
0
[PATCH 1/7] nv50: use SIFC for TIC, TSC upload
...; so_ref(NULL, &so); nv50->state.miptree_nr = nv50->miptree_nr; diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c index eeed148..8b0fbf0 100644 --- a/src/gallium/drivers/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nv50/nv50_vbo.c @@ -139,10 +139,6 @@ nv50_draw_arrays(struct pipe_context *pipe, unsigned mode, unsigned start, OUT_RING (chan, 0); BEGIN_RING(chan, tesla, 0x142c, 1); OUT_RING (chan, 0); - BEGIN_RING(chan, tesla, 0x1440, 1); - OUT_RING (chan, 0); - BEGIN_RING(chan, tesla, 0x1334, 1); - OUT_RING (chan, 0); BEGIN_RING(chan, tesla, NV50TC...