mesa/src
Matt Turner ac25cf55af glsl: Make most ir_instruction::as_subclass() functions non-virtual.
There are several common ways to check whether an object is a particular
subclass: dynamic_cast<>, the as_subclass() pattern, or explicit enum
tags.  We originally used the virtual as_subclass methods, but later
added enum tags as they are much nicer for debugging.

Since we have the enum tags, we don't necessarily need to use virtual
functions to implement the as_subclass() methods.  We can just check the
tag and return the pointer or NULL.

This saves 18 entries in the vtable, and instead of two pointer
dereferences per as_subclass() call most are only three inline
instructions.

Compile time of sam3/112.frag (the longest compile in a recent shader-db
run) is reduced by 5% from 348 to 329 ms (n=500).

perf stat of this workload shows:
   24.14% reduction in iTLB-loads:       285,543 -> 216,606
   42.55% reduction in iTLB-load-misses:  18,785 ->  10,792

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2014-06-03 17:58:34 -07:00
..
egl egl: Check for NULL native_window in eglCreateWindowSurface 2014-06-03 17:28:30 -07:00
gallium r600g,radeonsi: don't use hardware MSAA resolve if dst is fast-cleared 2014-06-03 13:33:14 +02:00
gbm Make DRI dependencies and build depend on the target 2014-05-23 15:24:04 +01:00
getopt
glsl glsl: Make most ir_instruction::as_subclass() functions non-virtual. 2014-06-03 17:58:34 -07:00
glx Revert "glx: load dri driver with RTLD_LOCAL so dlclose never fails to unload" 2014-06-02 12:56:12 +02:00
gtest gtest: Update to 1.7.0. 2014-04-14 00:06:53 -07:00
hgl haiku libGL: Move from gallium target to src/hgl 2014-01-06 15:50:21 -06:00
loader loader: add optional /sys filesystem method for PCI identification. 2014-05-29 20:25:37 -06:00
mapi glapi: Duplicate GLES1 prototypes in glapi_dispatch.c 2014-05-30 16:33:34 -07:00
mesa mesa: Make glGetIntegerv(GL_*_ARRAY_SIZE) return GL_BGRA. 2014-06-03 12:20:53 +01:00
Makefile.am src/build: Add getopt to distribution. 2014-04-07 09:41:02 -07:00
SConscript loader: introduce the loader util lib 2014-01-18 18:47:27 +00:00