{"version":3,"file":"uniformSyncFunctions.mjs","sources":["../../../src/unsafe-eval/uniforms/uniformSyncFunctions.ts"],"sourcesContent":["/**\n * This file is auto generated by scripts/utils/autoGenerateUnsafeEvalFunctions.ts\n * Do not edit manually - or you will be sad.\n */\n\nimport type { UNIFORM_TYPES } from '../../rendering/renderers/shared/shader/types';\n\n/** @internal */\nexport type UniformUploadFunction = (name: string, cu: any, cv: any, v: any, ud: any, uv: any, gl: any) => void;\n\n/** @internal */\nexport const uniformSingleParserFunctions: Record<UNIFORM_TYPES | string, UniformUploadFunction> = {\n    f32(name: string, cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv !== v)\n        {\n            cu.value = v;\n            gl.uniform1f(ud[name].location, v);\n        }\n    },\n    'vec2<f32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            gl.uniform2f(ud[name].location, v[0], v[1]);\n        }\n    },\n    'vec3<f32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            cv[2] = v[2];\n            gl.uniform3f(ud[name].location, v[0], v[1], v[2]);\n        }\n    },\n    'vec4<f32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            cv[2] = v[2];\n            cv[3] = v[3];\n            gl.uniform4f(ud[name].location, v[0], v[1], v[2], v[3]);\n        }\n    },\n    i32(name: string, cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv !== v)\n        {\n            cu.value = v;\n            gl.uniform1i(ud[name].location, v);\n        }\n    },\n    'vec2<i32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            gl.uniform2i(ud[name].location, v[0], v[1]);\n        }\n    },\n    'vec3<i32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            cv[2] = v[2];\n            gl.uniform3i(ud[name].location, v[0], v[1], v[2]);\n        }\n    },\n    'vec4<i32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            cv[2] = v[2];\n            cv[3] = v[3];\n            gl.uniform4i(ud[name].location, v[0], v[1], v[2], v[3]);\n        }\n    },\n    u32(name: string, cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv !== v)\n        {\n            cu.value = v;\n            gl.uniform1ui(ud[name].location, v);\n        }\n    },\n    'vec2<u32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            gl.uniform2ui(ud[name].location, v[0], v[1]);\n        }\n    },\n    'vec3<u32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            cv[2] = v[2];\n            gl.uniform3ui(ud[name].location, v[0], v[1], v[2]);\n        }\n    },\n    'vec4<u32>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            cv[2] = v[2];\n            cv[3] = v[3];\n            gl.uniform4ui(ud[name].location, v[0], v[1], v[2], v[3]);\n        }\n    },\n    bool(name: string, cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv !== v)\n        {\n            cu.value = v;\n            gl.uniform1i(ud[name].location, v);\n        }\n    },\n    'vec2<bool>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            gl.uniform2i(ud[name].location, v[0], v[1]);\n        }\n    },\n    'vec3<bool>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            cv[2] = v[2];\n            gl.uniform3i(ud[name].location, v[0], v[1], v[2]);\n        }\n    },\n    'vec4<bool>'(name: string, _cu: any, cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])\n        {\n            cv[0] = v[0];\n            cv[1] = v[1];\n            cv[2] = v[2];\n            cv[3] = v[3];\n            gl.uniform4i(ud[name].location, v[0], v[1], v[2], v[3]);\n        }\n    },\n    'mat2x2<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniformMatrix2fv(ud[name].location, false, v);\n    },\n    'mat3x3<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniformMatrix3fv(ud[name].location, false, v);\n    },\n    'mat4x4<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniformMatrix4fv(ud[name].location, false, v);\n    },\n};\n\n/** @internal */\nexport const uniformArrayParserFunctions: Record<UNIFORM_TYPES | string, UniformUploadFunction> = {\n    f32(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform1fv(ud[name].location, v);\n    },\n    'vec2<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform2fv(ud[name].location, v);\n    },\n    'vec3<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform3fv(ud[name].location, v);\n    },\n    'vec4<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform4fv(ud[name].location, v);\n    },\n    'mat2x2<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniformMatrix2fv(ud[name].location, false, v);\n    },\n    'mat3x3<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniformMatrix3fv(ud[name].location, false, v);\n    },\n    'mat4x4<f32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniformMatrix4fv(ud[name].location, false, v);\n    },\n    i32(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform1iv(ud[name].location, v);\n    },\n    'vec2<i32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform2iv(ud[name].location, v);\n    },\n    'vec3<i32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform3iv(ud[name].location, v);\n    },\n    'vec4<i32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform4iv(ud[name].location, v);\n    },\n    u32(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform1iv(ud[name].location, v);\n    },\n    'vec2<u32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform2iv(ud[name].location, v);\n    },\n    'vec3<u32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform3iv(ud[name].location, v);\n    },\n    'vec4<u32>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform4iv(ud[name].location, v);\n    },\n    bool(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform1iv(ud[name].location, v);\n    },\n    'vec2<bool>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform2iv(ud[name].location, v);\n    },\n    'vec3<bool>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform3iv(ud[name].location, v);\n    },\n    'vec4<bool>'(name: string, _cu: any, _cv: any, v: any, ud: any, _uv: any, gl: any): void\n    {\n        gl.uniform4iv(ud[name].location, v);\n    },\n};\n\n// eslint-disable-next-line jsdoc/require-param\n/** @internal */\nexport const uniformParserFunctions: UniformUploadFunction[] = [\n    (name: string, _cu: any, _cv: any, _v: any, ud: any, uv: any, gl: any): void =>\n    {\n        gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true));\n    },\n    (name: string, _cu: any, cv: any, v: any, ud: any, uv: any, gl: any): void =>\n    {\n        cv = ud[name].value;\n        v = uv[name];\n        if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height)\n        {\n            cv[0] = v.x;\n            cv[1] = v.y;\n            cv[2] = v.width;\n            cv[3] = v.height;\n            gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height);\n        }\n    },\n    (name: string, _cu: any, cv: any, v: any, ud: any, uv: any, gl: any): void =>\n    {\n        cv = ud[name].value;\n        v = uv[name];\n        if (cv[0] !== v.x || cv[1] !== v.y)\n        {\n            cv[0] = v.x;\n            cv[1] = v.y;\n            gl.uniform2f(ud[name].location, v.x, v.y);\n        }\n    },\n    (name: string, _cu: any, cv: any, v: any, ud: any, uv: any, gl: any): void =>\n    {\n        cv = ud[name].value;\n        v = uv[name];\n        if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha)\n        {\n            cv[0] = v.red;\n            cv[1] = v.green;\n            cv[2] = v.blue;\n            cv[3] = v.alpha;\n            gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha);\n        }\n    },\n    (name: string, _cu: any, cv: any, v: any, ud: any, uv: any, gl: any): void =>\n    {\n        cv = ud[name].value;\n        v = uv[name];\n        if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue)\n        {\n            cv[0] = v.red;\n            cv[1] = v.green;\n            cv[2] = v.blue;\n            gl.uniform3f(ud[name].location, v.red, v.green, v.blue);\n        }\n    },\n];\n"],"names":[],"mappings":"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"}