vkd3d-shader: Add support for OpenGL tessellation shaders.

In DXBC tessellator parameters are specified in hull shaders. In OpenGL,
even in SPIR-V, tessellator parameters must be specified in the
tessellation evaluation shader.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia
2019-02-14 12:22:33 +01:00
committed by Alexandre Julliard
parent 22330b5414
commit c333fddaf9
3 changed files with 60 additions and 25 deletions

View File

@@ -464,23 +464,6 @@ enum vkd3d_tessellator_domain
VKD3D_TESSELLATOR_DOMAIN_QUAD = 3,
};
enum vkd3d_tessellator_output_primitive
{
VKD3D_TESSELLATOR_OUTPUT_POINT = 1,
VKD3D_TESSELLATOR_OUTPUT_LINE = 2,
VKD3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
VKD3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4,
};
enum vkd3d_tessellator_partitioning
{
VKD3D_TESSELLATOR_PARTITIONING_INTEGER = 1,
VKD3D_TESSELLATOR_PARTITIONING_POW2 = 2,
VKD3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
VKD3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4,
};
#define VKD3DSI_NONE 0x0
#define VKD3DSI_TEXLD_PROJECT 0x1
#define VKD3DSI_INDEXED_DYNAMIC 0x4