Lines Matching refs:info

62 validate_DispatchCompute(struct gl_context *ctx, struct pipe_grid_info *info)
86 if (info->grid[i] > ctx->Const.MaxComputeWorkGroupCount[i]) {
99 if (prog->info.workgroup_size_variable) {
110 struct pipe_grid_info *info)
122 if (!prog->info.workgroup_size_variable) {
136 if (info->grid[i] > ctx->Const.MaxComputeWorkGroupCount[i]) {
154 if (info->block[i] == 0 ||
155 info->block[i] > ctx->Const.MaxComputeVariableGroupSize[i]) {
170 uint64_t total_invocations = info->block[0] * info->block[1];
175 total_invocations *= info->block[2];
182 info->block[0], info->block[1], info->block[2],
200 if (prog->info.cs.derivative_group == DERIVATIVE_GROUP_QUADS &&
201 ((info->block[0] & 1) || (info->block[1] & 1))) {
205 "divisble by 2)", info->block[0], info->block[1]);
209 if (prog->info.cs.derivative_group == DERIVATIVE_GROUP_LINEAR &&
278 if (prog->info.workgroup_size_variable) {
310 struct pipe_grid_info info = { 0 };
318 info.grid[0] = num_groups_x;
319 info.grid[1] = num_groups_y;
320 info.grid[2] = num_groups_z;
322 if (!no_error && !validate_DispatchCompute(ctx, &info))
330 info.block[0] = prog->info.workgroup_size[0];
331 info.block[1] = prog->info.workgroup_size[1];
332 info.block[2] = prog->info.workgroup_size[2];
335 ctx->pipe->launch_grid(ctx->pipe, &info);
369 struct pipe_grid_info info = { 0 };
370 info.indirect_offset = indirect;
371 info.indirect = ctx->DispatchIndirectBuffer->buffer;
375 info.block[0] = prog->info.workgroup_size[0];
376 info.block[1] = prog->info.workgroup_size[1];
377 info.block[2] = prog->info.workgroup_size[2];
380 ctx->pipe->launch_grid(ctx->pipe, &info);
413 struct pipe_grid_info info = { 0 };
414 info.grid[0] = num_groups_x;
415 info.grid[1] = num_groups_y;
416 info.grid[2] = num_groups_z;
418 info.block[0] = group_size_x;
419 info.block[1] = group_size_y;
420 info.block[2] = group_size_z;
423 !validate_DispatchComputeGroupSizeARB(ctx, &info))
430 ctx->pipe->launch_grid(ctx->pipe, &info);