summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_device.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-04-15 14:53:16 -0700
committerJason Ekstrand <[email protected]>2016-04-15 14:53:16 -0700
commit5ec4ecce44cfcce67391a25884bd0ef665957398 (patch)
tree6956d297c9a48bfbd6417d24b63085ad92bfd629 /src/intel/vulkan/anv_device.c
parent0166ad6ced542cacfbbbe45e9d4b7f14af5040de (diff)
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.
Diffstat (limited to 'src/intel/vulkan/anv_device.c')
-rw-r--r--src/intel/vulkan/anv_device.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 01d3c996ad2..57c40f53df8 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -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