glsl: ensure that enter/leave record get a record type

May make life easier for tools like Coverity.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Ilia Mirkin
2015-02-21 12:53:43 -05:00
parent 1763494b31
commit c2ece77678
2 changed files with 5 additions and 0 deletions

View File

@@ -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:
*

View File

@@ -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));
}