@@ -359,20 +359,29 @@ class DeviceBinaryImage {
359
359
return Format;
360
360
}
361
361
362
- // / Gets the iterator range over scalar specialization constants in this this
362
+ // / Gets the iterator range over scalar specialization constants in this
363
363
// / binary image. For each property pointed to by an iterator within the
364
- // / range, the name of the property is the specializaion constant symbolic ID
364
+ // / range, the name of the property is the specialization constant symbolic ID
365
365
// / and the value is 32-bit unsigned integer ID.
366
366
const PropertyRange &getScalarSpecConstants () const {
367
367
return ScalarSpecConstIDMap;
368
368
}
369
369
// / Gets the iterator range over composite specialization constants in this
370
- // / this binary image. For each property pointed to by an iterator within the
371
- // / range, the name of the property is the specializaion constant symbolic ID
370
+ // / binary image. For each property pointed to by an iterator within the
371
+ // / range, the name of the property is the specialization constant symbolic ID
372
372
// / and the value is a list of tuples of 32-bit unsigned integer values, which
373
- // / encode scalar specialization constants, that form a composite one.
373
+ // / encode scalar specialization constants, that form the composite one.
374
374
// / Each tuple consist of ID of scalar specialization constant, its location
375
375
// / within a composite (offset in bytes from the beginning) and its size.
376
+ // / For example, for the following structure:
377
+ // / struct A { int a; float b; };
378
+ // / struct POD { A a[2]; int b; };
379
+ // / List of tuples will look like:
380
+ // / { ID0, 0, 4 }, // .a[0].a
381
+ // { ID1, 4, 4 }, // .a[0].b
382
+ // { ID2, 8, 4 }, // .a[1].a
383
+ // { ID3, 12, 4 }, // .a[1].b
384
+ // { ID4, 16, 4 }, // .b
376
385
const PropertyRange &getCompositeSpecConstants () const {
377
386
return CompositeSpecConstIDMap;
378
387
}
0 commit comments