search for: vertprog

Displaying 16 results from an estimated 16 matches for "vertprog".

2015 Aug 24
4
[PATCH] nv50: avoid using inline vertex data submit when gl_VertexID is used
...sertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/nv50/nv50_program.c b/src/gallium/drivers/nouveau/nv50/nv50_program.c index 02dc367..eff4477 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_program.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_program.c @@ -66,6 +66,7 @@ nv50_vertprog_assign_slots(struct nv50_ir_prog_info *info) case TGSI_SEMANTIC_VERTEXID: prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID; prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID_DRAW_ARRAYS_ADD_START; + prog->vp.vertexid = 1;...
2009 Dec 21
2
[PATCH 1/2] Unreference state/buffer objects on context/screen destruction
...mp;nv50->state.scissor); + if (nv50->state.viewport) + so_ref(NULL, &nv50->state.viewport); + if (nv50->state.tsc_upload) + so_ref(NULL, &nv50->state.tsc_upload); + if (nv50->state.tic_upload) + so_ref(NULL, &nv50->state.tic_upload); + if (nv50->state.vertprog) + so_ref(NULL, &nv50->state.vertprog); + if (nv50->state.fragprog) + so_ref(NULL, &nv50->state.fragprog); + if (nv50->state.programs) + so_ref(NULL, &nv50->state.programs); + if (nv50->state.vtxfmt) + so_ref(NULL, &nv50->state.vtxfmt); + if (nv5...
2009 Jun 21
0
[PATCH] nv50: add support for two-sided lighting
...ntext.h b/src/gallium/drivers/nv50/nv50_context.h index 44463d6..c31c42a 100644 --- a/src/gallium/drivers/nv50/nv50_context.h +++ b/src/gallium/drivers/nv50/nv50_context.h @@ -190,6 +190,7 @@ extern void nv50_clear(struct pipe_context *pipe, unsigned buffers, /* nv50_program.c */ extern void nv50_vertprog_validate(struct nv50_context *nv50); extern void nv50_fragprog_validate(struct nv50_context *nv50); +extern void nv50_linkage_validate(struct nv50_context *nv50); extern void nv50_program_destroy(struct nv50_context *nv50, struct nv50_program *p); /* nv50_state_validate.c */ diff --git a/src/g...
2012 May 12
7
[Patches] mesa/nv30: Diverse set of patches that improve NV3x render quality V2
A reworked version of 3 out of 4 patches mentioned earlier. [1/4]: Fixes nearly all piglit vertprog testcases, due to now being able to pass the results on to the fragment shader. V2: rename samplers to texcoords. [2/4]: Fixes shader compiler assertion errors, as some source registers do not exist for certain operations. Fixes several piglit tests when mesa is compiled with --enable-debug [3/4]:...
2009 Sep 12
0
[PATCH 10/13] nv50: proper linkage between VP and FP
...git a/src/gallium/drivers/nv50/nv50_context.h b/src/gallium/drivers/nv50/nv50_context.h index 1e9e8e4..3a5f990 100644 --- a/src/gallium/drivers/nv50/nv50_context.h +++ b/src/gallium/drivers/nv50/nv50_context.h @@ -116,6 +116,7 @@ struct nv50_state { unsigned miptree_nr; struct nouveau_stateobj *vertprog; struct nouveau_stateobj *fragprog; + struct nouveau_stateobj *programs; struct nouveau_stateobj *vtxfmt; struct nouveau_stateobj *vtxbuf; struct nouveau_stateobj *vtxattr; @@ -190,6 +191,7 @@ extern void nv50_clear(struct pipe_context *pipe, unsigned buffers, /* nv50_program.c */ extern...
2009 Sep 12
0
[PATCH 13/13] nv50: add support for point sprites
...50/nv50_program.c @@ -2689,6 +2689,51 @@ nv50_fragprog_validate(struct nv50_context *nv50) so_ref(NULL, &so); } +static void +nv50_pntc_replace(struct nv50_context *nv50, uint32_t pntc[8], unsigned base) +{ + struct nv50_program *fp = nv50->fragprog; + struct nv50_program *vp = nv50->vertprog; + unsigned i, c, m = base; + + /* XXX: This can't work correctly in all cases yet, we either + * have to create TGSI_SEMANTIC_PNTC or sprite_coord_mode has + * to be per FP input instead of per VP output + */ + memset(pntc, 0, 8 * sizeof(uint32_t)); + + for (i = 0; i < fp->cfg.io_nr;...
2009 Jul 12
0
[PATCH 2/3] nv50: fix viewport transform
...44 --- a/src/gallium/drivers/nv50/nv50_context.h +++ b/src/gallium/drivers/nv50/nv50_context.h @@ -140,6 +140,7 @@ struct nv50_context { struct pipe_scissor_state scissor; struct pipe_viewport_state viewport; struct pipe_framebuffer_state framebuffer; + int fb_invert_y; struct nv50_program *vertprog; struct nv50_program *fragprog; struct pipe_buffer *constbuf[PIPE_SHADER_TYPES]; diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c b/src/gallium/drivers/nv50/nv50_state_validate.c index 4981b1b..b65301b 100644 --- a/src/gallium/drivers/nv50/nv50_state_validate.c +++ b/src/gallium/driv...
2012 May 09
4
[Patches]mesa/nv30: Diverse set of patches that improve NV3x render quality
...if you agree, go ahead!), whereas for the fourth I don't know if this is the desired way to fix. The result of these four patches is that NV34 gives a nearly-correct desktop experience, where only some fading animations appear broken. It's quite useable now! [1/4]: Fixes nearly all piglit vertprog testcases, due to it now being able to pass the results on to the fragment shader. [2/4]: Fixes shader compiler assertion errors: src[1] was uninitialised or filled with rubbish. Fixes several piglits. [3/4]: as it says [4/4]: Avoids the case where the framebuffer (?) is assumed to be swizzling an...
2009 Jun 24
0
[PATCH] nv50: fix previous patches
...x%08x\n",fp->cfg.fp.regs[2]); + fprintf(stderr, "REG196c = 0x%08x\n",fp->cfg.fp.regs[3]); +#endif + return ln; } void nv50_linkage_validate(struct nv50_context *nv50) { - struct nv50_linkage *it, *ln = NULL; + struct nv50_linkage *ln; struct nv50_program *vp = nv50->vertprog; - struct nv50_program *fp = nv50->fragprog; unsigned cfg; cfg = nv50->rasterizer->pipe.light_twoside; @@ -2827,20 +2851,18 @@ void nv50_linkage_validate(struct nv50_context *nv50) cfg |= (1 << 2); if (vp->ln) { - it = vp->ln->next[0]; + ln = vp->ln->nex...
2009 Oct 10
0
[PATCH 1/7] nv50: use SIFC for TIC, TSC upload
...channel *chan) { struct nv50_context *nv50 = chan->user_private; + if (nv50->state.tic_upload && !(nv50->dirty & NV50_NEW_TEXTURE)) + so_emit(chan, nv50->state.tic_upload); + so_emit_reloc_markers(chan, nv50->state.fb); so_emit_reloc_markers(chan, nv50->state.vertprog); so_emit_reloc_markers(chan, nv50->state.fragprog); @@ -233,6 +236,7 @@ boolean nv50_state_validate(struct nv50_context *nv50) { struct nouveau_grobj *tesla = nv50->screen->tesla; + struct nouveau_grobj *eng2d = nv50->screen->eng2d; struct nouveau_stateobj *so; unsigned i;...
2009 Dec 05
0
[PATCH] nouveau: avoid running out of relocs (attempt 3)
...e.fb, &push, &reloc); + if (nv50->state.dirty & NV50_NEW_BLEND) + so_get_push_reloc(nv50->state.blend, &push, &reloc); + if (nv50->state.dirty & NV50_NEW_ZSA) + so_get_push_reloc(nv50->state.zsa, &push, &reloc); + if (nv50->state.dirty & NV50_NEW_VERTPROG) + so_get_push_reloc(nv50->state.vertprog, &push, &reloc); + if (nv50->state.dirty & NV50_NEW_FRAGPROG) + so_get_push_reloc(nv50->state.fragprog, &push, &reloc); + if (nv50->state.dirty & (NV50_NEW_FRAGPROG | NV50_NEW_VERTPROG | + NV50_NEW_RASTERIZER)) + s...
2014 May 20
14
[PATCH 00/12] Cherry-pick nv50/nvc0 patches from gallium-nine
I went through the gallium-nine tree and picked out nouveau patches that are general bug-fixes. The first bunch I'd like to also get into 10.2. I've reviewed all of them and they make sense to me, but sending them out for public review as well in case there are any objections. Unless I hear objections, I'd like to push this by Friday. Christoph Bumiller (11): nv50,nvc0: always pull
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...j *rast = nv30->rast; struct pipe_screen *pscreen = &nv30->screen->base.base; - struct nouveau_pushbuf *push = nv30->screen->base.pushbuf; + struct nouveau_pushbuf *push = nv30->base.pushbuf; struct nouveau_object *eng3d = nv30->screen->eng3d; struct nv30_vertprog *vp = nv30->vertprog.program; struct vertex_info *vinfo = &r->vertex_info; diff --git a/src/gallium/drivers/nouveau/nv30/nv30_query.c b/src/gallium/drivers/nouveau/nv30/nv30_query.c index 01b3817..6b27267 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_query.c +++ b/src/gallium/dri...
2014 Jun 17
2
[PATCH try 2 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> --- src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++------------- src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++-- src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++ src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++--- src/gallium/drivers/nouveau/nv30/nv30_context.c | 4 +-
2014 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...> struct pipe_screen *pscreen = &nv30->screen->base.base; > - struct nouveau_pushbuf *push = nv30->screen->base.pushbuf; > + struct nouveau_pushbuf *push = nv30->base.pushbuf; > struct nouveau_object *eng3d = nv30->screen->eng3d; > struct nv30_vertprog *vp = nv30->vertprog.program; > struct vertex_info *vinfo = &r->vertex_info; > diff --git a/src/gallium/drivers/nouveau/nv30/nv30_query.c b/src/gallium/drivers/nouveau/nv30/nv30_query.c > index 01b3817..6b27267 100644 > --- a/src/gallium/drivers/nouveau/nv30/nv30_query.c &...
2014 Jun 16
2
[PATCH 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> --- src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++------------- src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++-- src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++ src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++--- src/gallium/drivers/nouveau/nv30/nv30_context.c | 4