Very basic D2D compute shader support (non-source generator)
rickbrew opened this issue · 1 comments
Related to #351 and #552, I think there's an opportunity for very basic D2D compute shader support. The first two I was able to do myself with forked code, but the 3rd I would need ComputeSharp to specifically support:
- Add
ComputeShader50
toD2D1ShaderProfile
, which would resolve tocs_5_0
/lib_5_0
- Enable
D2D1ShaderCompiler
to compile these (might be automatic with # 1) - Add
[D2DComputeShaderSource]
similar to[D2DPixelShaderSource]
. I believe this should be trivial?
3 would really help me right now, as I'm currently having to compile my compute shaders at runtime. This causes a noticeable delay the first time one of them is used, and I can't verify it'll even compile until runtime!
I don't think it's necessary to worry about the d2d1computeshaderhelpers.hlsli
just yet, that's not what I intend this issue to cover. I just want the basic stuff.
It may also be worth extending this to vertex shaders -- as in, no source generator support but at least we could compile and experiment with them. I don't have any plans to pursue vertex shaders, other than experimenting for satisfying my own curiosity, so this would just be about fleshing out ComputeSharp.D2D1.
Also, I have some compute shaders you can copy-paste if you want something for unit testing.