radv: add some assertions in vkCmdSetScissor()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 18 Sep 2017 09:44:54 +0000 (11:44 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 20 Sep 2017 08:27:32 +0000 (10:27 +0200)
To check some valid usage requirements.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_cmd_buffer.c

index 5644c1584e7f479c735c388d5b9c23c196dcadb0..d7b27cae27c3bf184f76447f61e3b23009e8d500 100644 (file)
@@ -2518,8 +2518,11 @@ void radv_CmdSetScissor(
        const VkRect2D*                             pScissors)
 {
        RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer);
-
        const uint32_t total_count = firstScissor + scissorCount;
+
+       assert(firstScissor < MAX_SCISSORS);
+       assert(total_count >= 1 && total_count <= MAX_SCISSORS);
+
        if (cmd_buffer->state.dynamic.scissor.count < total_count)
                cmd_buffer->state.dynamic.scissor.count = total_count;