Home | History | Annotate | Download | only in nv30

Lines Matching defs:fp

37    struct nv30_fragprog *fp = nv30->fragprog.program;
43 if (unlikely(!fp->buffer)) {
44 fp->buffer = pipe_buffer_create(pipe->screen, 0, 0, fp->insn_len * 4);
47 map = pipe_buffer_map(pipe, fp->buffer, PIPE_TRANSFER_WRITE, &transfer);
49 memcpy(map, fp->insn, fp->insn_len * 4);
51 for (i = 0; i < fp->insn_len; i++)
52 *map++ = (fp->insn[i] >> 16) | (fp->insn[i] << 16);
56 if (nv04_resource(fp->buffer)->domain != NOUVEAU_BO_VRAM)
57 nouveau_buffer_migrate(nv, nv04_resource(fp->buffer), NOUVEAU_BO_VRAM);
65 struct nv30_fragprog *fp = nv30->fragprog.program;
69 if (!fp->translated) {
70 _nvfx_fragprog_translate(nv30, fp, FALSE);
71 if (!fp->translated)
77 /* update constants, also needs to be done on every fp switch as we
84 for (i = 0; i < fp->nr_consts; i++) {
85 unsigned off = fp->consts[i].offset;
86 unsigned idx = fp->consts[i].index * 4;
88 if (!memcmp(&fp->insn[off], &cbuf[idx], 4 * 4))
90 memcpy(&fp->insn[off], &cbuf[idx], 4 * 4);
102 if (nv30->state.fragprog != fp || upload) {
103 struct nv04_resource *r = nv04_resource(fp->buffer);
115 PUSH_DATA (push, fp->fp_control);
120 PUSH_DATA (push, fp->texcoords);
126 nv30->state.fragprog = fp;
134 struct nv30_fragprog *fp = CALLOC_STRUCT(nv30_fragprog);
135 if (!fp)
138 fp->pipe.tokens = tgsi_dup_tokens(cso->tokens);
139 tgsi_scan_shader(fp->pipe.tokens, &fp->info);
140 return fp;
146 struct nv30_fragprog *fp = hwcso;
148 pipe_resource_reference(&fp->buffer, NULL);
150 FREE((void *)fp->pipe.tokens);
151 FREE(fp->insn);
152 FREE(fp);