## Name

bitfieldInsert — insert a range of bits into an integer

## Declaration

`genIType bitfieldInsert(` | genIType base,
| genIType insert,
| int offset,
| int bits`)`;

`genUType bitfieldInsert(` | genUType base,
| genUType insert,
| int offset,
| int bits`)`;

## Parameters

`base`

  Specifies the integer into which to insert `insert`.

`insert`

  Specifies the the value of the bits to insert.

`offset`

  Specifies the index of the first bit to insert.

`bits`

  Specifies the number of bits to insert.

## Description

`bitfieldInsert` inserts the `bits` least significant bits of `insert` into `base` at offset `offset`. The returned value will have bits [`offset`, `offset` + `bits` + 1] taken from [0, `bits` - 1] of `insert` and all other bits taken directly from the corresponding bits of `base`. If `bits` is zero, the result will simply be the original value of `base`. The result will be undefined if `offset` or `bits` is negative, or if the sum of `offset` and `bits` is greater than the number of bits used to store the operand.

## Version Support

| OpenGL Shading Language Version
--- | ---
Function Name | 1.10 | 1.20 | 1.30 | 1.40 | 1.50 | 3.30 | 4.00 | 4.10 | 4.20 | 4.30 | 4.40 | 4.50
bitfieldInsert | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

bitfieldExtract

## Copyright

Copyright © 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.