v3dv: add an assert to catch applications trying to clear invalid aspects
I accidentally tried to clear D+S of a depth-only image which was not caught by the validation layers in my environment. This made the simulator crash, but tracking down the crash to the actual error was not trivial. This should make it immediately obvious. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
This commit is contained in:
committed by
Marge Bot
parent
9a2d6cca76
commit
06fa2928b8
@@ -935,6 +935,11 @@ clear_image_tlb(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
v3dv_cmd_buffer_start_frame(cmd_buffer, &framebuffer.fb);
|
||||
v3dv_job_emit_binning_flush(job);
|
||||
|
||||
/* If this triggers it is an application bug: the spec requires
|
||||
* that any aspects to clear are present in the image.
|
||||
*/
|
||||
assert(range->aspectMask & image->aspects);
|
||||
|
||||
emit_clear_image_rcl(job, image, &framebuffer, &hw_clear_value,
|
||||
range->aspectMask, layer, level);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user