KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Windows NVIDIA 595.79 exemptions
- Dominant language
- C++
- Stars
- 1k
- Forks
- 504
- Avg merge
- 11h 35m
- Merged PRs (30d)
- 224
Description
The following test exemptions are made when running with the **Windows NVIDIA 595.79** driver, because these tests either crash or fail when run against the driver:
- `PositiveShader64BitIndexing.UntypedPointerLength64`
- `NegativeVideoEncode.RateControlStateMismatchNotDefault`
- `NegativeVideoEncode.RateControlStateMismatch`
- `PositiveVideoEncode.RateControlVirtualBufferSize`
- `NegativeVideoEncodeH264.RateControlConstantQpNonZero`
- `NegativeVideoEncodeH264.RateControlInvalidCodecInfo`
- `PositiveVideoEncodeH264.Basic`
- `NegativeVideoEncodeH265.RateControlConstantQpNonZero`
- `NegativeVideoEncodeH265.RateControlInvalidCodecInfo`
- `PositiveVideoEncodeH265.Basic`
- `PositiveVideoEncodeH265.RateControlLayerCount`
- `NegativeVideoEncodeIntraRefresh.PerPicturePartitionNonRectTooManySlicesH264`
- `NegativeVideoEncodeIntraRefresh.PerPicturePartitionNonRectTooManySliceSegmentsH265`
- `PositiveVideoEncodeIntraRefresh.PerPicturePartitionH265`
- `PositiveVideoEncodeIntraRefresh.EncodeCapsDifferentSliceTypesH265`
- `PositiveVideoEncodeQuantizationMap.QuantDeltaMap`
With these exemptions, the driver has been shown to behave mostly reliably, passing on 39 out of 40 runs.
One run provoked a `STATUS_STACK_BUFFER_OVERRUN` in `PositiveDescriptorHeap.PushData`. The stack trace is available below, should it be of interest.
PositiveDescriptorHeap.PushData stack trace
```
20260318-001112|ERROR |VulkanValidationLayers:699|return code 3221226505 (0xc0000409=STATUS_STACK_BUFFER_OVERRUN) - details on failing tests follow
20260318-001112|ERROR |executeresults:215|----stack trace----------------------------------------------
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(23ac.358c): Security check failure or stack buffer overrun - code c0000409 (first/second chance not available)
For analysis of this file, run !analyze -v
ucrtbase!abort+0x4e:
00007ffd`3852286e cd29 int 29h
0:000> kP;q
Child-SP RetAddr Call Site
00000038`df14c150 00007ffd`38521f9f ucrtbase!abort+0x4e
*** WARNING: Unable to verify checksum for vk_layer_validation_tests.exe
00000038`df14c180 00007ff6`d01a11fa ucrtbase!terminate+0x1f
00000038`df14c1b0 00007ffd`37d4c507 vk_layer_validation_tests!__scrt_unhandled_exception_filter(
struct _EXCEPTION_POINTERS * pointers = 0x00000038`df14c370)+0x5a
00000038`df14c1e0 00007ffd`3a6358d8 KERNELBASE!UnhandledExceptionFilter+0x1e7
00000038`df14c300 00007ffd`3a61ce46 ntdll!RtlUserThreadStart$filt$0+0xa2
00000038`df14c340 00007ffd`3a63296f ntdll!_C_specific_handler+0x96
00000038`df14c3b0 00007ffd`3a5e2554 ntdll!RtlpExecuteHandlerForException+0xf
00000038`df14c3e0 00007ffd`3a5e22a7 ntdll!RtlDispatchException+0x244
00000038`df14caf0 00007ffd`37c45369 ntdll!RtlRaiseException+0x1d7
00000038`df14d360 00007ffd`191f52c7 KERNELBASE!RaiseException+0x69
00000038`df14d440 00007ff6`cff78713 VCRUNTIME140!_CxxThrowException(
void * pExceptionObject = 0x00000038`df14d4d0,
struct _s__ThrowInfo * pThrowInfo = )+0x97
00000038`df14d4a0 00007ff6`d018c081 vk_layer_validation_tests!ThrowListener::OnTestPartResult(
class testing::TestPartResult * result = 0x00000038`df14d5c0)+0x63
00000038`df14d500 00007ff6`d017a4c8 vk_layer_validation_tests!testing::internal::TestEventRepeater::OnTestPartResult+0x41
00000038`df14d530 00007ff6`d01791cc vk_layer_validation_tests!testing::UnitTest::AddTestPartResult+0x3c8
00000038`df14d680 00007ff6`cff8b8ae vk_layer_validation_tests!testing::internal::AssertHelper::operator=+0xbc
00000038`df14d710 00007ff6`cff8b624 vk_layer_validation_tests!vkt::Device::Init(
struct VkDeviceCreateInfo * info = 0x00000038`df14d810)+0x14e
00000038`df14d7c0 00007ff6`cf41b745 vk_layer_validation_tests!vkt::Device::Init(
class std::vector > * extensions = 0x00000237`ec7616d8,
struct VkPhysicalDeviceFeatures * features = ,
void * create_device_pnext = 0x00000237`ec761390,
bool all_queue_count = false)+0x3e4
00000038`df14daf0 00007ff6`cff7c868 vk_layer_validation_tests!vkt::Device::Device(
struct VkPhysicalDevice_T * phy = ,
class std::vector > * extension_names = 0x00000237`ec7616d8,
struct VkPhysicalDeviceFeatures * features = 0x00000000`00000000,
void * create_device_pnext = 0x00000237`ec761390,
bool all_queue_count = false)+0xa5
00000038`df14db30 00007ff6`cf52d049 vk_layer_validation_tests!VkRenderFramework::InitState(
struct VkPhysicalDeviceFeatures * features = 0x00000000`00000000,
void * create_device_pnext = 0x00000237`ec761390,
unsigned int flags = 2)+0x478
(Inline Function) --------`-------- vk_layer_validation_tests!VkLayerTest::Init+0x26
00000038`df14dc00 00007ff6`cf5594c3 vk_layer_validation_tests!DescriptorHeapTest::InitBasicDescriptorHeap(void)+0xb9
00000038`df14dfa0 00007ff6`d0171cff vk_layer_validation_tests!PositiveDescriptorHeap_PushData_Test::TestBody(void)+0xe3
00000038`df14e4d0 00007ff6`d019a776 vk_layer_validation_tests!testing::internal::HandleExceptionsInMethodIfSupported+0x4f
00000038`df14e550 00007ff6`d019ab76 vk_layer_validation_tests!testing::TestInfo::Run+0x1e6
00000038`df14e590 00007ff6`d019b6a3 vk_layer_validation_tests!testing::TestSuite::Run+0x2d6
00000038`df14f620 00007ff6`d0171de3 vk_layer_validation_tests!testing::internal::UnitTestImpl::RunAllTests+0x6f3
00000038`df14f6c0 00007ff6`d019ae7a vk_layer_validation_tests!testing::internal::HandleExceptionsInMethodIfSupported+0x53
00000038`df14f740 00007ff6`cff78826 vk_layer_validation_tests!testing::UnitTest::Run+0x14a
(Inline Function) --------`-------- vk_layer_validation_tests!RUN_ALL_TESTS+0xd
00000038`df14f7a0 00007ff6`d01a07a0 vk_layer_validation_tests!main(
int argc = 0n1,
char ** argv = )+0x86
(Inline Function) --------`-------- vk_layer_validation_tests!invoke_main+0x22
00000038`df14f7d0 00007ffd`39e87374 vk_layer_validation_tests!__scrt_common_main_seh(void)+0x10c
00000038`df14f810 00007ffd`3a5dcc91 kernel32!BaseThreadInitThunk+0x14
00000038`df14f840 00000000`00000000 ntdll!RtlUserThreadStart+0x21
20260318-001112|ERROR |executeresults:217|-------------------------------------------------------------
20260318-001112|ERROR |gtestutils:294|vvl: CRASH - test PositiveDescriptorHeap.PushData never completed
------------------------------------------------------------
[ RUN ] PositiveDescriptorHeap.PushData
C:\Users\LunarG.TCWINNVI2\work\KhronosGroup\Vulkan-ValidationLayers\tests\framework\binding.cpp(291): error: Expected equality of these values:
VK_SUCCESS
vk::CreateDevice(physical_device_, &info, nullptr, &dev)
Which is: VK_ERROR_INITIALIZATION_FAILED
------------------------------------------------------------
```
Contributor guide
Research direction
Start by reviewing the listed test exemptions and the PositiveDescriptorHeap.PushData failure, especially tests/framework/binding.cpp at line 291. Reproduce the affected tests with the Windows NVIDIA 595.79 driver and compare the VK_ERROR_INITIALIZATION_FAILED and STATUS_STACK_BUFFER_OVERRUN results. Done means the driver-specific failures are understood and the required test handling is clearly identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100