Draft: Implement clear_buffer using BLORP for Intel
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
fromdo_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