{"version":3,"file":"mapFormatToGlFormat.mjs","sources":["../../../../../../src/rendering/renderers/gl/texture/utils/mapFormatToGlFormat.ts"],"sourcesContent":["import type { GlRenderingContext } from '../../context/GlRenderingContext';\n\n/**\n * Returns a lookup table that maps each type-format pair to a compatible internal format.\n * @function mapTypeAndFormatToInternalFormat\n * @private\n * @param {WebGLRenderingContext} gl - The rendering context.\n * @returns Lookup table.\n */\nexport function mapFormatToGlFormat(gl: GlRenderingContext): Record<string, number>\n{\n    return {\n        // 8-bit formats\n        r8unorm: gl.RED,\n        r8snorm: gl.RED,\n        r8uint: gl.RED,\n        r8sint: gl.RED,\n\n        // 16-bit formats\n        r16uint: gl.RED,\n        r16sint:    gl.RED,\n        r16float: gl.RED,\n        rg8unorm:  gl.RG,\n        rg8snorm:   gl.RG,\n        rg8uint:  gl.RG,\n        rg8sint:  gl.RG,\n\n        // 32-bit formats\n        r32uint: gl.RED,\n        r32sint: gl.RED,\n        r32float: gl.RED,\n        rg16uint:   gl.RG,\n        rg16sint:  gl.RG,\n        rg16float:  gl.RG,\n        rgba8unorm: gl.RGBA,\n        'rgba8unorm-srgb': gl.RGBA,\n\n        // Packed 32-bit formats\n        rgba8snorm: gl.RGBA,\n        rgba8uint: gl.RGBA,\n        rgba8sint: gl.RGBA,\n        bgra8unorm: gl.RGBA,\n        'bgra8unorm-srgb': gl.RGBA,\n        rgb9e5ufloat: gl.RGB,\n        rgb10a2unorm: gl.RGBA,\n        rg11b10ufloat: gl.RGB,\n\n        // 64-bit formats\n        rg32uint: gl.RG,\n        rg32sint: gl.RG,\n        rg32float:  gl.RG,\n        rgba16uint: gl.RGBA,\n        rgba16sint: gl.RGBA,\n        rgba16float: gl.RGBA,\n\n        // 128-bit formats\n        rgba32uint: gl.RGBA,\n        rgba32sint: gl.RGBA,\n        rgba32float: gl.RGBA,\n\n        // Depth/stencil formats\n        stencil8: gl.STENCIL_INDEX8,\n        depth16unorm: gl.DEPTH_COMPONENT,\n        depth24plus: gl.DEPTH_COMPONENT,\n        'depth24plus-stencil8': gl.DEPTH_STENCIL,\n        depth32float: gl.DEPTH_COMPONENT,\n        'depth32float-stencil8': gl.DEPTH_STENCIL,\n\n    };\n}\n"],"names":[],"mappings":";AASO,SAAS,oBAAoB,EACpC,EAAA;AACI,EAAO,OAAA;AAAA;AAAA,IAEH,SAAS,EAAG,CAAA,GAAA;AAAA,IACZ,SAAS,EAAG,CAAA,GAAA;AAAA,IACZ,QAAQ,EAAG,CAAA,GAAA;AAAA,IACX,QAAQ,EAAG,CAAA,GAAA;AAAA;AAAA,IAGX,SAAS,EAAG,CAAA,GAAA;AAAA,IACZ,SAAY,EAAG,CAAA,GAAA;AAAA,IACf,UAAU,EAAG,CAAA,GAAA;AAAA,IACb,UAAW,EAAG,CAAA,EAAA;AAAA,IACd,UAAY,EAAG,CAAA,EAAA;AAAA,IACf,SAAU,EAAG,CAAA,EAAA;AAAA,IACb,SAAU,EAAG,CAAA,EAAA;AAAA;AAAA,IAGb,SAAS,EAAG,CAAA,GAAA;AAAA,IACZ,SAAS,EAAG,CAAA,GAAA;AAAA,IACZ,UAAU,EAAG,CAAA,GAAA;AAAA,IACb,UAAY,EAAG,CAAA,EAAA;AAAA,IACf,UAAW,EAAG,CAAA,EAAA;AAAA,IACd,WAAY,EAAG,CAAA,EAAA;AAAA,IACf,YAAY,EAAG,CAAA,IAAA;AAAA,IACf,mBAAmB,EAAG,CAAA,IAAA;AAAA;AAAA,IAGtB,YAAY,EAAG,CAAA,IAAA;AAAA,IACf,WAAW,EAAG,CAAA,IAAA;AAAA,IACd,WAAW,EAAG,CAAA,IAAA;AAAA,IACd,YAAY,EAAG,CAAA,IAAA;AAAA,IACf,mBAAmB,EAAG,CAAA,IAAA;AAAA,IACtB,cAAc,EAAG,CAAA,GAAA;AAAA,IACjB,cAAc,EAAG,CAAA,IAAA;AAAA,IACjB,eAAe,EAAG,CAAA,GAAA;AAAA;AAAA,IAGlB,UAAU,EAAG,CAAA,EAAA;AAAA,IACb,UAAU,EAAG,CAAA,EAAA;AAAA,IACb,WAAY,EAAG,CAAA,EAAA;AAAA,IACf,YAAY,EAAG,CAAA,IAAA;AAAA,IACf,YAAY,EAAG,CAAA,IAAA;AAAA,IACf,aAAa,EAAG,CAAA,IAAA;AAAA;AAAA,IAGhB,YAAY,EAAG,CAAA,IAAA;AAAA,IACf,YAAY,EAAG,CAAA,IAAA;AAAA,IACf,aAAa,EAAG,CAAA,IAAA;AAAA;AAAA,IAGhB,UAAU,EAAG,CAAA,cAAA;AAAA,IACb,cAAc,EAAG,CAAA,eAAA;AAAA,IACjB,aAAa,EAAG,CAAA,eAAA;AAAA,IAChB,wBAAwB,EAAG,CAAA,aAAA;AAAA,IAC3B,cAAc,EAAG,CAAA,eAAA;AAAA,IACjB,yBAAyB,EAAG,CAAA,aAAA;AAAA,GAEhC,CAAA;AACJ;;;;"}