Thank you for your feedback. WineD3D/D3D11/OpenGL are complex APIs with lots of tricky details. I know my implementation is far from perfect, but it seems that you learn better by working, trying, so I do. I have a basic but (likely) working tessellation implementation and I'll submit it soon. But it's quite dirty, so I expect feedbacks to improve it (if you haven't done it locally yet).
Btw, I think you should write down somewhere who is currently working on what at Crossover, to avoid useless duplicated work.
<div>-------- Message d'origine --------</div><div>De : Józef Kucia joseph.kucia@gmail.com </div><div>Date :30/01/2017 14:13 (GMT+01:00) </div><div>À : wine-devel wine-devel@winehq.org </div><div>Cc : Guillaume Charifi guillaume.charifi@sfr.fr </div><div>Objet : Re: [PATCH 05/10] wined3d: Add compute shaders cb/samplers state updates. </div><div> </div>FWIW, I have a patch series adding basic support for compute shaders in my patch queue. I should start submitting the series when my SM5 shader instructions series from wine-patches is committed.
I've skimmed over your patches though. I'll share some high-level comments.
On Sun, Jan 29, 2017 at 2:43 PM, Guillaume Charifi guillaume.charifi@sfr.fr wrote:
Signed-off-by: Guillaume Charifi guillaume.charifi@sfr.fr
dlls/wined3d/context.c | 1 + dlls/wined3d/state.c | 3 +++ 2 files changed, 4 insertions(+)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c index ca73bcc..eaae0b8 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c @@ -3382,6 +3382,7 @@ static void context_bind_shader_resources(struct wined3d_context *context, const { {WINED3D_SHADER_TYPE_PIXEL, 0, MAX_FRAGMENT_SAMPLERS}, {WINED3D_SHADER_TYPE_VERTEX, MAX_FRAGMENT_SAMPLERS, MAX_VERTEX_SAMPLERS},
};{WINED3D_SHADER_TYPE_COMPUTE, 0, MAX_COMPUTE_SAMPLERS},
I don't think that adding a proper support for binding compute shader resources is that simple.
On Mon, Jan 30, 2017 at 5:26 PM, Guillaume Charifi guillaume.charifi@sfr.fr wrote:
Thank you for your feedback. WineD3D/D3D11/OpenGL are complex APIs with lots of tricky details. I know my implementation is far from perfect, but it seems that you learn better by working, trying, so I do. I have a basic but (likely) working tessellation implementation and I'll submit it soon. But it's quite dirty, so I expect feedbacks to improve it (if you haven't done it locally yet).
Sure, a tessellation shaders implementation would be welcome. I haven't done much work on tessellation shaders, just some hacks to run a very basic tessellation shaders. I think that it might be a good idea to implement stream output/transform feedback first. Stream output should make writing tests for tessellation shaders so much easier. Basic support for stream output should also be easier to implement than tessellation shaders.
Btw, I think you should write down somewhere who is currently working on what at Crossover, to avoid useless duplicated work.
This could be improved, but the truth is that we do not have much contributions to wined3d besides the work of core wined3d team. You can always write to wine-devel that you are interested in implementing a particular feature.