mesa/src
Kenneth Graunke eda9726ef5 i965/vs: Split final assembly code generation out of vec4_visitor.
Compiling shaders requires several main steps:

   1. Generating VS IR from either GLSL IR or Mesa IR
   2. Optimizing the IR
   3. Register allocation
   4. Generating assembly code

This patch splits out step 4 into a separate class named "vec4_generator."

There are several reasons for doing so:

   1. Future hardware has a different instruction encoding.  Splitting
      this out will allow us to replace vec4_generator (which relies
      heavily on the brw_eu_emit.c code and struct brw_instruction) with
      a new code generator that writes the new format.

   2. It reduces the size of the vec4_visitor monolith.  (Arguably, a lot
      more should be split out, but that's left for "future work.")

   3. Separate namespaces allow us to make helper functions for
      generating instructions in both classes: ADD() can exist in
      vec4_visitor and create IR, while ADD() in vec4_generator() can
      create brw_instructions.  (Patches for this upcoming.)

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2012-11-28 18:15:58 -08:00
..
egl egl/dri2: Set error code when dri2CreateContextAttribs fails 2012-11-19 08:18:22 -08:00
gallium st/mesa: allow forward-compatible contexts and set Const.ContextFlags 2012-11-29 01:07:26 +01:00
gbm gbm: Use the kms dumb ioctls for cursor instead of libkms 2012-10-21 13:00:49 -04:00
getopt
glsl glcpp: Support #elif(expression) with no intervening space. 2012-11-28 10:27:02 -08:00
glx mesa: Standardize names of OpenGL functions. 2012-11-12 10:53:57 -08:00
gtest
mapi mesa: Mark GetBufferParameteri64v as implemented. 2012-11-19 11:49:04 -08:00
mesa i965/vs: Split final assembly code generation out of vec4_visitor. 2012-11-28 18:15:58 -08:00
.gitignore
Makefile.am
SConscript Remove libGLU 2012-08-31 10:58:15 -07:00