diff options
author | Dave Airlie <airlied@redhat.com> | 2017-03-30 08:48:49 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2017-04-01 07:17:25 +1000 |
commit | c011fe7452f5a0c90e1839e3549efc4c2ac665c1 (patch) | |
tree | 4fec28fd106ee3cea07af2ee31b3fdc82aa8faf1 | |
parent | cb1518e96be44714c3925066379d8394adcc161e (diff) |
radv: enable tessellation shaders.
This enables tessellation shaders and sets some values for
the maximums.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | src/amd/vulkan/radv_device.c | 18 | ||||
-rw-r--r-- | src/amd/vulkan/radv_pipeline.c | 1 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 4d685646a62..5c48be1d11a 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -452,7 +452,7 @@ void radv_GetPhysicalDeviceFeatures( .imageCubeArray = true, .independentBlend = true, .geometryShader = true, - .tessellationShader = false, + .tessellationShader = true, .sampleRateShading = false, .dualSrcBlend = true, .logicOp = true, @@ -565,14 +565,14 @@ void radv_GetPhysicalDeviceProperties( .maxVertexInputAttributeOffset = 2047, .maxVertexInputBindingStride = 2048, .maxVertexOutputComponents = 128, - .maxTessellationGenerationLevel = 0, - .maxTessellationPatchSize = 0, - .maxTessellationControlPerVertexInputComponents = 0, - .maxTessellationControlPerVertexOutputComponents = 0, - .maxTessellationControlPerPatchOutputComponents = 0, - .maxTessellationControlTotalOutputComponents = 0, - .maxTessellationEvaluationInputComponents = 0, - .maxTessellationEvaluationOutputComponents = 0, + .maxTessellationGenerationLevel = 64, + .maxTessellationPatchSize = 32, + .maxTessellationControlPerVertexInputComponents = 128, + .maxTessellationControlPerVertexOutputComponents = 128, + .maxTessellationControlPerPatchOutputComponents = 120, + .maxTessellationControlTotalOutputComponents = 4096, + .maxTessellationEvaluationInputComponents = 128, + .maxTessellationEvaluationOutputComponents = 128, .maxGeometryShaderInvocations = 32, .maxGeometryInputComponents = 64, .maxGeometryOutputComponents = 128, diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index c2dd498b078..cf11362eade 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -212,6 +212,7 @@ radv_shader_compile_to_nir(struct radv_device *device, .float64 = true, .image_read_without_format = true, .image_write_without_format = true, + .tessellation = true, }; entry_point = spirv_to_nir(spirv, module->size / 4, spec_entries, num_spec_entries, |