blob: b5045e18051e2cc9868f7fc53472d28e4c8e8fd0 [file]
/*
* Copyright 2024 Valve Corporation
* SPDX-License-Identifier: MIT
*/
#include "compiler/libcl/libcl.h"
KERNEL(32)
libagx_fill(global uint32_t *address, uint32_t value)
{
assert((((uintptr_t)address) & 0x3) == 0);
address[cl_global_id.x] = value;
}
KERNEL(32)
libagx_copy_uint4(global uint4 *dest, global uint4 *src)
{
assert((((uintptr_t)dest) & 0xf) == 0);
assert((((uintptr_t)src) & 0xf) == 0);
dest[cl_global_id.x] = src[cl_global_id.x];
}
KERNEL(16)
libagx_copy_uchar(global uint8_t *dest, global uint8_t *src)
{
dest[cl_global_id.x] = src[cl_global_id.x];
}
KERNEL(32)
libagx_fill_uint4(global uint4 *address, uint layer_stride_uint4, uint a,
uint b, uint c, uint d)
{
uint offs = cl_global_id.x + cl_global_id.y * layer_stride_uint4;
address[offs] = (uint4)(a, b, c, d);
}