projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safe
[mesa.git]
/
src
/
gallium
/
drivers
/
llvmpipe
/
lp_clear.c
diff --git
a/src/gallium/drivers/llvmpipe/lp_clear.c
b/src/gallium/drivers/llvmpipe/lp_clear.c
index 580cca5b463ed5e8ff6033387ec98430d387bb0e..08d9f2e2735e3f7eb2ce7eb5f20b3981dd6fa472 100644
(file)
--- a/
src/gallium/drivers/llvmpipe/lp_clear.c
+++ b/
src/gallium/drivers/llvmpipe/lp_clear.c
@@
-50,6
+50,7
@@
llvmpipe_clear(struct pipe_context *pipe, unsigned buffers, const float *rgba,
double depth, unsigned stencil)
{
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
double depth, unsigned stencil)
{
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
+ union util_color uc;
unsigned cv;
uint i;
unsigned cv;
uint i;
@@
-64,9
+65,10
@@
llvmpipe_clear(struct pipe_context *pipe, unsigned buffers, const float *rgba,
for (i = 0; i < llvmpipe->framebuffer.nr_cbufs; i++) {
struct pipe_surface *ps = llvmpipe->framebuffer.cbufs[i];
for (i = 0; i < llvmpipe->framebuffer.nr_cbufs; i++) {
struct pipe_surface *ps = llvmpipe->framebuffer.cbufs[i];
- util_pack_color(rgba, ps->format, &
cv
);
- lp_tile_cache_clear(llvmpipe->cbuf_cache[i], rgba,
cv
);
+ util_pack_color(rgba, ps->format, &
uc
);
+ lp_tile_cache_clear(llvmpipe->cbuf_cache[i], rgba,
uc.ui
);
}
}
+ llvmpipe->dirty_render_cache = TRUE;
}
if (buffers & PIPE_CLEAR_DEPTHSTENCIL) {
}
if (buffers & PIPE_CLEAR_DEPTHSTENCIL) {