diff --git a/files/en-us/web/api/gpudevice/createbuffer/index.md b/files/en-us/web/api/gpudevice/createbuffer/index.md index 84b832034a89b97..b3d0449b6b8f32e 100644 --- a/files/en-us/web/api/gpudevice/createbuffer/index.md +++ b/files/en-us/web/api/gpudevice/createbuffer/index.md @@ -29,7 +29,7 @@ createBuffer(descriptor) Note that it is valid to set `mappedAtCreation: true` so you can set the buffer's initial data, even if the `GPUBufferUsage.MAP_READ` or `GPUBufferUsage.MAP_WRITE` usage flags are not set. - `size` - - : A number representing the size of the buffer, in bytes. + - : A number representing the size of the buffer, in bytes. If `mappedAtCreation` is set to `true`, this must be a multiple of `4`. - `usage` - : The {{glossary("Bitwise flags", "bitwise flags")}} representing the allowed usages for the `GPUBuffer`. The possible values are in the [`GPUBuffer.usage` value table](/en-US/docs/Web/API/GPUBuffer/usage#value). @@ -39,6 +39,11 @@ createBuffer(descriptor) A {{domxref("GPUBuffer")}} object instance. +### Exceptions + +- `RangeError` {{domxref("DOMException")}} + - : Thrown if `mappedAtCreation` is set to `true`, and the specified `size` is not a multiple of `4`. + ### Validation The following criteria must be met when calling **`createBuffer()`**, otherwise a {{domxref("GPUValidationError")}} is generated and an invalid {{domxref("GPUBuffer")}} object is returned: @@ -46,7 +51,6 @@ The following criteria must be met when calling **`createBuffer()`**, otherwise - A valid `usage` is specified. - `GPUBufferUsage.MAP_READ` is specified, and no additional flags are specified other than `GPUBufferUsage.COPY_DST`. - `GPUBufferUsage.MAP_WRITE` is specified, and no additional flags are specified other than `GPUBufferUsage.COPY_SRC`. -- `mappedAtCreation: true` is specified, and the specified `size` is a multiple of 4. > [!NOTE] > If the buffer allocation fails without any specific side-effects, a {{domxref("GPUOutOfMemoryError")}} object is generated.