zink: handle COMPUTE glsl variables
we can just use existing helpers for these Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8781>
This commit is contained in:
committed by
Marge Bot
parent
2d65c7cc0a
commit
36cdcbe092
@@ -83,6 +83,9 @@ struct ntv_context {
|
||||
sample_mask_type, sample_id_var, sample_pos_var, sample_mask_in_var,
|
||||
tess_patch_vertices_in, tess_coord_var, // tess
|
||||
push_const_var,
|
||||
workgroup_id_var, num_workgroups_var,
|
||||
local_invocation_id_var, global_invocation_id_var,
|
||||
local_invocation_index_var,
|
||||
shared_block_var;
|
||||
};
|
||||
|
||||
@@ -2667,6 +2670,26 @@ emit_intrinsic(struct ntv_context *ctx, nir_intrinsic_instr *intr)
|
||||
emit_image_intrinsic(ctx, intr);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_load_work_group_id:
|
||||
emit_load_vec_input(ctx, intr, &ctx->workgroup_id_var, "gl_WorkGroupID", SpvBuiltInWorkgroupId, nir_type_uint);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_load_num_work_groups:
|
||||
emit_load_vec_input(ctx, intr, &ctx->num_workgroups_var, "gl_NumWorkGroups", SpvBuiltInNumWorkgroups, nir_type_uint);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_load_local_invocation_id:
|
||||
emit_load_vec_input(ctx, intr, &ctx->local_invocation_id_var, "gl_LocalInvocationID", SpvBuiltInLocalInvocationId, nir_type_uint);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_load_global_invocation_id:
|
||||
emit_load_vec_input(ctx, intr, &ctx->global_invocation_id_var, "gl_GlobalInvocationID", SpvBuiltInGlobalInvocationId, nir_type_uint);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_load_local_invocation_index:
|
||||
emit_load_uint_input(ctx, intr, &ctx->local_invocation_index_var, "gl_LocalInvocationIndex", SpvBuiltInLocalInvocationIndex);
|
||||
break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, "emit_intrinsic: not implemented (%s)\n",
|
||||
nir_intrinsic_infos[intr->intrinsic].name);
|
||||
|
||||
Reference in New Issue
Block a user