diff options
author | Timothy Arceri <[email protected]> | 2017-08-11 13:53:18 +1000 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-08-24 11:18:48 +1000 |
commit | 37eb67714e0092a5d80ec40d10ca1fe72fa64657 (patch) | |
tree | addf50e526c345e4741e6e14f22e8022f6900ecb /src/compiler/glsl/shader_cache.cpp | |
parent | 8985ad494bce5a4c365fe38fdf500d8582b5a7d0 (diff) |
glsl: allow NULL to be passed to encode_type_to_blob()
This will be used by the following commit.
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/compiler/glsl/shader_cache.cpp')
-rw-r--r-- | src/compiler/glsl/shader_cache.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp index cc4d24482d9..1fd49b82e98 100644 --- a/src/compiler/glsl/shader_cache.cpp +++ b/src/compiler/glsl/shader_cache.cpp @@ -79,6 +79,11 @@ encode_type_to_blob(struct blob *blob, const glsl_type *type) { uint32_t encoding; + if (!type) { + blob_write_uint32(blob, 0); + return; + } + switch (type->base_type) { case GLSL_TYPE_UINT: case GLSL_TYPE_INT: @@ -149,6 +154,11 @@ static const glsl_type * decode_type_from_blob(struct blob_reader *blob) { uint32_t u = blob_read_uint32(blob); + + if (u == 0) { + return NULL; + } + glsl_base_type base_type = (glsl_base_type) (u >> 24); switch (base_type) { |