compiler/spirv: add XFB and GeometryStreams capability check support

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Alejandro Piñeiro
2018-07-13 13:34:08 +02:00
parent 1e3f61d1d5
commit d69027536c
2 changed files with 10 additions and 2 deletions

View File

@@ -60,6 +60,8 @@ struct spirv_supported_capabilities {
bool atomic_storage; bool atomic_storage;
bool storage_8bit; bool storage_8bit;
bool post_depth_coverage; bool post_depth_coverage;
bool transform_feedback;
bool geometry_streams;
}; };
typedef struct shader_info { typedef struct shader_info {

View File

@@ -3417,7 +3417,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
case SpvCapabilityStorageImageExtendedFormats: case SpvCapabilityStorageImageExtendedFormats:
break; break;
case SpvCapabilityGeometryStreams:
case SpvCapabilityLinkage: case SpvCapabilityLinkage:
case SpvCapabilityVector16: case SpvCapabilityVector16:
case SpvCapabilityFloat16Buffer: case SpvCapabilityFloat16Buffer:
@@ -3427,7 +3426,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
case SpvCapabilityInt8: case SpvCapabilityInt8:
case SpvCapabilitySparseResidency: case SpvCapabilitySparseResidency:
case SpvCapabilityMinLod: case SpvCapabilityMinLod:
case SpvCapabilityTransformFeedback:
vtn_warn("Unsupported SPIR-V capability: %s", vtn_warn("Unsupported SPIR-V capability: %s",
spirv_capability_to_string(cap)); spirv_capability_to_string(cap));
break; break;
@@ -3446,6 +3444,14 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
spv_check_supported(int16, cap); spv_check_supported(int16, cap);
break; break;
case SpvCapabilityTransformFeedback:
spv_check_supported(transform_feedback, cap);
break;
case SpvCapabilityGeometryStreams:
spv_check_supported(geometry_streams, cap);
break;
case SpvCapabilityAddresses: case SpvCapabilityAddresses:
case SpvCapabilityKernel: case SpvCapabilityKernel:
case SpvCapabilityImageBasic: case SpvCapabilityImageBasic: