diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2015-12-23 11:24:23 -0800 |
---|---|---|
committer | Jason Ekstrand <jason.ekstrand@intel.com> | 2015-12-23 13:49:56 -0800 |
commit | 72ceb99bab592e1ce01bc7855c45bfe58a188b6f (patch) | |
tree | 09b9dd36cbb85d72d2f3db3a1259b24d1c9955b9 /src | |
parent | 5644b1ceced8bb2a31880482e039c0179e555080 (diff) | |
download | external_mesa3d-72ceb99bab592e1ce01bc7855c45bfe58a188b6f.zip external_mesa3d-72ceb99bab592e1ce01bc7855c45bfe58a188b6f.tar.gz external_mesa3d-72ceb99bab592e1ce01bc7855c45bfe58a188b6f.tar.bz2 |
anv: Mask out invalid stages in foreach_stage
Diffstat (limited to 'src')
-rw-r--r-- | src/vulkan/anv_private.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vulkan/anv_private.h b/src/vulkan/anv_private.h index b632f6e..6bd1895 100644 --- a/src/vulkan/anv_private.h +++ b/src/vulkan/anv_private.h @@ -1235,8 +1235,11 @@ mesa_to_vk_shader_stage(gl_shader_stage mesa_stage) return (1 << mesa_stage); } +#define ANV_STAGE_MASK ((1 << MESA_SHADER_STAGES) - 1) + #define anv_foreach_stage(stage, stage_bits) \ - for (gl_shader_stage stage, __tmp = (gl_shader_stage)(stage_bits);\ + for (gl_shader_stage stage, \ + __tmp = (gl_shader_stage)((stage_bits) & ANV_STAGE_MASK); \ stage = __builtin_ffs(__tmp) - 1, __tmp; \ __tmp &= ~(1 << (stage))) |