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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user