diff options
author | Roland Scheidegger <[email protected]> | 2013-01-10 18:10:20 -0800 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2013-01-10 18:10:20 -0800 |
commit | babab2876080af0fe65249dff559244aebd0b87e (patch) | |
tree | f4d44a31ed1a35ba76001c57695947985daa9f1e /src/gallium/drivers/llvmpipe/lp_rast.h | |
parent | 5785f22d230bc7249dfcd91bbbaa4e77816128e4 (diff) |
llvmpipe: fix clearing integer color buffers
We get int/uint clear color value in this case, and util_pack_color can't
handle these formats at all (even if it could, float input color isn't what
we want).
Pass through the color union appropriately and handle the packing ourselves
(as I couldn't think of a good generic util solution).
This gets piglit fbo_integer_precision_clear and
fbo_integer_readpixels_sint_uint from the ext_texture_integer test group from
segfault to pass (which only leaves fbo-blending from that group not working).
v2: fix up comments
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_rast.h')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_rast.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.h b/src/gallium/drivers/llvmpipe/lp_rast.h index 315601e1b6a..2f5fa227619 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.h +++ b/src/gallium/drivers/llvmpipe/lp_rast.h @@ -152,7 +152,7 @@ union lp_rast_cmd_arg { unsigned plane_mask; } triangle; const struct lp_rast_state *set_state; - float clear_color[4]; + union pipe_color_union clear_color; struct { uint32_t value; uint32_t mask; |