Skip to content

Conversation

@Willaaaaaaa
Copy link
Contributor

@Willaaaaaaa Willaaaaaaa commented Dec 6, 2025

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Willaaaaaaa, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new xmake package for glslang-nihui, a specialized fork of KhronosGroup/glslang. The primary motivation is to provide C++14 compatibility, which is a crucial requirement for projects like Tencent/ncnn. The package is highly configurable, allowing users to enable or disable various features and tools, and includes platform-specific build adjustments to ensure broad compatibility across different environments.

Highlights

  • New Package Introduction: A new xmake package definition for glslang-nihui has been added, specifically targeting the nihui fork of glslang.
  • C++14 Compatibility for NCNN: This package addresses the C++14 compatibility requirement for projects like Tencent/ncnn by utilizing the nihui fork.
  • Extensive Configuration Options: The package provides a wide array of configurable options, including support for SPIRV-Tools integration, HLSL, RTTI, exceptions, and building glslangValidator tools.
  • Platform-Specific Build Adjustments: It includes logic for platform-specific build adjustments, such as disabling debug postfixes for Windows, modifying linker options for WASM, and adding pthread dependency for Linux.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new xmake package for glslang-nihui, a fork of glslang. The package definition is well-structured and follows existing conventions in the repository. I've identified one potential bug regarding a missing unconditional Python dependency that could lead to build failures. I've also provided a couple of suggestions to refactor parts of the installation logic for better maintainability. Overall, this is a great addition.

@Willaaaaaaa Willaaaaaaa closed this Dec 6, 2025
@Willaaaaaaa Willaaaaaaa reopened this Dec 6, 2025
@Willaaaaaaa Willaaaaaaa marked this pull request as draft December 6, 2025 06:38
@Willaaaaaaa Willaaaaaaa marked this pull request as ready for review December 6, 2025 06:55
@star-hengxing
Copy link
Contributor

We can add a special version to glslang, and then download the corresponding patch from this forked repository to apply to this version.

@Willaaaaaaa
Copy link
Contributor Author

We can add a special version to glslang, and then download the corresponding patch from this forked repository to apply to this version.

willaaaaaaa@Will:~/dev/glslang-nihui$ git remote -v
origin  [email protected]:nihui/glslang.git (fetch)
origin  [email protected]:nihui/glslang.git (push)
upstream        [email protected]:KhronosGroup/glslang.git (fetch)
upstream        [email protected]:KhronosGroup/glslang.git (push)
willaaaaaaa@Will:~/dev/glslang-nihui$ git merge-base cpp14-2 upstream/main 
05cfcc1613c28c1274036f53616d66324f7cd383
willaaaaaaa@Will:~/dev/glslang-nihui$ git diff 05cfcc1613c28c1274036f53616d66324f7cd383 cpp14-2 > ncnn-20250916.patch
willaaaaaaa@Will:~/dev/glslang-nihui$ wc -l ./ncnn-20250916.patch 
844 ./ncnn-20250916.patch

Like this? an 844-line patch?😂
Although adding this package may cause redundancy, it's more clear than all in one package.
And yes, we have no 05cfcc1613c28c1274036f53616d66324f7cd383 in current glslang.

@Willaaaaaaa Willaaaaaaa closed this Dec 9, 2025
@Willaaaaaaa Willaaaaaaa reopened this Dec 10, 2025
@waruqi waruqi merged commit 28dbe07 into xmake-io:dev Dec 11, 2025
61 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants