summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2015-02-17 16:10:10 -0700
committerChia-I Wu <[email protected]>2015-02-18 14:20:29 -0700
commit68573f57eeba1229a7963440428c3229c7ad7ff6 (patch)
tree4f9add745cdf4e0c0f3bc4e7c1d694991fec5e23 /src/gallium
parentb290330e3b78405424a907cf6e82cef531c71c50 (diff)
ilo: fix compiler warnings
Fix -Wmaybe-uninitialized warnings. The change to ilo_blit_resolve_slices_for_hiz() is a potential bug fix.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/ilo/ilo_blit.c11
-rw-r--r--src/gallium/drivers/ilo/ilo_layout.c7
-rw-r--r--src/gallium/drivers/ilo/ilo_layout.h2
3 files changed, 12 insertions, 8 deletions
diff --git a/src/gallium/drivers/ilo/ilo_blit.c b/src/gallium/drivers/ilo/ilo_blit.c
index ad6aa801602..42072c2fed0 100644
--- a/src/gallium/drivers/ilo/ilo_blit.c
+++ b/src/gallium/drivers/ilo/ilo_blit.c
@@ -190,8 +190,9 @@ ilo_blit_resolve_slices_for_hiz(struct ilo_context *ilo,
assert(!(resolve_flags & (other_writers | any_reader)));
if (!(resolve_flags & ILO_TEXTURE_CLEAR)) {
+ const uint32_t first_clear_value = ilo_texture_get_slice(tex,
+ level, first_slice)->clear_value;
bool set_clear_value = false;
- uint32_t first_clear_value;
for (i = 0; i < num_slices; i++) {
const struct ilo_texture_slice *slice =
@@ -200,12 +201,8 @@ ilo_blit_resolve_slices_for_hiz(struct ilo_context *ilo,
if (slice->flags & other_writers) {
ilo_blitter_rectlist_resolve_hiz(ilo->blitter,
res, level, first_slice + i);
- }
- else if (i == 0) {
- first_clear_value = slice->clear_value;
- }
- else if (slice->clear_value != first_clear_value &&
- (slice->flags & ILO_TEXTURE_RENDER_WRITE)) {
+ } else if (slice->clear_value != first_clear_value &&
+ (slice->flags & ILO_TEXTURE_RENDER_WRITE)) {
ilo_blitter_rectlist_resolve_z(ilo->blitter,
res, level, first_slice + i);
set_clear_value = true;
diff --git a/src/gallium/drivers/ilo/ilo_layout.c b/src/gallium/drivers/ilo/ilo_layout.c
index 73db7969bdb..881550bd9f2 100644
--- a/src/gallium/drivers/ilo/ilo_layout.c
+++ b/src/gallium/drivers/ilo/ilo_layout.c
@@ -656,7 +656,7 @@ layout_init_size_and_format(struct ilo_layout *layout,
{
const struct pipe_resource *templ = params->templ;
enum pipe_format format = templ->format;
- bool require_separate_stencil;
+ bool require_separate_stencil = false;
layout->width0 = templ->width0;
layout->height0 = templ->height0;
@@ -1101,6 +1101,11 @@ layout_calculate_hiz_size(struct ilo_layout *layout,
}
hz_height /= 2;
break;
+ default:
+ assert(!"unknown HiZ walk");
+ hz_width = 0;
+ hz_height = 0;
+ break;
}
/*
diff --git a/src/gallium/drivers/ilo/ilo_layout.h b/src/gallium/drivers/ilo/ilo_layout.h
index 9aa2ae90b75..54ba2d8fc4b 100644
--- a/src/gallium/drivers/ilo/ilo_layout.h
+++ b/src/gallium/drivers/ilo/ilo_layout.h
@@ -282,6 +282,8 @@ ilo_layout_get_slice_pos(const struct ilo_layout *layout,
}
default:
assert(!"unknown layout walk type");
+ *x = 0;
+ *y = 0;
break;
}