My shader program has several functions to put together. I need enqueue multiple times using different functions with different parameters. Same functions can be used with different parameters. This means that I need to create different "struct" and buffer objects for each enqueuing task and transfer value to GPU at initialization time. Note that for each enqueuing, parameter set is different but in subsequent operations parameters don't change. Am I correct? Thanks.