Enumeration BufferWriteType

These values represent a hint to the driver when writing to a GPU buffer.

Constructors

  • Parameters

    • do_not_: undefined
    • construct_: undefined
    • this_: undefined
    • type_: undefined

    Returns BufferWriteType

Values

Discard: EnumValue<BufferWriteType, number>

Tells the driver to completely discard the contents of the buffer you are writing to. The driver will (most likely) internally allocate another buffer with same specifications (which is fairly fast) and you will avoid CPU-GPU stalls.

ForceImmediate: EnumValue<BufferWriteType, number>

Forces an immediate write without falling back to queued writes when the buffer is in use. The user has to guarantee to the API that no part of the buffer that is updated that is used. This will also avoid CPU-GPU stalls, without requiring you to discard the entire buffer. However it is hard to guarantee when GPU has finished using a buffer.

Normal: EnumValue<BufferWriteType, number>

Default flag with least restrictions. Can cause a CPU-GPU sync point so avoid using it often (every frame) as that might limit your performance significantly.

Methods

  • Takes an array of enum values and combines them as a single enum flag value. This assumes that the target enum is a flag enum that can have their values combined using bitwise operators.

    Type Parameters

    Parameters

    Returns EnumValueTyped<T, number>

    The combined enum value.

  • Type Parameters

    • T

    Parameters

    Returns string

    Compatibility

  • Returns string[]

    Compatibility

  • Parameters

    • index: number

    Returns number

    Compatibility

  • Returns number[]

    Compatibility

  • Gets the name for the enumeration value that matches the specified enumValue.

    Type Parameters

    • T

    Parameters

    Returns string

    The enumeration value or undefined if not found.

  • Gets the enumeration names

    Returns string[]

    The enumeration names.

  • Gets the enumeration value at the specified index.

    Type Parameters

    • T = number

    Parameters

    • index: number

      The index.

    Returns EnumValueTyped<T, number>

    The enumeration value or undefined if not found.

  • Determines if the enum value has the flags set.

    Type Parameters

    Parameters

    Returns boolean

  • Determines if the enum bits were changed from previousValue to currentValue.

    Type Parameters

    Parameters

    Returns boolean

  • Iterates the enumeration names

    Returns Generator<string, any, any>

    The enumeration names.

  • Iterates the enumeration values

    Type Parameters

    • T = any

    Returns Generator<EnumValueTyped<T, number>, any, any>

    The enumeration values.

  • Takes a single enum value and splits it into separated flag values set on the value. This assumes that the target enum is a flag enum that can have their values combined using bitwise operators.

    Type Parameters

    Parameters

    • value: number | BrandedType<number, "enum"> | BrandedType<T, "enum">

      The enum value to have it's value split using bitwise-and operator.

    Returns EnumValueTyped<T, number>[]

    An array of each "bit flag" set in the enum.