diff options
author | Jason Ekstrand <[email protected]> | 2016-04-15 14:53:16 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-04-15 14:53:16 -0700 |
commit | 5ec4ecce44cfcce67391a25884bd0ef665957398 (patch) | |
tree | 6956d297c9a48bfbd6417d24b63085ad92bfd629 | |
parent | 0166ad6ced542cacfbbbe45e9d4b7f14af5040de (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.
-rw-r--r-- | src/intel/vulkan/anv_device.c | 6 |
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 |