On Tuesday, February 10, 2015 11:09:59 AM Matt Turner wrote: > Each emit_cond_mov() emits a CMP of its first to arguments using the > specified conditional mod, followed by a predicated MOV of the fifth > argument into the fourth. In all four cases here, it was just > implementing MIN/MAX which we can do in a single SEL instruction. > > Also reorder the instructions for a slightly better schedule. > --- > src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 8 ++++---- > src/mesa/drivers/dri/i965/brw_blorp_blit_eu.h | 18 ++++++++++++++++++ > 2 files changed, 22 insertions(+), 4 deletions(-)
FWIW, I don't think it's worth spending any additional time optimizing BLORP shaders. (You've already done the work here, so we may as well land it, but...) Prior to your patches, BLORP vs Meta instruction counts were: BLORP Meta Simple 2D blit: 18 instructions 4 instructions MSAA 4x downsample: 62 instructions 40 instructions MSAA 8x downsample: 102 instructions 62 instructions Topi was planning to look into combining the BLORP lightweight state upload code with the Meta GLSL-based shaders, which are much easier to read and actually run through the optimizer. That would get us the fastest CPU and GPU code.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev