[Mesa-dev] use fs generator to compile i965 blorp clear programs

Topi Pohjolainen topi.pohjolainen at intel.com
Wed Nov 27 13:10:56 PST 2013

One way to enable blorp programs on gen8 is to use the already
existing assembly generator. But the generator(s) take i965 fs
instructions as input while the existing blorp programs are
represented directly using the low level EU presentation.

Hence the existing logic needs to be lifted from direct EU to
higher FS after which the generator can output the EU instead.

This series attempts to rewrite the blorp clear programs.

Topi Pohjolainen (9):
  i965: generate fs programs also without any 8-width instructions
  i965: allow fs generator use without gl_fragment_program
  i965: remove redundant initialization of blorp program data
  i965: remove unused members in blorp clear program
  i965: treat the fixed blorp clear base mrf as constant
  i965: compile non-replicated blorp clear program with fs generator
  i965: introduce new FS IR opcode for simd16 replicated write
  i965: teach fs generator to handle simd16 replicated write
  i965: compile replicated blorp clear program with fs generator

 src/mesa/drivers/dri/i965/brw_blorp_clear.cpp     | 110 +++++++---------------
 src/mesa/drivers/dri/i965/brw_defines.h           |   1 +
 src/mesa/drivers/dri/i965/brw_fs.cpp              |   1 +
 src/mesa/drivers/dri/i965/brw_fs.h                |   1 +
 src/mesa/drivers/dri/i965/brw_fs_generator.cpp    |  41 +++++++-
 src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp |   1 +
 src/mesa/drivers/dri/i965/brw_shader.cpp          |   2 +
 7 files changed, 74 insertions(+), 83 deletions(-)


More information about the mesa-dev mailing list