[Mesa-dev] [PATCH] gallium: add missing zero-init for resource templates

Rob Clark robdclark at gmail.com
Fri Oct 7 16:02:42 UTC 2016


Mostly test code, plus one spot I noticed in r600.

Signed-off-by: Rob Clark <robdclark at gmail.com>
---
 src/gallium/drivers/radeon/r600_texture.c | 1 +
 src/gallium/tests/graw/clear.c            | 1 +
 src/gallium/tests/graw/fs-test.c          | 2 ++
 src/gallium/tests/graw/graw_util.h        | 2 ++
 src/gallium/tests/graw/gs-test.c          | 3 +++
 src/gallium/tests/graw/quad-sample.c      | 2 ++
 src/gallium/tests/graw/shader-leak.c      | 1 +
 src/gallium/tests/graw/tri-gs.c           | 1 +
 src/gallium/tests/graw/tri-instanced.c    | 1 +
 src/gallium/tests/graw/vs-test.c          | 3 +++
 10 files changed, 17 insertions(+)

diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
index 6ad5f85..57cdbcf 100644
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -1361,6 +1361,7 @@ bool r600_init_flushed_depth_texture(struct pipe_context *ctx,
 		}
 	}
 
+	memset(&resource, 0, sizeof(resource));
 	resource.target = texture->target;
 	resource.format = pipe_format;
 	resource.width0 = texture->width0;
diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c
index 533ce9f..45b0cc0 100644
--- a/src/gallium/tests/graw/clear.c
+++ b/src/gallium/tests/graw/clear.c
@@ -65,6 +65,7 @@ static void init( void )
    if (ctx == NULL)
       exit(3);
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = formats[i];
    templat.width0 = WIDTH;
diff --git a/src/gallium/tests/graw/fs-test.c b/src/gallium/tests/graw/fs-test.c
index b237692..e2e7ac8 100644
--- a/src/gallium/tests/graw/fs-test.c
+++ b/src/gallium/tests/graw/fs-test.c
@@ -293,6 +293,7 @@ static void init_tex( void )
    tex2d[1][1][3] = 255;
 #endif
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = PIPE_FORMAT_B8G8R8A8_UNORM;
    templat.width0 = SIZE;
@@ -402,6 +403,7 @@ static void init( void )
    if (ctx == NULL)
       exit(3);
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = formats[i];
    templat.width0 = WIDTH;
diff --git a/src/gallium/tests/graw/graw_util.h b/src/gallium/tests/graw/graw_util.h
index f603385..36064e1 100644
--- a/src/gallium/tests/graw/graw_util.h
+++ b/src/gallium/tests/graw/graw_util.h
@@ -43,6 +43,7 @@ graw_util_create_window(struct graw_info *info,
    int i;
 
    memset(info, 0, sizeof(*info));
+   memset(&resource_temp, 0, sizeof(resource_temp));
 
    /* It's hard to say whether window or screen should be created
     * first.  Different environments would prefer one or the other.
@@ -224,6 +225,7 @@ graw_util_create_tex2d(const struct graw_info *info,
    struct pipe_resource temp, *tex;
    struct pipe_box box;
 
+   memset(&temp, 0, sizeof(temp));
    temp.target = PIPE_TEXTURE_2D;
    temp.format = format;
    temp.width0 = width;
diff --git a/src/gallium/tests/graw/gs-test.c b/src/gallium/tests/graw/gs-test.c
index 00fb591..46042c6 100644
--- a/src/gallium/tests/graw/gs-test.c
+++ b/src/gallium/tests/graw/gs-test.c
@@ -150,6 +150,7 @@ static void init_fs_constbuf( void )
 {
    struct pipe_resource templat;
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_BUFFER;
    templat.format = PIPE_FORMAT_R8_UNORM;
    templat.width0 = sizeof(constants1);
@@ -383,6 +384,7 @@ static void init_tex( void )
    tex2d[1][1][3] = 255;
 #endif
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = PIPE_FORMAT_B8G8R8A8_UNORM;
    templat.width0 = SIZE;
@@ -492,6 +494,7 @@ static void init( void )
    if (ctx == NULL)
       exit(3);
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = formats[i];
    templat.width0 = WIDTH;
diff --git a/src/gallium/tests/graw/quad-sample.c b/src/gallium/tests/graw/quad-sample.c
index d1bee35..03f51fc 100644
--- a/src/gallium/tests/graw/quad-sample.c
+++ b/src/gallium/tests/graw/quad-sample.c
@@ -209,6 +209,7 @@ static void init_tex( void )
    tex2d[1][1][3] = 255;
 #endif
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = PIPE_FORMAT_B8G8R8A8_UNORM;
    templat.width0 = SIZE;
@@ -317,6 +318,7 @@ static void init( void )
    if (ctx == NULL)
       exit(3);
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = formats[i];
    templat.width0 = WIDTH;
diff --git a/src/gallium/tests/graw/shader-leak.c b/src/gallium/tests/graw/shader-leak.c
index a4502af..dddb69c 100644
--- a/src/gallium/tests/graw/shader-leak.c
+++ b/src/gallium/tests/graw/shader-leak.c
@@ -192,6 +192,7 @@ static void init( void )
    if (ctx == NULL)
       exit(3);
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = formats[i];
    templat.width0 = WIDTH;
diff --git a/src/gallium/tests/graw/tri-gs.c b/src/gallium/tests/graw/tri-gs.c
index 6aad51c..6d9e41d 100644
--- a/src/gallium/tests/graw/tri-gs.c
+++ b/src/gallium/tests/graw/tri-gs.c
@@ -199,6 +199,7 @@ static void init( void )
    if (ctx == NULL)
       exit(3);
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = formats[i];
    templat.width0 = WIDTH;
diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c
index 2065c11..b1fa21d 100644
--- a/src/gallium/tests/graw/tri-instanced.c
+++ b/src/gallium/tests/graw/tri-instanced.c
@@ -250,6 +250,7 @@ static void init( void )
    if (ctx == NULL)
       exit(3);
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = formats[i];
    templat.width0 = WIDTH;
diff --git a/src/gallium/tests/graw/vs-test.c b/src/gallium/tests/graw/vs-test.c
index 48f06f4..14e63cd 100644
--- a/src/gallium/tests/graw/vs-test.c
+++ b/src/gallium/tests/graw/vs-test.c
@@ -82,6 +82,7 @@ static void init_fs_constbuf( void )
    struct pipe_resource templat;
    struct pipe_box box;
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_BUFFER;
    templat.format = PIPE_FORMAT_R8_UNORM;
    templat.width0 = sizeof(constants);
@@ -281,6 +282,7 @@ static void init_tex( void )
    tex2d[1][1][3] = 255;
 #endif
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = PIPE_FORMAT_B8G8R8A8_UNORM;
    templat.width0 = SIZE;
@@ -390,6 +392,7 @@ static void init( void )
    if (ctx == NULL)
       exit(3);
 
+   memset(&templat, 0, sizeof(templat));
    templat.target = PIPE_TEXTURE_2D;
    templat.format = formats[i];
    templat.width0 = WIDTH;
-- 
2.7.4



More information about the mesa-dev mailing list