| 131 | }; |
| 132 | |
| 133 | static std::string generate_argument(const KernelArgInfo& kernel_arg) |
| 134 | { |
| 135 | std::string ret; |
| 136 | |
| 137 | const bool is_image = strstr(kernel_arg.arg_type, "image") |
| 138 | || strstr(kernel_arg.arg_type, "sampler"); |
| 139 | std::string address_qualifier = ""; |
| 140 | // Image Objects are always allocated from the global address space so the |
| 141 | // qualifier should not be specified |
| 142 | if (!is_image) |
| 143 | { |
| 144 | address_qualifier = get_address_qualifier(kernel_arg.address_qualifier); |
| 145 | } |
| 146 | |
| 147 | std::string access_qualifier = |
| 148 | get_access_qualifier(kernel_arg.access_qualifier); |
| 149 | std::string type_qualifier_prefix = |
| 150 | get_type_qualifier_prefix(kernel_arg.type_qualifier); |
| 151 | std::string type_qualifier_postfix = |
| 152 | get_type_qualifier_postfix(kernel_arg.type_qualifier); |
| 153 | |
| 154 | ret += address_qualifier + " "; |
| 155 | ret += access_qualifier + " "; |
| 156 | ret += type_qualifier_prefix + " "; |
| 157 | ret += kernel_arg.arg_type; |
| 158 | ret += " "; |
| 159 | ret += type_qualifier_postfix + " "; |
| 160 | ret += kernel_arg.arg_name; |
| 161 | return ret; |
| 162 | } |
| 163 | |
| 164 | /* This function generates a kernel source and allows for multiple arguments to |
| 165 | * be passed in and subsequently queried. */ |
no test coverage detected