Skip to content

VK_SUBOPTIMAL_KH Validation error when #29

@runlevel5

Description

@runlevel5
$ pkg-config --modversion vulkan 
1.4.304

$ ./ioquake3.x86_64 +set cl_renderer vulkan +set r_fullscreen 1 +set r_mode 3
ioq3 1.36_GIT_d3ebf80c-2025-03-08 linux-x86_64 Mar 22 2025
SSE instruction set enabled
----- FS_Startup -----
We are looking in the current search path:
/home/tle/.q3a/baseq3
./baseq3
./baseq3/q3wpak4.pk3 (562 files)
./baseq3/q3wpak3.pk3 (447 files)
./baseq3/q3wpak2.pk3 (195 files)
./baseq3/q3wpak1.pk3 (396 files)
./baseq3/q3wpak0.pk3 (287 files)
./baseq3/pak8a.pk3 (233 files)
./baseq3/pak8.pk3 (9 files)
./baseq3/pak7.pk3 (4 files)
./baseq3/pak6.pk3 (64 files)
./baseq3/pak5.pk3 (7 files)
./baseq3/pak4.pk3 (272 files)
./baseq3/pak3.pk3 (4 files)
./baseq3/pak2.pk3 (148 files)
./baseq3/pak1.pk3 (26 files)
./baseq3/pak0.pk3 (3539 files)
     
----------------------
6193 files in pk3 files
execing default.cfg
execing q3config.cfg
couldn't exec autoexec.cfg
Hunk_Clear: reset the hunk ok
----- Client Initialization -----
Couldn't read q3history.
----- Initializing Renderer ----
Trying to load "renderer_vulkan_x86_64.so" from "."...
-------------------------------
QKEY found.
----- Client Initialization Complete -----
----- R_Init -----
 backend state cleared. 
--- R_glConfigInit() ---
     
...Creating window (using SDL2)...
 Found SDL version 2.32.52
 Video is not initialized before, so initial it.
 SDL using driver "wayland"
     
...VKimp_SetMode()...
 bpp 24	SDL_PIXELFORMAT_RGB888	3840 x 2400, refresh_rate: 60Hz
 MODE: -2, 3840 x 2400, refresh rate: 60hz
 Available modes: '3840x2400 3840x2160 3200x1800 2880x1620 2560x1600 2560x1440 2048x1536 2048x1152 1920x1440 1920x1200 1920x1080 1680x1050 1600x1200 1600x900 1440x1080 1440x900 1400x1050 1368x768 1280x1024 1280x960 1280x800 1280x720 1152x864 1024x768 864x486 800x600 720x480 640x480'
 Loading vulkan instance functions 
 *** Vulkan Initialization ***
 Get instance proc address. (using SDL2)
 Creating instance: vk.instance
--- Total 24 instance extensions. --- 
--- Vulkan create instance success! ---

 Init global functions done. 
 Create Surface: vk.surface.
 Total 2 graphics card, the first one is choosed. 
 Get physical device memory properties: vk.devMemProperties 
     
 -------- vk_selectSurfaceFormat() -------- 
 Total 7 surface formats supported, we choose: 
 format = VK_FORMAT_B8G8R8A8_UNORM 
 colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR 
--- Linear TilingFeatures supported. ---
--- Blitting from linear tiled images supported. ---
--- Blitting from optimal tiled images supported. ---
 VK_FORMAT_D24_UNORM_S8_UINT optimal Tiling feature supported.
 -------- --------------------------- --------
 Queue family for presentation selected: 0
 Check for VK_KHR_swapchain extension. 
 Create logical device: vk.device 
 Loading device level function. 
     
-------- Determine present mode --------
Minimaal mumber ImageCount required: 3, Total 2 present mode supported: 
 VK_PRESENT_MODE_MAILBOX_KHR 
 VK_PRESENT_MODE_FIFO_KHR 
     
 VK_PRESENT_MODE_MAILBOX_KHR mode, minImageCount: 3. 
     
 minImageCount: 3, maxImageCount: 0, setted: 8
     
-------- ----------------------- --------
     
-------- Create vk.swapchain --------
 Surface capabilities, image_extent.width: 640, image_extent.height: 480
 Swapchain image count: 8
 Create command pool: vk.command_pool 
 Create command buffer: vk.command_buffer 
 Create depth image: vk.depth_image, 3840 x 2400. 
 Allocate device local memory for depth image: vk.depth_image_memory. 
 Create image view for depth image: vk.depth_image_view. 
 Create RenderPass:  vk.render_pass 
 Create vk.framebuffers 
 Create: vk.descriptor_pool, vk.set_layout, vk.pipeline_layout
 Create vertex buffer: shadingDat.vertex_buffer 
 Allocate device memory for Vertex Buffer: 7077888 bytes. 
 Create index buffer: shadingDat.index_buffer 
 Allocate device memory for Index Buffer: 2097152 bytes. 
 Create skybox pipeline 
 Create Q3 stencil shadows pipeline 
 Create fog and dlights pipeline 
 Create tris debug pipeline 
 Create tris mirror debug pipeline 
 Create normals debug pipeline 
 Create surface debug pipeline 
 Create surface debug outline pipeline 
 Create images debug pipeline 
     
Active 3D API: Vulkan
Vk api version: 1.4.305
Vk driver version: 104857602
Vk vendor id: 0x8086 (Intel Corporation)
Vk device id: 0x9A49
Vk device type: INTEGRATED_GPU
Vk device name: Intel(R) Iris(R) Xe Graphics (TGL GT2)
     
----- Total 24 Instance Extension Supported -----
VK_KHR_device_group_creation
VK_KHR_display
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_display_properties2
VK_KHR_get_physical_device_properties2
VK_KHR_get_surface_capabilities2
VK_KHR_surface
VK_KHR_surface_protected_capabilities
VK_KHR_wayland_surface
VK_KHR_xcb_surface
VK_KHR_xlib_surface
VK_EXT_acquire_drm_display
VK_EXT_acquire_xlib_display
VK_EXT_debug_report
VK_EXT_debug_utils
VK_EXT_direct_mode_display
VK_EXT_headless_surface
VK_EXT_surface_maintenance1
VK_EXT_swapchain_colorspace
VK_EXT_display_surface_counter
VK_KHR_portability_enumeration
VK_LUNARG_direct_driver_loading
----- ------------------------------------- -----

--------- Total 170 Device Extension Supported ---------
 VK_KHR_8bit_storage 
 VK_KHR_16bit_storage 
 VK_KHR_bind_memory2 
 VK_KHR_buffer_device_address 
 VK_KHR_calibrated_timestamps 
 VK_KHR_compute_shader_derivatives 
 VK_KHR_cooperative_matrix 
 VK_KHR_copy_commands2 
 VK_KHR_create_renderpass2 
 VK_KHR_dedicated_allocation 
 VK_KHR_deferred_host_operations 
 VK_KHR_depth_stencil_resolve 
 VK_KHR_descriptor_update_template 
 VK_KHR_device_group 
 VK_KHR_draw_indirect_count 
 VK_KHR_driver_properties 
 VK_KHR_dynamic_rendering 
 VK_KHR_dynamic_rendering_local_read 
 VK_KHR_external_fence 
 VK_KHR_external_fence_fd 
 VK_KHR_external_memory 
 VK_KHR_external_memory_fd 
 VK_KHR_external_semaphore 
 VK_KHR_external_semaphore_fd 
 VK_KHR_format_feature_flags2 
 VK_KHR_fragment_shading_rate 
 VK_KHR_get_memory_requirements2 
 VK_KHR_global_priority 
 VK_KHR_image_format_list 
 VK_KHR_imageless_framebuffer 
 VK_KHR_incremental_present 
 VK_KHR_index_type_uint8 
 VK_KHR_line_rasterization 
 VK_KHR_load_store_op_none 
 VK_KHR_maintenance1 
 VK_KHR_maintenance2 
 VK_KHR_maintenance3 
 VK_KHR_maintenance4 
 VK_KHR_maintenance5 
 VK_KHR_maintenance6 
 VK_KHR_maintenance7 
 VK_KHR_map_memory2 
 VK_KHR_multiview 
 VK_KHR_pipeline_executable_properties 
 VK_KHR_pipeline_library 
 VK_KHR_present_id 
 VK_KHR_present_wait 
 VK_KHR_push_descriptor 
 VK_KHR_relaxed_block_layout 
 VK_KHR_sampler_mirror_clamp_to_edge 
 VK_KHR_sampler_ycbcr_conversion 
 VK_KHR_separate_depth_stencil_layouts 
 VK_KHR_shader_atomic_int64 
 VK_KHR_shader_clock 
 VK_KHR_shader_draw_parameters 
 VK_KHR_shader_expect_assume 
 VK_KHR_shader_float16_int8 
 VK_KHR_shader_float_controls 
 VK_KHR_shader_float_controls2 
 VK_KHR_shader_integer_dot_product 
 VK_KHR_shader_maximal_reconvergence 
 VK_KHR_shader_non_semantic_info 
 VK_KHR_shader_quad_control 
 VK_KHR_shader_relaxed_extended_instruction 
 VK_KHR_shader_subgroup_extended_types 
 VK_KHR_shader_subgroup_rotate 
 VK_KHR_shader_subgroup_uniform_control_flow 
 VK_KHR_shader_terminate_invocation 
 VK_KHR_spirv_1_4 
 VK_KHR_storage_buffer_storage_class 
 VK_KHR_swapchain 
 VK_KHR_swapchain_mutable_format 
 VK_KHR_synchronization2 
 VK_KHR_timeline_semaphore 
 VK_KHR_uniform_buffer_standard_layout 
 VK_KHR_variable_pointers 
 VK_KHR_vertex_attribute_divisor 
 VK_KHR_vulkan_memory_model 
 VK_KHR_workgroup_memory_explicit_layout 
 VK_KHR_zero_initialize_workgroup_memory 
 VK_EXT_4444_formats 
 VK_EXT_attachment_feedback_loop_dynamic_state 
 VK_EXT_attachment_feedback_loop_layout 
 VK_EXT_border_color_swizzle 
 VK_EXT_buffer_device_address 
 VK_EXT_calibrated_timestamps 
 VK_EXT_color_write_enable 
 VK_EXT_conditional_rendering 
 VK_EXT_conservative_rasterization 
 VK_EXT_custom_border_color 
 VK_EXT_depth_bias_control 
 VK_EXT_depth_clamp_control 
 VK_EXT_depth_clamp_zero_one 
 VK_EXT_depth_clip_control 
 VK_EXT_depth_clip_enable 
 VK_EXT_descriptor_buffer 
 VK_EXT_descriptor_indexing 
 VK_EXT_display_control 
 VK_EXT_dynamic_rendering_unused_attachments 
 VK_EXT_extended_dynamic_state 
 VK_EXT_extended_dynamic_state2 
 VK_EXT_extended_dynamic_state3 
 VK_EXT_external_memory_dma_buf 
 VK_EXT_external_memory_host 
 VK_EXT_fragment_shader_interlock 
 VK_EXT_global_priority 
 VK_EXT_global_priority_query 
 VK_EXT_graphics_pipeline_library 
 VK_EXT_host_image_copy 
 VK_EXT_host_query_reset 
 VK_EXT_image_2d_view_of_3d 
 VK_EXT_image_drm_format_modifier 
 VK_EXT_image_robustness 
 VK_EXT_image_sliced_view_of_3d 
 VK_EXT_image_view_min_lod 
 VK_EXT_index_type_uint8 
 VK_EXT_inline_uniform_block 
 VK_EXT_legacy_dithering 
 VK_EXT_legacy_vertex_attributes 
 VK_EXT_line_rasterization 
 VK_EXT_load_store_op_none 
 VK_EXT_map_memory_placed 
 VK_EXT_memory_budget 
 VK_EXT_multi_draw 
 VK_EXT_mutable_descriptor_type 
 VK_EXT_nested_command_buffer 
 VK_EXT_non_seamless_cube_map 
 VK_EXT_pci_bus_info 
 VK_EXT_physical_device_drm 
 VK_EXT_pipeline_creation_cache_control 
 VK_EXT_pipeline_creation_feedback 
 VK_EXT_pipeline_protected_access 
 VK_EXT_pipeline_robustness 
 VK_EXT_post_depth_coverage 
 VK_EXT_primitive_topology_list_restart 
 VK_EXT_primitives_generated_query 
 VK_EXT_private_data 
 VK_EXT_provoking_vertex 
 VK_EXT_queue_family_foreign 
 VK_EXT_robustness2 
 VK_EXT_sample_locations 
 VK_EXT_sampler_filter_minmax 
 VK_EXT_scalar_block_layout 
 VK_EXT_separate_stencil_usage 
 VK_EXT_shader_atomic_float 
 VK_EXT_shader_atomic_float2 
 VK_EXT_shader_demote_to_helper_invocation 
 VK_EXT_shader_module_identifier 
 VK_EXT_shader_replicated_composites 
 VK_EXT_shader_stencil_export 
 VK_EXT_shader_subgroup_ballot 
 VK_EXT_shader_subgroup_vote 
 VK_EXT_shader_viewport_index_layer 
 VK_EXT_subgroup_size_control 
 VK_EXT_swapchain_maintenance1 
 VK_EXT_texel_buffer_alignment 
 VK_EXT_tooling_info 
 VK_EXT_transform_feedback 
 VK_EXT_vertex_attribute_divisor 
 VK_EXT_vertex_input_dynamic_state 
 VK_EXT_ycbcr_2plane_444_formats 
 VK_EXT_ycbcr_image_arrays 
 VK_AMD_buffer_marker 
 VK_GOOGLE_decorate_string 
 VK_GOOGLE_hlsl_functionality1 
 VK_GOOGLE_user_type 
 VK_INTEL_shader_integer_functions2 
 VK_MESA_image_alignment_control 
 VK_NV_compute_shader_derivatives 
 VK_VALVE_mutable_descriptor_type 
--------- ----------------------------------- ---------
Number of image: 0 chuck memory(device local) used: 0 M 
 Create Staging Buffer: 8388608
 Stagging buffer alignment: 64, memoryTypeBits: 0x7, Type Index: 1. 
 Create Image: *default
 --- Device memory allocation --- 
alignment: 65536, Type Index: 0. 
Image chuck memory consumed: 64 M 
**stripped**
R_ModelInit: 
----- R_Init finished -----
RE_BeginRegistration finished.
 Create Image: gfx/2d/bigchars.tga
 Create Image: gfx/misc/console01.tga
 Create Image: gfx/misc/console02.tga
------ Initializing Sound ------
Trying to load "libopenal.so.1"...
Allocated 96 sources.
No ALC_EXT_capture support, can't record audio.
OpenAL info:
  Vendor:         OpenAL Community
  Version:        1.1 ALSOFT 1.24.2
  Renderer:       OpenAL Soft
  AL Extensions:  AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_debug AL_EXT_direct_context AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STATIC_BUFFER AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_bformat_ex AL_SOFT_bformat_hoa AL_SOFT_block_alignment AL_SOFT_buffer_length_query AL_SOFT_callback_buffer AL_SOFTX_convolution_effect AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFT_direct_channels_remix AL_SOFT_effect_target AL_SOFT_events AL_SOFT_gain_clamp_ex AL_SOFTX_hold_on_disconnect AL_SOFT_loop_points AL_SOFTX_map_buffer AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length AL_SOFTX_source_panning AL_SOFT_source_resampler AL_SOFT_source_spatialize AL_SOFT_source_start_delay AL_SOFT_UHJ AL_SOFT_UHJ_ex
  ALC Extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_debug ALC_EXT_DEDICATED ALC_EXT_direct_context ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_device_clock ALC_SOFT_HRTF ALC_SOFT_loopback ALC_SOFT_loopback_bformat ALC_SOFT_output_limiter ALC_SOFT_output_mode ALC_SOFT_pause_device ALC_SOFT_reopen_device ALC_SOFT_system_events
  Device:         Tiger Lake-LP Smart Sound Technology Audio Controller Speaker
  Available Devices:
Tiger Lake-LP Smart Sound Technology Audio Controller Speaker
Tiger Lake-LP Smart Sound Technology Audio Controller HDMI / DisplayPort 3 Output
Tiger Lake-LP Smart Sound Technology Audio Controller HDMI / DisplayPort 2 Output
Tiger Lake-LP Smart Sound Technology Audio Controller HDMI / DisplayPort 1 Output
Sound initialization successful.
--------------------------------
Loading vm file vm/ui.qvm...
File "vm/ui.qvm" found at "./baseq3"
...which has vmMagic VM_MAGIC_VER2
Loading 1162 jump table targets
VM file ui compiled to 696611 bytes of code
ui loaded in 1750464 bytes on the hunk
78 arenas parsed
32 bots parsed
**stripped**
--- Common Initialization Complete ---
IP: 127.0.0.1
IP: 192.168.10.220
IP6: ::1
IP6: fd1f:ce25:9fbd::512
IP6: fd1f:ce25:9fbd:0:7f58:a9fe:ffdf:4495
IP6: fe80::c576:8f72:16b9:4da8%wlp0s20f3
Opening IP6 socket: [::]:27960
Opening IP socket: 0.0.0.0:27960
HACK: approxmimating cinematic for Rage Pro or Voodoo
w=3840, h=2400, cols=256, rows=256, client=0, prtImage->width=8, prtImage->height=8
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 
Vulkan: error VK_SUBOPTIMAL_KHR returned by qvkAcquireNextImageKHR(vk.device, vk.swapchain, UINT64_MAX, sema_imageAvailable, VK_NULL_HANDLE, &vk.idx_swapchain_image) 

I can reproduce this issue on both arm64 and x86_64 Linux cc@sujifeng

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions