You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
261 lines
5.4 KiB
261 lines
5.4 KiB
export const GPUPrimitiveTopology = {
|
|
PointList: 'point-list',
|
|
LineList: 'line-list',
|
|
LineStrip: 'line-strip',
|
|
TriangleList: 'triangle-list',
|
|
TriangleStrip: 'triangle-strip',
|
|
};
|
|
|
|
export const GPUCompareFunction = {
|
|
Never: 'never',
|
|
Less: 'less',
|
|
Equal: 'equal',
|
|
LessEqual: 'less-equal',
|
|
Greater: 'greater',
|
|
NotEqual: 'not-equal',
|
|
GreaterEqual: 'greater-equal',
|
|
Always: 'always'
|
|
};
|
|
|
|
export const GPUStoreOp = {
|
|
Store: 'store',
|
|
Discard: 'discard'
|
|
};
|
|
|
|
export const GPULoadOp = {
|
|
Load: 'load',
|
|
Clear: 'clear'
|
|
};
|
|
|
|
export const GPUFrontFace = {
|
|
CCW: 'ccw',
|
|
CW: 'cw'
|
|
};
|
|
|
|
export const GPUCullMode = {
|
|
None: 'none',
|
|
Front: 'front',
|
|
Back: 'back'
|
|
};
|
|
|
|
export const GPUIndexFormat = {
|
|
Uint16: 'uint16',
|
|
Uint32: 'uint32'
|
|
};
|
|
|
|
export const GPUVertexFormat = {
|
|
Uint8x2: 'uint8x2',
|
|
Uint8x4: 'uint8x4',
|
|
Sint8x2: 'sint8x2',
|
|
Sint8x4: 'sint8x4',
|
|
Unorm8x2: 'unorm8x2',
|
|
Unorm8x4: 'unorm8x4',
|
|
Snorm8x2: 'snorm8x2',
|
|
Snorm8x4: 'snorm8x4',
|
|
Uint16x2: 'uint16x2',
|
|
Uint16x4: 'uint16x4',
|
|
Sint16x2: 'sint16x2',
|
|
Sint16x4: 'sint16x4',
|
|
Unorm16x2: 'unorm16x2',
|
|
Unorm16x4: 'unorm16x4',
|
|
Snorm16x2: 'snorm16x2',
|
|
Snorm16x4: 'snorm16x4',
|
|
Float16x2: 'float16x2',
|
|
Float16x4: 'float16x4',
|
|
Float32: 'float32',
|
|
Float32x2: 'float32x2',
|
|
Float32x3: 'float32x3',
|
|
Float32x4: 'float32x4',
|
|
Uint32: 'uint32',
|
|
Uint32x2: 'uint32x2',
|
|
Uint32x3: 'uint32x3',
|
|
Uint32x4: 'uint32x4',
|
|
Sint32: 'sint32',
|
|
Sint32x2: 'sint32x2',
|
|
Sint32x3: 'sint32x3',
|
|
Sint32x4: 'sint32x4'
|
|
};
|
|
|
|
export const GPUTextureFormat = {
|
|
|
|
// 8-bit formats
|
|
|
|
R8Unorm: 'r8unorm',
|
|
R8Snorm: 'r8snorm',
|
|
R8Uint: 'r8uint',
|
|
R8Sint: 'r8sint',
|
|
|
|
// 16-bit formats
|
|
|
|
R16Uint: 'r16uint',
|
|
R16Sint: 'r16sint',
|
|
R16Float: 'r16float',
|
|
RG8Unorm: 'rg8unorm',
|
|
RG8Snorm: 'rg8snorm',
|
|
RG8Uint: 'rg8uint',
|
|
RG8Sint: 'rg8sint',
|
|
|
|
// 32-bit formats
|
|
|
|
R32Uint: 'r32uint',
|
|
R32Sint: 'r32sint',
|
|
R32Float: 'r32float',
|
|
RG16Uint: 'rg16uint',
|
|
RG16Sint: 'rg16sint',
|
|
RG16Float: 'rg16float',
|
|
RGBA8Unorm: 'rgba8unorm',
|
|
RGBA8UnormSRGB: 'rgba8unorm-srgb',
|
|
RGBA8Snorm: 'rgba8snorm',
|
|
RGBA8Uint: 'rgba8uint',
|
|
RGBA8Sint: 'rgba8sint',
|
|
BGRA8Unorm: 'bgra8unorm',
|
|
BGRA8UnormSRGB: 'bgra8unorm-srgb',
|
|
// Packed 32-bit formats
|
|
RGB9E5UFloat: 'rgb9e5ufloat',
|
|
RGB10A2Unorm: 'rgb10a2unorm',
|
|
RG11B10uFloat: 'rgb10a2unorm',
|
|
|
|
// 64-bit formats
|
|
|
|
RG32Uint: 'rg32uint',
|
|
RG32Sint: 'rg32sint',
|
|
RG32Float: 'rg32float',
|
|
RGBA16Uint: 'rgba16uint',
|
|
RGBA16Sint: 'rgba16sint',
|
|
RGBA16Float: 'rgba16float',
|
|
|
|
// 128-bit formats
|
|
|
|
RGBA32Uint: 'rgba32uint',
|
|
RGBA32Sint: 'rgba32sint',
|
|
RGBA32Float: 'rgba32float',
|
|
|
|
// Depth and stencil formats
|
|
|
|
Stencil8: 'stencil8',
|
|
Depth16Unorm: 'depth16unorm',
|
|
Depth24Plus: 'depth24plus',
|
|
Depth24PlusStencil8: 'depth24plus-stencil8',
|
|
Depth32Float: 'depth32float',
|
|
|
|
// BC compressed formats usable if 'texture-compression-bc' is both
|
|
// supported by the device/user agent and enabled in requestDevice.
|
|
|
|
BC1RGBAUnorm: 'bc1-rgba-unorm',
|
|
BC1RGBAUnormSRGB: 'bc1-rgba-unorm-srgb',
|
|
BC2RGBAUnorm: 'bc2-rgba-unorm',
|
|
BC2RGBAUnormSRGB: 'bc2-rgba-unorm-srgb',
|
|
BC3RGBAUnorm: 'bc3-rgba-unorm',
|
|
BC3RGBAUnormSRGB: 'bc3-rgba-unorm-srgb',
|
|
BC4RUnorm: 'bc4-r-unorm',
|
|
BC4RSNorm: 'bc4-r-snorm',
|
|
BC5RGUnorm: 'bc5-rg-unorm',
|
|
BC5RGSnorm: 'bc5-rg-snorm',
|
|
BC6HRGBUFloat: 'bc6h-rgb-ufloat',
|
|
BC6HRGBFloat: 'bc6h-rgb-float',
|
|
BC7RGBAUnorm: 'bc7-rgba-unorm',
|
|
BC7RGBAUnormSRGB: 'bc7-rgba-srgb',
|
|
|
|
// 'depth24unorm-stencil8' extension
|
|
|
|
Depth24UnormStencil8: 'depth24unorm-stencil8',
|
|
|
|
// 'depth32float-stencil8' extension
|
|
|
|
Depth32FloatStencil8: 'depth32float-stencil8',
|
|
|
|
};
|
|
|
|
export const GPUAddressMode = {
|
|
ClampToEdge: 'clamp-to-edge',
|
|
Repeat: 'repeat',
|
|
MirrorRepeat: 'mirror-repeat'
|
|
};
|
|
|
|
export const GPUFilterMode = {
|
|
Linear: 'linear',
|
|
Nearest: 'nearest'
|
|
};
|
|
|
|
export const GPUBlendFactor = {
|
|
Zero: 'zero',
|
|
One: 'one',
|
|
SrcColor: 'src-color',
|
|
OneMinusSrcColor: 'one-minus-src-color',
|
|
SrcAlpha: 'src-alpha',
|
|
OneMinusSrcAlpha: 'one-minus-src-alpha',
|
|
DstColor: 'dst-color',
|
|
OneMinusDstColor: 'one-minus-dst-color',
|
|
DstAlpha: 'dst-alpha',
|
|
OneMinusDstAlpha: 'one-minus-dst-alpha',
|
|
SrcAlphaSaturated: 'src-alpha-saturated',
|
|
BlendColor: 'blend-color',
|
|
OneMinusBlendColor: 'one-minus-blend-color'
|
|
};
|
|
|
|
export const GPUBlendOperation = {
|
|
Add: 'add',
|
|
Subtract: 'subtract',
|
|
ReverseSubtract: 'reverse-subtract',
|
|
Min: 'min',
|
|
Max: 'max'
|
|
};
|
|
|
|
export const GPUColorWriteFlags = {
|
|
None: 0,
|
|
Red: 0x1,
|
|
Green: 0x2,
|
|
Blue: 0x4,
|
|
Alpha: 0x8,
|
|
All: 0xF
|
|
};
|
|
|
|
export const GPUStencilOperation = {
|
|
Keep: 'keep',
|
|
Zero: 'zero',
|
|
Replace: 'replace',
|
|
Invert: 'invert',
|
|
IncrementClamp: 'increment-clamp',
|
|
DecrementClamp: 'decrement-clamp',
|
|
IncrementWrap: 'increment-wrap',
|
|
DecrementWrap: 'decrement-wrap'
|
|
};
|
|
|
|
export const GPUBindingType = {
|
|
UniformBuffer: 'uniform-buffer',
|
|
StorageBuffer: 'storage-buffer',
|
|
ReadonlyStorageBuffer: 'readonly-storage-buffer',
|
|
Sampler: 'sampler',
|
|
ComparisonSampler: 'comparison-sampler',
|
|
SampledTexture: 'sampled-texture',
|
|
MultisampledTexture: 'multisampled-texture',
|
|
ReadonlyStorageTexture: 'readonly-storage-texture',
|
|
WriteonlyStorageTexture: 'writeonly-storage-texture'
|
|
};
|
|
|
|
export const GPUTextureDimension = {
|
|
OneD: '1d',
|
|
TwoD: '2d',
|
|
ThreeD: '3d'
|
|
};
|
|
|
|
export const GPUTextureViewDimension = {
|
|
OneD: '1d',
|
|
TwoD: '2d',
|
|
TwoDArray: '2d-array',
|
|
Cube: 'cube',
|
|
CubeArray: 'cube-array',
|
|
ThreeD: '3d'
|
|
};
|
|
|
|
export const GPUInputStepMode = {
|
|
Vertex: 'vertex',
|
|
Instance: 'instance'
|
|
};
|
|
|
|
export const GPUChunkSize = 16; // size of a chunk in bytes (STD140 layout)
|
|
|
|
// @TODO: Move to src/constants.js
|
|
|
|
export const BlendColorFactor = 211;
|
|
export const OneMinusBlendColorFactor = 212;
|
|
|