On Wed, May 25, 2016 at 11:40 AM, Anuj Phogat <anuj.pho...@gmail.com> wrote: > XY_FAST_COPY_BLT command doesn't have a field for raster operation. So, fall > back to using XY_SRC_COPY_BLT to handle those cases. > > Fixes piglit test gl-1.1-xor-copypixels when fast copy blit is enabled > for all tiling formats. > > Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> > --- > src/mesa/drivers/dri/i965/intel_blit.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/intel_blit.c > b/src/mesa/drivers/dri/i965/intel_blit.c > index 42cdb36..91c24ea 100644 > --- a/src/mesa/drivers/dri/i965/intel_blit.c > +++ b/src/mesa/drivers/dri/i965/intel_blit.c > @@ -340,7 +340,8 @@ can_fast_copy_blit(struct brw_context *brw, > int16_t dst_x, int16_t dst_y, > uintptr_t dst_offset, uint32_t dst_pitch, > uint32_t dst_tiling, uint32_t dst_tr_mode, > - int16_t w, int16_t h, uint32_t cpp) > + int16_t w, int16_t h, uint32_t cpp, > + GLenum logic_op) > { > const bool dst_tiling_none = dst_tiling == I915_TILING_NONE; > const bool src_tiling_none = src_tiling == I915_TILING_NONE; > @@ -348,6 +349,9 @@ can_fast_copy_blit(struct brw_context *brw, > if (brw->gen < 9) > return false; > > + if (logic_op != GL_COPY) > + return false; > + > /* The start pixel for Fast Copy blit should be on an OWord boundary. */ > if ((dst_x * cpp | src_x * cpp) & 15) > return false; > @@ -490,13 +494,14 @@ intelEmitCopyBlit(struct brw_context *brw, > dst_x, dst_y, > dst_offset, dst_pitch, > dst_tiling, dst_tr_mode, > - w, h, cpp); > + w, h, cpp, logic_op); > if (!use_fast_copy_blit && > (src_tr_mode != INTEL_MIPTREE_TRMODE_NONE || > dst_tr_mode != INTEL_MIPTREE_TRMODE_NONE)) > return false; > > if (use_fast_copy_blit) { > + assert(logic_op == GL_COPY);
Newline between the assert and the multiline comment. Reviewed-by: Matt Turner <matts...@gmail.com> > /* When two sequential fast copy blits have different source surfaces, > * but their destinations refer to the same destination surfaces and > * therefore destinations overlap it is imperative that a flush be > -- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev