{"version":3,"file":"gpuUploadBufferImageResource.mjs","sources":["../../../../../../src/rendering/renderers/gpu/texture/uploaders/gpuUploadBufferImageResource.ts"],"sourcesContent":["import type { BufferImageSource } from '../../../shared/texture/sources/BufferImageSource';\nimport type { GPU } from '../../GpuDeviceSystem';\nimport type { GpuTextureUploader } from './GpuTextureUploader';\n\nexport const gpuUploadBufferImageResource = {\n\n    type: 'image',\n\n    upload(source: BufferImageSource, gpuTexture: GPUTexture, gpu: GPU)\n    {\n        const resource = source.resource;\n\n        const total = (source.pixelWidth | 0) * (source.pixelHeight | 0);\n\n        const bytesPerPixel = resource.byteLength / total;\n\n        gpu.device.queue.writeTexture(\n            { texture: gpuTexture },\n            resource,\n            {\n                offset: 0,\n                rowsPerImage: source.pixelHeight,\n                bytesPerRow: source.pixelHeight * bytesPerPixel,\n            },\n            {\n                width: source.pixelWidth,\n                height: source.pixelHeight,\n                depthOrArrayLayers: 1,\n            }\n        );\n    }\n} as GpuTextureUploader<BufferImageSource>;\n\n"],"names":[],"mappings":";AAIO,MAAM,4BAA+B,GAAA;AAAA,EAExC,IAAM,EAAA,OAAA;AAAA,EAEN,MAAA,CAAO,MAA2B,EAAA,UAAA,EAAwB,GAC1D,EAAA;AACI,IAAA,MAAM,WAAW,MAAO,CAAA,QAAA,CAAA;AAExB,IAAA,MAAM,KAAS,GAAA,CAAA,MAAA,CAAO,UAAa,GAAA,CAAA,KAAM,OAAO,WAAc,GAAA,CAAA,CAAA,CAAA;AAE9D,IAAM,MAAA,aAAA,GAAgB,SAAS,UAAa,GAAA,KAAA,CAAA;AAE5C,IAAA,GAAA,CAAI,OAAO,KAAM,CAAA,YAAA;AAAA,MACb,EAAE,SAAS,UAAW,EAAA;AAAA,MACtB,QAAA;AAAA,MACA;AAAA,QACI,MAAQ,EAAA,CAAA;AAAA,QACR,cAAc,MAAO,CAAA,WAAA;AAAA,QACrB,WAAA,EAAa,OAAO,WAAc,GAAA,aAAA;AAAA,OACtC;AAAA,MACA;AAAA,QACI,OAAO,MAAO,CAAA,UAAA;AAAA,QACd,QAAQ,MAAO,CAAA,WAAA;AAAA,QACf,kBAAoB,EAAA,CAAA;AAAA,OACxB;AAAA,KACJ,CAAA;AAAA,GACJ;AACJ;;;;"}