[Mesa-dev] [PATCH 00/17] i965: More compiler cleanups
Jason Ekstrand
jason at jlekstrand.net
Thu Oct 8 17:29:33 PDT 2015
On Thu, Oct 8, 2015 at 5:22 PM, Jason Ekstrand <jason at 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
>
More information about the mesa-dev
mailing list