anv: Advertise vertexPipelineStoresAndAtomics based on scalar stages

Previously, we just looked at the hardware generation but this meant that
if you did INTEL_DEBUG=vec4 on BDW or SKL, you would have advertised but
non-working features.
This commit is contained in:
Jason Ekstrand 2016-04-15 14:53:16 -07:00
parent 0166ad6ced
commit 5ec4ecce44

View file

@ -385,7 +385,6 @@ void anv_GetPhysicalDeviceFeatures(
.textureCompressionBC = true,
.occlusionQueryPrecise = true,
.pipelineStatisticsQuery = false,
.vertexPipelineStoresAndAtomics = pdevice->info->gen >= 8,
.fragmentStoresAndAtomics = true,
.shaderTessellationAndGeometryPointSize = true,
.shaderImageGatherExtended = true,
@ -406,6 +405,11 @@ void anv_GetPhysicalDeviceFeatures(
.variableMultisampleRate = false,
.inheritedQueries = false,
};
/* We can't do image stores in vec4 shaders */
pFeatures->vertexPipelineStoresAndAtomics =
!pdevice->compiler->scalar_stage[MESA_SHADER_VERTEX] &&
!pdevice->compiler->scalar_stage[MESA_SHADER_GEOMETRY];
}
void