Am 07.10.2016 um 19:08 schrieb Rob Clark: > so, btw, the question is whether to push this patch, or the one that > initializes ->next to NULL in the drivers, or possibly both for good > measure. Yes, why not do both. It makes it explicit that this magic next pointer isn't going to do anything with "normally created" resources. But I don't really care much there...
Roland > memset'ing the templ is probably a sane future-proofing thing to do > regardless. > > BR, > -R > > On Fri, Oct 7, 2016 at 12:02 PM, Rob Clark <robdcl...@gmail.com> wrote: >> Mostly test code, plus one spot I noticed in r600. >> >> Signed-off-by: Rob Clark <robdcl...@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 >> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev