kondrak / vkQuake2

id Software's Quake 2 v3.21 with mission packs and Vulkan support (Windows, Linux, macOS, FreeBSD, Raspberry Pi 4)
GNU General Public License v2.0
899 stars 89 forks source link

[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3) #85

Closed rgosens2 closed 4 years ago

rgosens2 commented 4 years ago

When running on macOS Sierra we get this error. Could this be caused by clang not being the latest version (max version on Sierra is 9.0.0)? Is there a way to pre-compile the shader library with a later version of clang?

[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3): Compilation failed:

:47:42: error: no matching conversion for functional-style cast from 'void' to 'spvUnsafeArray' constant spvUnsafeArray _20 = spvUnsafeArray({ float4(-1.0, -1.0, 0.0, 1.0), float4(3.0, -1.0, 0.0, 1.0), float4(-1.0, 3.0, 0.0, 1.0) }); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kondrak commented 4 years ago

With the shaders supplied with vkQuake2 there should be no problem to run and compile things on Sierra (this was the initial test system for MacOS). Are you modifying shaders by any chance? You might have as well ran into a Metal limitation not quite related to clang itself.

rgosens2 commented 4 years ago

No modifcation to the code. Build (on Sierra) works fine (debug and release), running (on Sierra) gives this error. No errors when running on Catalina.

kondrak commented 4 years ago

What's the HW setup on that machine? Is it also the latest Vulkan SDK? Have you tried recompiling the shaders (run the shaders.sh script) with that particular SDK? Can't think of a reason right now why you'd get this error other than some Metal limitation native to that particular machine (or a change in SDK 1.2.x but that should not be the case). Also, seeing vulkaninfo output could help here too.

rgosens2 commented 4 years ago

========== VULKANINFO

Vulkan Instance Version: 1.2.131

Instance Extensions: count = 9

VK_EXT_debug_report                    : extension revision 9
VK_EXT_debug_utils                     : extension revision 1
VK_EXT_metal_surface                   : extension revision 1
VK_EXT_swapchain_colorspace            : extension revision 4
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_MVK_macos_surface                   : extension revision 2

Layers: count = 3

VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.2.131, layer version 1: Layer Extensions: count = 3 VK_EXT_debug_report : extension revision 9 VK_EXT_debug_utils : extension revision 1 VK_EXT_validation_features : extension revision 2 Devices: count = 1 GPU id : 0 (Intel(R) Iris(TM) Graphics 6000) Layer-Device Extensions: count = 3 VK_EXT_debug_marker : extension revision 4 VK_EXT_tooling_info : extension revision 1 VK_EXT_validation_cache : extension revision 1

VK_LAYER_LUNARG_api_dump (LunarG API dump layer) Vulkan version 1.2.131, layer version 2: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (Intel(R) Iris(TM) Graphics 6000) Layer-Device Extensions: count = 0

VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation) Vulkan version 1.2.131, layer version 1: Layer Extensions: count = 3 VK_EXT_debug_report : extension revision 9 VK_EXT_debug_utils : extension revision 1 VK_EXT_validation_features : extension revision 2 Devices: count = 1 GPU id : 0 (Intel(R) Iris(TM) Graphics 6000) Layer-Device Extensions: count = 3 VK_EXT_debug_marker : extension revision 4 VK_EXT_tooling_info : extension revision 1 VK_EXT_validation_cache : extension revision 1

Presentable Surfaces:

GPU id : 0 (Intel(R) Iris(TM) Graphics 6000): Surface types: count = 1 VK_MVK_macos_surface Formats: count = 24 SurfaceFormat[0]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[1]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[2]: format = FORMAT_R16G16B16A16_SFLOAT colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[3]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT SurfaceFormat[4]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT SurfaceFormat[5]: format = FORMAT_R16G16B16A16_SFLOAT colorSpace = COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT SurfaceFormat[6]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_DCI_P3_NONLINEAR_EXT SurfaceFormat[7]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_DCI_P3_NONLINEAR_EXT SurfaceFormat[8]: format = FORMAT_R16G16B16A16_SFLOAT colorSpace = COLOR_SPACE_DCI_P3_NONLINEAR_EXT SurfaceFormat[9]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT SurfaceFormat[10]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT SurfaceFormat[11]: format = FORMAT_R16G16B16A16_SFLOAT colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT SurfaceFormat[12]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_ADOBERGB_NONLINEAR_EXT SurfaceFormat[13]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_ADOBERGB_NONLINEAR_EXT SurfaceFormat[14]: format = FORMAT_R16G16B16A16_SFLOAT colorSpace = COLOR_SPACE_ADOBERGB_NONLINEAR_EXT SurfaceFormat[15]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_PASS_THROUGH_EXT SurfaceFormat[16]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_PASS_THROUGH_EXT SurfaceFormat[17]: format = FORMAT_R16G16B16A16_SFLOAT colorSpace = COLOR_SPACE_PASS_THROUGH_EXT SurfaceFormat[18]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT SurfaceFormat[19]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT SurfaceFormat[20]: format = FORMAT_R16G16B16A16_SFLOAT colorSpace = COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT SurfaceFormat[21]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT SurfaceFormat[22]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT SurfaceFormat[23]: format = FORMAT_R16G16B16A16_SFLOAT colorSpace = COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT Present Modes: count = 1 PRESENT_MODE_FIFO_KHR VkSurfaceCapabilitiesKHR:

    minImageCount       = 2
    maxImageCount       = 3
    currentExtent:
        width  = 256
        height = 256
    minImageExtent:
        width  = 256
        height = 256
    maxImageExtent:
        width  = 256
        height = 256
    maxImageArrayLayers = 1
    supportedTransforms:
        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    currentTransform:
        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    supportedCompositeAlpha:
        COMPOSITE_ALPHA_OPAQUE_BIT_KHR
        COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR
        COMPOSITE_ALPHA_INHERIT_BIT_KHR
    supportedUsageFlags:
        IMAGE_USAGE_TRANSFER_SRC_BIT
        IMAGE_USAGE_TRANSFER_DST_BIT
        IMAGE_USAGE_SAMPLED_BIT
        IMAGE_USAGE_STORAGE_BIT
        IMAGE_USAGE_COLOR_ATTACHMENT_BIT
VkSurfaceCapabilities2EXT:
--------------------------
    supportedSurfaceCounters:
        None

GPU id : 0 (Intel(R) Iris(TM) Graphics 6000):

Surface types: count = 1
    VK_EXT_metal_surface
Formats: count = 24
    SurfaceFormat[0]:
        format = FORMAT_B8G8R8A8_UNORM
        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
    SurfaceFormat[1]:
        format = FORMAT_B8G8R8A8_SRGB
        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
    SurfaceFormat[2]:
        format = FORMAT_R16G16B16A16_SFLOAT
        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
    SurfaceFormat[3]:
        format = FORMAT_B8G8R8A8_UNORM
        colorSpace = COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT
    SurfaceFormat[4]:
        format = FORMAT_B8G8R8A8_SRGB
        colorSpace = COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT
    SurfaceFormat[5]:
        format = FORMAT_R16G16B16A16_SFLOAT
        colorSpace = COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT
    SurfaceFormat[6]:
        format = FORMAT_B8G8R8A8_UNORM
        colorSpace = COLOR_SPACE_DCI_P3_NONLINEAR_EXT
    SurfaceFormat[7]:
        format = FORMAT_B8G8R8A8_SRGB
        colorSpace = COLOR_SPACE_DCI_P3_NONLINEAR_EXT
    SurfaceFormat[8]:
        format = FORMAT_R16G16B16A16_SFLOAT
        colorSpace = COLOR_SPACE_DCI_P3_NONLINEAR_EXT
    SurfaceFormat[9]:
        format = FORMAT_B8G8R8A8_UNORM
        colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT
    SurfaceFormat[10]:
        format = FORMAT_B8G8R8A8_SRGB
        colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT
    SurfaceFormat[11]:
        format = FORMAT_R16G16B16A16_SFLOAT
        colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT
    SurfaceFormat[12]:
        format = FORMAT_B8G8R8A8_UNORM
        colorSpace = COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
    SurfaceFormat[13]:
        format = FORMAT_B8G8R8A8_SRGB
        colorSpace = COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
    SurfaceFormat[14]:
        format = FORMAT_R16G16B16A16_SFLOAT
        colorSpace = COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
    SurfaceFormat[15]:
        format = FORMAT_B8G8R8A8_UNORM
        colorSpace = COLOR_SPACE_PASS_THROUGH_EXT
    SurfaceFormat[16]:
        format = FORMAT_B8G8R8A8_SRGB
        colorSpace = COLOR_SPACE_PASS_THROUGH_EXT
    SurfaceFormat[17]:
        format = FORMAT_R16G16B16A16_SFLOAT
        colorSpace = COLOR_SPACE_PASS_THROUGH_EXT
    SurfaceFormat[18]:
        format = FORMAT_B8G8R8A8_UNORM
        colorSpace = COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
    SurfaceFormat[19]:
        format = FORMAT_B8G8R8A8_SRGB
        colorSpace = COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
    SurfaceFormat[20]:
        format = FORMAT_R16G16B16A16_SFLOAT
        colorSpace = COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
    SurfaceFormat[21]:
        format = FORMAT_B8G8R8A8_UNORM
        colorSpace = COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
    SurfaceFormat[22]:
        format = FORMAT_B8G8R8A8_SRGB
        colorSpace = COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
    SurfaceFormat[23]:
        format = FORMAT_R16G16B16A16_SFLOAT
        colorSpace = COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
Present Modes: count = 1
    PRESENT_MODE_FIFO_KHR
VkSurfaceCapabilitiesKHR:
-------------------------
    minImageCount       = 2
    maxImageCount       = 3
    currentExtent:
        width  = 256
        height = 256
    minImageExtent:
        width  = 256
        height = 256
    maxImageExtent:
        width  = 256
        height = 256
    maxImageArrayLayers = 1
    supportedTransforms:
        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    currentTransform:
        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
    supportedCompositeAlpha:
        COMPOSITE_ALPHA_OPAQUE_BIT_KHR
        COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR
        COMPOSITE_ALPHA_INHERIT_BIT_KHR
    supportedUsageFlags:
        IMAGE_USAGE_TRANSFER_SRC_BIT
        IMAGE_USAGE_TRANSFER_DST_BIT
        IMAGE_USAGE_SAMPLED_BIT
        IMAGE_USAGE_STORAGE_BIT
        IMAGE_USAGE_COLOR_ATTACHMENT_BIT
VkSurfaceCapabilities2EXT:
--------------------------
    supportedSurfaceCounters:
        VK_SURFACE_COUNTER_VBLANK_EXT

Groups:

Device Group Properties (Group 0):
----------------------------------
    physicalDeviceCount: count = 1
        Intel(R) Iris(TM) Graphics 6000 (ID: 0)
    subsetAllocation = 0

Device Group Present Capabilities (Group 0):
    Intel(R) Iris(TM) Graphics 6000 (ID: 0)
    Can present images from the following devices:
        Intel(R) Iris(TM) Graphics 6000 (ID: 0)
    Present modes:
        DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR

Device Properties and Extensions:

GPU0: VkPhysicalDeviceProperties:

apiVersion     = 4194435 (1.0.131)
driverVersion  = 10040 (0x2738)
vendorID       = 0x0000
deviceID       = 0x0000
deviceType     = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName     = Intel(R) Iris(TM) Graphics 6000

VkPhysicalDeviceLimits:

maxImageDimension1D                             = 16384
maxImageDimension2D                             = 16384
maxImageDimension3D                             = 2048
maxImageDimensionCube                           = 16384
maxImageArrayLayers                             = 2048
maxTexelBufferElements                          = 67108864
maxUniformBufferRange                           = 65536
maxStorageBufferRange                           = 1073741824
maxPushConstantsSize                            = 4096
maxMemoryAllocationCount                        = 1073741823
maxSamplerAllocationCount                       = 1073741823
bufferImageGranularity                          = 0x00000100
sparseAddressSpaceSize                          = 0x00000000
maxBoundDescriptorSets                          = 1073741823
maxPerStageDescriptorSamplers                   = 16
maxPerStageDescriptorUniformBuffers             = 31
maxPerStageDescriptorStorageBuffers             = 31
maxPerStageDescriptorSampledImages              = 128
maxPerStageDescriptorStorageImages              = 128
maxPerStageDescriptorInputAttachments           = 128
maxPerStageResources                            = 159
maxDescriptorSetSamplers                        = 64
maxDescriptorSetUniformBuffers                  = 124
maxDescriptorSetUniformBuffersDynamic           = 124
maxDescriptorSetStorageBuffers                  = 124
maxDescriptorSetStorageBuffersDynamic           = 124
maxDescriptorSetSampledImages                   = 512
maxDescriptorSetStorageImages                   = 512
maxDescriptorSetInputAttachments                = 512
maxVertexInputAttributes                        = 31
maxVertexInputBindings                          = 31
maxVertexInputAttributeOffset                   = 4096
maxVertexInputBindingStride                     = 4095
maxVertexOutputComponents                       = 128
maxTessellationGenerationLevel                  = 64
maxTessellationPatchSize                        = 32
maxTessellationControlPerVertexInputComponents  = 128
maxTessellationControlPerVertexOutputComponents = 128
maxTessellationControlPerPatchOutputComponents  = 120
maxTessellationControlTotalOutputComponents     = 4216
maxTessellationEvaluationInputComponents        = 128
maxTessellationEvaluationOutputComponents       = 128
maxGeometryShaderInvocations                    = 0
maxGeometryInputComponents                      = 0
maxGeometryOutputComponents                     = 0
maxGeometryOutputVertices                       = 0
maxGeometryTotalOutputComponents                = 0
maxFragmentInputComponents                      = 128
maxFragmentOutputAttachments                    = 8
maxFragmentDualSrcAttachments                   = 1
maxFragmentCombinedOutputResources              = 159
maxComputeSharedMemorySize                      = 32768
maxComputeWorkGroupCount: count = 3
    1073741823
    1073741823
    1073741823
maxComputeWorkGroupInvocations                  = 256
maxComputeWorkGroupSize: count = 3
    256
    256
    256
subPixelPrecisionBits                           = 4
subTexelPrecisionBits                           = 4
mipmapPrecisionBits                             = 4
maxDrawIndexedIndexValue                        = 4294967295
maxDrawIndirectCount                            = 1073741823
maxSamplerLodBias                               = 2
maxSamplerAnisotropy                            = 16
maxViewports                                    = 1
maxViewportDimensions: count = 2
    16384
    16384
viewportBoundsRange: count = 2
    -32768
    32767
viewportSubPixelBits                            = 0
minMemoryMapAlignment                           = 256
minTexelBufferOffsetAlignment                   = 0x00000100
minUniformBufferOffsetAlignment                 = 0x00000100
minStorageBufferOffsetAlignment                 = 0x00000004
minTexelOffset                                  = -8
maxTexelOffset                                  = 7
minTexelGatherOffset                            = -8
maxTexelGatherOffset                            = 7
minInterpolationOffset                          = -0.5
maxInterpolationOffset                          = 0.5
subPixelInterpolationOffsetBits                 = 4
maxFramebufferWidth                             = 16384
maxFramebufferHeight                            = 16384
maxFramebufferLayers                            = 256
framebufferColorSampleCounts:
    SAMPLE_COUNT_1_BIT
    SAMPLE_COUNT_2_BIT
    SAMPLE_COUNT_4_BIT
    SAMPLE_COUNT_8_BIT
framebufferDepthSampleCounts:
    SAMPLE_COUNT_1_BIT
    SAMPLE_COUNT_2_BIT
    SAMPLE_COUNT_4_BIT
    SAMPLE_COUNT_8_BIT
framebufferStencilSampleCounts:
    SAMPLE_COUNT_1_BIT
    SAMPLE_COUNT_2_BIT
    SAMPLE_COUNT_4_BIT
    SAMPLE_COUNT_8_BIT
framebufferNoAttachmentsSampleCounts:
    SAMPLE_COUNT_1_BIT
    SAMPLE_COUNT_2_BIT
    SAMPLE_COUNT_4_BIT
    SAMPLE_COUNT_8_BIT
maxColorAttachments                             = 8
sampledImageColorSampleCounts:
    SAMPLE_COUNT_1_BIT
    SAMPLE_COUNT_2_BIT
    SAMPLE_COUNT_4_BIT
    SAMPLE_COUNT_8_BIT
sampledImageIntegerSampleCounts:
    SAMPLE_COUNT_1_BIT
    SAMPLE_COUNT_2_BIT
    SAMPLE_COUNT_4_BIT
    SAMPLE_COUNT_8_BIT
sampledImageDepthSampleCounts:
    SAMPLE_COUNT_1_BIT
    SAMPLE_COUNT_2_BIT
    SAMPLE_COUNT_4_BIT
    SAMPLE_COUNT_8_BIT
sampledImageStencilSampleCounts:
    SAMPLE_COUNT_1_BIT
    SAMPLE_COUNT_2_BIT
    SAMPLE_COUNT_4_BIT
    SAMPLE_COUNT_8_BIT
storageImageSampleCounts:
    SAMPLE_COUNT_1_BIT
maxSampleMaskWords                              = 1
timestampComputeAndGraphics                     = true
timestampPeriod                                 = 1
maxClipDistances                                = 1073741823
maxCullDistances                                = 0
maxCombinedClipAndCullDistances                 = 1073741823
discreteQueuePriorities                         = 2
pointSizeRange: count = 2
    1
    511
lineWidthRange: count = 2
    1
    1
pointSizeGranularity                            = 1
lineWidthGranularity                            = 1
strictLines                                     = false
standardSampleLocations                         = true
optimalBufferCopyOffsetAlignment                = 0x00000100
optimalBufferCopyRowPitchAlignment              = 0x00000001
nonCoherentAtomSize                             = 0x00000100

VkPhysicalDeviceSparseProperties:

residencyStandard2DBlockShape            = false
residencyStandard2DMultisampleBlockShape = false
residencyStandard3DBlockShape            = false
residencyAlignedMipSize                  = false
residencyNonResidentStrict               = false

VkPhysicalDeviceInlineUniformBlockPropertiesEXT:

maxInlineUniformBlockSize                               = 0
maxPerStageDescriptorInlineUniformBlocks                = 0
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 0
maxDescriptorSetInlineUniformBlocks                     = 0
maxDescriptorSetUpdateAfterBindInlineUniformBlocks      = 0

VkPhysicalDeviceMaintenance3PropertiesKHR:

maxPerSetDescriptors    = 700
maxMemoryAllocationSize = 0x40000000

VkPhysicalDevicePointClippingPropertiesKHR:

pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES

VkPhysicalDevicePushDescriptorPropertiesKHR:

maxPushDescriptors = 159

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:

maxVertexAttribDivisor = 1073741823

Device Extensions: count = 32

VK_AMD_gpu_shader_half_float          : extension revision 2
VK_AMD_negative_viewport_height       : extension revision 1
VK_EXTX_portability_subset            : extension revision 1
VK_EXT_debug_marker                   : extension revision 4
VK_EXT_host_query_reset               : extension revision 1
VK_EXT_inline_uniform_block           : extension revision 1
VK_EXT_scalar_block_layout            : extension revision 1
VK_EXT_shader_viewport_index_layer    : extension revision 1
VK_EXT_vertex_attribute_divisor       : extension revision 3
VK_INTEL_shader_integer_functions2    : extension revision 1
VK_KHR_16bit_storage                  : extension revision 1
VK_KHR_8bit_storage                   : extension revision 1
VK_KHR_bind_memory2                   : extension revision 1
VK_KHR_dedicated_allocation           : extension revision 3
VK_KHR_descriptor_update_template     : extension revision 1
VK_KHR_device_group                   : extension revision 4
VK_KHR_get_memory_requirements2       : extension revision 1
VK_KHR_image_format_list              : extension revision 1
VK_KHR_maintenance1                   : extension revision 2
VK_KHR_maintenance2                   : extension revision 1
VK_KHR_maintenance3                   : extension revision 1
VK_KHR_push_descriptor                : extension revision 2
VK_KHR_relaxed_block_layout           : extension revision 1
VK_KHR_sampler_mirror_clamp_to_edge   : extension revision 3
VK_KHR_shader_draw_parameters         : extension revision 1
VK_KHR_shader_float16_int8            : extension revision 1
VK_KHR_storage_buffer_storage_class   : extension revision 1
VK_KHR_swapchain                      : extension revision 70
VK_KHR_swapchain_mutable_format       : extension revision 1
VK_KHR_uniform_buffer_standard_layout : extension revision 1
VK_KHR_variable_pointers              : extension revision 1
VK_NV_glsl_shader                     : extension revision 1

VkQueueFamilyProperties:

queueProperties[0]:
------------------
    minImageTransferGranularity = (1,1,1)
    queueCount                  = 1
    queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER
    timestampValidBits          = 64
    present support:
        VK_MVK_macos_surface = true
        VK_EXT_metal_surface = true

queueProperties[1]:
------------------
    minImageTransferGranularity = (1,1,1)
    queueCount                  = 1
    queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER
    timestampValidBits          = 64
    present support:
        VK_MVK_macos_surface = true
        VK_EXT_metal_surface = true

queueProperties[2]:
------------------
    minImageTransferGranularity = (1,1,1)
    queueCount                  = 1
    queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER
    timestampValidBits          = 64
    present support:
        VK_MVK_macos_surface = true
        VK_EXT_metal_surface = true

queueProperties[3]:
------------------
    minImageTransferGranularity = (1,1,1)
    queueCount                  = 1
    queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER
    timestampValidBits          = 64
    present support:
        VK_MVK_macos_surface = true
        VK_EXT_metal_surface = true

VkPhysicalDeviceMemoryProperties:

memoryHeaps: count = 2 memoryHeaps[0]: size = 1610612736 (0x60000000) (1.50 GiB) budget = 0 usage = 0 flags: MEMORY_HEAP_DEVICE_LOCAL_BIT memoryHeaps[1]: size = 8589934592 (0x200000000) (8.00 GiB) budget = 0 usage = 0 flags: None memoryTypes: count = 3 memoryTypes[0]: heapIndex = 0 propertyFlags = 0x0001: MEMORY_PROPERTY_DEVICE_LOCAL_BIT usable for: IMAGE_TILING_OPTIMAL: color images, FORMAT_D16_UNORM, FORMAT_D32_SFLOAT, FORMAT_S8_UINT, FORMAT_D32_SFLOAT_S8_UINT IMAGE_TILING_LINEAR: None memoryTypes[1]: heapIndex = 1 propertyFlags = 0x0006: MEMORY_PROPERTY_HOST_VISIBLE_BIT MEMORY_PROPERTY_HOST_COHERENT_BIT usable for: IMAGE_TILING_OPTIMAL: None IMAGE_TILING_LINEAR: None memoryTypes[2]: heapIndex = 0 propertyFlags = 0x000b: MEMORY_PROPERTY_DEVICE_LOCAL_BIT MEMORY_PROPERTY_HOST_VISIBLE_BIT MEMORY_PROPERTY_HOST_CACHED_BIT usable for: IMAGE_TILING_OPTIMAL: color images IMAGE_TILING_LINEAR: None

VkPhysicalDeviceFeatures:

robustBufferAccess                      = true
fullDrawIndexUint32                     = true
imageCubeArray                          = true
independentBlend                        = true
geometryShader                          = false
tessellationShader                      = true
sampleRateShading                       = true
dualSrcBlend                            = true
logicOp                                 = false
multiDrawIndirect                       = true
drawIndirectFirstInstance               = true
depthClamp                              = true
depthBiasClamp                          = true
fillModeNonSolid                        = true
depthBounds                             = false
wideLines                               = false
largePoints                             = true
alphaToOne                              = true
multiViewport                           = false
samplerAnisotropy                       = true
textureCompressionETC2                  = false
textureCompressionASTC_LDR              = false
textureCompressionBC                    = true
occlusionQueryPrecise                   = true
pipelineStatisticsQuery                 = false
vertexPipelineStoresAndAtomics          = true
fragmentStoresAndAtomics                = true
shaderTessellationAndGeometryPointSize  = true
shaderImageGatherExtended               = true
shaderStorageImageExtendedFormats       = true
shaderStorageImageMultisample           = false
shaderStorageImageReadWithoutFormat     = true
shaderStorageImageWriteWithoutFormat    = true
shaderUniformBufferArrayDynamicIndexing = true
shaderSampledImageArrayDynamicIndexing  = false
shaderStorageBufferArrayDynamicIndexing = true
shaderStorageImageArrayDynamicIndexing  = false
shaderClipDistance                      = true
shaderCullDistance                      = false
shaderFloat64                           = false
shaderInt64                             = false
shaderInt16                             = true
shaderResourceResidency                 = false
shaderResourceMinLod                    = false
sparseBinding                           = false
sparseResidencyBuffer                   = false
sparseResidencyImage2D                  = false
sparseResidencyImage3D                  = false
sparseResidency2Samples                 = false
sparseResidency4Samples                 = false
sparseResidency8Samples                 = false
sparseResidency16Samples                = false
sparseResidencyAliased                  = false
variableMultisampleRate                 = true
inheritedQueries                        = true

VkPhysicalDevice16BitStorageFeaturesKHR:

storageBuffer16BitAccess           = true
uniformAndStorageBuffer16BitAccess = true
storagePushConstant16              = true
storageInputOutput16               = true

VkPhysicalDevice8BitStorageFeaturesKHR:

storageBuffer8BitAccess           = true
uniformAndStorageBuffer8BitAccess = true
storagePushConstant8              = true

VkPhysicalDeviceHostQueryResetFeaturesEXT:

hostQueryReset = true

VkPhysicalDeviceInlineUniformBlockFeaturesEXT:

inlineUniformBlock                                 = true
descriptorBindingInlineUniformBlockUpdateAfterBind = true

VkPhysicalDeviceScalarBlockLayoutFeaturesEXT:

scalarBlockLayout = true

VkPhysicalDeviceFloat16Int8FeaturesKHR:

shaderFloat16 = true
shaderInt8    = true

VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR:

uniformBufferStandardLayout = true

VkPhysicalDeviceVariablePointersFeaturesKHR:

variablePointersStorageBuffer = true
variablePointers              = true

VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT:

vertexAttributeInstanceRateDivisor     = true
vertexAttributeInstanceRateZeroDivisor = true

logout Saving session... ...copying shared history... ...saving history...truncating history files... ...completed.

[Process completed]

rgosens2 commented 4 years ago

Could this be a Metal (Sierra) vs Metal 2 (Catalina) issue?

kondrak commented 4 years ago

MoltenVK is guaranteed to work on MacOs 10.11 and higher, so it must be something else. I checked and in fact I made a mistake by saying I tested it on MacOS Sierra - it was in fact High Sierra, so if there's an issue with older compiler It'd had gone by unnoticed. Seems like the problem here is with interpretation of the vec4 array in world_warp.vert - the shader is fairly simple so it should be possible to rewrite it in a way that actually works.

vkQuake2 was tested in Xcode 10 which requires High Sierra, so I'm guessing you're using XCode 9.x? If so, it's quite possible that it simply never worked there in the first place.

kondrak commented 4 years ago

Here's a quick'n'dirty modified version of the shader, copy it into contents of world_warp.vert and run shaders.sh afterwards, I'm guessing this should work fine:

#version 450
#extension GL_ARB_separate_shader_objects : enable

out gl_PerVertex {
    vec4 gl_Position;
};

void main() 
{
    vec4 pos0 = vec4(-1.0f, -1.0f, 0.0f, 1.0f);
    vec4 pos1 = vec4(3.0f, -1.0f, 0.0f, 1.0f);
    vec4 pos2 = vec4(-1.0f, 3.0f, 0.0f, 1.0f);

    int idx = gl_VertexIndex % 3;

    if(idx == 0)
        gl_Position = pos0;
    else if(idx == 1)
        gl_Position = pos1;
    else
        gl_Position = pos2;
}
rgosens2 commented 4 years ago

Using the Command Line Tools only. clang version 9.0.0. As I said, no problems when building. So I take it the compiled shader language gets "translated" to Metal at runtime?

rgosens2 commented 4 years ago

Here's the total output when running the debug build:

Last login: Tue Feb 4 23:12:37 on ttys000 MacBook-Air-2015:debug RG$ ./quake2 Added packfile ./baseq2/pak0.pak (3307 files) Added packfile ./baseq2/pak1.pak (279 files) Added packfile ./baseq2/pak2.pak (2 files) Added packfile ./baseq2/pak3.pak (8 files) execing default.cfg couldn't exec config.cfg Console initialized. ------- Loading ref_vk.dylib ------- LoadLibrary("/Volumes/Part3/Quake/Mac/vkQuake2/vkQuake2-master/macos/debug/./ref_vk.dylib") ref_vk version: Vulkan (vkQuake2 v1.4.3) Initializing Metal display ...setting fullscreen mode 11: 1920 1080 Enabled extensions: VK_KHR_surface VK_MVK_macos_surface VK_EXT_debug_utils ...created Vulkan instance ...Vulkan validation layers enabled ...created Vulkan surface ...found 1 Vulkan-capable device(s) VK_INFO: Device Extension: VK_KHR_16bit_storage (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_8bit_storage (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_bind_memory2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_dedicated_allocation (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_KHR_descriptor_update_template (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_device_group (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.4 VK_INFO: Device Extension: VK_KHR_get_memory_requirements2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_image_format_list (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_maintenance1 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_KHR_maintenance2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_maintenance3 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_push_descriptor (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_KHR_relaxed_block_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_KHR_shader_draw_parameters (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_shader_float16_int8 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_storage_buffer_storage_class (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_swapchain (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.70 VK_INFO: Device Extension: VK_KHR_swapchain_mutable_format (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_uniform_buffer_standard_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_variable_pointers (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_debug_marker (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.4 VK_INFO: Device Extension: VK_EXT_host_query_reset (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_inline_uniform_block (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_scalar_block_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_shader_viewport_index_layer (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_vertex_attribute_divisor (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_EXTX_portability_subset (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_AMD_gpu_shader_half_float (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_AMD_negative_viewport_height (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_INTEL_shader_integer_functions2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_NV_glsl_shader (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_16bit_storage (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_8bit_storage (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_bind_memory2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_dedicated_allocation (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_KHR_descriptor_update_template (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_device_group (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.4 VK_INFO: Device Extension: VK_KHR_get_memory_requirements2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_image_format_list (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_maintenance1 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_KHR_maintenance2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_maintenance3 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_push_descriptor (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_KHR_relaxed_block_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_KHR_shader_draw_parameters (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_shader_float16_int8 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_storage_buffer_storage_class (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_swapchain (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.70 VK_INFO: Device Extension: VK_KHR_swapchain_mutable_format (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_uniform_buffer_standard_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_variable_pointers (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_debug_marker (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.4 VK_INFO: Device Extension: VK_EXT_host_query_reset (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_inline_uniform_block (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_scalar_block_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_shader_viewport_index_layer (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_vertex_attribute_divisor (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_EXTX_portability_subset (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_AMD_gpu_shader_half_float (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_AMD_negative_viewport_height (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_INTEL_shader_integer_functions2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_NV_glsl_shader (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_16bit_storage (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_8bit_storage (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_bind_memory2 (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_dedicated_allocation (Unknown) version 0.0.3 VK_INFO: Device Extension: VK_KHR_descriptor_update_template (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_device_group (Unknown) version 0.0.4 VK_INFO: Device Extension: VK_KHR_get_memory_requirements2 (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_image_format_list (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_maintenance1 (Unknown) version 0.0.2 VK_INFO: Device Extension: VK_KHR_maintenance2 (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_maintenance3 (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_push_descriptor (Unknown) version 0.0.2 VK_INFO: Device Extension: VK_KHR_relaxed_block_layout (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (Unknown) version 0.0.3 VK_INFO: Device Extension: VK_KHR_shader_draw_parameters (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_shader_float16_int8 (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_storage_buffer_storage_class (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_swapchain (Unknown) version 0.0.70 VK_INFO: Device Extension: VK_KHR_swapchain_mutable_format (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_uniform_buffer_standard_layout (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_KHR_variable_pointers (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_EXT_debug_marker (Unknown) version 0.0.4 VK_INFO: Device Extension: VK_EXT_host_query_reset (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_EXT_inline_uniform_block (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_EXT_scalar_block_layout (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_EXT_shader_viewport_index_layer (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_EXT_vertex_attribute_divisor (Unknown) version 0.0.3 VK_INFO: Device Extension: VK_EXTX_portability_subset (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_AMD_gpu_shader_half_float (Unknown) version 0.0.2 VK_INFO: Device Extension: VK_AMD_negative_viewport_height (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_INTEL_shader_integer_functions2 (Unknown) version 0.0.1 VK_INFO: Device Extension: VK_NV_glsl_shader (Unknown) version 0.0.1 VK_INFO: Loading layer library /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/explicit_layer.d/../../../lib/libVkLayer_khronos_validation.dylib VK_INFO: Inserted device layer VK_LAYER_KHRONOS_validation (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/explicit_layer.d/../../../lib/libVkLayer_khronos_validation.dylib) VK_INFO: Device Extension: VK_KHR_16bit_storage (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_8bit_storage (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_bind_memory2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_dedicated_allocation (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_KHR_descriptor_update_template (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_device_group (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.4 VK_INFO: Device Extension: VK_KHR_get_memory_requirements2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_image_format_list (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_maintenance1 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_KHR_maintenance2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_maintenance3 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_push_descriptor (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_KHR_relaxed_block_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_KHR_shader_draw_parameters (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_shader_float16_int8 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_storage_buffer_storage_class (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_swapchain (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.70 VK_INFO: Device Extension: VK_KHR_swapchain_mutable_format (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_uniform_buffer_standard_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_KHR_variable_pointers (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_debug_marker (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.4 VK_INFO: Device Extension: VK_EXT_host_query_reset (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_inline_uniform_block (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_scalar_block_layout (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_shader_viewport_index_layer (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_EXT_vertex_attribute_divisor (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.3 VK_INFO: Device Extension: VK_EXTX_portability_subset (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_AMD_gpu_shader_half_float (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2 VK_INFO: Device Extension: VK_AMD_negative_viewport_height (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_INTEL_shader_integer_functions2 (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Device Extension: VK_NV_glsl_shader (/Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/etc/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1 VK_INFO: Using emulation for Vulkan semaphores. VK_INFO: Created VkDevice to run on GPU Intel(R) Iris(TM) Graphics 6000 with the following 1 Vulkan extensions enabled: VK_KHR_swapchain v70 ...created Vulkan memory allocator Supported present modes: VK_PRESENT_MODE_FIFO_KHR ...present mode VK_PRESENT_MODE_MAILBOX_KHR not supported, using present mode: VK_PRESENT_MODE_FIFO_KHR ...trying swapchain extent: 1366x768 ...trying swapchain image format: 44 VK_INFO: Created 2 swapchain images with initial size (1366, 768). ...created Vulkan swapchain ...created synchronization objects ...created 3 Vulkan render passes ...created Vulkan command pools ...created world depth buffer ...created UI depth buffer ...created world color buffer ...created world postpocess color buffer ...created MSAAx1 color buffer ...created 2 Vulkan image view(s) ...created 2 Vulkan framebuffers ...created 2 Vulkan commandbuffers [mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3): Compilation failed:

:47:42: error: no matching conversion for functional-style cast from 'void' to 'spvUnsafeArray' constant spvUnsafeArray _20 = spvUnsafeArray({ float4(-1.0, -1.0, 0.0, 1.0), float4(3.0, -1.0, 0.0, 1.0), float4(-1.0, 3.0, 0.0, 1.0) }); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :10:8: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const spvUnsafeArray' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const device spvUnsafeArray &' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const threadgroup spvUnsafeArray &' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const constant spvUnsafeArray &' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit move constructor) not viable: cannot convert initializer list argument to 'spvUnsafeArray' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit move constructor) not viable: cannot convert initializer list argument to 'device spvUnsafeArray &&' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit move constructor) not viable: cannot convert initializer list argument to 'threadgroup spvUnsafeArray &&' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided . VK_ERROR: VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3): Compilation failed: :47:42: error: no matching conversion for functional-style cast from 'void' to 'spvUnsafeArray' constant spvUnsafeArray _20 = spvUnsafeArray({ float4(-1.0, -1.0, 0.0, 1.0), float4(3.0, -1.0, 0.0, 1.0), float4(-1.0, 3.0, 0.0, 1.0) }); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :10:8: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const spvUnsafeArray' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const device spvUnsafeArray &' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const threadgroup spvUnsafeArray &' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const constant spvUnsafeArray &' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit move constructor) not viable: cannot convert initializer list argument to 'spvUnsafeArray' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit move constructor) not viable: cannot convert initializer list argument to 'device spvUnsafeArray &&' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit move constructor) not viable: cannot convert initializer list argument to 'threadgroup spvUnsafeArray &&' struct spvUnsafeArray ^ :10:8: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided . Assertion failed: (!"Vulkan error occured!"), function debugUtilsCallback, file ../ref_vk/vk_validation.c, line 69. Received signal 6, exiting... MacBook-Air-2015:debug RG$
kondrak commented 4 years ago

Yes, this is a runtime problem that occurs when Metal gets to interpreting the SPIR-V shader bytecode (ie. what is outputted by shaders.sh) and by the looks of it this system cannot handle vec4 arrays which are used only in world_warp.vert - replace the code with what I pasted, run shaders.sh and try running the game again, hopefully the problem will disappear (or a new one will show up ;) ).

kondrak commented 4 years ago

The error message does seem to indicate we're on the right track, so I think the updated world_warp.vert should work for you - let me know if it does! :)

rgosens2 commented 4 years ago

Alas, no go. Still the same error. (BTW, you have posted the code twice).

The code still returns a vec4 which gave the initial cast problem.

kondrak commented 4 years ago

Vec4 should not be a problem, the compile error seems to indicate that it's the array of vec4s what's causing the issue - just to be sure, can you run git diff and see if warp_vert.c got modified after running shaders.sh? Also, did you recompile the game afterwards? Is the error message exactly the same?

rgosens2 commented 4 years ago

Running shaders.sh does not look good:

MacBook-Air-2015:vkQuake2-master RG$ ./shaders.sh dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 3: 4675 Abort trap: 6 glslangValidator --variable-name basic_vert_spv -V shaders/basic.vert -o ref_vk/spirv/basic_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 4: 4677 Abort trap: 6 glslangValidator --variable-name basic_frag_spv -V shaders/basic.frag -o ref_vk/spirv/basic_frag.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 5: 4678 Abort trap: 6 glslangValidator --variable-name basic_color_quad_vert_spv -V shaders/basic_color_quad.vert -o ref_vk/spirv/basic_color_quad_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 6: 4679 Abort trap: 6 glslangValidator --variable-name basic_color_quad_frag_spv -V shaders/basic_color_quad.frag -o ref_vk/spirv/basic_color_quad_frag.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 7: 4680 Abort trap: 6 glslangValidator --variable-name model_vert_spv -V shaders/model.vert -o ref_vk/spirv/model_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 8: 4681 Abort trap: 6 glslangValidator --variable-name model_frag_spv -V shaders/model.frag -o ref_vk/spirv/model_frag.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 9: 4682 Abort trap: 6 glslangValidator --variable-name nullmodel_vert_spv -V shaders/nullmodel.vert -o ref_vk/spirv/nullmodel_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 10: 4683 Abort trap: 6 glslangValidator --variable-name particle_vert_spv -V shaders/particle.vert -o ref_vk/spirv/particle_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 11: 4684 Abort trap: 6 glslangValidator --variable-name point_particle_vert_spv -V shaders/point_particle.vert -o ref_vk/spirv/point_particle_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 12: 4685 Abort trap: 6 glslangValidator --variable-name point_particle_frag_spv -V shaders/point_particle.frag -o ref_vk/spirv/point_particle_frag.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 13: 4686 Abort trap: 6 glslangValidator --variable-name sprite_vert_spv -V shaders/sprite.vert -o ref_vk/spirv/sprite_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 14: 4687 Abort trap: 6 glslangValidator --variable-name beam_vert_spv -V shaders/beam.vert -o ref_vk/spirv/beam_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 15: 4688 Abort trap: 6 glslangValidator --variable-name skybox_vert_spv -V shaders/skybox.vert -o ref_vk/spirv/skybox_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 16: 4689 Abort trap: 6 glslangValidator --variable-name d_light_vert_spv -V shaders/d_light.vert -o ref_vk/spirv/d_light_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 17: 4690 Abort trap: 6 glslangValidator --variable-name polygon_vert_spv -V shaders/polygon.vert -o ref_vk/spirv/polygon_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 18: 4691 Abort trap: 6 glslangValidator --variable-name polygon_lmap_vert_spv -V shaders/polygon_lmap.vert -o ref_vk/spirv/polygon_lmap_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 19: 4692 Abort trap: 6 glslangValidator --variable-name polygon_lmap_frag_spv -V shaders/polygon_lmap.frag -o ref_vk/spirv/polygon_lmap_frag.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 20: 4693 Abort trap: 6 glslangValidator --variable-name polygon_warp_vert_spv -V shaders/polygon_warp.vert -o ref_vk/spirv/polygon_warp_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 21: 4694 Abort trap: 6 glslangValidator --variable-name shadows_vert_spv -V shaders/shadows.vert -o ref_vk/spirv/shadows_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 22: 4695 Abort trap: 6 glslangValidator --variable-name postprocess_vert_spv -V shaders/postprocess.vert -o ref_vk/spirv/postprocess_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 23: 4696 Abort trap: 6 glslangValidator --variable-name postprocess_frag_spv -V shaders/postprocess.frag -o ref_vk/spirv/postprocess_frag.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 24: 4697 Abort trap: 6 glslangValidator --variable-name world_warp_vert_spv -V shaders/world_warp.vert -o ref_vk/spirv/world_warp_vert.c dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin Referenced from: /Volumes/Part3/Quake/sdk/vulkansdk-macos-1.2.131.1/macOS/bin/glslangValidator Expected in: /usr/lib/libSystem.B.dylib

./shaders.sh: line 25: 4698 Abort trap: 6 glslangValidator --variable-name world_warp_frag_spv -V shaders/world_warp.frag -o ref_vk/spirv/world_warp_frag.c MacBook-Air-2015:vkQuake2-master RG$

kondrak commented 4 years ago

So it seems that the official VulkanSDK 1.2.131.1 tools don't work on your system - no idea if it no longer supports MacOS < 10.13 or if it's a problem somewhere with your installation. This is getting slightly beyond this project's support but what I'd try doing is to get an older release of the SDK and find one that can properly function. Without glslangValidator you won't be able to recompile the shaders and thus fix the runtime problem. vkQuake2 should work with SDK as low as 1.1.92.1, so you might as well try there.

kondrak commented 4 years ago

Attached for a quick test is the compiled modified world_warp_vert.c - see if it works for you after you rebuild the game with it. world_warp_vert.txt

rgosens2 commented 4 years ago

Yes, it is probably caused by glslangValidator being built for macOS 10.15 Many error reports like this, e.g. https://github.com/bazelbuild/homebrew-tap/issues/73 Thanks for helping out.

rgosens2 commented 4 years ago

Rebuilt with Vulkan SDK 1.1.92.1. Everything builds and runs OK. Thanks!

kondrak commented 4 years ago

Good to hear!