[PATCH 1/2] wined3d: Add patch primitives.

Guillaume Charifi guillaume.charifi at sfr.fr
Fri Feb 3 13:02:08 CST 2017



Le 03/02/2017 à 14:30, Henri Verbeet a écrit :
> On 2 February 2017 at 19:45, Guillaume Charifi <guillaume.charifi at 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.



More information about the wine-devel mailing list