@awayjs/stage
Version:
Stage for AwayJS
115 lines (114 loc) • 3.83 kB
JavaScript
import { ConfigManager } from '@awayjs/core';
export var Settings = ConfigManager.instance.addStore('stage', {
/**
* @description Prefered WEBGL version, can be used for tracking degradation
* @default 2
*/
PREF_WEBGL_VERSION: 2,
/**
* @description Use 300 es shaders for AGAL output in webgl2 mode
*/
USE_300_SHADERS_FOR_WEBGL2: true,
/**
* @description Allow MSAA RenderTarget in Webgl2 mode
* @default true
*/
ENABLE_MULTISAMPLE_TEXTURE: true,
/**
* @description Allow use Antialiasing on main (canvas) buffer
* @default true
*/
ENABLE_ANTIALIAS: true,
/**
* @description Enable weak reference for track when adatpee is remove by GC
* and trigering a dispose
*/
ENABLE_WEAK_REF: true,
/**
* @description Insert Context Lost check command after commands that can potentially drop context
*/
PROFILE_CONTEXT_LOST: false,
/**
* @description Enable UnloadManager for unloading unused BitmapImage
*/
ENABLE_UNLOAD_BITMAP: true,
/**
* @description How many task can be unloaded per run
*/
MAX_BITMAP_UNLOAD_TASKS: 10,
/**
* @description How many task can be unloaded per run when fence is supported.
* @see ENABLE_ASYNC_READ
*/
MAX_BITMAP_UNLOAD_TASKS_ASYNC: 50,
/**
* @description Enable UnloadManager for unloading unused Textures from pool
* @see ENABLE_TEXTURE_POOLING
*/
ENABLE_UNLOAD_TEXTURE: true,
/**
* @description Enable texture pooling to prevent a recreation
*/
ENABLE_TEXTURE_POOLING: false,
/**
* @description Enable UnloadManager for unloading unused buffers from pool
* @see ENABLE_BUFFER_POOLING
*/
ENABLE_UNLOAD_BUFFER: true,
/**
* @description Max pool size
*/
MAX_BUFFER_POOL_SIZE: 300,
/**
* @description Max allive time of buffer that stored in pool
*/
MAX_BUFFER_ALIVE_TIME: 5000,
/**
* @description Enable buffer pooling to prevent a recreation
* Bug! Chrome 95+ crashing
* @see https://bugs.chromium.org/p/chromium/issues/detail?id=1272238&q=webgl&can=1
*/
ENABLE_BUFFER_POOLING: false,
/**
* @description Allow use VAO if supported
*/
ENABLE_VAO: true,
/**
* @description Allow cache a uniforms
*/
ENABLE_UNIFORM_CACHE: false,
/**
* @description Allow async read from texture when unload it from GPU,
* used a fenceSync on WebGL2
* @see ENABLE_UNLOAD_BITMAP
*/
ENABLE_ASYNC_READ: true,
/**
* @description Allow parsing via createImageBitmap on supported platforms
*/
ENABLE_PARSER_NATIVE_BITMAP: true,
/**
* @description Use sampler index as index of SAMPLER2D location instead of name.
* This means that in shader with SAMPLER2D uniforms `uTex, uTex1` will be like `fs0, fs1`
* This required for bound texture by id instead of uniform name on AGAL pipeline
*/
UNSAFE_USE_AUTOINDEXED_SAMPLER: true,
/**
* @description Use attribut index as index of any attribute location instead of name.
* This means that in shader with atrtributes `aPos, aUV` will be like `va0, va1`
* This required for bound attrs by index instead of name on AGAL pipeline
*/
UNSAFE_USE_AUTOINDEXED_ATTRIBUTES: true,
/**
* @description use shader implemented blendModes in copyPixel filter pass
* when blend mode not supported in regular GL operation
* Has problems in some games
*/
UNSAFE_USE_SHADER_COMPOSER: true,
/**
* @description Enable use of blendmodes that cannot be achived natively in WebGL,
* such as Overlay, Hardlight, Invert etc
*/
USE_NON_NATIVE_BLEND: false,
});
// console.debug('[Stage settings]', Settings);