1 | # Status of OpenGL extensions in Mesa
|
---|
2 |
|
---|
3 | Here's how to read this file:
|
---|
4 |
|
---|
5 | all DONE: <driver>, ...
|
---|
6 | All the extensions are done for the given list of drivers.
|
---|
7 |
|
---|
8 | DONE
|
---|
9 | The extension is done for Mesa and no implementation is necessary on the
|
---|
10 | driver-side.
|
---|
11 |
|
---|
12 | DONE ()
|
---|
13 | The extension is done for Mesa and all the drivers in the "all DONE" list.
|
---|
14 |
|
---|
15 | DONE (<driver>, ...)
|
---|
16 | The extension is done for Mesa, all the drivers in the "all DONE" list, and
|
---|
17 | all the drivers in the brackets.
|
---|
18 |
|
---|
19 | in progress
|
---|
20 | The extension is started but not finished yet.
|
---|
21 |
|
---|
22 | not started
|
---|
23 | The extension isn't started yet.
|
---|
24 |
|
---|
25 | # OpenGL Core and Compatibility context support
|
---|
26 |
|
---|
27 | Some drivers do not support the Compatibility profile or the
|
---|
28 | ARB_compatibility extensions. If an application does not request a
|
---|
29 | specific version without the forward-compatiblity flag, such drivers
|
---|
30 | will be limited to OpenGL 3.0. If an application requests OpenGL 3.1,
|
---|
31 | it will get a context that may or may not have the ARB_compatibility
|
---|
32 | extension enabled. Some of the later GL features are exposed in the 3.0
|
---|
33 | context as extensions.
|
---|
34 |
|
---|
35 |
|
---|
36 | Feature Status
|
---|
37 | ------------------------------------------------------- ------------------------
|
---|
38 |
|
---|
39 | GL 3.0, GLSL 1.30 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, panfrost, asahi, iris, crocus/gen6+
|
---|
40 |
|
---|
41 | glBindFragDataLocation, glGetFragDataLocation DONE
|
---|
42 | GL_NV_conditional_render (Conditional rendering) DONE (v3d, etnaviv/HALTI0)
|
---|
43 | GL_ARB_map_buffer_range (Map buffer subranges) DONE (v3d, vc4, lima)
|
---|
44 | GL_ARB_color_buffer_float (Clamping controls) DONE (v3d, vc4, lima, etnaviv)
|
---|
45 | GL_ARB_texture_float (Float textures, renderbuffers) DONE (v3d)
|
---|
46 | GL_EXT_packed_float DONE (v3d, etnaviv/HALTI0)
|
---|
47 | GL_EXT_texture_shared_exponent DONE (v3d)
|
---|
48 | GL_ARB_depth_buffer_float (Float depth buffers) DONE (v3d)
|
---|
49 | GL_ARB_framebuffer_object (Framebuffer objects) DONE (v3d, vc4, etnaviv)
|
---|
50 | GL_ARB_half_float_pixel DONE (all drivers)
|
---|
51 | GL_ARB_half_float_vertex DONE (v3d, vc4, lima, etnaviv)
|
---|
52 | GL_EXT_texture_integer DONE (v3d)
|
---|
53 | GL_EXT_texture_array DONE (v3d, etnaviv/HALTI0)
|
---|
54 | GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE (v3d)
|
---|
55 | GL_EXT_texture_compression_rgtc DONE (all drivers that support GL_EXT_texture_snorm)
|
---|
56 | GL_ARB_texture_rg DONE (v3d, lima, etnaviv/HALTI2)
|
---|
57 | GL_EXT_transform_feedback (Transform feedback) DONE (v3d)
|
---|
58 | GL_ARB_vertex_array_object (Vertex array objects) DONE (v3d, vc4, lima)
|
---|
59 | GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE (v3d, vc4, lima, etnaviv/HALTI3)
|
---|
60 | glClearBuffer commands DONE
|
---|
61 | glGetStringi command DONE
|
---|
62 | glTexParameterI, glGetTexParameterI commands DONE
|
---|
63 | glVertexAttribI commands DONE
|
---|
64 | Depth format cube textures DONE (v3d)
|
---|
65 | GLX_ARB_create_context (GLX 1.4 is required) DONE (v3d, vc4)
|
---|
66 | Multisample anti-aliasing DONE (freedreno/a5xx+, freedreno (*), llvmpipe (*), softpipe (*)), v3d)
|
---|
67 | 8 draw buffers DONE (panfrost/t760+, v3d/vc7+)
|
---|
68 |
|
---|
69 | (*) freedreno (a2xx-a4xx), llvmpipe, and softpipe have fake Multisample anti-aliasing support
|
---|
70 |
|
---|
71 |
|
---|
72 | GL 3.1, GLSL 1.40 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, panfrost, asahi, iris, crocus/gen6+
|
---|
73 |
|
---|
74 | Forward compatible context support/deprecations DONE
|
---|
75 | GL_ARB_draw_instanced (Instanced drawing) DONE (etnaviv/HALTI2, v3d, crocus)
|
---|
76 | GL_ARB_copy_buffer (Buffer copying) DONE (v3d, vc4, lima, crocus)
|
---|
77 | GL_NV_primitive_restart (Primitive restart) DONE (v3d, crocus)
|
---|
78 | 16 vertex texture image units DONE (v3d)
|
---|
79 | GL_ARB_texture_buffer_object (Texture buffer objs) DONE (v3d)
|
---|
80 | GL_ARB_texture_rectangle (Rectangular textures) DONE (v3d, vc4, lima, crocus, etnaviv)
|
---|
81 | GL_ARB_uniform_buffer_object (Uniform buffer objs) DONE (v3d, crocus)
|
---|
82 | GL_EXT_texture_snorm (Signed normalized textures) DONE (v3d, crocus)
|
---|
83 |
|
---|
84 |
|
---|
85 | GL 3.2, GLSL 1.50 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, iris, crocus/gen6+, asahi
|
---|
86 |
|
---|
87 | Core/compatibility profiles DONE
|
---|
88 | Geometry shaders DONE (freedreno/a6xx, crocus)
|
---|
89 | GL_ARB_vertex_array_bgra (BGRA vertex order) DONE (v3d, panfrost, crocus)
|
---|
90 | GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (v3d, vc4, panfrost, lima, crocus)
|
---|
91 | GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (v3d, vc4, panfrost, lima, crocus)
|
---|
92 | GL_ARB_provoking_vertex (Provoking vertex) DONE (v3d, vc4, panfrost, lima, crocus)
|
---|
93 | GL_ARB_seamless_cube_map (Seamless cubemaps) DONE (panfrost, crocus)
|
---|
94 | GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, v3d, vc4, panfrost, asahi)
|
---|
95 | GL_ARB_depth_clamp (Frag depth clamp) DONE (panfrost, crocus)
|
---|
96 | GL_ARB_sync (Fence objects) DONE (v3d, vc4, panfrost, lima, crocus)
|
---|
97 | GLX_ARB_create_context_profile DONE
|
---|
98 |
|
---|
99 |
|
---|
100 | GL 3.3, GLSL 3.30 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, iris, crocus/gen6+, asahi
|
---|
101 |
|
---|
102 | GL_ARB_blend_func_extended DONE (freedreno/a3xx, freedreno/a6xx, panfrost, lima)
|
---|
103 | GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL)
|
---|
104 | GL_ARB_occlusion_query2 DONE (v3d, panfrost)
|
---|
105 | GL_ARB_sampler_objects DONE (all drivers)
|
---|
106 | GL_ARB_shader_bit_encoding DONE (v3d, panfrost)
|
---|
107 | GL_ARB_texture_rgb10_a2ui DONE (v3d, panfrost)
|
---|
108 | GL_ARB_texture_swizzle DONE (v3d, vc4, panfrost, lima, etnaviv/HALTI0)
|
---|
109 | GL_ARB_timer_query DONE ()
|
---|
110 | GL_ARB_instanced_arrays DONE (etnaviv/HALTI2, v3d, panfrost)
|
---|
111 | GL_ARB_vertex_type_2_10_10_10_rev DONE (v3d, panfrost)
|
---|
112 |
|
---|
113 |
|
---|
114 | GL 4.0, GLSL 4.00 --- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7+
|
---|
115 |
|
---|
116 | GL_ARB_draw_buffers_blend DONE (freedreno, nv50, softpipe, panfrost, v3d, asahi, crocus/gen6+)
|
---|
117 | GL_ARB_draw_indirect DONE (freedreno, softpipe, v3d, asahi)
|
---|
118 | GL_ARB_gpu_shader5 DONE (freedreno/a6xx, asahi)
|
---|
119 | - 'precise' qualifier DONE (softpipe, asahi)
|
---|
120 | - Dynamically uniform sampler array indices DONE (softpipe, asahi)
|
---|
121 | - Dynamically uniform UBO array indices DONE (freedreno, softpipe, asahi)
|
---|
122 | - Implicit signed -> unsigned conversions DONE (softpipe, asahi)
|
---|
123 | - Fused multiply-add DONE (softpipe, asahi)
|
---|
124 | - Packing/bitfield/conversion functions DONE (freedreno, softpipe, panfrost, asahi)
|
---|
125 | - Enhanced textureGather DONE (freedreno, softpipe, panfrost, asahi)
|
---|
126 | - Geometry shader instancing DONE (softpipe, asahi)
|
---|
127 | - Geometry shader multiple streams DONE (softpipe, asahi)
|
---|
128 | - Enhanced per-sample shading DONE (asahi)
|
---|
129 | - Interpolation functions DONE (softpipe, asahi)
|
---|
130 | - New overload resolution rules DONE (softpipe, asahi)
|
---|
131 | GL_ARB_gpu_shader_fp64 DONE (freedreno/a6xx, softpipe)
|
---|
132 | GL_ARB_sample_shading DONE (freedreno/a6xx, nv50, panfrost, crocus/gen6+, asahi)
|
---|
133 | GL_ARB_shader_subroutine DONE (freedreno, nv50, softpipe, crocus/gen6+)
|
---|
134 | GL_ARB_tessellation_shader DONE (freedreno/a6xx)
|
---|
135 | GL_ARB_texture_buffer_object_rgb32 DONE (freedreno, softpipe, panfrost, asahi, crocus/gen6+)
|
---|
136 | GL_ARB_texture_cube_map_array DONE (freedreno/a4xx+, nv50, softpipe, v3d, crocus/gen6+, asahi)
|
---|
137 | GL_ARB_texture_gather DONE (freedreno, nv50, softpipe, v3d, panfrost, asahi)
|
---|
138 | GL_ARB_texture_query_lod DONE (freedreno, nv50, softpipe, v3d, panfrost, crocus/gen5+)
|
---|
139 | GL_ARB_transform_feedback2 DONE (freedreno/a3xx+, nv50, softpipe, v3d, panfrost, asahi, crocus/gen6+)
|
---|
140 | GL_ARB_transform_feedback3 DONE (freedreno/a3xx+, softpipe, asahi)
|
---|
141 |
|
---|
142 |
|
---|
143 | GL 4.1, GLSL 4.10 --- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7+
|
---|
144 |
|
---|
145 | GL_ARB_ES2_compatibility DONE (freedreno, nv50, softpipe, v3d, vc4, panfrost, lima, asahi, crocus)
|
---|
146 | GL_ARB_get_program_binary DONE (freedreno, v3d, asahi, 0 or 1 binary formats)
|
---|
147 | GL_ARB_separate_shader_objects DONE (all drivers)
|
---|
148 | GL_ARB_shader_precision DONE (freedreno/a6xx, all drivers that support GLSL 4.10, asahi)
|
---|
149 | GL_ARB_vertex_attrib_64bit DONE (freedreno/a6xx, softpipe)
|
---|
150 | GL_ARB_viewport_array DONE (freedreno/a6xx, nv50, softpipe, crocus/gen6+, asahi)
|
---|
151 |
|
---|
152 |
|
---|
153 | GL 4.2, GLSL 4.20 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7+, asahi
|
---|
154 |
|
---|
155 | GL_ARB_texture_compression_bptc DONE (all drivers that supports EXT_texture_sRGB and OES_texture_half_float)
|
---|
156 | GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
|
---|
157 | GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, softpipe, v3d, panfrost)
|
---|
158 | GL_ARB_texture_storage DONE (all drivers)
|
---|
159 | GL_ARB_transform_feedback_instanced DONE (freedreno, nv50, softpipe, v3d, crocus/gen6+)
|
---|
160 | GL_ARB_base_instance DONE (freedreno, nv50, softpipe, v3d, crocus)
|
---|
161 | GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, softpipe, panfrost)
|
---|
162 | GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30)
|
---|
163 | GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30)
|
---|
164 | GL_ARB_shading_language_packing DONE (all drivers)
|
---|
165 | GL_ARB_internalformat_query DONE (freedreno, nv50, softpipe, v3d, vc4, panfrost, lima, crocus)
|
---|
166 | GL_ARB_map_buffer_alignment DONE (all drivers)
|
---|
167 |
|
---|
168 |
|
---|
169 | GL 4.3, GLSL 4.30 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7.5+
|
---|
170 |
|
---|
171 | GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
|
---|
172 | GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30)
|
---|
173 | GL_ARB_clear_buffer_object DONE (all drivers)
|
---|
174 | GL_ARB_compute_shader DONE (freedreno/a5xx+, softpipe, v3d, panfrost, crocus/gen7+, asahi)
|
---|
175 | GL_ARB_copy_image DONE (freedreno/a6xx, nv50, softpipe, v3d, crocus)
|
---|
176 | GL_KHR_debug DONE (all drivers)
|
---|
177 | GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
---|
178 | GL_ARB_fragment_layer_viewport DONE (freedreno/a6xx, nv50, softpipe, crocus/gen6+, asahi)
|
---|
179 | GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, v3d, asahi, crocus/gen7+)
|
---|
180 | GL_ARB_internalformat_query2 DONE (all drivers)
|
---|
181 | GL_ARB_invalidate_subdata DONE (all drivers)
|
---|
182 | GL_ARB_multi_draw_indirect DONE (freedreno, softpipe, v3d, crocus/gen7+, asahi)
|
---|
183 | GL_ARB_program_interface_query DONE (all drivers)
|
---|
184 | GL_ARB_robust_buffer_access_behavior DONE (freedreno)
|
---|
185 | GL_ARB_shader_image_size DONE (freedreno/a5xx+, softpipe, v3d, panfrost, crocus/gen7+, asahi)
|
---|
186 | GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, softpipe, v3d, panfrost, crocus/gen7+, asahi)
|
---|
187 | GL_ARB_stencil_texturing DONE (freedreno, nv50, softpipe, v3d, panfrost, asahi)
|
---|
188 | GL_ARB_texture_buffer_range DONE (freedreno, nv50, softpipe, v3d, crocus)
|
---|
189 | GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30)
|
---|
190 | GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
---|
191 | GL_ARB_texture_view DONE (freedreno, nv50, softpipe, v3d, asahi, crocus/gen7+)
|
---|
192 | GL_ARB_vertex_attrib_binding DONE (all drivers)
|
---|
193 |
|
---|
194 |
|
---|
195 | GL 4.4, GLSL 4.40 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, iris, crocus/gen7.5+, d3d12
|
---|
196 |
|
---|
197 | GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
|
---|
198 | GL_ARB_buffer_storage DONE (freedreno, nv50, v3d, vc4, lima, panfrost, asahi, softpipe, etnaviv, crocus)
|
---|
199 | GL_ARB_clear_texture DONE (all drivers)
|
---|
200 | GL_ARB_enhanced_layouts DONE (freedreno/a3xx+, nv50, softpipe, crocus, asahi)
|
---|
201 | - compile-time constant expressions DONE
|
---|
202 | - explicit byte offsets for blocks DONE
|
---|
203 | - forced alignment within blocks DONE
|
---|
204 | - specified vec4-slot component numbers DONE
|
---|
205 | - specified transform/feedback layout DONE
|
---|
206 | - input/output block locations DONE
|
---|
207 | GL_ARB_multi_bind DONE (all drivers)
|
---|
208 | GL_ARB_query_buffer_object DONE (freedreno/a6xx)
|
---|
209 | GL_ARB_texture_mirror_clamp_to_edge DONE (freedreno, nv50, softpipe, v3d, panfrost, asahi, crocus)
|
---|
210 | GL_ARB_texture_stencil8 DONE (freedreno, nv50, softpipe, v3d, panfrost, asahi)
|
---|
211 | GL_ARB_vertex_type_10f_11f_11f_rev DONE (freedreno, nv50, softpipe, panfrost, asahi, crocus)
|
---|
212 |
|
---|
213 | GL 4.5, GLSL 4.50 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, iris, crocus/gen7.5+, d3d12
|
---|
214 |
|
---|
215 | GL_ARB_ES3_1_compatibility DONE (freedreno/a6xx, softpipe)
|
---|
216 | GL_ARB_clip_control DONE (freedreno, nv50, softpipe, lima, crocus, asahi)
|
---|
217 | GL_ARB_conditional_render_inverted DONE (freedreno, nv50, softpipe, panfrost, asahi, crocus/gen6+)
|
---|
218 | GL_ARB_cull_distance DONE (freedreno/a6xx, nv50, softpipe, crocus/gen6+, asahi)
|
---|
219 | GL_ARB_derivative_control DONE (freedreno/a3xx+, nv50, softpipe, asahi, crocus/gen7+)
|
---|
220 | GL_ARB_direct_state_access DONE (all drivers)
|
---|
221 | GL_ARB_get_texture_sub_image DONE (all drivers)
|
---|
222 | GL_ARB_shader_texture_image_samples DONE (freedreno/a3xx+, nv50, crocus/gen7+, asahi)
|
---|
223 | GL_ARB_texture_barrier DONE (freedreno, nv50, vc4, lima, crocus)
|
---|
224 | GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
|
---|
225 | GL_KHR_robustness DONE (freedreno)
|
---|
226 | GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
---|
227 |
|
---|
228 | GL 4.6, GLSL 4.60 -- all DONE: radeonsi, virgl, zink, iris, crocus/gen7+, d3d12
|
---|
229 |
|
---|
230 | GL_ARB_gl_spirv DONE (freedreno, llvmpipe)
|
---|
231 | GL_ARB_indirect_parameters DONE (freedreno/a6xx+, nvc0, llvmpipe, virgl, asahi)
|
---|
232 | GL_ARB_pipeline_statistics_query DONE (freedreno/a6xx+, nvc0, r600, llvmpipe, softpipe, crocus/gen6+)
|
---|
233 | GL_ARB_polygon_offset_clamp DONE (freedreno, nv50, nvc0, r600, llvmpipe, v3d, panfrost, crocus)
|
---|
234 | GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx+, nvc0, r600, llvmpipe, softpipe, v3d)
|
---|
235 | GL_ARB_shader_draw_parameters DONE (freedreno/a6xx+, llvmpipe, nvc0, crocus/gen6+)
|
---|
236 | GL_ARB_shader_group_vote DONE (freedreno/a6xx, nvc0, llvmpipe, crocus)
|
---|
237 | GL_ARB_spirv_extensions DONE (freedreno, llvmpipe)
|
---|
238 | GL_ARB_texture_filter_anisotropic DONE (etnaviv/HALTI0, freedreno, nv50, nvc0, r600, softpipe, llvmpipe, v3d, panfrost/g72+, asahi, crocus)
|
---|
239 | GL_ARB_transform_feedback_overflow_query DONE (freedreno/a6xx+, nvc0, llvmpipe, softpipe, crocus/gen6+, asahi)
|
---|
240 | GL_KHR_no_error DONE (all drivers)
|
---|
241 |
|
---|
242 | These are the extensions cherry-picked to make GLES 3.1
|
---|
243 | GLES3.1, GLSL ES 3.1 -- all DONE: freedreno/a5xx+, nvc0, r600, radeonsi, virgl, v3d, softpipe, llvmpipe, zink, panfrost, d3d12, iris, crocus/gen7.5+, asahi
|
---|
244 |
|
---|
245 | GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
|
---|
246 | GL_ARB_compute_shader DONE (freedreno/a5xx+, crocus/gen7+)
|
---|
247 | GL_ARB_draw_indirect DONE (freedreno, crocus/gen7+)
|
---|
248 | GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
---|
249 | GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, asahi, crocus/gen7+)
|
---|
250 | GL_ARB_program_interface_query DONE (all drivers)
|
---|
251 | GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, crocus/gen7+)
|
---|
252 | GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, crocus/gen7+)
|
---|
253 | GL_ARB_shader_image_size DONE (freedreno/a5xx+, crocus/gen7+)
|
---|
254 | GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, crocus/gen7+)
|
---|
255 | GL_ARB_shading_language_packing DONE (all drivers)
|
---|
256 | GL_ARB_separate_shader_objects DONE (all drivers)
|
---|
257 | GL_ARB_stencil_texturing DONE (freedreno, nv50)
|
---|
258 | GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, nv50, crocus/gen6+)
|
---|
259 | GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
---|
260 | GL_ARB_vertex_attrib_binding DONE (all drivers)
|
---|
261 | GS5 Enhanced textureGather DONE (freedreno, crocus/gen7+)
|
---|
262 | GS5 Packing/bitfield/conversion functions DONE (freedreno/a5xx+, crocus/gen6+)
|
---|
263 | GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
---|
264 |
|
---|
265 | Additional functionality not covered above:
|
---|
266 | glMemoryBarrierByRegion DONE
|
---|
267 | glGetTexLevelParameter[fi]v - needs updates DONE
|
---|
268 | glGetBooleani_v - restrict to GLES enums
|
---|
269 | gl_HelperInvocation support DONE (r600, panfrost, crocus)
|
---|
270 |
|
---|
271 | GLES3.2, GLSL ES 3.2 -- all DONE: freedreno/a6xx, radeonsi, virgl, llvmpipe, zink, iris, crocus/gen7.5+
|
---|
272 |
|
---|
273 | GL_EXT_color_buffer_float DONE (all drivers)
|
---|
274 | GL_KHR_blend_equation_advanced DONE (freedreno/a6xx, nvc0, panfrost, asahi, crocus/gen4.5+)
|
---|
275 | GL_KHR_debug DONE (all drivers)
|
---|
276 | GL_KHR_robustness DONE (freedreno, nvc0, r600)
|
---|
277 | GL_KHR_texture_compression_astc_ldr DONE (freedreno, r600, v3d, vc4, panfrost, softpipe, lima, asahi, crocus/gen6+)
|
---|
278 | GL_OES_copy_image DONE (all drivers)
|
---|
279 | GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend)
|
---|
280 | GL_OES_draw_elements_base_vertex DONE (all drivers)
|
---|
281 | GL_OES_geometry_shader DONE (freedreno/a6xx, nvc0, r600, softpipe, v3d, asahi)
|
---|
282 | GL_OES_gpu_shader5 DONE (freedreno/a6xx, asahi, all drivers that support GL_ARB_gpu_shader5)
|
---|
283 | GL_OES_primitive_bounding_box DONE (freedreno/a5xx+, nvc0, r600, softpipe, v3d)
|
---|
284 | GL_OES_sample_shading DONE (freedreno/a6xx, asahi, nvc0, r600, panfrost, d3d12)
|
---|
285 | GL_OES_sample_variables DONE (freedreno/a6xx, asahi, nvc0, r600, panfrost/bifrost, crocus/gen7+)
|
---|
286 | GL_OES_shader_image_atomic DONE (asahi, v3d, all drivers that support GL_ARB_shader_image_load_store)
|
---|
287 | GL_OES_shader_io_blocks DONE (All drivers that support GLES 3.1)
|
---|
288 | GL_OES_shader_multisample_interpolation DONE (freedreno/a6xx, nvc0, r600, asahi)
|
---|
289 | GL_OES_tessellation_shader DONE (freedreno/a6xx, all drivers that support GL_ARB_tessellation_shader)
|
---|
290 | GL_OES_texture_border_clamp DONE (all drivers)
|
---|
291 | GL_OES_texture_buffer DONE (freedreno, nvc0, r600, softpipe, panfrost, asahi, crocus/gen6+)
|
---|
292 | GL_OES_texture_cube_map_array DONE (freedreno/a4xx+, nvc0, r600, softpipe, asahi)
|
---|
293 | GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8)
|
---|
294 | GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample)
|
---|
295 |
|
---|
296 | Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version:
|
---|
297 |
|
---|
298 | GL_ARB_bindless_texture DONE (nvc0, radeonsi, zink)
|
---|
299 | GL_ARB_cl_event not started
|
---|
300 | GL_ARB_compute_variable_group_size DONE (freedreno/a4xx+, nvc0, radeonsi, zink, iris, crocus/gen7+)
|
---|
301 | GL_ARB_ES3_2_compatibility DONE (freedreno/a6xx, radeonsi, virgl, zink, iris, crocus/gen7.5+)
|
---|
302 | GL_ARB_fragment_shader_interlock DONE (zink, iris/gen9+)
|
---|
303 | GL_ARB_gpu_shader_int64 DONE (freedreno/a6xx, nvc0, radeonsi, softpipe, llvmpipe, zink, d3d12, iris, crocus/gen8)
|
---|
304 | GL_ARB_parallel_shader_compile DONE (freedreno, radeonsi, etnaviv, zink, iris, crocus/gen6+)
|
---|
305 | GL_ARB_post_depth_coverage DONE (freedreno/a6xx, nvc0, radeonsi, llvmpipe, zink, iris/gen9+)
|
---|
306 | GL_ARB_robustness_isolation not started
|
---|
307 | GL_ARB_sample_locations DONE (freedreno/a6xx, nvc0, zink)
|
---|
308 | GL_ARB_seamless_cubemap_per_texture DONE (etnaviv/SEAMLESS_CUBE_MAP, freedreno, nvc0, r600, radeonsi, softpipe, virgl, zink, asahi, iris, crocus)
|
---|
309 | GL_ARB_shader_ballot DONE (nvc0, radeonsi, zink, iris, crocus/gen8)
|
---|
310 | GL_ARB_shader_clock DONE (nv50, nvc0, r600, radeonsi, llvmpipe, virgl, zink, iris, crocus/gen7+)
|
---|
311 | GL_ARB_shader_stencil_export DONE (r600, radeonsi, softpipe, llvmpipe, virgl, panfrost, zink, asahi, iris/gen9+)
|
---|
312 | GL_ARB_shader_viewport_layer_array DONE (freedreno/a6xx, nvc0, radeonsi, zink, iris, crocus/gen6+)
|
---|
313 | GL_ARB_shading_language_include DONE
|
---|
314 | GL_ARB_sparse_buffer DONE (radeonsi/gfx9+, zink)
|
---|
315 | GL_ARB_sparse_texture DONE (radeonsi/gfx9+, zink)
|
---|
316 | GL_ARB_sparse_texture2 DONE (radeonsi/gfx9+, zink)
|
---|
317 | GL_ARB_sparse_texture_clamp DONE (radeonsi/gfx9+, zink)
|
---|
318 | GL_ARB_texture_filter_minmax DONE (freedreno/a6xx, nvc0/gm200+, zink)
|
---|
319 | GL_ARM_shader_framebuffer_fetch_depth_stencil DONE (llvmpipe)
|
---|
320 | GL_EXT_shader_framebuffer_fetch DONE (freedreno/a6xx, iris/gen9+, llvmpipe, panfrost, virgl, zink, asahi)
|
---|
321 | GL_EXT_shader_framebuffer_fetch_non_coherent DONE (freedreno/a6xx, iris, llvmpipe, panfrost, virgl, zink, asahi)
|
---|
322 | GL_EXT_color_buffer_half_float DONE (freedreno, iris, llvmpipe, nv50, nvc0, radeonsi, zink, crocus)
|
---|
323 | GL_EXT_depth_bounds_test DONE (freedreno/a6xx, nv50, nvc0, radeonsi, softpipe, zink, iris/gen12+)
|
---|
324 | GL_EXT_memory_object DONE (freedreno, radeonsi, llvmpipe, zink, d3d12, iris, crocus/gen7+)
|
---|
325 | GL_EXT_memory_object_fd DONE (freedreno, radeonsi, llvmpipe, zink, iris, crocus/gen7+)
|
---|
326 | GL_EXT_memory_object_win32 DONE (zink, d3d12)
|
---|
327 | GL_EXT_multisampled_render_to_texture DONE (freedreno/a6xx, panfrost, zink, lima)
|
---|
328 | GL_EXT_render_snorm DONE (freedreno/a6xx, r600, radeonsi, softpipe, zink, panfrost/bifrost+, iris)
|
---|
329 | GL_EXT_semaphore DONE (radeonsi, zink, d3d12, iris, crocus)
|
---|
330 | GL_EXT_semaphore_fd DONE (radeonsi, zink, iris, crocus)
|
---|
331 | GL_EXT_semaphore_win32 DONE (zink, d3d12)
|
---|
332 | GL_EXT_shader_group_vote DONE (all drivers that support GL_ARB_shader_group_vote)
|
---|
333 | GL_EXT_sRGB_write_control DONE (all drivers that support GLES 3.0+)
|
---|
334 | GL_EXT_texture_norm16 DONE (freedreno, r600, radeonsi, nvc0i, softpipe, zink, iris, crocus)
|
---|
335 | GL_EXT_texture_sRGB_R8 DONE (all drivers that support GLES 3.0+)
|
---|
336 | GL_KHR_blend_equation_advanced_coherent DONE (freedreno/a6xx, panfrost, zink, asahi, iris/gen9+)
|
---|
337 | GL_KHR_texture_compression_astc_hdr DONE (core only)
|
---|
338 | GL_KHR_texture_compression_astc_sliced_3d DONE (freedreno/a4xx+, r600, radeonsi, panfrost, softpipe, v3d, zink, lima, asahi, iris/gen9+)
|
---|
339 | GL_OES_depth_texture_cube_map DONE (all drivers that support GLSL 1.30+)
|
---|
340 | GL_OES_EGL_image DONE (all drivers)
|
---|
341 | GL_OES_EGL_image_external DONE (all drivers)
|
---|
342 | GL_OES_EGL_image_external_essl3 DONE (all drivers)
|
---|
343 | GL_OES_required_internalformat DONE (all drivers)
|
---|
344 | GL_OES_surfaceless_context DONE (all drivers)
|
---|
345 | GL_OES_texture_compression_astc DONE (core only)
|
---|
346 | GL_OES_texture_float DONE (freedreno, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, zink, asahi, iris, crocus)
|
---|
347 | GL_OES_texture_float_linear DONE (freedreno, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, zink, asahi, iris, crocus)
|
---|
348 | GL_OES_texture_half_float DONE (freedreno, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, zink, lima, asahi, iris, crocus, etnaviv/HALF_FLOAT)
|
---|
349 | GL_OES_texture_half_float_linear DONE (freedreno, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, zink, lima, asahi, iris, crocus, etnaviv/HALF_FLOAT)
|
---|
350 | GL_OES_texture_view DONE (freedreno, r600, radeonsi, nv50, nvc0, softpipe, llvmpipe, v3d, zink, iris, crocus/gen7+, d3d12)
|
---|
351 | GL_OES_viewport_array DONE (freedreno/a6xx, nvc0, r600, radeonsi, softpipe, zink, iris, crocus/gen7.5+, asahi)
|
---|
352 | GLX_ARB_context_flush_control DONE (all drivers)
|
---|
353 | GLX_ARB_robustness_application_isolation not started
|
---|
354 | GLX_ARB_robustness_share_group_isolation not started
|
---|
355 |
|
---|
356 | GL_EXT_direct_state_access subfeatures (in the spec order):
|
---|
357 | GL 1.1: Client commands DONE
|
---|
358 | GL 1.0-1.3: Matrix and transpose matrix commands DONE
|
---|
359 | GL 1.1-1.2: Texture commands DONE
|
---|
360 | GL 1.2: 3D texture commands DONE
|
---|
361 | GL 1.2.1: Multitexture commands DONE
|
---|
362 | GL 1.2.1-3.0: Indexed texture commands DONE
|
---|
363 | GL 1.2.1-3.0: Indexed generic queries DONE
|
---|
364 | GL 1.2.1: EnableIndexed.. Get*Indexed DONE
|
---|
365 | GL_ARB_vertex_program DONE
|
---|
366 | GL 1.3: Compressed texture and multitexture commands DONE
|
---|
367 | GL 1.5: Buffer commands DONE
|
---|
368 | GL 2.0-2.1: Uniform and uniform matrix commands DONE
|
---|
369 | GL_EXT_texture_buffer_object DONE
|
---|
370 | GL_EXT_texture_integer DONE
|
---|
371 | GL_EXT_gpu_shader4 DONE
|
---|
372 | GL_EXT_gpu_program_parameters DONE
|
---|
373 | GL_NV_gpu_program4 n/a
|
---|
374 | GL_NV_framebuffer_multisample_coverage n/a
|
---|
375 | GL 3.0: Renderbuffer/framebuffer commands, Gen*Mipmap DONE
|
---|
376 | GL 3.0: CopyBuffer command DONE
|
---|
377 | GL_EXT_geometry_shader4 commands (expose in GL 3.2) DONE
|
---|
378 | GL_NV_explicit_multisample n/a
|
---|
379 | GL 3.0: Vertex array/attrib/query/map commands DONE
|
---|
380 | Matrix GL tokens DONE
|
---|
381 |
|
---|
382 | GL_EXT_direct_state_access additions from other extensions (complete list):
|
---|
383 | GL_AMD_framebuffer_sample_positions n/a
|
---|
384 | GL_AMD_gpu_shader_int64 n/a (not enabled in compat profile)
|
---|
385 | GL_ARB_bindless_texture DONE
|
---|
386 | GL_ARB_buffer_storage DONE
|
---|
387 | GL_ARB_clear_buffer_object DONE
|
---|
388 | GL_ARB_framebuffer_no_attachments DONE
|
---|
389 | GL_ARB_gpu_shader_fp64 DONE
|
---|
390 | GL_ARB_instanced_arrays DONE
|
---|
391 | GL_ARB_internalformat_query2 DONE
|
---|
392 | GL_ARB_sparse_texture n/a
|
---|
393 | GL_ARB_sparse_buffer DONE
|
---|
394 | GL_ARB_texture_buffer_range DONE
|
---|
395 | GL_ARB_texture_storage DONE
|
---|
396 | GL_ARB_texture_storage_multisample DONE
|
---|
397 | GL_ARB_vertex_attrib_64bit DONE
|
---|
398 | GL_ARB_vertex_attrib_binding DONE
|
---|
399 | GL_EXT_buffer_storage DONE
|
---|
400 | GL_EXT_external_buffer n/a
|
---|
401 | GL_EXT_separate_shader_objects n/a
|
---|
402 | GL_EXT_sparse_texture n/a
|
---|
403 | GL_EXT_texture_storage n/a
|
---|
404 | GL_EXT_vertex_attrib_64bit DONE
|
---|
405 | GL_EXT_EGL_image_storage n/a
|
---|
406 | GL_NV_bindless_texture n/a
|
---|
407 | GL_NV_gpu_shader5 n/a
|
---|
408 | GL_NV_texture_multisample n/a
|
---|
409 | GL_NV_vertex_buffer_unified_memory n/a
|
---|
410 | GL_NVX_linked_gpu_multicast n/a
|
---|
411 | GLX_NV_copy_buffer n/a
|
---|
412 |
|
---|
413 | The following extensions are not part of any OpenGL or OpenGL ES version, and
|
---|
414 | we DO NOT WANT implementations of these extensions for Mesa.
|
---|
415 |
|
---|
416 | GL_ARB_geometry_shader4 Superseded by GL 3.2 geometry shaders
|
---|
417 | GL_ARB_matrix_palette Superseded by GL_ARB_vertex_program
|
---|
418 | GL_ARB_shadow_ambient Superseded by GL_ARB_fragment_program
|
---|
419 | GL_ARB_vertex_blend Superseded by GL_ARB_vertex_program
|
---|
420 |
|
---|
421 | Vulkan 1.0 -- all DONE: anv, dzn, lvp, nvk, radv, tu, v3dv, vn
|
---|
422 |
|
---|
423 | Vulkan 1.1 -- all DONE: anv, lvp, radv, tu, vn
|
---|
424 |
|
---|
425 | VK_KHR_16bit_storage DONE (anv/gen8+, dzn, hasvk, lvp, nvk, radv, tu/a650, v3dv, vn)
|
---|
426 | VK_KHR_bind_memory2 DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
427 | VK_KHR_dedicated_allocation DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
428 | VK_KHR_descriptor_update_template DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
---|
429 | VK_KHR_device_group DONE (anv, dzn, hasvk, lvp, nvk, tu, v3dv, vn)
|
---|
430 | VK_KHR_device_group_creation DONE (anv, hasvk, nvk, dzn, lvp, tu, v3dv, vn)
|
---|
431 | VK_KHR_external_fence DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
432 | VK_KHR_external_fence_capabilities DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
433 | VK_KHR_external_memory DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
434 | VK_KHR_external_memory_capabilities DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
435 | VK_KHR_external_semaphore DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
436 | VK_KHR_external_semaphore_capabilities DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
437 | VK_KHR_get_memory_requirements2 DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
438 | VK_KHR_get_physical_device_properties2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
---|
439 | VK_KHR_maintenance1 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
440 | VK_KHR_maintenance2 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
441 | VK_KHR_maintenance3 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
442 | VK_KHR_multiview DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
443 | VK_KHR_relaxed_block_layout DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
444 | VK_KHR_sampler_ycbcr_conversion DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
445 | VK_KHR_shader_draw_parameters DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, vn)
|
---|
446 | VK_KHR_storage_buffer_storage_class DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
---|
447 | VK_KHR_variable_pointers DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
---|
448 |
|
---|
449 | Vulkan 1.2 -- all DONE: anv, tu, vn
|
---|
450 |
|
---|
451 | VK_KHR_8bit_storage DONE (anv/gen8+, dzn, hasvk, lvp, nvk, radv, v3dv, vn)
|
---|
452 | VK_KHR_buffer_device_address DONE (anv/gen8+, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
453 | VK_KHR_create_renderpass2 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
454 | VK_KHR_depth_stencil_resolve DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
455 | VK_KHR_draw_indirect_count DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, vn)
|
---|
456 | VK_KHR_driver_properties DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
457 | VK_KHR_image_format_list DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
458 | VK_KHR_imageless_framebuffer DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
459 | VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
460 | VK_KHR_separate_depth_stencil_layouts DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
461 | VK_KHR_shader_atomic_int64 DONE (anv/gen9+, lvp, nvk, radv, vn)
|
---|
462 | VK_KHR_shader_float16_int8 DONE (anv/gen8+, dzn, hasvk, lvp, radv, tu, vn)
|
---|
463 | VK_KHR_shader_float_controls DONE (anv/gen8+, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
464 | VK_KHR_shader_subgroup_extended_types DONE (anv/gen8+, hasvk, lvp, radv, tu, vn)
|
---|
465 | VK_KHR_spirv_1_4 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
466 | VK_KHR_timeline_semaphore DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
467 | VK_KHR_uniform_buffer_standard_layout DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
468 | VK_KHR_vulkan_memory_model DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
469 | VK_EXT_descriptor_indexing DONE (anv/gen9+, dzn, lvp, nvk, radv, tu, vn)
|
---|
470 | VK_EXT_host_query_reset DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
471 | VK_EXT_sampler_filter_minmax DONE (anv/gen9+, lvp, nvk, radv, tu, vn)
|
---|
472 | VK_EXT_scalar_block_layout DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv/gfx7+, tu, vn)
|
---|
473 | VK_EXT_separate_stencil_usage DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
474 | VK_EXT_shader_viewport_index_layer DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
475 |
|
---|
476 | Vulkan 1.3 -- all DONE: anv, radv, tu, lvp, vn
|
---|
477 |
|
---|
478 | VK_KHR_copy_commands2 DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
---|
479 | VK_KHR_dynamic_rendering DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, vn)
|
---|
480 | VK_KHR_format_feature_flags2 DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
481 | VK_KHR_maintenance4 DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
482 | VK_KHR_shader_integer_dot_product DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
483 | VK_KHR_shader_non_semantic_info DONE (anv, hasvk, nvk, radv, tu, v3dv, vn)
|
---|
484 | VK_KHR_shader_terminate_invocation DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
485 | VK_KHR_synchronization2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
---|
486 | VK_KHR_zero_initialize_workgroup_memory DONE (anv, hasvk, lvp, radv, tu, v3dv, vn)
|
---|
487 | VK_EXT_4444_formats DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
488 | VK_EXT_extended_dynamic_state DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
489 | VK_EXT_extended_dynamic_state2 DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
490 | VK_EXT_inline_uniform_block DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
491 | VK_EXT_pipeline_creation_cache_control DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
492 | VK_EXT_pipeline_creation_feedback DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
493 | VK_EXT_private_data DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
494 | VK_EXT_image_robustness DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
495 | VK_EXT_shader_demote_to_helper_invocation DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
496 | VK_EXT_subgroup_size_control DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
497 | VK_EXT_texel_buffer_alignment DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
498 | VK_EXT_texture_compression_astc_hdr DONE (vn)
|
---|
499 | VK_EXT_tooling_info DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
|
---|
500 | VK_EXT_ycbcr_2plane_444_formats DONE (lvp, nvk, vn)
|
---|
501 |
|
---|
502 | Khronos extensions that are not part of any Vulkan version:
|
---|
503 |
|
---|
504 | VK_KHR_acceleration_structure DONE (anv/gfx12.5+, radv/gfx10.3+)
|
---|
505 | VK_KHR_android_surface not started
|
---|
506 | VK_KHR_calibrated_timestamps DONE (radv)
|
---|
507 | VK_KHR_cooperative_matrix DONE (radv/gfx11+)
|
---|
508 | VK_KHR_deferred_host_operations DONE (anv, hasvk, radv)
|
---|
509 | VK_KHR_display DONE (anv, pvr, radv, tu, v3dv)
|
---|
510 | VK_KHR_display_swapchain not started
|
---|
511 | VK_KHR_external_fence_fd DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
|
---|
512 | VK_KHR_external_fence_win32 not started
|
---|
513 | VK_KHR_external_memory_fd DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
514 | VK_KHR_external_memory_win32 DONE (dzn)
|
---|
515 | VK_KHR_external_semaphore_fd DONE (anv, dzn, hasvk, nvk, pvr, radv, tu, v3dv, vn)
|
---|
516 | VK_KHR_external_semaphore_win32 DONE (dzn)
|
---|
517 | VK_KHR_fragment_shader_barycentric DONE (nvk/Turing+, radv/gfx10.3+)
|
---|
518 | VK_KHR_fragment_shading_rate DONE (anv/gen11+, radv/gfx10.3+)
|
---|
519 | VK_KHR_get_display_properties2 DONE (anv, pvr, radv, tu, v3dv)
|
---|
520 | VK_KHR_get_surface_capabilities2 DONE (anv, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
---|
521 | VK_KHR_global_priority DONE (radv, tu)
|
---|
522 | VK_KHR_incremental_present DONE (anv, hasvk, lvp, radv, tu, v3dv, vn)
|
---|
523 | VK_KHR_maintenance5 DONE (anv, lvp, radv, tu)
|
---|
524 | VK_KHR_maintenance6 DONE (lvp)
|
---|
525 | VK_KHR_performance_query DONE (anv/gen8+, radv/gfx10.3+, tu, v3dv)
|
---|
526 | VK_KHR_pipeline_executable_properties DONE (anv, nvk, hasvk, radv, tu, v3dv)
|
---|
527 | VK_KHR_pipeline_library DONE (anv, lvp, radv, tu, vn)
|
---|
528 | VK_KHR_present_wait DONE (anv, radv, tu, x11/display)
|
---|
529 | VK_KHR_push_descriptor DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
530 | VK_KHR_ray_query DONE (anv/gfx12.5+, radv/gfx10.3+)
|
---|
531 | VK_KHR_ray_tracing_maintenance1 DONE (anv/gfx12.5+, radv/gfx10.3+)
|
---|
532 | VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+, radv/gfx10.3+)
|
---|
533 | VK_KHR_ray_tracing_position_fetch DONE (radv/gfx10.3+)
|
---|
534 | VK_KHR_shader_clock DONE (anv, hasvk, lvp, nvk, radv, vn)
|
---|
535 | VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, radv)
|
---|
536 | VK_KHR_shared_presentable_image not started
|
---|
537 | VK_KHR_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
---|
538 | VK_KHR_surface_protected_capabilities DONE (anv, lvp, nvk, radv, v3dv, vn)
|
---|
539 | VK_KHR_swapchain DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
---|
540 | VK_KHR_swapchain_mutable_format DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
541 | VK_KHR_vertex_attribute_divisor DONE (radv)
|
---|
542 | VK_KHR_wayland_surface DONE (anv, dzn, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
---|
543 | VK_KHR_workgroup_memory_explicit_layout DONE (anv, nvk, hasvk, radv, v3dv)
|
---|
544 | VK_KHR_win32_keyed_mutex not started
|
---|
545 | VK_KHR_win32_surface DONE (dzn, lvp)
|
---|
546 | VK_KHR_xcb_surface DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
547 | VK_KHR_xlib_surface DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
548 | VK_EXT_acquire_xlib_display DONE (anv, lvp, nvk, radv, tu, v3dv)
|
---|
549 | VK_EXT_attachment_feedback_loop_dynamic_state DONE (lvp, radv)
|
---|
550 | VK_EXT_attachment_feedback_loop_layout DONE (lvp, nvk, radv, tu, v3dv)
|
---|
551 | VK_EXT_border_color_swizzle DONE (anv, hasvk, lvp, nvk, radv/gfx10+, tu, v3dv, vn)
|
---|
552 | VK_EXT_buffer_device_address DONE (anv/gen8+, hasvk, nvk, radv)
|
---|
553 | VK_EXT_calibrated_timestamps DONE (anv, hasvk, lvp, radv, vn)
|
---|
554 | VK_EXT_color_write_enable DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
555 | VK_EXT_conditional_rendering DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
556 | VK_EXT_conservative_rasterization DONE (anv/gen9+, radv, vn)
|
---|
557 | VK_EXT_custom_border_color DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
---|
558 | VK_EXT_debug_marker DONE (radv)
|
---|
559 | VK_EXT_debug_report DONE (anv, dzn, lvp, nvk, pvr, radv, tu, v3dv)
|
---|
560 | VK_EXT_depth_bias_control DONE (anv, nvk, radv)
|
---|
561 | VK_EXT_depth_clip_control DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
562 | VK_EXT_depth_clip_enable DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
563 | VK_EXT_depth_range_unrestricted DONE (anv/gen20+, radv, lvp)
|
---|
564 | VK_EXT_descriptor_buffer DONE (lvp, radv, tu)
|
---|
565 | VK_EXT_device_fault DONE (radv)
|
---|
566 | VK_EXT_device_memory_report DONE (vn)
|
---|
567 | VK_EXT_direct_mode_display DONE (anv, lvp, radv, tu, v3dv)
|
---|
568 | VK_EXT_discard_rectangles DONE (radv)
|
---|
569 | VK_EXT_display_control DONE (anv, hasvk, radv, tu)
|
---|
570 | VK_EXT_display_surface_counter DONE (anv, lvp, radv, tu)
|
---|
571 | VK_EXT_dynamic_rendering_unused_attachments DONE (anv, nvk, radv, vn)
|
---|
572 | VK_EXT_extended_dynamic_state3 DONE (anv, lvp, nvk, radv, tu, vn)
|
---|
573 | VK_EXT_external_memory_acquire_unmodified DONE (radv)
|
---|
574 | VK_EXT_external_memory_dma_buf DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
|
---|
575 | VK_EXT_external_memory_host DONE (anv, hasvk, lvp, radv)
|
---|
576 | VK_EXT_filter_cubic DONE (tu/a650)
|
---|
577 | VK_EXT_fragment_shader_interlock DONE (anv/gen9+, radv/gfx9+, vn)
|
---|
578 | VK_EXT_global_priority DONE (anv, hasvk, radv, tu)
|
---|
579 | VK_EXT_global_priority_query DONE (anv, hasvk, radv, tu)
|
---|
580 | VK_EXT_graphics_pipeline_library DONE (anv, lvp, radv, tu, vn)
|
---|
581 | VK_EXT_image_2d_view_of_3d DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
582 | VK_EXT_image_compression_control DONE (radv)
|
---|
583 | VK_EXT_image_drm_format_modifier DONE (anv, hasvk, radv/gfx9+, tu, v3dv, vn)
|
---|
584 | VK_EXT_image_sliced_view_of_3d DONE (anv, nvk, radv/gfx10+)
|
---|
585 | VK_EXT_image_view_min_lod DONE (anv, hasvk, nvk, radv, tu, vn)
|
---|
586 | VK_EXT_index_type_uint8 DONE (anv, hasvk, nvk, lvp, panvk, radv/gfx8+, tu, v3dv, vn)
|
---|
587 | VK_EXT_line_rasterization DONE (anv, hasvk, nvk, lvp, radv, tu, v3dv, vn)
|
---|
588 | VK_EXT_load_store_op_none DONE (anv, nvk, radv, tu, v3dv, vn)
|
---|
589 | VK_EXT_memory_budget DONE (anv, hasvk, lvp, radv, tu, v3dv, vn)
|
---|
590 | VK_EXT_memory_priority DONE (lvp, radv)
|
---|
591 | VK_EXT_mesh_shader DONE (anv/gfx12.5+, lvp, radv)
|
---|
592 | VK_EXT_multi_draw DONE (anv, hasvk, lvp, nvk, radv, tu, vn, v3dv)
|
---|
593 | VK_EXT_multisampled_render_to_single_sampled DONE (lvp)
|
---|
594 | VK_EXT_nested_command_buffer DONE (lvp)
|
---|
595 | VK_EXT_non_seamless_cube_map DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
596 | VK_EXT_pageable_device_local_memory DONE (lvp)
|
---|
597 | VK_EXT_pci_bus_info DONE (anv, hasvk, nvk, radv, vn)
|
---|
598 | VK_EXT_physical_device_drm DONE (anv, hasvk, nvk, radv, tu, v3dv, vn)
|
---|
599 | VK_EXT_pipeline_library_group_handles DONE (anv, radv)
|
---|
600 | VK_EXT_pipeline_robustness DONE (anv, radv, v3dv)
|
---|
601 | VK_EXT_post_depth_coverage DONE (anv/gfx10+, lvp, radv/gfx10+)
|
---|
602 | VK_EXT_primitive_topology_list_restart DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
603 | VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
604 | VK_EXT_provoking_vertex DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
---|
605 | VK_EXT_queue_family_foreign DONE (anv, hasvk, radv, tu, vn)
|
---|
606 | VK_EXT_rasterization_order_attachment_access DONE (lvp, tu, vn)
|
---|
607 | VK_EXT_robustness2 DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
608 | VK_EXT_sample_locations DONE (anv, hasvk, nvk, radv/gfx9-, tu/a650)
|
---|
609 | VK_EXT_shader_atomic_float DONE (anv, hasvk, lvp, radv)
|
---|
610 | VK_EXT_shader_atomic_float2 DONE (anv/gen9+, lvp, radv)
|
---|
611 | VK_EXT_shader_image_atomic_int64 DONE (nvk, radv)
|
---|
612 | VK_EXT_shader_object DONE (lvp)
|
---|
613 | VK_EXT_shader_stencil_export DONE (anv/gen9+, lvp, radv, tu, vn)
|
---|
614 | VK_EXT_shader_subgroup_ballot DONE (anv, dzn, hasvk, lvp, nvk, radv, vn)
|
---|
615 | VK_EXT_shader_subgroup_vote DONE (anv, dzn, hasvk, lvp, nvk, radv)
|
---|
616 | VK_EXT_shader_module_identifier DONE (anv, hasvk, nvk, radv, tu, v3dv)
|
---|
617 | VK_EXT_transform_feedback DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
---|
618 | VK_EXT_vertex_attribute_divisor DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
---|
619 | VK_EXT_vertex_input_dynamic_state DONE (anv, lvp, nvk, radv, tu, vn)
|
---|
620 | VK_EXT_ycbcr_image_arrays DONE (anv, hasvk, lvp, nvk, radv)
|
---|
621 | VK_ANDROID_external_memory_android_hardware_buffer DONE (anv, radv, vn)
|
---|
622 | VK_ANDROID_native_buffer DONE (anv, radv, tu, v3dv, vn)
|
---|
623 | VK_GOOGLE_decorate_string DONE (anv, hasvk, lvp, radv)
|
---|
624 | VK_GOOGLE_hlsl_functionality1 DONE (anv, hasvk, lvp, radv)
|
---|
625 | VK_GOOGLE_user_type DONE (anv, hasvk, radv)
|
---|
626 | VK_IMG_filter_cubic DONE (tu/a650)
|
---|
627 | VK_NV_compute_shader_derivatives DONE (anv, hasvk, radv)
|
---|
628 | VK_EXT_acquire_drm_display DONE (anv, radv, tu, v3dv)
|
---|
629 | VK_VALVE_mutable_descriptor_type DONE (anv, hasvk, radv, tu, vn)
|
---|
630 | VK_AMD_buffer_marker DONE (radv, tu)
|
---|
631 | VK_AMD_device_coherent_memory DONE (radv)
|
---|
632 | VK_AMD_draw_indirect_count DONE (radv)
|
---|
633 | VK_AMD_gcn_shader DONE (radv)
|
---|
634 | VK_AMD_gpu_shader_half_float DONE (radv)
|
---|
635 | VK_AMD_gpu_shader_int16 DONE (radv)
|
---|
636 | VK_AMD_memory_overallocation_behavior DONE (radv)
|
---|
637 | VK_AMD_mixed_attachment_samples DONE (radv)
|
---|
638 | VK_AMD_rasterization_order DONE (radv)
|
---|
639 | VK_AMD_shader_ballot DONE (radv)
|
---|
640 | VK_AMD_shader_core_properties DONE (radv)
|
---|
641 | VK_AMD_shader_core_properties2 DONE (radv)
|
---|
642 | VK_AMD_shader_early_and_late_fragment_tests DONE (radv)
|
---|
643 | VK_AMD_shader_explicit_vertex_parameter DONE (radv)
|
---|
644 | VK_AMD_shader_fragment_mask DONE (radv/gfx10.3-)
|
---|
645 | VK_AMD_shader_image_load_store_lod DONE (radv)
|
---|
646 | VK_AMD_shader_trinary_minmax DONE (radv)
|
---|
647 | VK_AMD_texture_gather_bias_lod DONE (radv)
|
---|
648 | VK_ARM_rasterization_order_attachment_access DONE (lvp, tu)
|
---|
649 | VK_EXT_mutable_descriptor_type DONE (anv, lvp, nvk, radv, tu, vn)
|
---|
650 | VK_EXT_swapchain_colorspace DONE (radv, anv, tu)
|
---|
651 | VK_EXT_depth_clamp_zero_one DONE (anv, radv)
|
---|
652 | VK_INTEL_shader_integer_functions2 DONE (anv, hasvk, radv)
|
---|
653 | VK_KHR_map_memory2 DONE (anv, nvk, radv)
|
---|
654 |
|
---|
655 |
|
---|
656 |
|
---|
657 | Clover OpenCL 1.0 -- all DONE:
|
---|
658 |
|
---|
659 | Image support in progress
|
---|
660 | - Optional image formats in progress
|
---|
661 |
|
---|
662 |
|
---|
663 | Clover OpenCL 1.1 -- all DONE:
|
---|
664 |
|
---|
665 | Additional queries for clGetDeviceInfo DONE (nvc0, r600, radeonsi)
|
---|
666 | CL_CONTEXT_NUM_DEVICES for clGetContextInfo DONE
|
---|
667 | New optional image formats not started
|
---|
668 | - CL_Rx not started
|
---|
669 | - CL_RGx not started
|
---|
670 | - CL_RGBx not started
|
---|
671 | clCreateSubBuffer DONE
|
---|
672 | Read from, write to, copy rectangular regions DONE
|
---|
673 | clSetMemObjectDestructorCallback DONE
|
---|
674 | Control OpenCL C version when building DONE
|
---|
675 | Query for preferred work-group size multiple DONE (nvc0, r600, radeonsi)
|
---|
676 | Support user events DONE
|
---|
677 | clSetEventCallback DONE
|
---|
678 | Minimum requirement changes for clGetDeviceInfo DONE (nvc0, r600, radeonsi)
|
---|
679 | Arg prerequisite change for clEnqueueNDRangeKernel DONE ()
|
---|
680 | OpenCL C 1.1 DONE (nvc0, r600, radeonsi)
|
---|
681 | - 3-component vector data types DONE (nvc0, r600, radeonsi)
|
---|
682 | - cl_khr_byte_addressable_store DONE (nvc0, r600, radeonsi)
|
---|
683 | - cl_khr_global_int32_base_atomics DONE (nvc0, r600, radeonsi)
|
---|
684 | - cl_khr_global_int32_extended_atomics DONE (nvc0, r600, radeonsi)
|
---|
685 | - cl_khr_local_int32_base_atomics DONE (nvc0, r600, radeonsi)
|
---|
686 | - cl_khr_local_int32_extended_atomics DONE (nvc0, r600, radeonsi)
|
---|
687 |
|
---|
688 |
|
---|
689 | Clover OpenCL 1.2 -- all DONE:
|
---|
690 |
|
---|
691 | Custom devices DONE
|
---|
692 | Built-in kernels in progress
|
---|
693 | Device partitioning not started
|
---|
694 | Separate compilation and linking of programs DONE
|
---|
695 | Extend cl_mem_flags DONE
|
---|
696 | clEnqueueFillBuffer, clEnqueueFillImage DONE
|
---|
697 | Add CL_MAP_WRITE_INVALIDATE_REGION to cl_map_flags DONE
|
---|
698 | New image types not started
|
---|
699 | clCreateImage DONE
|
---|
700 | clEnqueueMigrateMemObjects DONE
|
---|
701 | Retrieve kernels information from a program DONE
|
---|
702 | clGetKernelArgInfo DONE
|
---|
703 | clEnqueueMarkerWithWaitList DONE
|
---|
704 | clEnqueueBarrierWithWaitList DONE
|
---|
705 | clUnloadPlatformCompiler DONE
|
---|
706 | cl_khr_fp64 DONE (nvc0, r600, radeonsi)
|
---|
707 | printf DONE (nvc0)
|
---|
708 | CL_KERNEL_ATTRIBUTES for clGetKernelInfo DONE
|
---|
709 | OpenCL C 1.2 DONE
|
---|
710 |
|
---|
711 |
|
---|
712 | Clover OpenCL 2.0 -- all DONE:
|
---|
713 |
|
---|
714 | Shared virtual memory DONE (nvc0, llvmpipe)
|
---|
715 | Device queues not started
|
---|
716 | - cl_khr_create_command_queue not started
|
---|
717 | - Additional queries for clGetDeviceInfo not started
|
---|
718 | Pipes not started
|
---|
719 | Extended 2D images creation in progress
|
---|
720 | - CL_ABGR DONE
|
---|
721 | - cl_khr_image2d_from_buffer not started
|
---|
722 | - cl_khr_depth_images not started
|
---|
723 | - from sRGB images not started
|
---|
724 | clCreateSamplerWithProperties not started
|
---|
725 | Non-uniform work-group sizes not started
|
---|
726 | cl_khr_3d_image_writes not started
|
---|
727 | OpenCL C 2.0 in progress
|
---|
728 | - Work-group Collective Functions not started
|
---|
729 | - Generic address space in progress
|
---|
730 |
|
---|
731 |
|
---|
732 | Clover OpenCL 2.1 -- all DONE:
|
---|
733 |
|
---|
734 | Sub groups not started
|
---|
735 | - cl_khr_subgroups not started
|
---|
736 | cl_khr_il_program DONE (nvc0)
|
---|
737 | Device and host timer synchronization not started
|
---|
738 | clEnqueueSVMMigrateMem not started
|
---|
739 | clCloneKernel not started
|
---|
740 | Default device command queue not started
|
---|
741 | CL_UNORM_INT_101010_2 DONE
|
---|
742 |
|
---|
743 |
|
---|
744 | Clover OpenCL 2.2 -- all DONE:
|
---|
745 |
|
---|
746 | clSetProgramSpecializationConstant not started
|
---|
747 | clSetProgramReleaseCallback not started
|
---|
748 | Initialization and clean-up kernels not started
|
---|
749 | CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg not started
|
---|
750 | Support SPIR-V 1.1 and 1.2 not started
|
---|
751 |
|
---|
752 |
|
---|
753 | Clover OpenCL 3.0 -- all DONE:
|
---|
754 |
|
---|
755 | Optional device capabilities queries in progress
|
---|
756 | cl_khr_extended_versioning DONE
|
---|
757 | clSetContextDestructorCallback DONE
|
---|
758 | clCreateBufferWithProperties DONE
|
---|
759 | clCreateImageWithProperties DONE
|
---|
760 | Query properties arrays in progress
|
---|
761 | Supported OpenCL C versions and features queries DONE
|
---|
762 | CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo not started
|
---|
763 | OpenCL C 3.0 DONE
|
---|
764 | Latest conformance version passed for devices not started
|
---|
765 |
|
---|
766 |
|
---|
767 | Clover extensions that are not part of any OpenCL version:
|
---|
768 | cl_khr_async_copy_fence not started
|
---|
769 | cl_khr_async_work_group_copy_fence not started
|
---|
770 | cl_khr_device_enqueue_local_arg_types not started
|
---|
771 | cl_khr_device_uuid not started
|
---|
772 | cl_khr_egl_event not started
|
---|
773 | cl_khr_egl_image not started
|
---|
774 | cl_khr_expect_assume not started
|
---|
775 | cl_khr_extended_async_copies not started
|
---|
776 | cl_khr_extended_bit_ops not started
|
---|
777 | cl_khr_fp16 DONE ()
|
---|
778 | cl_khr_gl_depth_images not started
|
---|
779 | cl_khr_gl_msaa_sharing not started
|
---|
780 | cl_khr_gl_sharing not started
|
---|
781 | cl_khr_icd DONE
|
---|
782 | cl_khr_initialize_memory not started
|
---|
783 | cl_khr_int64_base_atomics DONE ()
|
---|
784 | cl_khr_int64_extended_atomics DONE ()
|
---|
785 | cl_khr_integer_dot_product not started
|
---|
786 | cl_khr_mipmap_image not started
|
---|
787 | cl_khr_pci_bus_info not started
|
---|
788 | cl_khr_priority_hints not started
|
---|
789 | cl_khr_spirv_extended_debug_info not started
|
---|
790 | cl_khr_spirv_linkonce_odr not started
|
---|
791 | cl_khr_spirv_no_integer_wrap_decoration not started
|
---|
792 | cl_khr_srgb_image_writes not started
|
---|
793 | cl_khr_subgroup_ballot not started
|
---|
794 | cl_khr_subgroup_clustered_reduce not started
|
---|
795 | cl_khr_subgroup_extended_types not started
|
---|
796 | cl_khr_subgroup_named_barrier not started
|
---|
797 | cl_khr_subgroup_non_uniform_arithmetic not started
|
---|
798 | cl_khr_subgroup_non_uniform_vote not started
|
---|
799 | cl_khr_subgroup_rotate not started
|
---|
800 | cl_khr_subgroup_shuffle not started
|
---|
801 | cl_khr_subgroup_shuffle_relative not started
|
---|
802 | cl_khr_suggested_local_work_size not started
|
---|
803 | cl_khr_terminate_context not started
|
---|
804 | cl_khr_throttle_hints not started
|
---|
805 | cl_khr_work_group_uniform_arithmetic not started
|
---|
806 | cl_arm_non_uniform_work_group_size not started
|
---|
807 | cl_arm_shared_virtual_memory DONE (nvc0)
|
---|
808 | cl_intel_unified_shared_memory not started
|
---|
809 |
|
---|
810 |
|
---|
811 | Rusticl OpenCL 1.0 -- all DONE:
|
---|
812 |
|
---|
813 | Image support DONE
|
---|
814 | - Optional image formats in progress
|
---|
815 |
|
---|
816 |
|
---|
817 | Rusticl OpenCL 1.1 -- all DONE:
|
---|
818 |
|
---|
819 | Additional queries for clGetDeviceInfo DONE
|
---|
820 | CL_CONTEXT_NUM_DEVICES for clGetContextInfo DONE
|
---|
821 | New optional image formats not started
|
---|
822 | - CL_Rx not started
|
---|
823 | - CL_RGx not started
|
---|
824 | - CL_RGBx not started
|
---|
825 | clCreateSubBuffer DONE
|
---|
826 | Read from, write to, copy rectangular regions DONE
|
---|
827 | clSetMemObjectDestructorCallback DONE
|
---|
828 | Control OpenCL C version when building DONE
|
---|
829 | Query for preferred work-group size multiple DONE
|
---|
830 | Support user events DONE
|
---|
831 | clSetEventCallback DONE
|
---|
832 | Minimum requirement changes for clGetDeviceInfo DONE
|
---|
833 | Arg prerequisite change for clEnqueueNDRangeKernel DONE
|
---|
834 | OpenCL C 1.1 DONE
|
---|
835 | - 3-component vector data types DONE
|
---|
836 | - cl_khr_byte_addressable_store DONE
|
---|
837 | - cl_khr_global_int32_base_atomics DONE
|
---|
838 | - cl_khr_global_int32_extended_atomics DONE
|
---|
839 | - cl_khr_local_int32_base_atomics DONE
|
---|
840 | - cl_khr_local_int32_extended_atomics DONE
|
---|
841 |
|
---|
842 |
|
---|
843 | Rusticl OpenCL 1.2 -- all DONE:
|
---|
844 |
|
---|
845 | Custom devices DONE
|
---|
846 | Built-in kernels in progress
|
---|
847 | Device partitioning not started
|
---|
848 | Separate compilation and linking of programs DONE
|
---|
849 | Extend cl_mem_flags DONE
|
---|
850 | clEnqueueFillBuffer, clEnqueueFillImage DONE
|
---|
851 | Add CL_MAP_WRITE_INVALIDATE_REGION to cl_map_flags in progress (flag is ignored)
|
---|
852 | New image types DONE
|
---|
853 | clCreateImage DONE
|
---|
854 | clEnqueueMigrateMemObjects DONE
|
---|
855 | Retrieve kernels information from a program DONE
|
---|
856 | clGetKernelArgInfo DONE
|
---|
857 | clEnqueueMarkerWithWaitList DONE
|
---|
858 | clEnqueueBarrierWithWaitList DONE
|
---|
859 | clUnloadPlatformCompiler DONE
|
---|
860 | cl_khr_fp64 in progress (iris, llvmpipe, nvc0, radeonsi, zink, Available with environment variable RUSTICL_FEATURES=fp64, device dependent.)
|
---|
861 | printf DONE
|
---|
862 | CL_KERNEL_ATTRIBUTES for clGetKernelInfo DONE
|
---|
863 | OpenCL C 1.2 DONE
|
---|
864 |
|
---|
865 |
|
---|
866 | Rusticl OpenCL 2.0 -- all DONE:
|
---|
867 |
|
---|
868 | Shared virtual memory in progress (nvc0, llvmpipe)
|
---|
869 | Device queues not started
|
---|
870 | - cl_khr_create_command_queue DONE
|
---|
871 | - Additional queries for clGetDeviceInfo DONE
|
---|
872 | Pipes not started
|
---|
873 | Extended 2D images creation in progress
|
---|
874 | - CL_ABGR DONE
|
---|
875 | - cl_khr_image2d_from_buffer DONE (iris, llvmpipe)
|
---|
876 | - cl_khr_depth_images not started
|
---|
877 | - from sRGB images in progress
|
---|
878 | clCreateSamplerWithProperties DONE
|
---|
879 | Non-uniform work-group sizes not started
|
---|
880 | cl_khr_3d_image_writes DONE (iris, llvmpipe, nvc0, panfrost, radeonsi, zink)
|
---|
881 | OpenCL C 2.0 in progress
|
---|
882 | - Work-group Collective Functions not started
|
---|
883 | - Generic address space in progress
|
---|
884 |
|
---|
885 |
|
---|
886 | Rusticl OpenCL 2.1 -- all DONE:
|
---|
887 |
|
---|
888 | Sub groups DONE (iris, llvmpipe, radeonsi)
|
---|
889 | - cl_khr_subgroups in progress
|
---|
890 | cl_khr_il_program DONE
|
---|
891 | Device and host timer synchronization DONE (iris, llvmpipe, radeonsi, zink)
|
---|
892 | clEnqueueSVMMigrateMem in progress (nvc0/gp100, broken)
|
---|
893 | clCloneKernel DONE
|
---|
894 | Default device command queue not started
|
---|
895 | CL_UNORM_INT_101010_2 not started
|
---|
896 |
|
---|
897 |
|
---|
898 | Rusticl OpenCL 2.2 -- all DONE:
|
---|
899 |
|
---|
900 | clSetProgramSpecializationConstant DONE
|
---|
901 | clSetProgramReleaseCallback not started
|
---|
902 | Initialization and clean-up kernels not started
|
---|
903 | CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg not started
|
---|
904 | Support SPIR-V 1.1 and 1.2 DONE
|
---|
905 |
|
---|
906 |
|
---|
907 | Rusticl OpenCL 3.0 -- all DONE: iris/gen12
|
---|
908 |
|
---|
909 | Optional device capabilities queries DONE
|
---|
910 | cl_khr_extended_versioning DONE
|
---|
911 | clSetContextDestructorCallback DONE
|
---|
912 | clCreateBufferWithProperties DONE
|
---|
913 | clCreateImageWithProperties DONE
|
---|
914 | Query properties arrays DONE
|
---|
915 | Supported OpenCL C versions and features queries DONE
|
---|
916 | CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo DONE
|
---|
917 | OpenCL C 3.0 DONE
|
---|
918 | Latest conformance version passed for devices DONE ()
|
---|
919 |
|
---|
920 |
|
---|
921 | Rusticl extensions that are not part of any OpenCL version:
|
---|
922 | cl_khr_async_copy_fence not started
|
---|
923 | cl_khr_async_work_group_copy_fence not started
|
---|
924 | cl_khr_device_enqueue_local_arg_types not started
|
---|
925 | cl_khr_device_uuid DONE (iris, llvmpipe, radeonsi, zink)
|
---|
926 | cl_khr_egl_event not started
|
---|
927 | cl_khr_egl_image not started
|
---|
928 | cl_khr_expect_assume in progress (hints are ignored)
|
---|
929 | cl_khr_extended_async_copies not started
|
---|
930 | cl_khr_extended_bit_ops in progress
|
---|
931 | cl_khr_fp16 in progress (llvmpipe, radeonsi, zink, Available with environment variable RUSTICL_FEATURES=fp16)
|
---|
932 | cl_khr_gl_depth_images not started
|
---|
933 | cl_khr_gl_msaa_sharing not started
|
---|
934 | cl_khr_gl_sharing DONE (iris, radeonsi)
|
---|
935 | cl_khr_icd DONE
|
---|
936 | cl_khr_initialize_memory not started
|
---|
937 | cl_khr_int64_base_atomics not started
|
---|
938 | cl_khr_int64_extended_atomics not started
|
---|
939 | cl_khr_integer_dot_product DONE
|
---|
940 | cl_khr_mipmap_image not started
|
---|
941 | cl_khr_pci_bus_info DONE (iris, nvc0, radeonsi, zink)
|
---|
942 | cl_khr_priority_hints not started
|
---|
943 | cl_khr_spirv_extended_debug_info not started
|
---|
944 | cl_khr_spirv_linkonce_odr not started
|
---|
945 | cl_khr_spirv_no_integer_wrap_decoration DONE
|
---|
946 | cl_khr_srgb_image_writes not started
|
---|
947 | cl_khr_subgroup_ballot not started
|
---|
948 | cl_khr_subgroup_clustered_reduce not started
|
---|
949 | cl_khr_subgroup_extended_types not started
|
---|
950 | cl_khr_subgroup_named_barrier not started
|
---|
951 | cl_khr_subgroup_non_uniform_arithmetic not started
|
---|
952 | cl_khr_subgroup_non_uniform_vote not started
|
---|
953 | cl_khr_subgroup_rotate not started
|
---|
954 | cl_khr_subgroup_shuffle DONE (iris, llvmpipe, radeonsi)
|
---|
955 | cl_khr_subgroup_shuffle_relative DONE (iris, llvmpipe, radeonsi)
|
---|
956 | cl_khr_suggested_local_work_size not started
|
---|
957 | cl_khr_terminate_context not started
|
---|
958 | cl_khr_throttle_hints not started
|
---|
959 | cl_khr_work_group_uniform_arithmetic not started
|
---|
960 | cl_arm_non_uniform_work_group_size not started
|
---|
961 | cl_arm_shared_virtual_memory in progress (nvc0)
|
---|
962 | cl_intel_unified_shared_memory not started
|
---|
963 |
|
---|
964 |
|
---|
965 | The following extensions are not part of any OpenCL version, and we DO NOT WANT
|
---|
966 | implementations of these extensions for Mesa.
|
---|
967 | cl_khr_spir Superseded by cl_khr_il_program
|
---|
968 | cl_nv_d3d10_sharing Superseded by cl_khr_d3d10_sharing
|
---|
969 | cl_nv_d3d11_sharing Superseded by cl_khr_d3d10_sharing
|
---|
970 |
|
---|
971 | A graphical representation of this information can be found at
|
---|
972 | https://mesamatrix.net/
|
---|