From 06139c56fa070f84a931a4ddbdb894c9e8d24f55 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Wed, 8 Oct 2014 17:32:18 +0300 Subject: [PATCH] clover: Add semantic information to module::argument for implicit parameter passing. Reviewed-by: Jan Vesely --- .../state_trackers/clover/core/module.hpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/gallium/state_trackers/clover/core/module.hpp b/src/gallium/state_trackers/clover/core/module.hpp index 18a5bfb24c3..ee6caf9690c 100644 --- a/src/gallium/state_trackers/clover/core/module.hpp +++ b/src/gallium/state_trackers/clover/core/module.hpp @@ -68,27 +68,35 @@ namespace clover { sign_ext }; + enum semantic { + general, + grid_dimension, + grid_offset + }; + argument(enum type type, size_t size, size_t target_size, size_t target_align, - enum ext_type ext_type) : + enum ext_type ext_type, + enum semantic semantic = general) : type(type), size(size), target_size(target_size), target_align(target_align), - ext_type(ext_type) { } + ext_type(ext_type), semantic(semantic) { } argument(enum type type, size_t size) : type(type), size(size), target_size(size), target_align(1), - ext_type(zero_ext) { } + ext_type(zero_ext), semantic(general) { } argument() : type(scalar), size(0), target_size(0), target_align(1), - ext_type(zero_ext) { } + ext_type(zero_ext), semantic(general) { } type type; size_t size; size_t target_size; size_t target_align; ext_type ext_type; + semantic semantic; }; struct symbol { -- 2.30.2