summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/shader_cache.cpp
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2017-08-11 13:53:18 +1000
committerTimothy Arceri <[email protected]>2017-08-24 11:18:48 +1000
commit37eb67714e0092a5d80ec40d10ca1fe72fa64657 (patch)
treeaddf50e526c345e4741e6e14f22e8022f6900ecb /src/compiler/glsl/shader_cache.cpp
parent8985ad494bce5a4c365fe38fdf500d8582b5a7d0 (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.cpp10
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) {