Skip to content

Correctly detect Slang capabilities #416

@skallweitNV

Description

@skallweitNV

This issue is for tracking the slang capabilities that slang-rhi currently detects. We want to get to a point where we can detect all capabilities on device creation.

  • textualTarget
  • hlsl
  • c
  • cpp
  • cuda
  • metal
  • spirv
  • wgsl
  • slangvm
  • _spirv_1_0
  • _spirv_1_1
  • _spirv_1_2
  • _spirv_1_3
  • _spirv_1_4
  • _spirv_1_5
  • _spirv_1_6
  • metallib_2_3
  • metallib_2_4
  • metallib_3_0
  • metallib_3_1
  • _sm_4_0
  • _sm_4_1
  • _sm_5_0
  • _sm_5_1
  • _sm_6_0
  • _sm_6_1
  • _sm_6_2
  • _sm_6_3
  • _sm_6_4
  • _sm_6_5
  • _sm_6_6
  • _sm_6_7
  • _sm_6_8
  • _sm_6_9
  • hlsl_nvapi
  • hlsl_2018
  • _cuda_sm_1_0
  • _cuda_sm_2_0
  • _cuda_sm_3_0
  • _cuda_sm_3_5
  • _cuda_sm_4_0
  • _cuda_sm_5_0
  • _cuda_sm_6_0
  • _cuda_sm_7_0
  • _cuda_sm_8_0
  • _cuda_sm_9_0
  • vertex
  • fragment
  • compute
  • hull
  • domain
  • geometry
  • dispatch
  • _raygen
  • _intersection
  • _anyhit
  • _closesthit
  • _callable
  • _miss
  • _mesh
  • _amplification
  • SPV_EXT_fragment_shader_interlock
  • SPV_EXT_physical_storage_buffer
  • SPV_EXT_fragment_fully_covered
  • SPV_EXT_descriptor_indexing
  • SPV_EXT_shader_atomic_float_add
  • SPV_EXT_shader_atomic_float16_add
  • SPV_EXT_shader_atomic_float_min_max
  • SPV_EXT_mesh_shader
  • SPV_EXT_demote_to_helper_invocation
  • SPV_KHR_maximal_reconvergence
  • SPV_KHR_quad_control
  • SPV_KHR_fragment_shader_barycentric
  • SPV_KHR_non_semantic_info
  • SPV_KHR_ray_tracing
  • SPV_KHR_ray_query
  • SPV_KHR_ray_tracing_position_fetch
  • SPV_KHR_shader_clock
  • SPV_NV_shader_subgroup_partitioned
  • SPV_KHR_subgroup_rotate
  • SPV_NV_ray_tracing_motion_blur
  • SPV_NV_shader_invocation_reorder
  • SPV_NV_shader_image_footprint
  • SPV_KHR_compute_shader_derivatives
  • SPV_GOOGLE_user_type
  • SPV_EXT_replicated_composites
  • SPV_NV_cooperative_vector
  • SPV_KHR_cooperative_matrix
  • spvAtomicFloat32AddEXT
  • spvAtomicFloat16AddEXT
  • spvAtomicFloat64AddEXT
  • spvInt64Atomics
  • spvAtomicFloat32MinMaxEXT
  • spvAtomicFloat16MinMaxEXT
  • spvAtomicFloat64MinMaxEXT
  • spvDerivativeControl
  • spvImageQuery
  • spvImageGatherExtended
  • spvSparseResidency
  • spvImageFootprintNV
  • spvMinLod
  • spvFragmentShaderPixelInterlockEXT
  • spvFragmentBarycentricKHR
  • spvFragmentFullyCoveredEXT
  • spvGroupNonUniformBallot
  • spvGroupNonUniformShuffle
  • spvGroupNonUniformArithmetic
  • spvGroupNonUniformQuad
  • spvGroupNonUniformVote
  • spvGroupNonUniformPartitionedNV
  • spvGroupNonUniformRotateKHR
  • spvRayTracingMotionBlurNV
  • spvMeshShadingEXT
  • spvRayTracingKHR
  • spvRayTracingPositionFetchKHR
  • spvRayQueryKHR
  • spvRayQueryPositionFetchKHR
  • spvShaderInvocationReorderNV
  • spvShaderClockKHR
  • spvShaderNonUniformEXT
  • spvShaderNonUniform
  • spvDemoteToHelperInvocationEXT
  • spvDemoteToHelperInvocation
  • spvReplicatedCompositesEXT
  • spvCooperativeVectorNV
  • spvCooperativeVectorTrainingNV
  • spvCooperativeMatrixKHR
  • spvMaximalReconvergenceKHR
  • spvQuadControlKHR

The OpenGL related capabilities are not relevant, because slang-rhi does not provide an OpenGL backend.

  • glsl
  • glsl_spirv_1_0
  • glsl_spirv_1_1
  • glsl_spirv_1_2
  • glsl_spirv_1_3
  • glsl_spirv_1_4
  • glsl_spirv_1_5
  • glsl_spirv_1_6
  • _GLSL_130
  • _GLSL_140
  • _GLSL_150
  • _GLSL_330
  • _GLSL_400
  • _GLSL_410
  • _GLSL_420
  • _GLSL_430
  • _GLSL_440
  • _GLSL_450
  • _GLSL_460
  • _GL_EXT_buffer_reference
  • _GL_EXT_buffer_reference_uvec2
  • _GL_EXT_debug_printf
  • _GL_EXT_demote_to_helper_invocation
  • _GL_EXT_fragment_shader_barycentric
  • _GL_EXT_mesh_shader
  • _GL_EXT_nonuniform_qualifier
  • _GL_EXT_ray_query
  • _GL_EXT_ray_tracing
  • _GL_EXT_ray_tracing_position_fetch
  • _GL_EXT_samplerless_texture_functions
  • _GL_EXT_shader_atomic_float
  • _GL_EXT_shader_atomic_float_min_max
  • _GL_EXT_shader_atomic_float2
  • _GL_EXT_shader_atomic_int64
  • _GL_EXT_shader_explicit_arithmetic_types_int64
  • _GL_EXT_shader_image_load_store
  • _GL_EXT_shader_realtime_clock
  • _GL_EXT_texture_query_lod
  • _GL_EXT_texture_shadow_lod
  • _GL_EXT_maximal_reconvergence
  • _GL_EXT_shader_quad_control
  • _GL_ARB_derivative_control
  • _GL_ARB_fragment_shader_interlock
  • _GL_ARB_gpu_shader5
  • _GL_ARB_shader_image_load_store
  • _GL_ARB_shader_image_size
  • _GL_ARB_texture_multisample
  • _GL_ARB_shader_texture_image_samples
  • _GL_ARB_sparse_texture
  • _GL_ARB_sparse_texture2
  • _GL_ARB_sparse_texture_clamp
  • _GL_ARB_texture_gather
  • _GL_ARB_texture_query_levels
  • _GL_ARB_shader_clock
  • _GL_ARB_gpu_shader_int64
  • _GL_ARB_shader_clock64
  • _GL_KHR_memory_scope_semantics
  • _GL_KHR_shader_subgroup_arithmetic
  • _GL_KHR_shader_subgroup_ballot
  • _GL_KHR_shader_subgroup_basic
  • _GL_KHR_shader_subgroup_clustered
  • _GL_KHR_shader_subgroup_quad
  • _GL_KHR_shader_subgroup_shuffle
  • _GL_KHR_shader_subgroup_shuffle_relative
  • _GL_KHR_shader_subgroup_vote
  • _GL_KHR_shader_subgroup_rotate
  • _GL_NV_compute_shader_derivatives
  • _GL_NV_fragment_shader_barycentric
  • _GL_NV_gpu_shader5
  • _GL_NV_ray_tracing
  • _GL_NV_ray_tracing_motion_blur
  • _GL_NV_shader_atomic_fp16_vector
  • _GL_NV_shader_invocation_reorder
  • _GL_NV_shader_subgroup_partitioned
  • _GL_NV_shader_texture_footpri

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions