Lines Matching full:validation

8 # GPU-Assisted Validation
15 GPU-Assisted validation is implemented in the SPIR-V Tools optimizer and the `VK_LAYER_KHRONOS_vali…
21 The basic operation of GPU-Assisted validation is comprised of instrumenting shader code to perform…
23 …the errors to the user via the same reporting mechanisms used by the rest of the validation system.
40 the layer analyzes this error record and constructs a validation error message
41 which is then reported in the same manner as other validation messages.
43 also provides the line of shader source code that provoked the error as part of the validation erro…
45 ## GPU-Assisted Validation Checks
47 The initial release (Jan 2019) of GPU-Assisted Validation includes checking for out-of-bounds descr…
50 The second release (Apr 2019) adds validation for out-of-bounds descriptor array indexing and use o…
51 VK_EXT_descriptor_indexing extension is enabled. Also added (June 2019) was validation for buffer …
55 …cking for correct indexing of descriptor arrays is sometimes referred to as "bind-less validation".
68 The complete validation error message issued when `tex_ind` indexes past the array is:
71 ERROR : VALIDATION - Message Id Number: 0 | Message Id Name: UNASSIGNED-Image descriptor index out …
74 Fragment coord (x,y) = (419.5, 254.5). Shader validation error occurred in file:
90 Note that currently, VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT validation is not working and all …
93 ## GPU-Assisted Validation Options
95 Here are the options related to activating GPU-Assisted Validation:
97 1. Enable GPU-Assisted Validation - GPU-Assisted Validation is off by default and must be enabled.
99 …GPU-Assisted Validation is disabled by default because the shader instrumentation may introduce si…
101 GPU-Assisted Validation requires additional resources such as device memory and descriptors.
107 …han the actual device's value to "reserve" a descriptor set binding slot for use by GPU validation.
114 The existing layer configuration file mechanism can be used to enable GPU-Assisted Validation.
119 To turn on GPU validation, add the following to your layer settings file, which is often
126 To turn on GPU validation and request to reserve a binding slot:
135 Some platforms do not support configuration of the validation layers with this configuration file.
140 The `VK_EXT_validation_features` extension can be used to enable GPU-Assisted Validation at CreateI…
157 ## GPU-Assisted Validation Limitations
159 There are several limitations that may impede the operation of GPU-Assisted Validation:
177 GPU-Assisted Validation cannot be performed because it needs a descriptor set to
185 then GPU-Assisted Validation cannot be performed.
196 GPU-Assisted Validation does allocate device memory for the error report buffers, and if
208 As a best practice, when using GPU-Assisted Validation with descriptor indexing enabled,
211 If GPU-Assisted Validation device memory allocations fail, the device could become
239 and does not update the tracking performed by other validation functions.
244 to implement GPU-Assisted Validation without some of the limitations described above.
252 ## GPU-Assisted Validation Internal Design
254 This section may be of interest to readers who are interested on how GPU-Assisted Validation is imp…
309 If any debug record is found, generate a validation error message for each record found.
311 The above describes only the high-level details of GPU-Assisted Validation operation.
316 When the validation layer loads, it examines the user options from both the layer settings file and…
319 From these options, the layer sets instance-scope flags in the validation layer tracking data to in…
320 GPU-Assisted Validation has been requested, along with any other associated options.
324 Much of the GPU-Assisted Validation implementation involves making "application level" Vulkan API
326 inside of the validation layer.
330 These calls therefore don't pass through any validation checks that occur before the gpu validation
335 This implies that this additional code may never be checked for validation errors.
339 Or, this code can be checked by loading a khronos validation layer with
340 GPU validation enabled on top of "normal" standard validation in the
345 This validation can be accomplished by:
347 * Building the validation layer with a hack to force GPU-Assisted Validation to be enabled.
350 "normal" khronos validation.
353 validation layer
354 …* Then run tests and check for validation errors pointing to API usage in the "khronos_validation2…
364 tracked and do not show up in any of the bookkeeping performed by the validation layers.
365 For example, any device memory allocation performed by GPU-Assisted Validation won't be
367 This could lead to an early allocation failure that is not accompanied by a validation error.
370 a later implementation of GPU-Assisted Validation using the `VK_EXT_buffer_device_address`
374 ### Code Structure and Relationship to the Core Validation Layer
376 The GPU-Assisted Validation code is largely contained in one
378 the other validation code that call functions in this file.
379 These hooks in the validation code look something like this:
387 The GPU-Assisted Validation code is linked into the shared library for the khronos and core validat…
389 #### Review of Khronos Validation Code Structure
391 Each function for a Vulkan API command intercepted in the khronos validation layer is usually split…
395 * PreCallValidate<foo>: Perform validation steps before calling down the chain
396 * PostCallValidate<foo>: Perform validation steps after calling down the chain
400 The GPU-Assisted Validation functions follow this pattern not by hooking into the top-level validat…
529 The current shader module tracker in the validation code stores the bytecode,
605 This description includes the support for future GPU-Assisted Validation features
624 … is the uint32_t words written by the shaders of the pipeline to record bindless validation errors.
648 <Validation-Specific Words>
677 These are words that identify which "instance" of the shader the validation error occurred in.
696 ### Validation-Specific Words
698 These are words that are specific to the validation being done.
699 For bindless validation, they are variable.
727 The validation layer can continue to read valid records until it sees a Record Length of 0 or the e…
737 ## GPU-Assisted Validation Error Report
749 The layer then prepares a "common" validation error message containing:
768 validation-specific data as described earlier.
774 This is one of the more complicated and code-heavy parts of the GPU-Assisted Validation feature
796 This information is added to the validation error message.
815 then added to the validation error message.
870 ## GPU-Assisted Validation Testing
872 Validation Layer Tests (VLTs) exist for GPU-Assisted Validation.
878 They activate GPU-Assisted Validation via the programmatic