aboutsummaryrefslogtreecommitdiff
path: root/vendor/gioui.org/shader/piet/support.c
blob: 1b7dd4299cce4f71ba6a893f3d1d0c38f147ef74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// SPDX-License-Identifier: Unlicense OR MIT

//go:build linux && (arm64 || arm || amd64)
// +build linux
// +build arm64 arm amd64

#include <stdint.h>
#include <stdlib.h>
#include <assert.h>
#include "abi.h"
#include "runtime.h"

static void *malloc_align(size_t alignment, size_t size) {
	void *ptr;
	int ret = posix_memalign(&ptr, alignment, size);
	assert(ret == 0);
	return ptr;
}

ATTR_HIDDEN void *coroutine_alloc_frame(size_t size) {
	void *ptr = malloc_align(16, size);
	return ptr;
}

ATTR_HIDDEN void coroutine_free_frame(void *ptr) {
	free(ptr);
}