diff --git a/src/nouveau/ci/deqp-nvk.toml b/src/nouveau/ci/deqp-nvk.toml new file mode 100644 index 00000000000..0f66b1f99ba --- /dev/null +++ b/src/nouveau/ci/deqp-nvk.toml @@ -0,0 +1,4 @@ +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-main.txt"] +tests_per_group = 10000 diff --git a/src/nouveau/ci/gitlab-ci-inc.yml b/src/nouveau/ci/gitlab-ci-inc.yml new file mode 100644 index 00000000000..7b0289cee8b --- /dev/null +++ b/src/nouveau/ci/gitlab-ci-inc.yml @@ -0,0 +1,61 @@ +.nvk-valve-rules: + stage: nouveau + rules: + - !reference [.valve-farm-rules, rules] + - !reference [.vulkan-rules, rules] + - changes: &nvk_file_list + - src/nouveau/* + - src/nouveau/codegen**/* + - src/nouveau/compiler/**/* + - src/nouveau/drm/**/* + - src/nouveau/nme/**/* + - src/nouveau/nil/**/* + - src/nouveau/nvidia-headers/**/* + - src/nouveau/vulkan/**/* + - src/nouveau/winsys/**/* + - src/nouveau/ci/gitlab-ci.yml + - src/nouveau/ci/gitlab-ci-inc.yml + - src/nouveau/ci/deqp-$DEQP_SUITE.toml + - src/nouveau/ci/$GPU_VERSION-fails.txt + - src/nouveau/ci/$GPU_VERSION-flakes.txt + - src/nouveau/ci/$GPU_VERSION-skips.txt + when: on_success + +.nvk-valve-manual-rules: + stage: nouveau + retry: !reference [.scheduled_pipeline-rules, retry] + rules: + - !reference [.valve-farm-manual-rules, rules] + - !reference [.vulkan-manual-rules, rules] + - changes: + *nvk_file_list + when: manual + + +.nvk-vkcts: + variables: + VK_DRIVER: nouveau + DEQP_SUITE: nvk + MESA_VK_IGNORE_CONFORMANCE_WARNING: 1 + NVK_I_WANT_A_BROKEN_VULKAN_DRIVER: 1 + HWCI_TEST_SCRIPT: install/deqp-runner.sh + +.nvk-ga106-valve: + variables: + GPU_VERSION: nvk-ga106 + FDO_CI_CONCURRENT: 16 + RUNNER_FARM_LOCATION: mupuf + B2C_JOB_SUCCESS_REGEX: '^\+ DEQP_EXITCODE=0\r$' + B2C_SESSION_REBOOT_REGEX: 'nouveau .+: job timeout|NMI backtrace for cpu \d+' + # Default kernel is missing the GA106 GSP + # 1 - clone b2c + # 2 - apply all patches in patches/linux/* to your kernel + # 3 - download https://tmp.engestrom.ch/nouveau to config/linux/ + # 4 - make linux LINUX_SRC=~/linux-nvk GOARCH=amd64 FEATURES=common,network,sensors,serial_adapters,ucode,nouveau + # This is https://gitlab.freedesktop.org/gfxstrand/linux/-/commits/nvk + # at d6820f36f375ece63226b26568be3a893985dc60 nouveau: set placement to original placement on uvmm validate. + B2C_KERNEL_URL: 'https://static.engestrom.ch/linux-6.8-nvk-ga106' + # GSP is not loaded by default + B2C_KERNEL_CMDLINE_EXTRAS: 'nouveau.config=NvGspRm=1' + tags: + - nvidia:codename:GA106 diff --git a/src/nouveau/ci/gitlab-ci.yml b/src/nouveau/ci/gitlab-ci.yml new file mode 100644 index 00000000000..709f049235f --- /dev/null +++ b/src/nouveau/ci/gitlab-ci.yml @@ -0,0 +1,13 @@ +include: + - local: 'src/nouveau/ci/gitlab-ci-inc.yml' + +nvk-ga106-vkcts-valve: + extends: + - .b2c-x86_64-test-vk + - .nvk-vkcts + - .nvk-ga106-valve + - .nvk-valve-manual-rules + timeout: 70m # job runtime 52min, test runtime 50min + variables: + B2C_TIMEOUT_BOOT_MINUTES: 60 + B2C_TIMEOUT_OVERALL_MINUTES: 65 diff --git a/src/nouveau/ci/nvk-ga106-fails.txt b/src/nouveau/ci/nvk-ga106-fails.txt new file mode 100644 index 00000000000..04605af34f6 --- /dev/null +++ b/src/nouveau/ci/nvk-ga106-fails.txt @@ -0,0 +1,16 @@ +dEQP-VK.api.get_device_proc_addr.non_enabled,Fail +dEQP-VK.api.version_check.unavailable_entry_points,Fail + +dEQP-VK.pipeline.fast_linked_library.pipeline_cache.robustness2.storage,Fail +dEQP-VK.pipeline.pipeline_library.pipeline_cache.robustness2.storage,Fail +dEQP-VK.pipeline.shader_object_linked_binary.pipeline_cache.robustness2.storage,Fail +dEQP-VK.pipeline.shader_object_linked_spirv.pipeline_cache.robustness2.storage,Fail +dEQP-VK.pipeline.shader_object_unlinked_binary.pipeline_cache.robustness2.storage,Fail +dEQP-VK.pipeline.shader_object_unlinked_spirv.pipeline_cache.robustness2.storage,Fail + +dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.generated_args.signed_zero_sub_var_preserve,Fail +dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_nostorage,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_frag,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_nostorage_frag,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_nostorage_vert,Fail +dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_vert,Fail diff --git a/src/nouveau/ci/nvk-ga106-flakes.txt b/src/nouveau/ci/nvk-ga106-flakes.txt new file mode 100644 index 00000000000..21c1eefc9db --- /dev/null +++ b/src/nouveau/ci/nvk-ga106-flakes.txt @@ -0,0 +1,3 @@ +dEQP-VK.pipeline.*.pipeline_cache.robustness2.storage + +dEQP-VK.sparse_resources.image_sparse_binding.cube_array.rgba32i.256_256_6 diff --git a/src/nouveau/ci/nvk-ga106-skips.txt b/src/nouveau/ci/nvk-ga106-skips.txt new file mode 100644 index 00000000000..15cc8c8cb2a --- /dev/null +++ b/src/nouveau/ci/nvk-ga106-skips.txt @@ -0,0 +1,4 @@ +# Too slow +dEQP-VK.draw.*.shader_layer.(vertex|tessellation)_shader_256 +dEQP-VK.memory.pipeline_barrier.transfer_src_transfer_dst.1048576 +dEQP-VK.reconvergence.(sub|work)group_uniform_control_flow_(ballot|elect).compute.nesting4.(0.40|7.10)