+ if (cb && cb->user_buffer) {
+ constants = softpipe_user_buffer_create(pipe->screen,
+ (void *) cb->user_buffer,
+ cb->buffer_size,
+ PIPE_BIND_CONSTANT_BUFFER);
+ }
+
+ size = cb ? cb->buffer_size : 0;
+ data = constants ? softpipe_resource_data(constants) : NULL;
+ if (data)
+ data = (const char *) data + cb->buffer_offset;
+