diff options
author | Brian Paul <[email protected]> | 2010-03-10 13:09:00 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-03-10 13:09:03 -0700 |
commit | 7069dff80f25d0ac532c9f76634d1cd382d4fac1 (patch) | |
tree | 5eef771967e3cd842ad9259d8b1868a5ec30517b /src/gallium/drivers/softpipe | |
parent | 3c48f40f61d8122009175273b3c15e108927b146 (diff) |
softpipe: fix memcpy params to avoid static analysis warnings
See fd.o bug 26970. Also added sanity check assertions.
Diffstat (limited to 'src/gallium/drivers/softpipe')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_fs_exec.c | 7 | ||||
-rw-r--r-- | src/gallium/drivers/softpipe/sp_fs_sse.c | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/gallium/drivers/softpipe/sp_fs_exec.c b/src/gallium/drivers/softpipe/sp_fs_exec.c index 27fa126b7c3..67e2c8f8bc4 100644 --- a/src/gallium/drivers/softpipe/sp_fs_exec.c +++ b/src/gallium/drivers/softpipe/sp_fs_exec.c @@ -145,8 +145,13 @@ exec_run( const struct sp_fragment_shader *base, case TGSI_SEMANTIC_COLOR: { uint cbuf = sem_index[i]; + + assert(sizeof(quad->output.color[cbuf]) == + sizeof(machine->Outputs[i])); + + /* copy float[4][4] result */ memcpy(quad->output.color[cbuf], - &machine->Outputs[i].xyzw[0].f[0], + &machine->Outputs[i], sizeof(quad->output.color[0]) ); } break; diff --git a/src/gallium/drivers/softpipe/sp_fs_sse.c b/src/gallium/drivers/softpipe/sp_fs_sse.c index acee2136706..daa158df7c4 100644 --- a/src/gallium/drivers/softpipe/sp_fs_sse.c +++ b/src/gallium/drivers/softpipe/sp_fs_sse.c @@ -156,8 +156,13 @@ fs_sse_run( const struct sp_fragment_shader *base, case TGSI_SEMANTIC_COLOR: { uint cbuf = sem_index[i]; + + assert(sizeof(quad->output.color[cbuf]) == + sizeof(machine->Outputs[i])); + + /* copy float[4][4] result */ memcpy(quad->output.color[cbuf], - &machine->Outputs[i].xyzw[0].f[0], + &machine->Outputs[i], sizeof(quad->output.color[0]) ); } break; |