[Mesa-dev] [PATCH 13/19] glsl: Minor formatting fixes in link_uniform_blocks.cpp

Ian Romanick idr at freedesktop.org
Fri Dec 16 04:10:25 UTC 2016


From: Ian Romanick <ian.d.romanick at intel.com>

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
 src/compiler/glsl/link_uniform_blocks.cpp | 79 ++++++++++++++++---------------
 1 file changed, 42 insertions(+), 37 deletions(-)

diff --git a/src/compiler/glsl/link_uniform_blocks.cpp b/src/compiler/glsl/link_uniform_blocks.cpp
index 9adfbd5..7912443 100644
--- a/src/compiler/glsl/link_uniform_blocks.cpp
+++ b/src/compiler/glsl/link_uniform_blocks.cpp
@@ -36,8 +36,8 @@ public:
    ubo_visitor(void *mem_ctx, gl_uniform_buffer_variable *variables,
                unsigned num_variables, struct gl_shader_program *prog)
       : index(0), offset(0), buffer_size(0), variables(variables),
-        num_variables(num_variables), mem_ctx(mem_ctx), is_array_instance(false),
-        prog(prog)
+        num_variables(num_variables), mem_ctx(mem_ctx),
+        is_array_instance(false), prog(prog)
    {
       /* empty */
    }
@@ -61,7 +61,9 @@ public:
 
 private:
    virtual void enter_record(const glsl_type *type, const char *,
-                             bool row_major, const enum glsl_interface_packing packing) {
+                             bool row_major,
+                             const enum glsl_interface_packing packing)
+   {
       assert(type->is_record());
       if (packing == GLSL_INTERFACE_PACKING_STD430)
          this->offset = glsl_align(
@@ -72,15 +74,17 @@ private:
    }
 
    virtual void leave_record(const glsl_type *type, const char *,
-                             bool row_major, const enum glsl_interface_packing packing) {
+                             bool row_major,
+                             const enum glsl_interface_packing packing)
+   {
       assert(type->is_record());
 
       /* If this is the last field of a structure, apply rule #9.  The
-       * GL_ARB_uniform_buffer_object spec says:
+       * ARB_uniform_buffer_object spec says:
        *
-       *     "The structure may have padding at the end; the base offset of
-       *     the member following the sub-structure is rounded up to the next
-       *     multiple of the base alignment of the structure."
+       *    The structure may have padding at the end; the base offset of the
+       *    member following the sub-structure is rounded up to the next
+       *    multiple of the base alignment of the structure.
        */
       if (packing == GLSL_INTERFACE_PACKING_STD430)
          this->offset = glsl_align(
@@ -129,15 +133,16 @@ private:
       unsigned alignment = 0;
       unsigned size = 0;
 
-      /* From ARB_program_interface_query:
+      /* The ARB_program_interface_query spec says:
        *
-       *     "If the final member of an active shader storage block is array
-       *      with no declared size, the minimum buffer size is computed
-       *      assuming the array was declared as an array with one element."
+       *    If the final member of an active shader storage block is array
+       *    with no declared size, the minimum buffer size is computed
+       *    assuming the array was declared as an array with one element.
        *
-       * For that reason, we use the base type of the unsized array to calculate
-       * its size. We don't need to check if the unsized array is the last member
-       * of a shader storage block (that check was already done by the parser).
+       * For that reason, we use the base type of the unsized array to
+       * calculate its size. We don't need to check if the unsized array is
+       * the last member of a shader storage block (that check was already
+       * done by the parser).
        */
       const glsl_type *type_for_size = type;
       if (type->is_unsized_array()) {
@@ -158,15 +163,15 @@ private:
 
       this->offset += size;
 
-      /* From the GL_ARB_uniform_buffer_object spec:
+      /* The ARB_uniform_buffer_object spec says:
        *
-       *     "For uniform blocks laid out according to [std140] rules, the
-       *      minimum buffer object size returned by the
-       *      UNIFORM_BLOCK_DATA_SIZE query is derived by taking the offset of
-       *      the last basic machine unit consumed by the last uniform of the
-       *      uniform block (including any end-of-array or end-of-structure
-       *      padding), adding one, and rounding up to the next multiple of
-       *      the base alignment required for a vec4."
+       *    For uniform blocks laid out according to [std140] rules, the
+       *    minimum buffer object size returned by the UNIFORM_BLOCK_DATA_SIZE
+       *    query is derived by taking the offset of the last basic machine
+       *    unit consumed by the last uniform of the uniform block (including
+       *    any end-of-array or end-of-structure padding), adding one, and
+       *    rounding up to the next multiple of the base alignment required
+       *    for a vec4.
        */
       this->buffer_size = glsl_align(this->offset, 16);
    }
@@ -260,12 +265,12 @@ process_block_array_leaf(char **name,
    blocks[i].Name = ralloc_strdup(blocks, *name);
    blocks[i].Uniforms = &variables[(*parcel).index];
 
-   /* The GL_ARB_shading_language_420pack spec says:
+   /* The ARB_shading_language_420pack spec says:
     *
-    *     "If the binding identifier is used with a uniform block instanced as
-    *     an array then the first element of the array takes the specified
-    *     block binding and each subsequent element takes the next consecutive
-    *     uniform block binding point."
+    *    If the binding identifier is used with a uniform block instanced as
+    *    an array then the first element of the array takes the specified
+    *    block binding and each subsequent element takes the next consecutive
+    *    uniform block binding point.
     */
    blocks[i].Binding = (b->has_binding) ? b->binding + *binding_offset : 0;
 
@@ -333,7 +338,8 @@ create_buffer_blocks(void *mem_ctx, struct gl_context *ctx,
    /* Allocate storage to hold all of the information related to uniform
     * blocks that can be queried through the API.
     */
-   struct gl_uniform_block *blocks = rzalloc_array(mem_ctx, gl_uniform_block, num_blocks);
+   struct gl_uniform_block *blocks =
+      rzalloc_array(mem_ctx, gl_uniform_block, num_blocks);
    gl_uniform_buffer_variable *variables =
       ralloc_array(blocks, gl_uniform_buffer_variable, num_variables);
 
@@ -431,8 +437,7 @@ link_uniform_blocks(void *mem_ctx,
       return;
    }
 
-   /* Determine which uniform blocks are active.
-    */
+   /* Determine which uniform blocks are active. */
    link_uniform_block_active_visitor v(mem_ctx, block_hash, prog);
    visit_list_elements(&v, shader->ir);
 
@@ -497,12 +502,12 @@ link_uniform_blocks_are_compatible(const gl_uniform_block *a,
 
    /* Page 35 (page 42 of the PDF) in section 4.3.7 of the GLSL 1.50 spec says:
     *
-    *     "Matched block names within an interface (as defined above) must
-    *     match in terms of having the same number of declarations with the
-    *     same sequence of types and the same sequence of member names, as
-    *     well as having the same member-wise layout qualification....if a
-    *     matching block is declared as an array, then the array sizes must
-    *     also match... Any mismatch will generate a link error."
+    *    Matched block names within an interface (as defined above) must match
+    *    in terms of having the same number of declarations with the same
+    *    sequence of types and the same sequence of member names, as well as
+    *    having the same member-wise layout qualification....if a matching
+    *    block is declared as an array, then the array sizes must also
+    *    match... Any mismatch will generate a link error.
     *
     * Arrays are not yet supported, so there is no check for that.
     */
-- 
2.7.4



More information about the mesa-dev mailing list