diff --git a/base/cvd/MODULE.bazel b/base/cvd/MODULE.bazel index 0eddf21e1b8..9d97560e9ec 100644 --- a/base/cvd/MODULE.bazel +++ b/base/cvd/MODULE.bazel @@ -52,6 +52,7 @@ bazel_dep(name = "rules_proto_grpc_go", version = "5.3.0") bazel_dep(name = "rules_python", version = "1.7.0") bazel_dep(name = "rules_rust", version = "0.68.1") bazel_dep(name = "rules_shell", version = "0.6.1") +bazel_dep(name = "rules_vulkan", version = "0.9.0") bazel_dep(name = "sandboxed_api") bazel_dep(name = "tinyxml2", version = "10.0.0") bazel_dep(name = "tl-expected", version = "1.3.1") diff --git a/base/cvd/cuttlefish/host/graphics_detector/shaders/BUILD.bazel b/base/cvd/cuttlefish/host/graphics_detector/shaders/BUILD.bazel index c26c8099e11..1a4980165a6 100644 --- a/base/cvd/cuttlefish/host/graphics_detector/shaders/BUILD.bazel +++ b/base/cvd/cuttlefish/host/graphics_detector/shaders/BUILD.bazel @@ -1,3 +1,4 @@ +load("@rules_vulkan//vulkan:defs.bzl", "glsl_shader") load("//cuttlefish/bazel:rules.bzl", "cf_build_test", "cf_cc_binary", "cf_cc_library") package( @@ -11,58 +12,88 @@ cf_cc_binary( srcs = ["generate_shader_embed.cpp"], ) +glsl_shader( + name = "blit_texture_frag_spv", + src = "blit_texture.frag", + stage = "frag", +) + genrule( name = "gen_blit_texture.frag.inl", srcs = [ "blit_texture.frag", - "blit_texture.frag.spv", + ":blit_texture_frag_spv", ], outs = ["blit_texture.frag.inl"], - cmd = "$(location :generate_shader_embed) $(location :blit_texture.frag) $(location :blit_texture.frag.spv) kBlitTextureFrag $@", + cmd = "$(location :generate_shader_embed) $(location :blit_texture.frag) $(location :blit_texture_frag_spv) kBlitTextureFrag $@", tools = [":generate_shader_embed"], ) +glsl_shader( + name = "blit_texture_vert_spv", + src = "blit_texture.vert", + stage = "vert", +) + genrule( name = "gen_blit_texture.vert.inl", srcs = [ "blit_texture.vert", - "blit_texture.vert.spv", + ":blit_texture_vert_spv", ], outs = ["blit_texture.vert.inl"], - cmd = "$(location :generate_shader_embed) $(location :blit_texture.vert) $(location :blit_texture.vert.spv) kBlitTextureVert $@", + cmd = "$(location :generate_shader_embed) $(location :blit_texture.vert) $(location :blit_texture_vert_spv) kBlitTextureVert $@", tools = [":generate_shader_embed"], ) +glsl_shader( + name = "blit_texture_highp_frag_spv", + src = "blit_texture_highp.frag", + stage = "frag", +) + genrule( name = "gen_blit_texture_highp.frag.inl", srcs = [ "blit_texture_highp.frag", - "blit_texture_highp.frag.spv", + ":blit_texture_highp_frag_spv", ], outs = ["blit_texture_highp.frag.inl"], - cmd = "$(location :generate_shader_embed) $(location :blit_texture_highp.frag) $(location :blit_texture_highp.frag.spv) kBlitTextureHighpFrag $@", + cmd = "$(location :generate_shader_embed) $(location :blit_texture_highp.frag) $(location :blit_texture_highp_frag_spv) kBlitTextureHighpFrag $@", tools = [":generate_shader_embed"], ) +glsl_shader( + name = "blit_texture_lowp_frag_spv", + src = "blit_texture_lowp.frag", + stage = "frag", +) + genrule( name = "gen_blit_texture_lowp.frag.inl", srcs = [ "blit_texture_lowp.frag", - "blit_texture_lowp.frag.spv", + ":blit_texture_lowp_frag_spv", ], outs = ["blit_texture_lowp.frag.inl"], - cmd = "$(location :generate_shader_embed) $(location :blit_texture_lowp.frag) $(location :blit_texture_lowp.frag.spv) kBlitTextureLowpFrag $@", + cmd = "$(location :generate_shader_embed) $(location :blit_texture_lowp.frag) $(location :blit_texture_lowp_frag_spv) kBlitTextureLowpFrag $@", tools = [":generate_shader_embed"], ) +glsl_shader( + name = "blit_texture_mediump_frag_spv", + src = "blit_texture_mediump.frag", + stage = "frag", +) + genrule( name = "gen_blit_texture_mediump.frag.inl", srcs = [ "blit_texture_mediump.frag", - "blit_texture_mediump.frag.spv", + ":blit_texture_mediump_frag_spv", ], outs = ["blit_texture_mediump.frag.inl"], - cmd = "$(location :generate_shader_embed) $(location :blit_texture_mediump.frag) $(location :blit_texture_mediump.frag.spv) kBlitTextureMediumpFrag $@", + cmd = "$(location :generate_shader_embed) $(location :blit_texture_mediump.frag) $(location :blit_texture_mediump_frag_spv) kBlitTextureMediumpFrag $@", tools = [":generate_shader_embed"], ) diff --git a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture.frag.spv b/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture.frag.spv deleted file mode 100644 index ba75fa15329..00000000000 Binary files a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture.frag.spv and /dev/null differ diff --git a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture.vert.spv b/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture.vert.spv deleted file mode 100644 index 20d19673417..00000000000 Binary files a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture.vert.spv and /dev/null differ diff --git a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_highp.frag.spv b/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_highp.frag.spv deleted file mode 100644 index ba75fa15329..00000000000 Binary files a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_highp.frag.spv and /dev/null differ diff --git a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_lowp.frag.spv b/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_lowp.frag.spv deleted file mode 100644 index c4209d95542..00000000000 Binary files a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_lowp.frag.spv and /dev/null differ diff --git a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_mediump.frag.spv b/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_mediump.frag.spv deleted file mode 100644 index c4209d95542..00000000000 Binary files a/base/cvd/cuttlefish/host/graphics_detector/shaders/blit_texture_mediump.frag.spv and /dev/null differ diff --git a/base/cvd/cuttlefish/host/graphics_detector/shaders/generate_shader_embeds.sh b/base/cvd/cuttlefish/host/graphics_detector/shaders/generate_shader_embeds.sh deleted file mode 100755 index 897f3b81ac7..00000000000 --- a/base/cvd/cuttlefish/host/graphics_detector/shaders/generate_shader_embeds.sh +++ /dev/null @@ -1,14 +0,0 @@ -for file in *.{frag,vert}; do - [ -f "${file}" ] || break - - SHADER_GLSL="${file}" - echo "Found ${SHADER_GLSL}" - - SHADER_SPV="${file}.spv" - - glslc \ - "${SHADER_GLSL}" \ - -o "${SHADER_SPV}" - - echo "Generated ${SHADER_SPV}" -done diff --git a/base/cvd/toolchain/toolchain.MODULE.bazel b/base/cvd/toolchain/toolchain.MODULE.bazel index 7a28462c1ee..664fee3d25b 100644 --- a/base/cvd/toolchain/toolchain.MODULE.bazel +++ b/base/cvd/toolchain/toolchain.MODULE.bazel @@ -4,4 +4,5 @@ include("//toolchain:cuda.MODULE.bazel") include("//toolchain:llvm.MODULE.bazel") include("//toolchain:python.MODULE.bazel") include("//toolchain:rust.MODULE.bazel") +include("//toolchain:vulkan.MODULE.bazel") include("//toolchain:zig.MODULE.bazel") diff --git a/base/cvd/toolchain/vulkan.MODULE.bazel b/base/cvd/toolchain/vulkan.MODULE.bazel new file mode 100644 index 00000000000..f1aecf5b678 --- /dev/null +++ b/base/cvd/toolchain/vulkan.MODULE.bazel @@ -0,0 +1,6 @@ +vulkan_sdk = use_extension("@rules_vulkan//vulkan:extensions.bzl", "vulkan_sdk") + +vulkan_sdk.toolchain(version = "1.4.313") +use_repo(vulkan_sdk, "vulkan_sdk_1.4.313") + +register_toolchains("@vulkan_sdk_1.4.313//:all")