summaryrefslogtreecommitdiff
path: root/chapters/commonvalidity/performance_query_begin_common.adoc
blob: 0ea273a5c804cc7d8f404598eba067e60f98d4e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Copyright 2019-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to all drawing commands
ifdef::VK_KHR_performance_query[]
  * [[VUID-{refpage}-queryPool-07289]]
    If pname:queryPool was created with a pname:queryType of
    ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, then the
    slink:VkQueryPoolPerformanceCreateInfoKHR::pname:queueFamilyIndex
    pname:queryPool was created with must: equal the queue family index of
    the sname:VkCommandPool that pname:commandBuffer was allocated from
  * [[VUID-{refpage}-queryPool-03223]]
    If pname:queryPool was created with a pname:queryType of
    ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, the <<profiling-lock,
    profiling lock>> must: have been held before flink:vkBeginCommandBuffer
    was called on pname:commandBuffer
  * [[VUID-{refpage}-queryPool-03224]]
    If pname:queryPool was created with a pname:queryType of
    ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR and one of the counters used
    to create pname:queryPool was
    ename:VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, the query begin
    must: be the first recorded command in pname:commandBuffer
  * [[VUID-{refpage}-queryPool-03225]]
    If pname:queryPool was created with a pname:queryType of
    ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR and one of the counters used
    to create pname:queryPool was
    ename:VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, the begin command
    must: not be recorded within a render pass instance
  * [[VUID-{refpage}-queryPool-03226]]
    If pname:queryPool was created with a pname:queryType of
    ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR and another query pool with a
    pname:queryType ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR has been used
    within pname:commandBuffer, its parent primary command buffer or
    secondary command buffer recorded within the same parent primary command
    buffer as pname:commandBuffer, the
    <<features-performanceCounterMultipleQueryPools,
    pname:performanceCounterMultipleQueryPools>> feature must: be enabled
  * [[VUID-{refpage}-None-02863]]
    If pname:queryPool was created with a pname:queryType of
    ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, this command must: not be
    recorded in a command buffer that, either directly or through secondary
    command buffers, also contains a fname:vkCmdResetQueryPool command
    affecting the same query
endif::VK_KHR_performance_query[]
// Common Valid Usage