Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MGFX: Implement HLSL language support for .fx files #8

Open
seclerp opened this issue Jan 9, 2022 · 3 comments
Open

MGFX: Implement HLSL language support for .fx files #8

seclerp opened this issue Jan 9, 2022 · 3 comments
Assignees
Labels
enhancement New feature or request suggestion
Milestone

Comments

@seclerp
Copy link
Owner

seclerp commented Jan 9, 2022

Currently .fx files are just plain text ones. Need to implement syntax for them

Grammar to start from: https://github.com/SickheadGames/HL2GLSL/blob/master/parser/hlsl.grammar

Grammar used in Chromium: https://chromium.googlesource.com/chromium/chromium/+/d12b0baace92618bc8516561a254c0e96cd3a408/o3d/compiler/hlsl/HLSL.g

@seclerp seclerp added the enhancement New feature or request label Jan 9, 2022
@seclerp seclerp assigned seclerp and unassigned seclerp Jan 9, 2022
@seclerp seclerp added this to the Future milestone Oct 4, 2022
@seclerp seclerp self-assigned this Aug 6, 2023
@jwosty
Copy link

jwosty commented Jan 15, 2025

Seems like Rider has some language support for HLSL. Is there any way that could be leveraged, at least as a stopgap? https://www.jetbrains.com/help/rider/Unreal_Engine__HLSL_Shaders.html

Main thing missing is the technique syntax, but I"d rather have any syntax highlighting at all.

@jwosty
Copy link

jwosty commented Jan 15, 2025

How involved is this type of change (for someone who has never worked on an JetBrains plugin)? If it"s the kind of thing that can be done in an afternoon I"d be happy to give it a crack, if you point me in the right direction (i.e. what files need to be added and where, how do I build and test it locally, etc).

@seclerp
Copy link
Owner Author

seclerp commented Jan 15, 2025

Seems like Rider has some language support for HLSL

You"re totally right and this is the way I want to implement it once I have enough time for it :) We have a comprehensive HLSL language infrastructure built on top of powerful C++ infrastructure which may be reused.

How involved is this type of change (for someone who has never worked on an JetBrains plugin)?

Unfortunately, by design our HLSL language support is done in a monolith C++ tooling which is not pluggable from outside, which means it requires main work to be done with the Rider codebase, not much with the plugin itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request suggestion
Projects
None yet
Development

No branches or pull requests

2 participants