summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2018-10-12 19:03:30 -0500
committerJason Ekstrand <[email protected]>2019-01-10 19:15:27 -0600
commitb90e55a5d5d6e30f5a48d80bbb9aef578003b522 (patch)
treedff94ac7446d4d7b440f7c19ab490ec60c5bf350
parent73ddfbeb858bb6d22da20bc80c6d91cf0a5e776a (diff)
compiler/types: Serialize/deserialize subpass input types correctly
They have glsl_sampler_dim enum values of 8 and 9 which don't work when you & them with 0x7. Fortunately, we have plenty of bits. Reviewed-by: Lionel Landwerlin <[email protected]>
-rw-r--r--src/compiler/glsl_types.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/glsl_types.cpp b/src/compiler/glsl_types.cpp
index 00be0e00a9e..9d5451dbb7c 100644
--- a/src/compiler/glsl_types.cpp
+++ b/src/compiler/glsl_types.cpp
@@ -2311,14 +2311,14 @@ decode_type_from_blob(struct blob_reader *blob)
explicit_stride, (u >> 10) & 0x1);
}
case GLSL_TYPE_SAMPLER:
- return glsl_type::get_sampler_instance((enum glsl_sampler_dim) ((u >> 4) & 0x07),
+ return glsl_type::get_sampler_instance((enum glsl_sampler_dim) ((u >> 4) & 0x0f),
(u >> 3) & 0x01,
(u >> 2) & 0x01,
(glsl_base_type) ((u >> 0) & 0x03));
case GLSL_TYPE_SUBROUTINE:
return glsl_type::get_subroutine_instance(blob_read_string(blob));
case GLSL_TYPE_IMAGE:
- return glsl_type::get_image_instance((enum glsl_sampler_dim) ((u >> 3) & 0x07),
+ return glsl_type::get_image_instance((enum glsl_sampler_dim) ((u >> 3) & 0x0f),
(u >> 2) & 0x01,
(glsl_base_type) ((u >> 0) & 0x03));
case GLSL_TYPE_ATOMIC_UINT: