clover: Add kernel argument fields to allow differing host/target data types.

Loosely based on a similar patch by Tom Stellard.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
This commit is contained in:
Francisco Jerez 2013-07-21 00:49:54 +02:00
parent a3dcab43c6
commit 2265b40e37

View file

@ -68,11 +68,32 @@ namespace clover {
sampler
};
argument(enum type type, size_t size) : type(type), size(size) { }
argument() : type(scalar), size(0) { }
enum ext_type {
zero_ext,
sign_ext
};
argument(enum type type, size_t size,
size_t target_size, size_t target_align,
enum ext_type ext_type) :
type(type), size(size),
target_size(target_size), target_align(target_align),
ext_type(ext_type) { }
argument(enum type type, size_t size) :
type(type), size(size),
target_size(size), target_align(1),
ext_type(zero_ext) { }
argument() : type(scalar), size(0),
target_size(0), target_align(1),
ext_type(zero_ext) { }
type type;
size_t size;
size_t target_size;
size_t target_align;
ext_type ext_type;
};
struct symbol {