v3dv: lower interpolateAt functions in NIR and enable sample rate shading

The lowering will get all the interpolateAt() functions from GLSL lowered to
the corresponding intrinsics we have just implemented in the compiler backend,
which was the last piece we needed to enable the feature.

This gets us to pass all the relevant tests in:
dEQP-VK.pipeline.multisample_interpolation.*

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
This commit is contained in:
Iago Toral Quiroga 2020-08-06 14:15:41 +02:00 committed by Marge Bot
parent 6004ad9df1
commit 57a337f26e
2 changed files with 2 additions and 1 deletions

View File

@ -635,7 +635,7 @@ v3dv_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,
.independentBlend = false,
.geometryShader = false,
.tessellationShader = false,
.sampleRateShading = false,
.sampleRateShading = true,
.dualSrcBlend = false,
.logicOp = false,
.multiDrawIndirect = false,

View File

@ -258,6 +258,7 @@ const nir_shader_compiler_options v3dv_nir_options = {
.lower_to_scalar = true,
.vertex_id_zero_based = false, /* FIXME: to set this to true, the intrinsic
* needs to be supported */
.lower_interpolate_at = true,
};
const nir_shader_compiler_options *