diff options
-rw-r--r-- | src/gallium/state_trackers/clover/core/module.hpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/clover/core/module.hpp b/src/gallium/state_trackers/clover/core/module.hpp index 88dfc9f3fc9..e25524eb3dd 100644 --- a/src/gallium/state_trackers/clover/core/module.hpp +++ b/src/gallium/state_trackers/clover/core/module.hpp @@ -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 { |