Johannes Krottmayer
Johannes Krottmayer

Reputation: 66

Should be all vendor specific device extensions enabled?

I want to begin Vulkan programming for the purpose of education (and for fun). Have a question to device specific extensions. My old AMD graphic card (Radeon RX580) has the following AMD extensions as example:

0x00000001 VK_AMD_buffer_marker
0x00000001 VK_AMD_device_coherent_memory
0x00000002 VK_AMD_draw_indirect_count
0x00000001 VK_AMD_gcn_shader
0x00000001 VK_AMD_memory_overallocation_behavior
0x00000001 VK_AMD_mixed_attachment_samples
0x00000001 VK_AMD_rasterization_order
0x00000001 VK_AMD_shader_ballot
0x00000002 VK_AMD_shader_core_properties
0x00000001 VK_AMD_shader_core_properties2
0x00000001 VK_AMD_shader_explicit_vertex_parameter
0x00000001 VK_AMD_shader_fragment_mask
0x00000001 VK_AMD_shader_image_load_store_lod
0x00000001 VK_AMD_shader_trinary_minmax
0x00000001 VK_AMD_texture_gather_bias_lod

Here the extension VK_AMD_gcn_shader as example. As far I know, GCN is AMD's graphic architecture. Do I need (must be enabled) this extension, if I want use the standard shader's like Vertex, Fragment and others? Unfortunately VK_AMD_gcn_shader isn't well documented at the Khronos homepage, so I don't know when I must enable this extension.

Upvotes: -1

Views: 33

Answers (1)

solidpixel
solidpixel

Reputation: 12159

In general, you should never "need" to use a vendor extension unless you need the extra functionality they add on top of the standard API.

I would avoid them when learning - they really add power-user functionality for advanced users, or early access to new functionality that is not yet standardized.

Upvotes: 2

Related Questions