summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdiel Janulgue <abdiel.janulgue@linux.intel.com>2015-11-11 19:15:39 +0200
committerAbdiel Janulgue <abdiel.janulgue@linux.intel.com>2015-11-11 19:15:39 +0200
commit224450a09fc1aefc52928df4a7e98d6a0fe3c276 (patch)
treef0b4de06ab0156c0a343899ebde8627386cb6735
parent9b3cf56cad97eb1eb08abb03b8f538422d0eb03d (diff)
fix mat2x3: take into consideration rows!
-rw-r--r--src/mesa/drivers/dri/i965/brw_shader.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index e8ab51fc95..800dd061fa 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -429,7 +429,8 @@ void brw_associate_uniform_storage(struct gl_context *ctx,
dmul,
format,
p);
- unsigned size = dmul * columns * MAX2(storage->array_elements, 1);
+ unsigned rows = MAX2(storage->type->component_slots(), 1) / columns;
+ unsigned size = dmul * rows * MAX2(storage->array_elements, 1);
int loc = storage->remap_location;
prog->storage_table[loc].needs_update = true;
@@ -440,12 +441,14 @@ void brw_associate_uniform_storage(struct gl_context *ctx,
prog->reset_update_flags[prog->nr_updates++] =
&prog->storage_table[loc].needs_update;
- // printf(" Attach Storage size: %d [loc:%d] "
- // "dmul: %d cols: %d els: %d | off:%d | components: %d\n",
- // size, loc, dmul, columns, MAX2(storage->array_elements, 1),
- // prog->storage_table[loc].offset,
- // prog->storage_table[loc].elements
- // );
+ printf(" Attach Storage size: %d [loc:%d] "
+ "dmul: %d cols: %d | rows: %d array elements: %d | off:%d | elements: %d |"
+ "components: %d\n",
+ size, loc, dmul, columns, rows, MAX2(storage->array_elements, 1),
+ prog->storage_table[loc].offset,
+ prog->storage_table[loc].elements,
+ storage->type->component_slots()
+ );
}
}