Skip to content
Snippets Groups Projects
  1. Nov 14, 2017
  2. Nov 13, 2017
  3. Nov 10, 2017
  4. Nov 07, 2017
  5. Nov 03, 2017
    • Plamena Manolova's avatar
      i965: Fix ARB_indirect_parameters logic. · d5cc7e47
      Plamena Manolova authored and Emil Velikov's avatar Emil Velikov committed
      This patch modifies the ARB_indirect_parameters logic in
      brw_draw_prims, so that our implementation isn't affected if
      another application attempts to use predicates. Previously we
      were using a predicate with a DELTAS_EQUAL comparison operation
      and relying on the MI_PREDICATE_DATA register being 0. Our code
      to initialize MI_PREDICATE_DATA to 0 was incorrect, so we were
      accidentally using whatever value was written there. Because the
      kernel does not initialize the MI_PREDICATE_DATA register on
      hardware context creation, we might inherit the value from whatever
      context was last running on the GPU (likely another process).
      The Haswell command parser also does not currently allow us to write
      the MI_PREDICATE_DATA register. Rather than fixing this and requiring
      an updated kernel, we switch to a different approach which uses a
      SRCS_EQUAL predicate that makes no assumptions about the states of any
      of the predicate registers.
      
      Fixes Piglit's spec/arb_indirect_parameters/tf-count-arrays test.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103085
      
      
      Signed-off-by: default avatarPlamena Manolova <plamena.manolova@intel.com>
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      (cherry picked from commit 048d4c45)
      d5cc7e47
Loading