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 <kenn...@whitecape.org>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to