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

Compute Shader #7533

Open
wants to merge 127 commits into
base: develop
Choose a base branch
from
Open

Compute Shader #7533

wants to merge 127 commits into from

Conversation

cpt-max
Copy link
Contributor

@cpt-max cpt-max commented Jul 15, 2021

This PR adds compute shader support for DirectX and OpenGL.
It's based on #7352 which already adds tessellation and geometry shaders.

The following use cases are covered (with sample projects):

Compute Shader Guide for MonoGame
NuGet Packages, Platform Support and Build Requirements

Shader Migration Guide for OpenGL.
Shader Model Support for OpenGL.

cpt-max and others added 30 commits July 20, 2020 05:26
…arameter updating when uniform buffers are not available.
@cpt-max
Copy link
Contributor Author

cpt-max commented Oct 14, 2022

I finally updated the compute fork to the new MonoGame version (3.8.1).
The samples have been updated to .NET 6 and the new compute Nugets (3.8.2).
There's now also a Nuget for Android (MonoGame.Framework.Compute.Android) and some Android Samples.

A few more changes:

  • Shader files that only contain shader model 2 and 3 shaders will now be compiled by MojoShader instead of ShaderConductor. Check the Shader Migration Guide for more details and a way to override this.
  • Added integer surface formats, which can be used for per-pixel atomic operations.
  • Assigning default values to shader parameters in HLSL will now also work for OpenGL. This is limited to assigning simple values though, no expressions or identifiers.
  • Pixel shaders can now also write to buffers and textures (UAV) like compute shaders. This is DirectX only for now. With OpenGL that's possible too, but a bit more complicated.

@MrScautHD
Copy link

Does this support Windows, Linux, Mac and Android + IOS?

@Beyley
Copy link

Beyley commented Dec 10, 2022

Does this support Windows, Linux, Mac and Android + IOS?

read up in the thread

@MrScautHD
Copy link

Does this support Windows, Linux, Mac and Android + IOS?

read up in the thread

i not saw IOS, so does it not?

@cpt-max
Copy link
Contributor Author

cpt-max commented Dec 10, 2022

There's this link from my first post: NuGet Packages, Platform Support and Build Requirements
A few posts up I'm also talking about iOS: #7533 (comment)

@cpt-max
Copy link
Contributor Author

cpt-max commented Mar 5, 2023

@cpt-max can you put up a sponsor button ill hit it.

@damian-666 I don't really want to do that. Once I start taking peoples money, I'll feel obligated to deliver something in return. While I have no plans to stop supporting the compute fork, it's just a spare time project for me, not business.
If you want to support MG development financially, there's a Patreon page.

@cpt-max
Copy link
Contributor Author

cpt-max commented Mar 19, 2023

I published new MGCB Nugets. This fixes an issue where content wasn't built, when building from within the MGCB editor.
The new version is 3.8.2.3. This affects the Nugets that go into dotnet-tools.json

@cpt-max
Copy link
Contributor Author

cpt-max commented Mar 31, 2024

Solved some merge conflicts and updated to new MG version with .NET 8 support. New NuGet version is 3.8.3.

@mrhelmut mrhelmut modified the milestones: 3.9.0, 5.0 Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Next Generation API
  
In progress
Development

Successfully merging this pull request may close these issues.

None yet

9 participants