[Mesa-dev] [PATCH v2 3/3] i965: enable INTEL_blackhole_render

Lionel Landwerlin lionel.g.landwerlin at intel.com
Wed Apr 18 00:32:00 UTC 2018


On 17/04/18 00:19, Kenneth Graunke wrote:
> On Friday, April 6, 2018 7:31:41 AM PDT Lionel Landwerlin wrote:
>> v2: condition the extension on context isolation support from the
>>      kernel (Chris)
>>
>> v3: (Lionel)
>>
>>      The initial version of this change used a feature of the Gen7+
>>      command parser to turn the primitive instructions into no-ops.
>>      Unfortunately this doesn't play well with how we're using the
>>      hardware outside of the user submitted commands. For example
>>      resolves are implicit operations which should not be turned into
>>      no-ops as part of the previously submitted commands (before
>>      blackhole_render is enabled) might not be disabled. For example
>>      this sequence :
>>
>>         glClear();
>>         glEnable(GL_BLACKHOLE_RENDER_INTEL);
>>         glDrawArrays(...);
>>         glReadPixels(...);
>>         glDisable(GL_BLACKHOLE_RENDER_INTEL);
>>
>>      While clear has been emitted outside the blackhole render, it
>>      should still be resolved properly in the read pixels. Hence we
>>      need to be more selective and only disable user submitted
>>      commands.
>>
>>      This v3 manually turns primitives into MI_NOOP if blackhole render
>>      is enabled. This lets us enable this feature on any platform.
>>
>> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>> ---
>>   src/mesa/drivers/dri/i965/brw_compute.c      | 46 +++++++++++---------
>>   src/mesa/drivers/dri/i965/brw_defines.h      |  8 +++-
>>   src/mesa/drivers/dri/i965/brw_draw.c         | 20 ++++++---
>>   src/mesa/drivers/dri/i965/intel_extensions.c |  1 +
>>   4 files changed, 49 insertions(+), 26 deletions(-)
> Another potential issue with this patch...it doesn't stub out BLORP
> operations.  Maybe that's intentional?  Should BlitFramebuffer,
> CopyTexSubImage, CopyImageSubData, and so on do anything?  I had
> originally thought you might need handling for Clear here, but you
> do that explicitly in patch 2.  Wasn't sure about the others...

Oops, I need to touch those too. Thanks for pointing this out.



More information about the mesa-dev mailing list