[Mesa-dev] [PATCH] i965: Initialize inout_offset parameter to brw_search_cache().

Kenneth Graunke kenneth at whitecape.org
Wed Jul 24 10:02:22 PDT 2013


On 07/24/2013 09:33 AM, Paul Berry wrote:
> Two callers of brw_search_cache() weren't initializing that function's
> inout_offset parameter: brw_blorp_const_color_params::get_wm_prog()
> and brw_blorp_const_color_params::get_wm_prog().
>
> That's a benign problem, since the only effect of not initializing
> inout_offset prior to calling brw_search_cache() is that the bit
> corresponding to cache_id in brw->state.dirty.cache may not be set
> reliably.  This is ok, since the cache_id's used by
> brw_blorp_const_color_params::get_wm_prog() and
> brw_blorp_blit_params::get_wm_prog() (BRW_BLORP_CONST_COLOR_PROG and
> BRW_BLORP_BLIT_PROG, respectively) correspond to dirty bits that are
> not used.
>
> However, failing to initialize this parameter causes valgrind to
> complain.  So let's go ahead and fix it to reduce valgrind noise.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66779
> ---
>   src/mesa/drivers/dri/i965/brw_blorp_blit.cpp  | 2 +-
>   src/mesa/drivers/dri/i965/brw_blorp_clear.cpp | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> index 6610ef0..bce2d4d 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> @@ -2280,7 +2280,7 @@ uint32_t
>   brw_blorp_blit_params::get_wm_prog(struct brw_context *brw,
>                                      brw_blorp_prog_data **prog_data) const
>   {
> -   uint32_t prog_offset;
> +   uint32_t prog_offset = 0;
>      if (!brw_search_cache(&brw->cache, BRW_BLORP_BLIT_PROG,
>                            &this->wm_prog_key, sizeof(this->wm_prog_key),
>                            &prog_offset, prog_data)) {
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> index 6588b7f..f26f39d 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> @@ -342,7 +342,7 @@ brw_blorp_const_color_params::get_wm_prog(struct brw_context *brw,
>                                             brw_blorp_prog_data **prog_data)
>      const
>   {
> -   uint32_t prog_offset;
> +   uint32_t prog_offset = 0;
>      if (!brw_search_cache(&brw->cache, BRW_BLORP_CONST_COLOR_PROG,
>                            &this->wm_prog_key, sizeof(this->wm_prog_key),
>                            &prog_offset, prog_data)) {
>

Thank you!!!  I'd been wondering what was going on with this, but never 
managed to quite track it down.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>


More information about the mesa-dev mailing list