mesa/src/compiler
Juan A. Suarez Romero 3c9096eea4 glsl/linker: dvec3/dvec4 consume twice input vertex attributes
From the GL 4.5 core spec, section 11.1.1 (Vertex Attributes):

"A program with more than the value of MAX_VERTEX_ATTRIBS
active attribute variables may fail to link, unless
device-dependent optimizations are able to make the program
fit within available hardware resources. For the purposes
of this test, attribute variables of the type dvec3, dvec4,
dmat2x3, dmat2x4, dmat3, dmat3x4, dmat4x3, and dmat4 may
count as consuming twice as many attributes as equivalent
single-precision types. While these types use the same number
of generic attributes as their single-precision equivalents,
implementations are permitted to consume two single-precision
vectors of internal storage for each three- or four-component
double-precision vector."

This commits makes dvec3, dvec4, dmat2x3, dmat2x4, dmat3, dmat3x4,
dmat4x3 and dmat4 consume twice as many attributes as equivalent
single-precision types.

v3: count doubles as consuming two attributes (Dave Airlie)
v4: make reference to spec (Michael Schellenberger Costa)

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Dave Airlie <airlied@redhat.com>

Signed-off-by: Antia Puentes <apuentes@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
2016-05-23 10:48:07 +02:00
..
glsl glsl/linker: dvec3/dvec4 consume twice input vertex attributes 2016-05-23 10:48:07 +02:00
nir nir: handle double-precision in fsign, fsat, fnot and frcp 2016-05-23 08:54:37 +02:00
spirv spirv: Handle the PixelCenterInteger execution mode. 2016-05-20 14:44:22 -07:00
.gitignore compiler: fix .gitignore for glsl_compiler 2016-02-03 13:32:46 -05:00
Android.glsl.gen.mk glsl: android: add back missing generated glcpp include path 2016-04-21 14:43:21 +01:00
Android.glsl.mk glsl: move the android build scripts a level up 2016-04-11 19:08:23 +01:00
Android.mk compiler: android: flesh out nir into separate makefile 2016-04-11 19:08:23 +01:00
Android.nir.gen.mk compiler: android: flesh out nir into separate makefile 2016-04-11 19:08:23 +01:00
Android.nir.mk compiler: android: flesh out nir into separate makefile 2016-04-11 19:08:23 +01:00
builtin_type_macros.h glsl/types: Add a bare "sampler" type 2016-02-13 17:22:36 -08:00
glsl_types.cpp glsl: handle same struct redeclaration (v2) 2016-05-20 11:22:52 +10:00
glsl_types.h glsl: handle same struct redeclaration (v2) 2016-05-20 11:22:52 +10:00
Makefile.am compiler: automake: flesh out NIR into separate makefile. 2016-04-11 19:08:23 +01:00
Makefile.glsl.am compiler: automake: split out glsl into separate makefile 2016-04-11 19:08:23 +01:00
Makefile.nir.am Merge remote-tracking branch 'public/master' into vulkan 2016-04-13 20:25:39 -07:00
Makefile.sources nir: Add a simple nir_lower_wpos_center() pass for Vulkan drivers. 2016-05-20 14:30:00 -07:00
nir_types.cpp compiler: Add a C wrapper for glsl_type::without_array(). 2016-05-07 15:44:41 -07:00
nir_types.h nir: glsl_get_bit_size() should take glsl_type 2016-05-12 13:39:40 -04:00
SConscript scons: Build NIR. 2016-04-14 16:38:59 +01:00
SConscript.glsl glsl: move the scons build script a level up 2016-04-11 19:08:23 +01:00
SConscript.nir scons: Build NIR. 2016-04-14 16:38:59 +01:00
shader_enums.c glsl/shader_enums: Add the other two compute builtins 2016-04-11 13:53:00 -07:00
shader_enums.h glsl: fix location and component packing validation on patches 2016-05-17 15:06:12 +10:00