Mesa (master): i915: Avoid aliasing violation.

Matt Turner mattst88 at kemper.freedesktop.org
Mon Aug 1 19:08:55 UTC 2016


Module: Mesa
Branch: master
Commit: 12a14052e81d5384d1e040305b388db375e21490
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12a14052e81d5384d1e040305b388db375e21490

Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Jul 28 12:44:41 2016 -0700

i915: Avoid aliasing violation.

Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

---

 src/mesa/drivers/dri/i915/intel_clear.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i915/intel_clear.c b/src/mesa/drivers/dri/i915/intel_clear.c
index 8cf7c14..4306826 100644
--- a/src/mesa/drivers/dri/i915/intel_clear.c
+++ b/src/mesa/drivers/dri/i915/intel_clear.c
@@ -81,7 +81,7 @@ static void
 intelClear(struct gl_context *ctx, GLbitfield mask)
 {
    struct intel_context *intel = intel_context(ctx);
-   const GLuint colorMask = *((GLuint *) & ctx->Color.ColorMask[0]);
+   GLuint colorMask;
    GLbitfield tri_mask = 0;
    GLbitfield blit_mask = 0;
    GLbitfield swrast_mask = 0;
@@ -89,6 +89,8 @@ intelClear(struct gl_context *ctx, GLbitfield mask)
    struct intel_renderbuffer *irb;
    int i;
 
+   memcpy(&colorMask, &ctx->Color.ColorMask[0], sizeof(colorMask));
+
    if (mask & (BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_FRONT_RIGHT)) {
       intel->front_buffer_dirty = true;
    }




More information about the mesa-commit mailing list