Lines Matching defs:block

192     *     If multiple shaders using members of a built-in block belonging to
194 * must all redeclare the built-in block in the same way, as described
195 * in section 4.3.7 "Interface Blocks" for interface block matching, or
198 * The phrase "using members of a built-in block" implies that if two
200 * of the built-in block, then that shader does not need to have a matching
201 * redeclaration of the built-in block.
787 * it is the block index rather than an indexing expression for an
1376 /* Note: The following block of expression types actually convert
2805 "a block, or an array containing any of these.");
2835 "uniform block layout qualifiers row_major and "
2846 "uniform block layout qualifiers row_major and "
2870 * "Variables and block members qualified with *xfb_offset* can be
2873 * the first qualified variable or block member, or a compile-time error
2898 /* When the interface block doesn't have an xfb_offset qualifier then
2909 /* Nested structs or interface block without offset may not have had an
2920 "variable or block member. Or double if an aggregate "
2971 * "If the binding point for any uniform block instance is less than zero,
2974 * When the binding identifier is used with a uniform block instanced as
2990 * "If the binding point for any uniform or shader storage block instance
2994 * with a uniform or shader storage block instanced as an array of size
3675 * "If these layout qualifiers are applied to other types of default block
3681 "can only be applied to default block uniforms or "
3961 "uniform and shader storage block layout qualifiers "
4848 * input declarations. This covers both interface block arrays and bare input
5136 * variables at global scope (outside a block)."
5484 * vertices, each input varying variable (or input block, see
6048 * the new ir_function block at the end of the toplevel instruction
7143 /* As the first code in the loop body, generate a block that looks
7360 * Process a structure or interface block tree into an array of structure fields
7367 * If we're processing an interface block, var_mode should be the type of the
7368 * interface block (ir_var_shader_in, ir_var_shader_out, ir_var_uniform or
7470 "interface block contains %s variable",
7495 "to struct or interface block members");
7506 "when block-level location layout qualifier "
7524 "uniform/shader storage block layout qualifiers "
7533 "to struct or interface block members");
7541 * "A block member may be declared with a stream identifier, but
7543 * containing block."
7551 "interface block member does not match "
7552 "the interface block (%u vs %u)", qual_stream,
7566 "interface block member does not match "
7567 "the interface block (%u vs %u)",
7761 * structure or interface block. Structures need this data because
7770 * from the block.
7779 /* If we're processing an uniform or buffer block, the matrix
7918 * Visitor class which detects whether a given interface block has been used.
7923 interface_block_usage_visitor(ir_variable_mode mode, const glsl_type *block)
7924 : mode(mode), block(block), found(false)
7930 if (ir->var->data.mode == mode && ir->var->get_interface_type() == block) {
7944 const glsl_type *block;
7981 "Interface block `%s' must be declared "
8002 * using std430 on a uniform block will result in a compile-time error."
8026 /* Interface block */
8058 "invalid qualifier for block",
8091 assert(!"interface block layout qualifier not found!");
8109 "Interface block sets both readonly and writeonly");
8195 * matching; it is a compile-time error to use a block name at global
8196 * scope for anything other than as a block name."
8209 * the named interface block gl_in, we can find it by looking at the
8278 /* Copy locations from the old gl_PerVertex interface block. */
8312 * If a built-in interface block is redeclared, it must appear in
8324 "redeclaration of a built-in interface block must "
8326 "interface block");
8346 _mesa_glsl_error(&loc, state, "interface block `%s' with type `%s' "
8352 * impossible for the block to generate any instructions.
8361 * variable (or input block, see interface blocks below) needs to be
8390 /* When a built-in in an unnamed interface block is redeclared,
8394 * at a redeclaration of a named built-in interface block. So we
8417 * at the block level: When a block is declared as an array where
8418 * additional locations are needed for each member for each block array
8419 * element, it is a compile-time error to specify locations on the block
8421 * them on block members, they are not allowed on block members. For
8431 * to declare a member of the block with a location qualifier."
8435 * to declare a member of the block with a location qualifier."
8471 * instance of the block. As the array size indicates the number
8472 * of buffer objects needed, uniform block array declarations
8479 * geometry shader inputs. All other input and output block
8499 "unsized input block arrays not allowed in "
8505 "unsized output block arrays not allowed in "
8509 /* by elimination, this is a uniform block array */
8511 "unsized uniform block arrays not allowed in "
8584 /* In order to have an array size, the block must also be declared with
8677 * block and the size is not specified at compile-time, it is
8688 "storage block can be defined as unsized "
8702 * block and then use a member from that built-in block that was
9091 /* Find the gl_PerVertex interface block of the appropriate (in/out) mode,
9111 /* If we didn't find a built-in gl_PerVertex interface block, then we don't
9117 /* If the interface block is used by the shader, then we don't need to do
9125 /* Remove any ir_variable declarations that refer to the interface block