summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2015-02-21 12:53:43 -0500
committerIlia Mirkin <[email protected]>2015-02-21 17:27:24 -0500
commitc2ece77678c19f6aee1d9a3ef65a1251a59dd2ae (patch)
tree604ef14b94ac866d00bd4be8ba289d633d62a56e
parent1763494b315179495eabb97d50d025a04a6537e2 (diff)
glsl: ensure that enter/leave record get a record type
May make life easier for tools like Coverity. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Matt Turner <[email protected]>
-rw-r--r--src/glsl/link_uniform_blocks.cpp3
-rw-r--r--src/glsl/link_uniforms.cpp2
2 files changed, 5 insertions, 0 deletions
diff --git a/src/glsl/link_uniform_blocks.cpp b/src/glsl/link_uniform_blocks.cpp
index 1c175ec8bdb..6ca41107e53 100644
--- a/src/glsl/link_uniform_blocks.cpp
+++ b/src/glsl/link_uniform_blocks.cpp
@@ -69,12 +69,15 @@ private:
virtual void enter_record(const glsl_type *type, const char *name,
bool row_major) {
+ assert(type->is_record());
this->offset = glsl_align(
this->offset, type->std140_base_alignment(row_major));
}
virtual void leave_record(const glsl_type *type, const char *name,
bool row_major) {
+ assert(type->is_record());
+
/* If this is the last field of a structure, apply rule #9. The
* GL_ARB_uniform_buffer_object spec says:
*
diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index 347f079fa42..799c74bb9e6 100644
--- a/src/glsl/link_uniforms.cpp
+++ b/src/glsl/link_uniforms.cpp
@@ -546,12 +546,14 @@ private:
virtual void enter_record(const glsl_type *type, const char *name,
bool row_major) {
+ assert(type->is_record());
this->ubo_byte_offset = glsl_align(
this->ubo_byte_offset, type->std140_base_alignment(row_major));
}
virtual void leave_record(const glsl_type *type, const char *name,
bool row_major) {
+ assert(type->is_record());
this->ubo_byte_offset = glsl_align(
this->ubo_byte_offset, type->std140_base_alignment(row_major));
}