summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2014-10-08 17:32:18 +0300
committerFrancisco Jerez <[email protected]>2014-10-12 01:39:21 +0300
commit06139c56fa070f84a931a4ddbdb894c9e8d24f55 (patch)
tree8c06a6d9e08f68758c65128cb5b944aa2ce4d766 /src/gallium
parent27c51b5f5864cdb69f587ff4b2ede1f69db57849 (diff)
clover: Add semantic information to module::argument for implicit parameter passing.
Reviewed-by: Jan Vesely <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/state_trackers/clover/core/module.hpp16
1 files 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 {