@@ -368,8 +368,6 @@ bool CoreChecks::ValidateBuiltInLimits(const spirv::Module& module_state, const
368368 uint32_t clip_distance_total = 0 ;
369369 uint32_t cull_distance_total = 0 ;
370370
371- // ... so apperently Vulkan 1.0 (and like 2% of random devices don't support clip/cull somehow)
372- // Not sure if we should really be validating these yet
373371 // https://gitlab.khronos.org/vulkan/vulkan/-/work_items/4965
374372 const bool skip_clip_cull = phys_dev_props.limits .maxClipDistances == 0 || phys_dev_props.limits .maxCullDistances == 0 ||
375373 phys_dev_props.limits .maxCombinedClipAndCullDistances == 0 ;
@@ -404,9 +402,7 @@ bool CoreChecks::ValidateBuiltInLimits(const spirv::Module& module_state, const
404402 const uint32_t array_size = module_state.GetFlattenArraySize (*variable->type_struct_info ->members [i].insn );
405403 clip_distance_total += array_size;
406404 if (array_size > phys_dev_props.limits .maxClipDistances ) {
407- const char * vuid = pipeline ? " VUID-VkPipelineShaderStageCreateInfo-maxClipDistances-00708"
408- : " VUID-VkShaderCreateInfoEXT-pCode-08448" ;
409- skip |= LogError (vuid, module_state.handle (), loc,
405+ skip |= LogError (" VUID-RuntimeSpirv-maxClipDistances-00708" , module_state.handle (), loc,
410406 " shader %s ClipDistance BuiltIn array size is %" PRIu32
411407 " which exceeds maxClipDistances of %" PRIu32 " ." ,
412408 entrypoint.Describe ().c_str (), array_size, phys_dev_props.limits .maxClipDistances );
@@ -415,9 +411,7 @@ bool CoreChecks::ValidateBuiltInLimits(const spirv::Module& module_state, const
415411 const uint32_t array_size = module_state.GetFlattenArraySize (*variable->type_struct_info ->members [i].insn );
416412 cull_distance_total += array_size;
417413 if (array_size > phys_dev_props.limits .maxCullDistances ) {
418- const char * vuid = pipeline ? " VUID-VkPipelineShaderStageCreateInfo-maxCullDistances-00709"
419- : " VUID-VkShaderCreateInfoEXT-pCode-08449" ;
420- skip |= LogError (vuid, module_state.handle (), loc,
414+ skip |= LogError (" VUID-RuntimeSpirv-maxCullDistances-00709" , module_state.handle (), loc,
421415 " shader %s CullDistance BuiltIn array size is %" PRIu32
422416 " which exceeds maxCullDistances of %" PRIu32 " ." ,
423417 entrypoint.Describe ().c_str (), array_size, phys_dev_props.limits .maxCullDistances );
@@ -427,19 +421,15 @@ bool CoreChecks::ValidateBuiltInLimits(const spirv::Module& module_state, const
427421 } else if (variable->decorations .built_in == spv::BuiltInClipDistance) {
428422 clip_distance_total += variable->array_size ;
429423 if (variable->array_size > phys_dev_props.limits .maxClipDistances ) {
430- const char * vuid = pipeline ? " VUID-VkPipelineShaderStageCreateInfo-maxClipDistances-00708"
431- : " VUID-VkShaderCreateInfoEXT-pCode-08448" ;
432- skip |= LogError (vuid, module_state.handle (), loc,
424+ skip |= LogError (" VUID-RuntimeSpirv-maxClipDistances-00708" , module_state.handle (), loc,
433425 " shader %s ClipDistance BuiltIn array size is %" PRIu32
434426 " which exceeds maxClipDistances of %" PRIu32 " ." ,
435427 entrypoint.Describe ().c_str (), variable->array_size , phys_dev_props.limits .maxClipDistances );
436428 }
437429 } else if (variable->decorations .built_in == spv::BuiltInCullDistance) {
438430 cull_distance_total += variable->array_size ;
439431 if (variable->array_size > phys_dev_props.limits .maxCullDistances ) {
440- const char * vuid = pipeline ? " VUID-VkPipelineShaderStageCreateInfo-maxCullDistances-00709"
441- : " VUID-VkShaderCreateInfoEXT-pCode-08449" ;
442- skip |= LogError (vuid, module_state.handle (), loc,
432+ skip |= LogError (" VUID-RuntimeSpirv-maxCullDistances-00709" , module_state.handle (), loc,
443433 " shader %s CullDistance BuiltIn array size is %" PRIu32
444434 " which exceeds maxCullDistances of %" PRIu32 " ." ,
445435 entrypoint.Describe ().c_str (), variable->array_size , phys_dev_props.limits .maxCullDistances );
@@ -448,9 +438,7 @@ bool CoreChecks::ValidateBuiltInLimits(const spirv::Module& module_state, const
448438 }
449439
450440 if (!skip_clip_cull && (clip_distance_total + cull_distance_total) > phys_dev_props.limits .maxCombinedClipAndCullDistances ) {
451- const char * vuid = pipeline ? " VUID-VkPipelineShaderStageCreateInfo-maxCombinedClipAndCullDistances-00710"
452- : " VUID-VkShaderCreateInfoEXT-pCode-08450" ;
453- skip |= LogError (vuid, module_state.handle (), loc,
441+ skip |= LogError (" VUID-RuntimeSpirv-maxCombinedClipAndCullDistances-00710" , module_state.handle (), loc,
454442 " shader %s has a ClipDistance BuiltIn array size of %" PRIu32
455443 " and a CullDistance BuiltIn array size of %" PRIu32 " which sum to %" PRIu32
456444 " and exceed maxCombinedClipAndCullDistances of %" PRIu32 " ." ,
0 commit comments