Francisco Jerez <curroje...@riseup.net> writes: > Abdiel Janulgue <abdiel.janul...@linux.intel.com> writes: > >> Reserve space in the gather pool where the gathered uniforms are flushed. >> >> Signed-off-by: Abdiel Janulgue <abdiel.janul...@linux.intel.com> >> --- >> src/mesa/drivers/dri/i965/gen6_vs_state.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/src/mesa/drivers/dri/i965/gen6_vs_state.c >> b/src/mesa/drivers/dri/i965/gen6_vs_state.c >> index 6653a6d..b78166e 100644 >> --- a/src/mesa/drivers/dri/i965/gen6_vs_state.c >> +++ b/src/mesa/drivers/dri/i965/gen6_vs_state.c >> @@ -120,6 +120,14 @@ gen6_upload_push_constants(struct brw_context *brw, >> */ >> assert(stage_state->push_const_size <= 32); >> } >> + /* Allocate gather pool space for uniform and UBO entries in 512-bit >> chunks*/ > > Missing punctuation and space at the end of the comment. > >> + if (brw->gather_pool.bo != NULL) { >> + if (prog_data->nr_params > 0) { >> + int num_consts = ALIGN(prog_data->nr_params, 4) / 4; >> + stage_state->push_const_offset = brw->gather_pool.next_offset; >> + brw->gather_pool.next_offset += (ALIGN(num_consts, 4) / 4) * 64; >> + } > > This whole if-statement could be simplified to: > > | if (brw->gather_pool.bo != NULL) { > | stage_state->push_const_offset = brw->gather_pool.next_offset; > | brw->gather_pool.next_offset += DIV_ROUND_UP(prog_data->nr_params, 16);
* 64 of course. > | } > > And shouldn't this be doing something to make sure that there's enough > room left in the pool to hold all push constants of the shader in order > to avoid overflow? > >> + } >> } >> >> static void >> -- >> 1.9.1 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev