diff options
author | Zack Rusin <[email protected]> | 2007-12-24 07:57:34 -0500 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2007-12-24 07:57:34 -0500 |
commit | f9e0e2b3efbc45a290f0a84a1beb63cd8c4f8428 (patch) | |
tree | 58048bcab94b9261c0c6b799dd7010366635aa1d /src/mesa/pipe/i965simple/brw_curbe.c | |
parent | 4fa7afabc966a3d37324f2f9b03e1cc466db7773 (diff) |
i965: a little better way of handling immediates
Diffstat (limited to 'src/mesa/pipe/i965simple/brw_curbe.c')
-rw-r--r-- | src/mesa/pipe/i965simple/brw_curbe.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mesa/pipe/i965simple/brw_curbe.c b/src/mesa/pipe/i965simple/brw_curbe.c index 603116c8634..4d79a7abe22 100644 --- a/src/mesa/pipe/i965simple/brw_curbe.c +++ b/src/mesa/pipe/i965simple/brw_curbe.c @@ -252,9 +252,14 @@ static void upload_constant_buffer(struct brw_context *brw) /*unsigned nr = vp->max_const;*/ const struct pipe_constant_buffer *cbuffer = brw->attribs.Constants[0]; struct pipe_winsys *ws = brw->pipe.winsys; - if (cbuffer->size) { + /* FIXME: buffer size is num_consts + num_immediates */ + if (brw->vs.prog_data->num_consts) { /* map the vertex constant buffer and copy to curbe: */ ws->buffer_map(ws, cbuffer->buffer, 0); + /* FIXME: this is wrong. the cbuffer->size currently + * represents size of consts + immediates. so if we'll + * have both we'll copy over the end of the buffer + * with the subsequent memcpy */ ws->buffer_get_subdata(ws, cbuffer->buffer, 0, cbuffer->size, @@ -263,12 +268,10 @@ static void upload_constant_buffer(struct brw_context *brw) offset += cbuffer->size; } /*immediates*/ -#if 0 if (brw->vs.prog_data->num_imm) { memcpy(&buf[offset], brw->vs.prog_data->imm_buf, brw->vs.prog_data->num_imm * 4 * sizeof(float)); } -#endif } if (1) { |