IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Retour d'expérience Raspberry Pi 4 B (8Go de RAM) + ubuntu 20.10
Par ericb2

Le , par ericb2

0PARTAGES

Pour un projet en cours, j'ai voulu tester le raspberry pi 4 (le modèle avec 8Go de RAM). Comme je ne voulais pas oublier d'acheter un bidule ou un autre, j'ai acheté le kit Hutopi (alimentation, boîtier fournis). Attention : je n'ai pas acheté ce kit en une fois,mais la machine finale, c'est ça :-) La machine que j'ai achetée vient en fait de Pearl (Sélestat) parce que j'y passe de temps en temps (mais pour du handball ;-) ). Pour ce qui est de la distribution, Ubuntu propose une version aarch64 (choisissez l'archive "preinstalled desktop image"), alors je l'ai installée.

Surtout n'installez pas la distribution de la fondation Raspberry Pi, car elle contient des choses douteuses venant de chez Microsoft, et qui sont installées à l'insu de votre plein gré.

Pourquoi j'ai pris 8Go de RAM ? Parce que je manipule plein d'images (montées en mémoire, pour des ralentis), et la RAM est utile (1280 x720 @24 images par seconde, avec openCV+ SDL2 + ffmpeg). Si vous ne travaillez pas avec des vidéos, 4 Go fonctionne parfaitement, pas la peine de payer plus cher.

En fait, après un rapide test, on se rend compte que cette machine n'est pas stable thermiquement, et j'ai finalement pris le temps d'acheter un boîtier Argon One m.2 qui permet d'utiliser un disque dur SSD (type B + M key, impératif).


Après ce second passage à la caisse, ça devient sérieux et vraiment correct : on peut faire des maths et pas mal de choses, y compris de la vidéo légère (enregistrement à 24 fps), visualisation en thermographie infrarouge (entre 17 et 25 fps) etc.

Le plus gros défaut : je n'ai pas encore réussi à faire passer la nappe pour la caméra NoIR, et c'est vraiment un énorme défaut, mais je verrai plus tard si je trouve une vraie solution, car j'utilise des vraies caméra thermiques actuellement, et ça passe par le bus USB 3.0 (via la libuvc)

Autre défaut : le son. Simplement merdique, qui passe par le hdmi (qui est un mauvais choix par excellence, puisque fermé, trappe à pognoin et j'en passe, mais c'est l'interface vendue avec la machine, alors ...)

Pour le reste, tout fonctionne. En particulier le wifi (rien à faire), et j'ai même compiz qui tourne sur le bureau (bon, ça chauffe un peu, mais c'est correct).

Attention toutefois, si vous voulez que ça fonctionne bien, il faut installer mesa (version upstream avec git + meson + ninja) et la dernière version de DRM (Direct Rendering Manager) sur le gitlab de FreeDesktop. Sinon, ça ne marchera pas bien.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
me@ma_machine:~$ glxinfo -B 
name of display: :0.0 
display: :0  screen: 0 
direct rendering: Yes 
Extended renderer info (GLX_MESA_query_renderer): 
    Vendor: Broadcom (0x14e4) 
    Device: V3D 4.2 (0xffffffff) 
    Version: 20.3.3 
    Accelerated: yes 
    Video memory: 7630MB 
    Unified memory: yes 
    Preferred profile: core (0x1) 
    Max core profile version: 3.0 
    Max compat profile version: 3.0 
    Max GLES1 profile version: 1.1 
    Max GLES[23] profile version: 3.1 
OpenGL vendor string: Broadcom 
OpenGL renderer string: V3D 4.2 
OpenGL version string: 3.0 Mesa 20.3.3 (git-124d611014) 
OpenGL shading language version string: 1.30 
OpenGL context flags: (none) 
 
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.3.3 (git-124d611014) 
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
Important : pour que OpenGL (3.0) fonctionne, n'oubliez pas d'ajouter les lignes suivantes dans votre fichier ~/.bashrc :

Code : Sélectionner tout
1
2
3
4
5
 
MESA_GLSL_VERSION_OVERRIDE=130 
MESA_GL_VERSION_OVERRIDE=3.0 
 
export MESA_GLSL_VERSION_OVERRIDE MESA_GL_VERSION_OVERRIDE

=> pour en savoir plus sur V3D, et MESA sur Raspberry Pi

Concernant la consommation, je dois être autour de 9W, avec un overclock CPU à 2GHz (stable) et un GPU à 650 MHz. Ce n'est donc pas une machine puissante, mais ce n'est pas mon besoin actuel.

À titre d'information, l'accélération matérielle, le décodage matériel pour la vidéo n'est PAS activée, mais après avoir réussi à compiler Tizonia (sans spotify), et plein d'autres choses, j'arrive à voir des vidéos en 720p @ 30 fps de façon tout à fait honorable.

Pour avoir une idée des performances vidéo, je me suis fait quelques petits scripts, dont les résultats commencent à être encourageants. cf ci-dessous :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
me@ma_machine:~$ ./check_ffmpeg_codecs 
 V..... libx264              libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264) 
 V..... libx264rgb           libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264) 
 V..... h264_omx             OpenMAX IL H.264 video encoder (codec h264) 
 V..... h264_v4l2m2m         V4L2 mem2mem H.264 encoder wrapper (codec h264) 
 V..... h264_vaapi           H.264/AVC (VAAPI) (codec h264) 
 VFS..D h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 
 V..... h264_v4l2m2m         V4L2 mem2mem H.264 decoder wrapper (codec h264) 
 V.S... ffv1                 FFmpeg video codec #1 
 VF.... ffvhuff              Huffyuv FFmpeg variant 
 V.S... mpeg1video           MPEG-1 video 
 V.S... mpeg2video           MPEG-2 video 
 V..... mpeg2_vaapi          MPEG-2 (VAAPI) (codec mpeg2video) 
 V.S... mpeg4                MPEG-4 part 2 
 V..... libxvid              libxvidcore MPEG-4 part 2 (codec mpeg4) 
 V..... mpeg4_omx            OpenMAX IL MPEG-4 video encoder (codec mpeg4) 
 V..... mpeg4_v4l2m2m        V4L2 mem2mem MPEG4 encoder wrapper (codec mpeg4) 
 V..... msmpeg4v2            MPEG-4 part 2 Microsoft variant version 2 
 V..... msmpeg4              MPEG-4 part 2 Microsoft variant version 3 (codec msmpeg4v3) 
 VFS..D ffv1                 FFmpeg video codec #1 
 VF..BD ffvhuff              Huffyuv FFmpeg variant 
 V.S.BD mpeg1video           MPEG-1 video 
 V..... mpeg1_v4l2m2m        V4L2 mem2mem MPEG1 decoder wrapper (codec mpeg1video) 
 V.S.BD mpeg2video           MPEG-2 video 
 V.S.BD mpegvideo            MPEG-1 video (codec mpeg2video) 
 V..... mpeg2_v4l2m2m        V4L2 mem2mem MPEG2 decoder wrapper (codec mpeg2video) 
 VF..BD mpeg4                MPEG-4 part 2 
 V..... mpeg4_v4l2m2m        V4L2 mem2mem MPEG4 decoder wrapper (codec mpeg4) 
 V...BD msmpeg4v1            MPEG-4 part 2 Microsoft variant version 1 
 V...BD msmpeg4v2            MPEG-4 part 2 Microsoft variant version 2 
 V...BD msmpeg4              MPEG-4 part 2 Microsoft variant version 3 (codec msmpeg4v3) 
 V..... libx265              libx265 H.265 / HEVC (codec hevc) 
 V..... hevc_v4l2m2m         V4L2 mem2mem HEVC encoder wrapper (codec hevc) 
 V..... hevc_vaapi           H.265/HEVC (VAAPI) (codec hevc) 
 VFS..D hevc                 HEVC (High Efficiency Video Coding) 
 V..... hevc_v4l2m2m         V4L2 mem2mem HEVC decoder wrapper (codec hevc)

[EDIT]
Pour ceux qui souhaiteraient comparer, voici deux petits scripts à tester dans un terminal :

Script 1 : test des codecs (décodeurs et encodeurs) compilés avec ffmpeg. Me demander en privési vous voulez savoir comment le l'ai compilé (il n'y a rien de compliqué en fait).

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
 
#!/bin/bash 
 
for i in h264 mpeg hevc h265 
  do 
    for j in encoders decoders 
          do 
            ffmpeg -hide_banner -${j} | grep ${i} 
    done 
done
Plus un script supplémentaire : en utilsant vcgencmd (outil fermé, que Broadcom refuse de documenter) :
Code : Sélectionner tout
1
2
 
for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; done

Attention : je n'utilise PAS les obscures bibliothèques libomx* (en 32 bits !) pour obtenir ces résultats. J'ai simplement pris le temps de compiler ce qu'il fallait, et de corriger ce qui devait l'être. Ce n'est pas trivial : débutants s'abstenir, simplement attendre que ce soit intégré dans votre distribution préférée.

J'allais oublier : Vulkan fonctionne aussi .

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
 
me@ma_machine:~$ vulkaninfo  
WARNING: lavapipe is not a conformant vulkan implementation, testing use only. 
========== 
VULKANINFO 
========== 
 
Vulkan Instance Version: 1.2.141 
 
 
Instance Extensions: count = 18 
=============================== 
	VK_EXT_acquire_xlib_display            : extension revision 1 
	VK_EXT_debug_report                    : extension revision 9 
	VK_EXT_debug_utils                     : extension revision 2 
	VK_EXT_direct_mode_display             : extension revision 1 
	VK_EXT_display_surface_counter         : extension revision 1 
	VK_KHR_device_group_creation           : extension revision 1 
	VK_KHR_display                         : extension revision 23 
	VK_KHR_external_fence_capabilities     : extension revision 1 
	VK_KHR_external_memory_capabilities    : extension revision 1 
	VK_KHR_external_semaphore_capabilities : extension revision 1 
	VK_KHR_get_display_properties2         : extension revision 1 
	VK_KHR_get_physical_device_properties2 : extension revision 1 
	VK_KHR_get_surface_capabilities2       : extension revision 1 
	VK_KHR_surface                         : extension revision 25 
	VK_KHR_surface_protected_capabilities  : extension revision 1 
	VK_KHR_wayland_surface                 : extension revision 6 
	VK_KHR_xcb_surface                     : extension revision 6 
	VK_KHR_xlib_surface                    : extension revision 6 
 
Layers: count = 3 
================= 
VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.2.141, layer version 1: 
	Layer Extensions: count = 3 
		VK_EXT_debug_report        : extension revision 9 
		VK_EXT_debug_utils         : extension revision 1 
		VK_EXT_validation_features : extension revision 2 
	Devices: count = 1 
		GPU id = 0 (llvmpipe (LLVM 11.0.0, 128 bits)) 
		Layer-Device Extensions: count = 3 
			VK_EXT_debug_marker     : extension revision 4 
			VK_EXT_tooling_info     : extension revision 1 
			VK_EXT_validation_cache : extension revision 1 
 
VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.1.73, layer version 1: 
	Layer Extensions: count = 0 
	Devices: count = 1 
		GPU id = 0 (llvmpipe (LLVM 11.0.0, 128 bits)) 
		Layer-Device Extensions: count = 0 
 
VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.1.73, layer version 1: 
	Layer Extensions: count = 0 
	Devices: count = 1 
		GPU id = 0 (llvmpipe (LLVM 11.0.0, 128 bits)) 
		Layer-Device Extensions: count = 0 
 
Presentable Surfaces: 
===================== 
GPU id : 0 (llvmpipe (LLVM 11.0.0, 128 bits)): 
	Surface types: count = 2 
		VK_KHR_xcb_surface 
		VK_KHR_xlib_surface 
	Formats: count = 2 
		SurfaceFormat[0]: 
			format = FORMAT_B8G8R8A8_SRGB 
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR 
		SurfaceFormat[1]: 
			format = FORMAT_B8G8R8A8_UNORM 
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR 
	Present Modes: count = 4 
		PRESENT_MODE_IMMEDIATE_KHR 
		PRESENT_MODE_MAILBOX_KHR 
		PRESENT_MODE_FIFO_KHR 
		PRESENT_MODE_FIFO_RELAXED_KHR 
	VkSurfaceCapabilitiesKHR: 
	------------------------- 
		minImageCount       = 3 
		maxImageCount       = 0 
		currentExtent: 
			width  = 256 
			height = 256 
		minImageExtent: 
			width  = 256 
			height = 256 
		maxImageExtent: 
			width  = 256 
			height = 256 
		maxImageArrayLayers = 1 
		supportedTransforms: count = 1 
			SURFACE_TRANSFORM_IDENTITY_BIT_KHR 
		currentTransform    = SURFACE_TRANSFORM_IDENTITY_BIT_KHR 
		supportedCompositeAlpha: count = 2 
			COMPOSITE_ALPHA_OPAQUE_BIT_KHR 
			COMPOSITE_ALPHA_INHERIT_BIT_KHR 
		supportedUsageFlags: count = 5 
			IMAGE_USAGE_TRANSFER_SRC_BIT 
			IMAGE_USAGE_TRANSFER_DST_BIT 
			IMAGE_USAGE_SAMPLED_BIT 
			IMAGE_USAGE_STORAGE_BIT 
			IMAGE_USAGE_COLOR_ATTACHMENT_BIT 
	VkSurfaceCapabilities2EXT: 
	-------------------------- 
		supportedSurfaceCounters: count = 0 
			None 
	VkSurfaceProtectedCapabilitiesKHR: 
	---------------------------------- 
		supportsProtected = false 
 
 
 
Device Groups: 
============== 
Group 0: 
	Properties: 
		physicalDevices: count = 1 
			llvmpipe (LLVM 11.0.0, 128 bits) (ID: 0) 
		subsetAllocation = 0 
 
	Present Capabilities = Group does not support VK_KHR_device_group, skipping printing present capabilities 
 
 
Device Properties and Extensions: 
================================= 
GPU0: 
VkPhysicalDeviceProperties: 
--------------------------- 
	apiVersion     = 4194306 (1.0.2) 
	driverVersion  = 1 (0x0001) 
	vendorID       = 0x10005 
	deviceID       = 0x0000 
	deviceType     = PHYSICAL_DEVICE_TYPE_CPU 
	deviceName     = llvmpipe (LLVM 11.0.0, 128 bits) 
 
VkPhysicalDeviceLimits: 
----------------------- 
	maxImageDimension1D                             = 16384 
	maxImageDimension2D                             = 16384 
	maxImageDimension3D                             = 4096 
	maxImageDimensionCube                           = 32768 
	maxImageArrayLayers                             = 2048 
	maxTexelBufferElements                          = 134217728 
	maxUniformBufferRange                           = 65536 
	maxStorageBufferRange                           = 134217728 
	maxPushConstantsSize                            = 128 
	maxMemoryAllocationCount                        = 4096 
	maxSamplerAllocationCount                       = 32768 
	bufferImageGranularity                          = 0x00000040 
	sparseAddressSpaceSize                          = 0x00000000 
	maxBoundDescriptorSets                          = 8 
	maxPerStageDescriptorSamplers                   = 32 
	maxPerStageDescriptorUniformBuffers             = 16 
	maxPerStageDescriptorStorageBuffers             = 16 
	maxPerStageDescriptorSampledImages              = 128 
	maxPerStageDescriptorStorageImages              = 128 
	maxPerStageDescriptorInputAttachments           = 8 
	maxPerStageResources                            = 128 
	maxDescriptorSetSamplers                        = 32768 
	maxDescriptorSetUniformBuffers                  = 256 
	maxDescriptorSetUniformBuffersDynamic           = 256 
	maxDescriptorSetStorageBuffers                  = 256 
	maxDescriptorSetStorageBuffersDynamic           = 256 
	maxDescriptorSetSampledImages                   = 256 
	maxDescriptorSetStorageImages                   = 256 
	maxDescriptorSetInputAttachments                = 256 
	maxVertexInputAttributes                        = 32 
	maxVertexInputBindings                          = 32 
	maxVertexInputAttributeOffset                   = 2047 
	maxVertexInputBindingStride                     = 2048 
	maxVertexOutputComponents                       = 128 
	maxTessellationGenerationLevel                  = 64 
	maxTessellationPatchSize                        = 32 
	maxTessellationControlPerVertexInputComponents  = 128 
	maxTessellationControlPerVertexOutputComponents = 128 
	maxTessellationControlPerPatchOutputComponents  = 128 
	maxTessellationControlTotalOutputComponents     = 4096 
	maxTessellationEvaluationInputComponents        = 128 
	maxTessellationEvaluationOutputComponents       = 128 
	maxGeometryShaderInvocations                    = 32 
	maxGeometryInputComponents                      = 64 
	maxGeometryOutputComponents                     = 128 
	maxGeometryOutputVertices                       = 1024 
	maxGeometryTotalOutputComponents                = 1024 
	maxFragmentInputComponents                      = 128 
	maxFragmentOutputAttachments                    = 8 
	maxFragmentDualSrcAttachments                   = 2 
	maxFragmentCombinedOutputResources              = 8 
	maxComputeSharedMemorySize                      = 32768 
	maxComputeWorkGroupCount: count = 3 
		65535 
		65535 
		65535 
	maxComputeWorkGroupInvocations                  = 1024 
	maxComputeWorkGroupSize: count = 3 
		1024 
		1024 
		1024 
	subPixelPrecisionBits                           = 8 
	subTexelPrecisionBits                           = 8 
	mipmapPrecisionBits                             = 8 
	maxDrawIndexedIndexValue                        = 4294967295 
	maxDrawIndirectCount                            = 4294967295 
	maxSamplerLodBias                               = 16 
	maxSamplerAnisotropy                            = 16 
	maxViewports                                    = 16 
	maxViewportDimensions: count = 2 
		16384 
		16384 
	viewportBoundsRange: count = 2 
		-32768 
		32768 
	viewportSubPixelBits                            = 0 
	minMemoryMapAlignment                           = 4096 
	minTexelBufferOffsetAlignment                   = 0x00000010 
	minUniformBufferOffsetAlignment                 = 0x00000010 
	minStorageBufferOffsetAlignment                 = 0x00000010 
	minTexelOffset                                  = -32 
	maxTexelOffset                                  = 31 
	minTexelGatherOffset                            = -32 
	maxTexelGatherOffset                            = 31 
	minInterpolationOffset                          = -2 
	maxInterpolationOffset                          = 2 
	subPixelInterpolationOffsetBits                 = 8 
	maxFramebufferWidth                             = 16384 
	maxFramebufferHeight                            = 16384 
	maxFramebufferLayers                            = 2048 
	framebufferColorSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	framebufferDepthSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	framebufferStencilSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	framebufferNoAttachmentsSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	maxColorAttachments                             = 8 
	sampledImageColorSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	sampledImageIntegerSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	sampledImageDepthSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	sampledImageStencilSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	storageImageSampleCounts: count = 2 
		SAMPLE_COUNT_1_BIT 
		SAMPLE_COUNT_4_BIT 
	maxSampleMaskWords                              = 1 
	timestampComputeAndGraphics                     = true 
	timestampPeriod                                 = 1 
	maxClipDistances                                = 8 
	maxCullDistances                                = 8 
	maxCombinedClipAndCullDistances                 = 8 
	discreteQueuePriorities                         = 2 
	pointSizeRange: count = 2 
		0 
		255 
	lineWidthRange: count = 2 
		1 
		1 
	pointSizeGranularity                            = 0.125 
	lineWidthGranularity                            = 0 
	strictLines                                     = false 
	standardSampleLocations                         = true 
	optimalBufferCopyOffsetAlignment                = 0x00000080 
	optimalBufferCopyRowPitchAlignment              = 0x00000080 
	nonCoherentAtomSize                             = 0x00000040 
 
VkPhysicalDeviceSparseProperties: 
--------------------------------- 
	residencyStandard2DBlockShape            = false 
	residencyStandard2DMultisampleBlockShape = false 
	residencyStandard3DBlockShape            = false 
	residencyAlignedMipSize                  = false 
	residencyNonResidentStrict               = false 
 
VkPhysicalDeviceDriverPropertiesKHR: 
------------------------------------ 
	driverID           = DRIVER_ID_MESA_LLVMPIPE 
	driverName         = llvmpipe 
	driverInfo         = Mesa 20.3.3 (git-124d611014) (LLVM 11.0.0) 
	conformanceVersion = 1.0.0.0 
 
VkPhysicalDeviceIDPropertiesKHR: 
-------------------------------- 
	deviceUUID      = 00000000-0000-0000-0000-000000000000 
	driverUUID      = 00000000-0000-0000-0000-000000000000 
	deviceNodeMask  = 0 
	deviceLUIDValid = false 
 
 
Device Extensions: count = 14 
----------------------------- 
	VK_EXT_external_memory_dma_buf      : extension revision 1 
	VK_EXT_private_data                 : extension revision 1 
	VK_GOOGLE_decorate_string           : extension revision 1 
	VK_GOOGLE_hlsl_functionality1       : extension revision 1 
	VK_KHR_bind_memory2                 : extension revision 1 
	VK_KHR_dedicated_allocation         : extension revision 1 
	VK_KHR_driver_properties            : extension revision 1 
	VK_KHR_get_memory_requirements2     : extension revision 1 
	VK_KHR_incremental_present          : extension revision 1 
	VK_KHR_maintenance1                 : extension revision 1 
	VK_KHR_relaxed_block_layout         : extension revision 1 
	VK_KHR_sampler_mirror_clamp_to_edge : extension revision 1 
	VK_KHR_storage_buffer_storage_class : extension revision 1 
	VK_KHR_swapchain                    : extension revision 68 
 
VkQueueFamilyProperties: 
======================== 
	queueProperties[0]: 
	------------------- 
		minImageTransferGranularity = (1,1,1) 
		queueCount                  = 1 
		queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER 
		timestampValidBits          = 64 
		present support             = true 
 
VkPhysicalDeviceMemoryProperties: 
================================= 
memoryHeaps: count = 1 
	memoryHeaps[0]: 
		size   = 2147483648 (0x80000000) (2.00 GiB) 
		budget = 255 (0x000000ff) (255.00 B) 
		usage  = 255 (0x000000ff) (255.00 B) 
		flags: count = 1 
			MEMORY_HEAP_DEVICE_LOCAL_BIT 
memoryTypes: count = 1 
	memoryTypes[0]: 
		heapIndex     = 0 
		propertyFlags = 0x000f: count = 4 
			MEMORY_PROPERTY_DEVICE_LOCAL_BIT 
			MEMORY_PROPERTY_HOST_VISIBLE_BIT 
			MEMORY_PROPERTY_HOST_COHERENT_BIT 
			MEMORY_PROPERTY_HOST_CACHED_BIT 
		usable for: 
			IMAGE_TILING_OPTIMAL: 
				color images 
				FORMAT_D16_UNORM 
				FORMAT_X8_D24_UNORM_PACK32 
				FORMAT_D32_SFLOAT 
				FORMAT_S8_UINT 
				FORMAT_D24_UNORM_S8_UINT 
				FORMAT_D32_SFLOAT_S8_UINT 
				(non-sparse) 
			IMAGE_TILING_LINEAR: 
				color images 
				(non-sparse) 
 
VkPhysicalDeviceFeatures: 
========================= 
	robustBufferAccess                      = true 
	fullDrawIndexUint32                     = true 
	imageCubeArray                          = true 
	independentBlend                        = true 
	geometryShader                          = true 
	tessellationShader                      = true 
	sampleRateShading                       = true 
	dualSrcBlend                            = true 
	logicOp                                 = true 
	multiDrawIndirect                       = true 
	drawIndirectFirstInstance               = true 
	depthClamp                              = true 
	depthBiasClamp                          = true 
	fillModeNonSolid                        = true 
	depthBounds                             = false 
	wideLines                               = false 
	largePoints                             = true 
	alphaToOne                              = true 
	multiViewport                           = true 
	samplerAnisotropy                       = false 
	textureCompressionETC2                  = false 
	textureCompressionASTC_LDR              = false 
	textureCompressionBC                    = true 
	occlusionQueryPrecise                   = true 
	pipelineStatisticsQuery                 = true 
	vertexPipelineStoresAndAtomics          = true 
	fragmentStoresAndAtomics                = true 
	shaderTessellationAndGeometryPointSize  = true 
	shaderImageGatherExtended               = true 
	shaderStorageImageExtendedFormats       = false 
	shaderStorageImageMultisample           = true 
	shaderStorageImageReadWithoutFormat     = false 
	shaderStorageImageWriteWithoutFormat    = true 
	shaderUniformBufferArrayDynamicIndexing = false 
	shaderSampledImageArrayDynamicIndexing  = false 
	shaderStorageBufferArrayDynamicIndexing = false 
	shaderStorageImageArrayDynamicIndexing  = false 
	shaderClipDistance                      = true 
	shaderCullDistance                      = true 
	shaderFloat64                           = true 
	shaderInt64                             = true 
	shaderInt16                             = true 
	shaderResourceResidency                 = false 
	shaderResourceMinLod                    = false 
	sparseBinding                           = false 
	sparseResidencyBuffer                   = false 
	sparseResidencyImage2D                  = false 
	sparseResidencyImage3D                  = false 
	sparseResidency2Samples                 = false 
	sparseResidency4Samples                 = false 
	sparseResidency8Samples                 = false 
	sparseResidency16Samples                = false 
	sparseResidencyAliased                  = false 
	variableMultisampleRate                 = false 
	inheritedQueries                        = false
À suivre.

Eric Bachard 02/2021

Une erreur dans cette actualité ? Signalez-nous-la !