Le 03/02/2017 à 14:30, Henri Verbeet a écrit :
On 2 February 2017 at 19:45, Guillaume Charifi guillaume.charifi@sfr.fr wrote:
@@ -72,6 +72,38 @@ enum wined3d_primitive_type WINED3D_PT_LINESTRIP_ADJ = 11, WINED3D_PT_TRIANGLELIST_ADJ = 12, WINED3D_PT_TRIANGLESTRIP_ADJ = 13,
- WINED3D_PT_1_CONTROL_POINT_PATCHLIST = 33,
- WINED3D_PT_2_CONTROL_POINT_PATCHLIST = 34,
- WINED3D_PT_3_CONTROL_POINT_PATCHLIST = 35,
- WINED3D_PT_4_CONTROL_POINT_PATCHLIST = 36,
- WINED3D_PT_5_CONTROL_POINT_PATCHLIST = 37,
- WINED3D_PT_6_CONTROL_POINT_PATCHLIST = 38,
- WINED3D_PT_7_CONTROL_POINT_PATCHLIST = 39,
- WINED3D_PT_8_CONTROL_POINT_PATCHLIST = 40,
- WINED3D_PT_9_CONTROL_POINT_PATCHLIST = 41,
- WINED3D_PT_10_CONTROL_POINT_PATCHLIST = 42,
- WINED3D_PT_11_CONTROL_POINT_PATCHLIST = 43,
- WINED3D_PT_12_CONTROL_POINT_PATCHLIST = 44,
- WINED3D_PT_13_CONTROL_POINT_PATCHLIST = 45,
- WINED3D_PT_14_CONTROL_POINT_PATCHLIST = 46,
- WINED3D_PT_15_CONTROL_POINT_PATCHLIST = 47,
- WINED3D_PT_16_CONTROL_POINT_PATCHLIST = 48,
- WINED3D_PT_17_CONTROL_POINT_PATCHLIST = 49,
- WINED3D_PT_18_CONTROL_POINT_PATCHLIST = 50,
- WINED3D_PT_19_CONTROL_POINT_PATCHLIST = 51,
- WINED3D_PT_20_CONTROL_POINT_PATCHLIST = 52,
- WINED3D_PT_21_CONTROL_POINT_PATCHLIST = 53,
- WINED3D_PT_22_CONTROL_POINT_PATCHLIST = 54,
- WINED3D_PT_23_CONTROL_POINT_PATCHLIST = 55,
- WINED3D_PT_24_CONTROL_POINT_PATCHLIST = 56,
- WINED3D_PT_25_CONTROL_POINT_PATCHLIST = 57,
- WINED3D_PT_26_CONTROL_POINT_PATCHLIST = 58,
- WINED3D_PT_27_CONTROL_POINT_PATCHLIST = 59,
- WINED3D_PT_28_CONTROL_POINT_PATCHLIST = 60,
- WINED3D_PT_29_CONTROL_POINT_PATCHLIST = 61,
- WINED3D_PT_30_CONTROL_POINT_PATCHLIST = 62,
- WINED3D_PT_31_CONTROL_POINT_PATCHLIST = 63,
- WINED3D_PT_32_CONTROL_POINT_PATCHLIST = 64,
};
I'm not sure this really makes sense in wined3d, in OpenGL the primitive type and control point count are separate.
Yes, it's true, but it must be declared somewhere, and the corresponding union in D3D11 is D3D11_PRIMITIVE_TOPOLOGY, that contains them all together. Moreover I get GL_PATCHES out of them in gl_primitive_type_from_d3d(), to draw with tessellation shaders.