forked from external-repos/squoosh
Create my own memory
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "rotate",
|
"name": "rotate",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "mv rotate.{as,ts} && asc rotate.ts -b rotate.wasm --validate -O3 && mv rotate.{ts,as}"
|
"build": "mv rotate.{as,ts} && asc rotate.ts -b rotate.wasm --validate -O3 --importMemory && mv rotate.{ts,as}"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"assemblyscript": "github:AssemblyScript/assemblyscript"
|
"assemblyscript": "github:AssemblyScript/assemblyscript"
|
||||||
|
|||||||
Binary file not shown.
@@ -11,8 +11,12 @@ export async function rotate(
|
|||||||
const numPagesNeeded = Math.ceil(bytesPerImage * 2 / (64 * 1024));
|
const numPagesNeeded = Math.ceil(bytesPerImage * 2 / (64 * 1024));
|
||||||
const { instance } = (await (WebAssembly as any).instantiateStreaming(
|
const { instance } = (await (WebAssembly as any).instantiateStreaming(
|
||||||
fetch(wasmUrl),
|
fetch(wasmUrl),
|
||||||
|
{
|
||||||
|
env: {
|
||||||
|
memory: new WebAssembly.Memory({ initial: numPagesNeeded }),
|
||||||
|
},
|
||||||
|
},
|
||||||
)) as { instance: RotateModuleInstance };
|
)) as { instance: RotateModuleInstance };
|
||||||
instance.exports.memory.grow(numPagesNeeded);
|
|
||||||
|
|
||||||
const view = new Uint8ClampedArray(instance.exports.memory.buffer);
|
const view = new Uint8ClampedArray(instance.exports.memory.buffer);
|
||||||
view.set(data.data);
|
view.set(data.data);
|
||||||
|
|||||||
Reference in New Issue
Block a user