current_data = (ubyte *) setup->constants[i].current.user_buffer;
}
- if (current_data) {
+ if (current_data && current_size >= sizeof(float)) {
current_data += setup->constants[i].current.buffer_offset;
/* TODO: copy only the actually used constants? */
}
num_constants =
- DIV_ROUND_UP(setup->constants[i].stored_size, (sizeof(float) * 4));
+ DIV_ROUND_UP(setup->constants[i].stored_size, lp_get_constant_buffer_stride(scene->pipe->screen));
setup->fs.current.jit_context.num_constants[i] = num_constants;
setup->dirty |= LP_SETUP_NEW_FS;
}