https://bugs.winehq.org/show_bug.cgi?id=39586
--- Comment #16 from bugzilla@biechl.net --- (In reply to Józef Kucia from comment #15)
(In reply to bugzilla from comment #12)
fixme:d3d_shader:shader_sm4_read_dcl_resource Unhandled resource type 0xa.
0xa is cube array. You may want to try this patch: https://www.winehq.org/pipermail/wine-patches/2016-November/155651.html
Thank you very much! Compiled 2.0 + staging + patch from bug #41271 + your patch. It resolves the shader compilation error.
This part of the patch does not work, because the structure has changed: @@ -2940,6 +2946,7 @@ static void shader_glsl_get_sample_function(const struct wined3d_shader_context {2, ""}, /* WINED3D_SHADER_RESOURCE_TEXTURE_1DARRAY */ {3, "2DArray"}, /* WINED3D_SHADER_RESOURCE_TEXTURE_2DARRAY */ {3, ""}, /* WINED3D_SHADER_RESOURCE_TEXTURE_2DMSARRAY */ + {4, ""}, /* WINED3D_SHADER_RESOURCE_TEXTURE_CUBEARRAY */ };
This listing is now at the beginning of the file and each entry now takes 3 parameters - it's not documented unfortunately, but I think the first one is for the "suffix" of the first texture call param (e.g. 3 = xyz, 4 = xyzw), not quite sure about the second and third parameter.
I took an educated guess and added this instead, which is probably wrong (can't see the shader code anymore, can I dump it somehow?): line 71: {4, 3, ""}, /* WINED3D_SHADER_RESOURCE_TEXTURE_CUBEARRAY */
Fixing the shader unfortunately didn't resolve the buffer attachments problem - which makes sense. It's very difficult for me to tell what the gamebreaker is here. I think there are quite some of them. But, hey, one step after another. :)