Mesa (master): clover: Use switch when creating kernel arguments.
Francisco Jerez
currojerez at kemper.freedesktop.org
Wed Dec 10 13:56:24 UTC 2014
Module: Mesa
Branch: master
Commit: 3a18fc60581ad27811b0b4b22fce51da0ae8a008
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a18fc60581ad27811b0b4b22fce51da0ae8a008
Author: Jan Vesely <jan.vesely at rutgers.edu>
Date: Fri Dec 5 19:05:30 2014 -0500
clover: Use switch when creating kernel arguments.
This way we get a warning if an enum value is not handled.
v2: codestyle
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
---
src/gallium/state_trackers/clover/core/kernel.cpp | 44 +++++++++------------
1 file changed, 19 insertions(+), 25 deletions(-)
diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp b/src/gallium/state_trackers/clover/core/kernel.cpp
index e07d14d..442762c 100644
--- a/src/gallium/state_trackers/clover/core/kernel.cpp
+++ b/src/gallium/state_trackers/clover/core/kernel.cpp
@@ -293,38 +293,32 @@ namespace {
std::unique_ptr<kernel::argument>
kernel::argument::create(const module::argument &marg) {
- if (marg.type == module::argument::scalar)
- return std::unique_ptr<kernel::argument>(
- new scalar_argument(marg.size));
+ switch (marg.type) {
+ case module::argument::scalar:
+ return std::unique_ptr<kernel::argument>(new scalar_argument(marg.size));
- else if (marg.type == module::argument::global)
- return std::unique_ptr<kernel::argument>(
- new global_argument);
+ case module::argument::global:
+ return std::unique_ptr<kernel::argument>(new global_argument);
- else if (marg.type == module::argument::local)
- return std::unique_ptr<kernel::argument>(
- new local_argument);
+ case module::argument::local:
+ return std::unique_ptr<kernel::argument>(new local_argument);
- else if (marg.type == module::argument::constant)
- return std::unique_ptr<kernel::argument>(
- new constant_argument);
+ case module::argument::constant:
+ return std::unique_ptr<kernel::argument>(new constant_argument);
- else if (marg.type == module::argument::image2d_rd ||
- marg.type == module::argument::image3d_rd)
- return std::unique_ptr<kernel::argument>(
- new image_rd_argument);
+ case module::argument::image2d_rd:
+ case module::argument::image3d_rd:
+ return std::unique_ptr<kernel::argument>(new image_rd_argument);
- else if (marg.type == module::argument::image2d_wr ||
- marg.type == module::argument::image3d_wr)
- return std::unique_ptr<kernel::argument>(
- new image_wr_argument);
+ case module::argument::image2d_wr:
+ case module::argument::image3d_wr:
+ return std::unique_ptr<kernel::argument>(new image_wr_argument);
- else if (marg.type == module::argument::sampler)
- return std::unique_ptr<kernel::argument>(
- new sampler_argument);
+ case module::argument::sampler:
+ return std::unique_ptr<kernel::argument>(new sampler_argument);
- else
- throw error(CL_INVALID_KERNEL_DEFINITION);
+ }
+ throw error(CL_INVALID_KERNEL_DEFINITION);
}
kernel::argument::argument() : _set(false) {
More information about the mesa-commit
mailing list