authorgravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2023-03-31 17:30:09+02:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2023-03-31 17:30:09+02:00
log9cb2919d500520d280e09d0990809d538aa32b56
treee8a67b5f8325ebd6b0acf6f734daf9333455d281
parentab2c602f3493d76e1ad6872cb578115b45b7c6fe
parentb69578e19c85e65dbfdf92908416182abf2bede7
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #15127 from der-teufel-programming/autodoc_newbuiltins

autodoc: Add new builtins to Autodoc

2 files changed, 33 insertions(+), 1 deletions(-)

lib/docs/main.js+12
...@@ -1267,6 +1267,18 @@ const NAV_MODES = {...@@ -1267,6 +1267,18 @@ const NAV_MODES = {
1267 payloadHtml += "frameSize";1267 payloadHtml += "frameSize";
1268 break;1268 break;
1269 }1269 }
1270 case "work_item_id": {
1271 payloadHtml += "workItemId";
1272 break;
1273 }
1274 case "work_group_size": {
1275 payloadHtml += "workGroupSize";
1276 break;
1277 }
1278 case "work_group_id": {
1279 payloadHtml += "workGroupId";
1280 break;
1281 }
1270 case "ptr_to_int": {1282 case "ptr_to_int": {
1271 payloadHtml += "ptrToInt";1283 payloadHtml += "ptrToInt";
1272 break;1284 break;
src/Autodoc.zig+21-1
...@@ -2984,13 +2984,33 @@ fn walkInstruction(...@@ -2984,13 +2984,33 @@ fn walkInstruction(
2984 const param_index = self.exprs.items.len;2984 const param_index = self.exprs.items.len;
2985 try self.exprs.append(self.arena, param.expr);2985 try self.exprs.append(self.arena, param.expr);
29862986
2987 self.exprs.items[bin_index] = .{ .builtin = .{ .name = @tagName(tags[inst_index]), .param = param_index } };2987 self.exprs.items[bin_index] = .{ .builtin = .{ .name = @tagName(extended.opcode), .param = param_index } };
29882988
2989 return DocData.WalkResult{2989 return DocData.WalkResult{
2990 .typeRef = param.typeRef orelse .{ .type = @enumToInt(Ref.type_type) },2990 .typeRef = param.typeRef orelse .{ .type = @enumToInt(Ref.type_type) },
2991 .expr = .{ .builtinIndex = bin_index },2991 .expr = .{ .builtinIndex = bin_index },
2992 };2992 };
2993 },2993 },
2994 .work_item_id,
2995 .work_group_size,
2996 .work_group_id,
2997 => {
2998 const extra = file.zir.extraData(Zir.Inst.UnNode, extended.operand).data;
2999 const bin_index = self.exprs.items.len;
3000 try self.exprs.append(self.arena, .{ .builtin = .{ .param = 0 } });
3001 const param = try self.walkRef(file, parent_scope, parent_src, extra.operand, false);
3002
3003 const param_index = self.exprs.items.len;
3004 try self.exprs.append(self.arena, param.expr);
3005
3006 self.exprs.items[bin_index] = .{ .builtin = .{ .name = @tagName(extended.opcode), .param = param_index } };
3007
3008 return DocData.WalkResult{
3009 // from docs we know they return u32
3010 .typeRef = .{ .type = @enumToInt(Ref.u32_type) },
3011 .expr = .{ .builtinIndex = bin_index },
3012 };
3013 },
2994 .cmpxchg => {3014 .cmpxchg => {
2995 const extra = file.zir.extraData(Zir.Inst.Cmpxchg, extended.operand).data;3015 const extra = file.zir.extraData(Zir.Inst.Cmpxchg, extended.operand).data;
29963016