On Thu, Oct 8, 2015 at 5:22 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote: > This series contains even more compiler code-shuffling and cleanups. In > particular, it gets us down to the point where we can, for the most part, > just go NIR -> binary. It also rolls the entire compiler API into a single > header file with a bunch of structs and 6 functions. It also reworks the > emit functions (now named compile) to set up some of prog_data for you. > > Sound too good to be true? Well, that's because it is. I haven't had the > time or mental energy to re-work geometry shaders where most of the > interesting prog_data setup is. Also, we still do have to pass in some > gl_program a few places to do workarounds on older hardware. That said, > the interface between compiler and driver is a whole lot nicer than it used > to be.
This can all be found in this branch on fd.o: http://cgit.freedesktop.org/~jekstrand/mesa/log/?h=review/i965-compiler-cleanups2 > Jason Ekstrand (17): > i965/asm: Explicitly use a nir_instr for IR annotations > nir: Add a label to nir_shader_info > mesa: Move gl_frag_depth_layout from mtypes.h to shader_enums.h > nir/info: Move the GS info into a stage-specific info union > nir/info: Add compute shader local size to nir_shader_info > nir/info: Add a few bits of info for fragment shaders > i965/fs: Remove the gl_program from the generator > i965/vec4: Remove gl_program and gl_shader_program from the generator > i965: Use a const nir_shader in backend_shader > i965/vs: Move use_legacy_snorm_formula into the shader key > i965/fs: Rework wm_fs_emit to take a nir_shader and a brw_compiler > i965/vs: Rework vs_emit to take a nir_shader and a brw_compiler > i965/gs: Rework gs_emit to take a nir_shader and a brw_compiler > i965/cs: Rework cs_emit to take a nir_shader and a brw_compiler > i965/fs: Move some of the prog_data setup into brw_wm_emit > i965: Rename brw_foo_emit to brw_compile_foo > i965: Move the entire compiler API into a single file > > src/glsl/nir/glsl_to_nir.cpp | 31 +- > src/glsl/nir/nir.h | 34 ++- > src/glsl/nir/nir_sweep.c | 2 + > src/glsl/shader_enums.h | 17 ++ > src/mesa/drivers/dri/i965/Makefile.sources | 1 + > src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp | 2 +- > src/mesa/drivers/dri/i965/brw_context.c | 2 +- > src/mesa/drivers/dri/i965/brw_context.h | 353 > +--------------------- > src/mesa/drivers/dri/i965/brw_cs.c | 10 +- > src/mesa/drivers/dri/i965/brw_cs.h | 15 - > src/mesa/drivers/dri/i965/brw_fs.cpp | 216 +++++++++---- > src/mesa/drivers/dri/i965/brw_fs.h | 5 +- > src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 5 +- > src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 2 +- > src/mesa/drivers/dri/i965/brw_gs.c | 6 +- > src/mesa/drivers/dri/i965/brw_program.h | 124 +------- > src/mesa/drivers/dri/i965/brw_shader.cpp | 2 +- > src/mesa/drivers/dri/i965/brw_shader.h | 62 +--- > src/mesa/drivers/dri/i965/brw_vec4.cpp | 76 ++--- > src/mesa/drivers/dri/i965/brw_vec4.h | 12 +- > src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 26 +- > src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | 64 ++-- > src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.h | 32 +- > src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 2 +- > src/mesa/drivers/dri/i965/brw_vec4_vs_visitor.cpp | 11 +- > src/mesa/drivers/dri/i965/brw_vs.c | 17 +- > src/mesa/drivers/dri/i965/brw_vs.h | 15 +- > src/mesa/drivers/dri/i965/brw_wm.c | 112 +------ > src/mesa/drivers/dri/i965/brw_wm.h | 15 - > src/mesa/drivers/dri/i965/gen6_gs_visitor.h | 2 +- > src/mesa/drivers/dri/i965/intel_asm_annotation.c | 17 +- > src/mesa/drivers/dri/i965/intel_asm_annotation.h | 3 +- > src/mesa/main/mtypes.h | 18 -- > src/mesa/program/prog_to_nir.c | 6 + > 34 files changed, 370 insertions(+), 947 deletions(-) > > -- > 2.5.0.400.gff86faf > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev