i965: bring back type_size_vec4_times_4()
We will use this for output varyings. To make component packing simpler we will just treat all varyings as vec4s. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -509,6 +509,19 @@ type_size_scalar(const struct glsl_type *type)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of scalar components needed to store type, assuming
|
||||
* that vectors are padded out to vec4.
|
||||
*
|
||||
* This has the packing rules of type_size_vec4(), but counts components
|
||||
* similar to type_size_scalar().
|
||||
*/
|
||||
extern "C" int
|
||||
type_size_vec4_times_4(const struct glsl_type *type)
|
||||
{
|
||||
return 4 * type_size_vec4(type);
|
||||
}
|
||||
|
||||
/* Attribute arrays are loaded as one vec4 per element (or matrix column),
|
||||
* except for double-precision types, which are loaded as one dvec4.
|
||||
*/
|
||||
|
@@ -294,6 +294,7 @@ struct gl_linked_shader *brw_new_shader(gl_shader_stage stage);
|
||||
int type_size_scalar(const struct glsl_type *type);
|
||||
int type_size_vec4(const struct glsl_type *type);
|
||||
int type_size_dvec4(const struct glsl_type *type);
|
||||
int type_size_vec4_times_4(const struct glsl_type *type);
|
||||
int type_size_vs_input(const struct glsl_type *type);
|
||||
|
||||
unsigned tesslevel_outer_components(GLenum tes_primitive_mode);
|
||||
|
Reference in New Issue
Block a user