diff options
author | Jason Ekstrand <[email protected]> | 2015-06-10 12:43:02 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-06-10 12:43:02 -0700 |
commit | 047ed02723071d7eccbed3210b5be6ae73603a53 (patch) | |
tree | 3047c27496baf81ab11a113a59e74d4ad368aad6 /src/vulkan/gen8_pack.h | |
parent | 9cae3d18ac44677fb1c1a4d9c01a1630e62fcb7a (diff) |
vk/emit: Use valgrind to validate every packed field
Diffstat (limited to 'src/vulkan/gen8_pack.h')
-rw-r--r-- | src/vulkan/gen8_pack.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vulkan/gen8_pack.h b/src/vulkan/gen8_pack.h index aeb5dadd020..54ad55ab490 100644 --- a/src/vulkan/gen8_pack.h +++ b/src/vulkan/gen8_pack.h @@ -32,6 +32,10 @@ #include <stdio.h> #include <assert.h> +#ifndef __gen_validate_value +#define __gen_validate_value(x) +#endif + #ifndef __gen_field_functions #define __gen_field_functions @@ -43,6 +47,7 @@ union __gen_value { static inline uint64_t __gen_field(uint64_t v, uint32_t start, uint32_t end) { + __gen_validate_value(v); #if DEBUG if (end - start + 1 < 64) assert(v < 1ul << (end - start + 1)); @@ -54,6 +59,7 @@ __gen_field(uint64_t v, uint32_t start, uint32_t end) static inline uint64_t __gen_offset(uint64_t v, uint32_t start, uint32_t end) { + __gen_validate_value(v); #if DEBUG uint64_t mask = (~0ul >> (64 - (end - start + 1))) << start; @@ -66,6 +72,7 @@ __gen_offset(uint64_t v, uint32_t start, uint32_t end) static inline uint32_t __gen_float(float v) { + __gen_validate_value(v); return ((union __gen_value) { .f = (v) }).dw; } |