Skip to content

Draft: Implement clear_buffer using BLORP for Intel

David Heidelberg requested to merge dh/mesa:iris-clear-buffer-revived into main

Based on !15931 from 2022.

  • refactored on top of !22178 (merged) and other following changes
  • skipped commit blorp: Use blorp_blit for do_buffer_copy as comment suggested
  • fixed failing 12-byte RGB formats implementing generic fallback
  • dropped ISL_SURF_USAGE_TEXTURE_BIT from do_buffer_copy

Should improve performance of

  • OpenGL ARB_clear_buffer_object impl.
  • OpenCL clEnqueueFillBuffer implementation

Benchmarking:

  • slight decrease in CPU usage and slight increase in GPU utilization, not exactly measured yet.

Relevant tests:

  • GL-CTS: KHR-GL46.direct_state_access.buffers_clear
  • piglit GL: arb_clear_buffer_object-.*
  • piglit CL (with rusticl): cl-api-enqueue-fill-buffer
  • plus VK tests, as it touches ANV codebase too.
Edited by David Heidelberg

Merge request reports