1 /*
2 * Copyright (c) 2022-2023, Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 */
22 //!
23 //! \file mos_user_setting.cpp
24 //! \brief This file defines the user settings of mos
25 //! \details Common OS debug across different platform
26 //!
27
28 #include "mos_user_setting.h"
29
InitMosUserSetting(MediaUserSettingSharedPtr userSettingPtr)30 MOS_STATUS MosUserSetting::InitMosUserSetting(MediaUserSettingSharedPtr userSettingPtr)
31 {
32 InitMosCommonUserSetting(userSettingPtr);
33
34 InitMosUserSettingSpecific(userSettingPtr);
35
36 #if MOS_MESSAGES_ENABLED
37 InitMosMessageUserSetting(userSettingPtr);
38 #endif
39
40 #if (_DEBUG || _RELEASE_INTERNAL)
41 InitUserSettingForDebug(userSettingPtr);
42 #endif
43 return MOS_STATUS_SUCCESS;
44 }
45
InitMosCommonUserSetting(MediaUserSettingSharedPtr userSettingPtr)46 MOS_STATUS MosUserSetting::InitMosCommonUserSetting(MediaUserSettingSharedPtr userSettingPtr)
47 {
48 DeclareUserSettingKey(
49 userSettingPtr,
50 "ApoMosEnable",
51 MediaUserSetting::Group::Device,
52 0,
53 true);
54
55 DeclareUserSettingKey(
56 userSettingPtr,
57 "ApoDdiEnable",
58 MediaUserSetting::Group::Device,
59 1,
60 true);
61
62 DeclareUserSettingKey(
63 userSettingPtr,
64 __MEDIA_USER_FEATURE_VALUE_APOGEIOS_ENABLE,
65 MediaUserSetting::Group::Device,
66 uint32_t(0),
67 true);
68
69 DeclareUserSettingKey(
70 userSettingPtr,
71 __MEDIA_USER_FEATURE_VALUE_RA_MODE_ENABLE,
72 MediaUserSetting::Group::Device,
73 uint32_t(0),
74 true);
75
76 DeclareUserSettingKey(
77 userSettingPtr,
78 __MEDIA_USER_FEATURE_VALUE_PROTECT_MODE_ENABLE,
79 MediaUserSetting::Group::Device,
80 uint32_t(0),
81 true);
82
83 DeclareUserSettingKey(
84 userSettingPtr,
85 "Enable Compressible Surface Creation",
86 MediaUserSetting::Group::Device,
87 0,
88 true);
89
90 DeclareUserSettingKey(
91 userSettingPtr,
92 __MEDIA_USER_FEATURE_VALUE_MEMNINJA_COUNTER,
93 MediaUserSetting::Group::Device,
94 0,
95 true);
96
97 DeclareUserSettingKey( //For debugging purpose. Enable Vebox In-Place decompression
98 userSettingPtr,
99 __VPHAL_ENABLE_VEBOX_MMC_DECOMPRESS,
100 MediaUserSetting::Group::Device,
101 0,
102 true);
103
104 DeclareUserSettingKey( //Enable memory compression
105 userSettingPtr,
106 __VPHAL_ENABLE_MMC,
107 MediaUserSetting::Group::Device,
108 false,
109 true);
110
111 DeclareUserSettingKey( // VP Compression Enable
112 userSettingPtr,
113 __MEDIA_USER_FEATURE_VALUE_VP_MMC_IN_USE,
114 MediaUserSetting::Group::Device,
115 false,
116 true);
117
118 DeclareUserSettingKey(
119 userSettingPtr,
120 "Enable Codec MMC",
121 MediaUserSetting::Group::Device,
122 false,
123 false);
124
125 DeclareUserSettingKey(
126 userSettingPtr,
127 "Codec MMC In Use",
128 MediaUserSetting::Group::Device,
129 false,
130 true);
131
132 DeclareUserSettingKey(
133 userSettingPtr,
134 "HEVC Encode",
135 MediaUserSetting::Group::Device,
136 int32_t(1),
137 false);
138
139 DeclareUserSettingKey(
140 userSettingPtr,
141 "JPEG Encode",
142 MediaUserSetting::Group::Device,
143 int32_t(1),
144 false);
145
146 DeclareUserSettingKey(
147 userSettingPtr,
148 "Encode MMC In Use",
149 MediaUserSetting::Group::Sequence,
150 int32_t(0),
151 true);
152
153 DeclareUserSettingKey(
154 userSettingPtr,
155 "Enable Encode MMC",
156 MediaUserSetting::Group::Sequence,
157 int32_t(0),
158 false);
159
160 DeclareUserSettingKey(
161 userSettingPtr,
162 __MEDIA_USER_FEATURE_VALUE_IP_ALIGNMENT_DECODE_ENABLE,
163 MediaUserSetting::Group::Device,
164 2,
165 false);
166
167 DeclareUserSettingKey(
168 userSettingPtr,
169 __MEDIA_USER_FEATURE_VALUE_IP_ALIGNMENT_ENCODE_ENABLE,
170 MediaUserSetting::Group::Device,
171 2,
172 false);
173
174 DeclareUserSettingKey(
175 userSettingPtr,
176 __MEDIA_USER_FEATURE_VALUE_IP_ALIGNMENT_VPP_ENABLE,
177 MediaUserSetting::Group::Device,
178 2,
179 false);
180
181 DeclareUserSettingKey(
182 userSettingPtr,
183 __MEDIA_USER_FEATURE_VALUE_IP_ALIGNMENT_DECODE_TIMEOUT,
184 MediaUserSetting::Group::Device,
185 12,
186 false);
187
188 DeclareUserSettingKey(
189 userSettingPtr,
190 __MEDIA_USER_FEATURE_VALUE_IP_ALIGNMENT_ENCODE_TIMEOUT,
191 MediaUserSetting::Group::Device,
192 12,
193 false);
194
195 DeclareUserSettingKey(
196 userSettingPtr,
197 __MEDIA_USER_FEATURE_VALUE_IP_ALIGNMENT_VPP_TIMEOUT,
198 MediaUserSetting::Group::Device,
199 12,
200 false);
201
202 DeclareUserSettingKey( //TRUE for Enabling Vebox Scalability. (Default FALSE: disabled")
203 userSettingPtr,
204 __MEDIA_USER_FEATURE_VALUE_ENABLE_VEBOX_SCALABILITY_MODE,
205 MediaUserSetting::Group::Device,
206 0,
207 true); //"TRUE for Enabling Vebox Scalability. (Default FALSE: disabled)"
208
209 DeclareUserSettingKey(
210 userSettingPtr,
211 __MEDIA_USER_FEATURE_VALUE_ENABLE_HCP_SCALABILITY_DECODE,
212 MediaUserSetting::Group::Device,
213 1,
214 true); //"Enable HCP Scalability decode mode. (Default 1: Scalable Decode Mode "
215
216 DeclareUserSettingKey(
217 userSettingPtr,
218 __MEDIA_USER_FEATURE_VALUE_PERF_UTILITY_TOOL_ENABLE,
219 MediaUserSetting::Group::Device,
220 0,
221 true); //"Enable Perf Utility Tool. "
222
223 DeclareUserSettingKey(
224 userSettingPtr,
225 __MEDIA_USER_FEATURE_VALUE_PERF_OUTPUT_DIRECTORY,
226 MediaUserSetting::Group::Device,
227 "",
228 true); //" Perf Utility Tool Customize Output Directory. "
229
230 DeclareUserSettingKey(
231 userSettingPtr,
232 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_ENABLE,
233 MediaUserSetting::Group::Device,
234 int32_t(0),
235 true,
236 true,
237 USER_SETTING_CONFIG_PERF_PATH); //"Perf Profiler Enable Control Flag."
238
239 DeclareUserSettingKey(
240 userSettingPtr,
241 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_ENABLE_MUL_PROC,
242 MediaUserSetting::Group::Device,
243 int32_t(0),
244 true,
245 true,
246 USER_SETTING_CONFIG_PERF_PATH); //"Perf Profiler Multi Process Support."
247
248 DeclareUserSettingKey(
249 userSettingPtr,
250 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_ENABLE_MER_HEADER,
251 MediaUserSetting::Group::Device,
252 int32_t(0),
253 true,
254 true,
255 USER_SETTING_CONFIG_PERF_PATH); //"Perf Profiler Merge by Header Support."
256
257 DeclareUserSettingKey(
258 userSettingPtr,
259 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_OUTPUT_FILE_NAME,
260 MediaUserSetting::Group::Device,
261 "Perf_DATA_00_00.bin",
262 true,
263 true,
264 USER_SETTING_CONFIG_PERF_PATH); //"Perf Profiler Output File Name."
265
266 DeclareUserSettingKey(
267 userSettingPtr,
268 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_MUL_PROC_SINGLE_BIN,
269 MediaUserSetting::Group::Device,
270 int32_t(0),
271 true,
272 true,
273 USER_SETTING_CONFIG_PERF_PATH); //"Perf Profiler Multi Process Single Binary Flag."
274
275 DeclareUserSettingKey(
276 userSettingPtr,
277 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_BUFFER_SIZE_KEY,
278 MediaUserSetting::Group::Device,
279 uint32_t(10000000),
280 true,
281 true,
282 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
283
284 DeclareUserSettingKey(
285 userSettingPtr,
286 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_REGISTER_KEY_1,
287 MediaUserSetting::Group::Device,
288 uint32_t(0),
289 true,
290 true,
291 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
292
293 DeclareUserSettingKey(
294 userSettingPtr,
295 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_REGISTER_KEY_2,
296 MediaUserSetting::Group::Device,
297 uint32_t(0),
298 true,
299 true,
300 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
301
302 DeclareUserSettingKey(
303 userSettingPtr,
304 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_REGISTER_KEY_3,
305 MediaUserSetting::Group::Device,
306 uint32_t(0),
307 true,
308 true,
309 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
310
311 DeclareUserSettingKey(
312 userSettingPtr,
313 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_REGISTER_KEY_4,
314 MediaUserSetting::Group::Device,
315 uint32_t(0),
316 true,
317 true,
318 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
319
320 DeclareUserSettingKey(
321 userSettingPtr,
322 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_REGISTER_KEY_5,
323 MediaUserSetting::Group::Device,
324 uint32_t(0),
325 true,
326 true,
327 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
328
329 DeclareUserSettingKey(
330 userSettingPtr,
331 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_REGISTER_KEY_6,
332 MediaUserSetting::Group::Device,
333 uint32_t(0),
334 true,
335 true,
336 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
337
338 DeclareUserSettingKey(
339 userSettingPtr,
340 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_REGISTER_KEY_7,
341 MediaUserSetting::Group::Device,
342 uint32_t(0),
343 true,
344 true,
345 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
346
347 DeclareUserSettingKey(
348 userSettingPtr,
349 __MEDIA_USER_FEATURE_VALUE_PERF_PROFILER_REGISTER_KEY_8,
350 MediaUserSetting::Group::Device,
351 uint32_t(0),
352 true,
353 true,
354 USER_SETTING_CONFIG_PERF_PATH); //"Performance Profiler Memory Information Register."
355
356 #if MOS_COMMAND_BUFFER_DUMP_SUPPORTED
357 DeclareUserSettingKey(
358 userSettingPtr,
359 __MEDIA_USER_FEATURE_VALUE_DUMP_COMMAND_BUFFER_ENABLE,
360 MediaUserSetting::Group::Device,
361 0,
362 true); // "If enabled, all of the command buffers submitted through MOS will be dumped (0: disabled, 1: to a file, 2: as a normal message)."
363 #endif
364
365 #if MOS_COMMAND_RESINFO_DUMP_SUPPORTED
366 DeclareUserSettingKey(
367 userSettingPtr,
368 __MEDIA_USER_FEATURE_VALUE_DUMP_COMMAND_INFO_ENABLE,
369 MediaUserSetting::Group::Device,
370 0,
371 true); //"If enabled, gpu command info will be dumped (0: disabled, 1: to a file)."
372
373 DeclareUserSettingKey(
374 userSettingPtr,
375 __MEDIA_USER_FEATURE_VALUE_DUMP_COMMAND_INFO_PATH,
376 MediaUserSetting::Group::Device,
377 "",
378 true); //"Path where command info will be dumped, for example: ./"
379 #endif // MOS_COMMAND_RESINFO_DUMP_SUPPORTED
380
381 DeclareUserSettingKey(
382 userSettingPtr,
383 __MEDIA_USER_FEATURE_VALUE_ENABLE_UMD_OCA,
384 MediaUserSetting::Group::Device,
385 1,
386 true); //"Enable UMD_OCA in media driver."
387
388 DeclareUserSettingKey(
389 userSettingPtr,
390 __MEDIA_USER_FEATURE_VALUE_OCA_STATUS,
391 MediaUserSetting::Group::Device,
392 0,
393 true); //Reports out the first OCA error.
394
395 DeclareUserSettingKey(
396 userSettingPtr,
397 __MEDIA_USER_FEATURE_VALUE_OCA_ERROR_HINT,
398 MediaUserSetting::Group::Device,
399 0,
400 true); //Reports out the line number of first OCA error.
401
402 DeclareUserSettingKey(
403 userSettingPtr,
404 __MEDIA_USER_FEATURE_VALUE_COUNT_FOR_OCA_BUFFER_LEAKED,
405 MediaUserSetting::Group::Device,
406 0,
407 true); //Reports out the line number of first OCA error.
408
409 DeclareUserSettingKey(
410 userSettingPtr,
411 __MEDIA_USER_FEATURE_VALUE_COUNT_FOR_OCA_1ST_LEVEL_BB_END_MISSED,
412 MediaUserSetting::Group::Device,
413 0,
414 true); //Reports out the count for OCA buffer which missed to call On1stLevelBBEnd.
415
416 DeclareUserSettingKey(
417 userSettingPtr,
418 __MEDIA_USER_FEATURE_VALUE_COUNT_FOR_ADDITIONAL_OCA_BUFFER_ALLOCATED,
419 MediaUserSetting::Group::Device,
420 0,
421 true); //Reports out the count for additional OCA buffer allocated.
422
423 DeclareUserSettingKey(
424 userSettingPtr,
425 __MEDIA_USER_FEATURE_VALUE_IS_INDIRECT_STATE_HEAP_INVALID,
426 MediaUserSetting::Group::Device,
427 0,
428 true); //Reports out whether indirect state heap invalid
429
430 DeclareUserSettingKey(
431 userSettingPtr,
432 __MEDIA_USER_FEATURE_VALUE_MEDIA_TEXTURE_POOLING_ENABLE,
433 MediaUserSetting::Group::Device,
434 1,
435 true); //"Enable texture pooling in media driver."
436
437 DeclareUserSettingKey(
438 userSettingPtr,
439 __MEDIA_USER_FEATURE_VALUE_MEDIA_NATIVE_FENCE_MODE,
440 MediaUserSetting::Group::Device,
441 0,
442 true);
443
444 return MOS_STATUS_SUCCESS;
445 }
446
447 #if MOS_MESSAGES_ENABLED
InitMosMessageUserSetting(MediaUserSettingSharedPtr userSettingPtr)448 MOS_STATUS MosUserSetting::InitMosMessageUserSetting(MediaUserSettingSharedPtr userSettingPtr)
449 {
450 DeclareUserSettingKey(
451 userSettingPtr,
452 __MOS_USER_FEATURE_KEY_DISABLE_ASSERT,
453 MediaUserSetting::Group::Device,
454 0,
455 true);
456
457 DeclareUserSettingKey(
458 userSettingPtr,
459 __MOS_USER_FEATURE_KEY_MESSAGE_HLT_ENABLED,
460 MediaUserSetting::Group::Device,
461 0,
462 true);
463
464 DeclareUserSettingKey(
465 userSettingPtr,
466 __MOS_USER_FEATURE_KEY_FLUSH_LOG_FILE_BEFORE_SUBMISSION,
467 MediaUserSetting::Group::Device,
468 0,
469 true);
470
471 DeclareUserSettingKey(
472 userSettingPtr,
473 __MOS_USER_FEATURE_KEY_ENABLE_MEMORY_FOOT_PRINT,
474 MediaUserSetting::Group::Device,
475 0,
476 true);
477
478 DeclareUserSettingKey(
479 userSettingPtr,
480 __MOS_USER_FEATURE_KEY_MESSAGE_HLT_OUTPUT_DIRECTORY,
481 MediaUserSetting::Group::Device,
482 "",
483 true);
484
485 DeclareUserSettingKey(
486 userSettingPtr,
487 __MOS_USER_FEATURE_KEY_MESSAGE_PRINT_ENABLED,
488 MediaUserSetting::Group::Device,
489 1,
490 true);
491
492 DeclareUserSettingKey(
493 userSettingPtr,
494 __MOS_USER_FEATURE_KEY_MESSAGE_OS_TAG,
495 MediaUserSetting::Group::Device,
496 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
497 true);
498
499 DeclareUserSettingKey(
500 userSettingPtr,
501 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_OS,
502 MediaUserSetting::Group::Device,
503 0,
504 true);
505
506 DeclareUserSettingKey(
507 userSettingPtr,
508 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_OS_TAG,
509 MediaUserSetting::Group::Device,
510 0,
511 true);
512
513 DeclareUserSettingKey(
514 userSettingPtr,
515 __MOS_USER_FEATURE_KEY_MESSAGE_MHW_TAG,
516 MediaUserSetting::Group::Device,
517 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
518 true);
519
520 DeclareUserSettingKey(
521 userSettingPtr,
522 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_MHW,
523 MediaUserSetting::Group::Device,
524 0,
525 true);
526
527 DeclareUserSettingKey(
528 userSettingPtr,
529 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_MHW_TAG,
530 MediaUserSetting::Group::Device,
531 0,
532 true);
533
534 DeclareUserSettingKey(
535 userSettingPtr,
536 __MOS_USER_FEATURE_KEY_MESSAGE_CODEC_TAG,
537 MediaUserSetting::Group::Device,
538 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
539 true);
540
541 DeclareUserSettingKey(
542 userSettingPtr,
543 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_CODEC,
544 MediaUserSetting::Group::Device,
545 0,
546 true);
547
548 DeclareUserSettingKey(
549 userSettingPtr,
550 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_CODEC_TAG,
551 MediaUserSetting::Group::Device,
552 0,
553 true);
554
555 DeclareUserSettingKey(
556 userSettingPtr,
557 __MOS_USER_FEATURE_KEY_MESSAGE_VP_TAG,
558 MediaUserSetting::Group::Device,
559 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
560 true);
561
562 DeclareUserSettingKey(
563 userSettingPtr,
564 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_VP,
565 MediaUserSetting::Group::Device,
566 0,
567 true);
568
569 DeclareUserSettingKey(
570 userSettingPtr,
571 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_VP_TAG,
572 MediaUserSetting::Group::Device,
573 0,
574 true);
575
576 DeclareUserSettingKey(
577 userSettingPtr,
578 __MOS_USER_FEATURE_KEY_MESSAGE_CP_TAG,
579 MediaUserSetting::Group::Device,
580 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
581 true);
582
583 DeclareUserSettingKey(
584 userSettingPtr,
585 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_CP,
586 MediaUserSetting::Group::Device,
587 0,
588 true);
589
590 DeclareUserSettingKey(
591 userSettingPtr,
592 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_CP_TAG,
593 MediaUserSetting::Group::Device,
594 0,
595 true);
596
597 DeclareUserSettingKey(
598 userSettingPtr,
599 __MOS_USER_FEATURE_KEY_MESSAGE_DDI_TAG,
600 MediaUserSetting::Group::Device,
601 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
602 true);
603
604 DeclareUserSettingKey(
605 userSettingPtr,
606 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_DDI,
607 MediaUserSetting::Group::Device,
608 0,
609 true);
610
611 DeclareUserSettingKey(
612 userSettingPtr,
613 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_DDI_TAG,
614 MediaUserSetting::Group::Device,
615 0,
616 true);
617
618 DeclareUserSettingKey(
619 userSettingPtr,
620 __MOS_USER_FEATURE_KEY_MESSAGE_CM_TAG,
621 MediaUserSetting::Group::Device,
622 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
623 true);
624
625 DeclareUserSettingKey(
626 userSettingPtr,
627 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_CM,
628 MediaUserSetting::Group::Device,
629 0,
630 true);
631
632 DeclareUserSettingKey(
633 userSettingPtr,
634 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_CM_TAG,
635 MediaUserSetting::Group::Device,
636 0,
637 true);
638
639 DeclareUserSettingKey(
640 userSettingPtr,
641 __MOS_USER_FEATURE_KEY_MESSAGE_SCALABILITY_TAG,
642 MediaUserSetting::Group::Device,
643 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
644 true);
645
646 DeclareUserSettingKey(
647 userSettingPtr,
648 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_SCALABILITY,
649 MediaUserSetting::Group::Device,
650 0,
651 true);
652
653 DeclareUserSettingKey(
654 userSettingPtr,
655 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_SCALABILITY_TAG,
656 MediaUserSetting::Group::Device,
657 0,
658 true);
659
660 DeclareUserSettingKey(
661 userSettingPtr,
662 __MOS_USER_FEATURE_KEY_MESSAGE_MMC_TAG,
663 MediaUserSetting::Group::Device,
664 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
665 true);
666
667 DeclareUserSettingKey(
668 userSettingPtr,
669 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_MMC,
670 MediaUserSetting::Group::Device,
671 0,
672 true);
673
674 DeclareUserSettingKey(
675 userSettingPtr,
676 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_MMC_TAG,
677 MediaUserSetting::Group::Device,
678 0,
679 true);
680
681 DeclareUserSettingKey(
682 userSettingPtr,
683 __MOS_USER_FEATURE_KEY_MESSAGE_MCPY_TAG,
684 MediaUserSetting::Group::Device,
685 __MOS_USER_FEATURE_KEY_MESSAGE_DEFAULT_VALUE,
686 true);
687
688 DeclareUserSettingKey(
689 userSettingPtr,
690 __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_MCPY,
691 MediaUserSetting::Group::Device,
692 0,
693 true);
694
695 DeclareUserSettingKey(
696 userSettingPtr,
697 __MOS_USER_FEATURE_KEY_SUB_COMPONENT_MCPY_TAG,
698 MediaUserSetting::Group::Device,
699 0,
700 true);
701
702 return MOS_STATUS_SUCCESS;
703 }
704 #endif
705
706 #if (_DEBUG || _RELEASE_INTERNAL)
InitUserSettingForDebug(MediaUserSettingSharedPtr userSettingPtr)707 MOS_STATUS MosUserSetting::InitUserSettingForDebug(MediaUserSettingSharedPtr userSettingPtr)
708 {
709 DeclareUserSettingKeyForDebug(
710 userSettingPtr,
711 "Disable RowStore Cache",
712 MediaUserSetting::Group::Device,
713 0,
714 true);
715 DeclareUserSettingKeyForDebug(
716 userSettingPtr,
717 __MEDIA_USER_FEATURE_VALUE_IS_CODEC_ROW_STORE_CACHE_ENABLED,
718 MediaUserSetting::Group::Device,
719 0,
720 true);
721 DeclareUserSettingKeyForDebug(
722 userSettingPtr,
723 "DisableVp9DfRowStoreCache",
724 MediaUserSetting::Group::Device,
725 0,
726 true);
727 DeclareUserSettingKeyForDebug(
728 userSettingPtr,
729 "DisableAv1DfluRowstoreCache",
730 MediaUserSetting::Group::Device,
731 0,
732 true);
733 DeclareUserSettingKeyForDebug(
734 userSettingPtr,
735 "DisableAv1DflvRowstoreCache",
736 MediaUserSetting::Group::Device,
737 0,
738 true);
739 DeclareUserSettingKeyForDebug(
740 userSettingPtr,
741 "DisableAv1CdefRowstoreCache",
742 MediaUserSetting::Group::Device,
743 0,
744 true);
745 DeclareUserSettingKeyForDebug(
746 userSettingPtr,
747 "DisableIntraRowStoreCache",
748 MediaUserSetting::Group::Device,
749 0,
750 true);
751 DeclareUserSettingKeyForDebug(
752 userSettingPtr,
753 "DisableDeblockingFilterRowStoreCache",
754 MediaUserSetting::Group::Device,
755 0,
756 true);
757 DeclareUserSettingKeyForDebug(
758 userSettingPtr,
759 "DisableBsdMpcRowStoreCache",
760 MediaUserSetting::Group::Device,
761 0,
762 true);
763 DeclareUserSettingKeyForDebug(
764 userSettingPtr,
765 "DisableMprRowStoreCache",
766 MediaUserSetting::Group::Device,
767 0,
768 true);
769 DeclareUserSettingKeyForDebug(
770 userSettingPtr,
771 "DisableVDEncRowStoreCache",
772 MediaUserSetting::Group::Device,
773 0,
774 true);
775 DeclareUserSettingKeyForDebug(
776 userSettingPtr,
777 "DisableHevcDatRowStoreCache",
778 MediaUserSetting::Group::Device,
779 0,
780 true);
781 DeclareUserSettingKeyForDebug(
782 userSettingPtr,
783 "DisableHevcDfRowStoreCache",
784 MediaUserSetting::Group::Device,
785 0,
786 true);
787 DeclareUserSettingKeyForDebug(
788 userSettingPtr,
789 "DisableHevcSaoRowStoreCache",
790 MediaUserSetting::Group::Device,
791 0,
792 true);
793 DeclareUserSettingKeyForDebug(
794 userSettingPtr,
795 "DisableVp9HvdRowStoreCache",
796 MediaUserSetting::Group::Device,
797 0,
798 true);
799 DeclareUserSettingKeyForDebug(
800 userSettingPtr,
801 "DisableVp9DatRowStoreCache",
802 MediaUserSetting::Group::Device,
803 0,
804 true);
805 DeclareUserSettingKeyForDebug(
806 userSettingPtr,
807 "DisableAv1BtdlRowstoreCache",
808 MediaUserSetting::Group::Device,
809 0,
810 true);
811 DeclareUserSettingKeyForDebug(
812 userSettingPtr,
813 "DisableAv1SmvlRowstoreCache",
814 MediaUserSetting::Group::Device,
815 0,
816 true);
817 DeclareUserSettingKeyForDebug(
818 userSettingPtr,
819 "DisableAv1IpdlRowstoreCache",
820 MediaUserSetting::Group::Device,
821 0,
822 true);
823 DeclareUserSettingKeyForDebug(
824 userSettingPtr,
825 "DisableAv1DflyRowstoreCache",
826 MediaUserSetting::Group::Device,
827 0,
828 true);
829 DeclareUserSettingKeyForDebug(
830 userSettingPtr,
831 "Encode L3CNTLREG Override",
832 MediaUserSetting::Group::Device,
833 0,
834 false);
835 DeclareUserSettingKeyForDebug(
836 userSettingPtr,
837 "Encode L3CNTLREG2 Override",
838 MediaUserSetting::Group::Device,
839 0,
840 false);
841 DeclareUserSettingKeyForDebug(
842 userSettingPtr,
843 "Encode L3CNTLREG3 Override",
844 MediaUserSetting::Group::Device,
845 0,
846 false);
847 DeclareUserSettingKeyForDebug(
848 userSettingPtr,
849 "Encode L3SQCREG1 Override",
850 MediaUserSetting::Group::Device,
851 0,
852 false);
853 DeclareUserSettingKeyForDebug(
854 userSettingPtr,
855 "Encode L3SQCREG4 Override",
856 MediaUserSetting::Group::Device,
857 0,
858 false);
859 DeclareUserSettingKeyForDebug(
860 userSettingPtr,
861 "L3LRA1RegOverride",
862 MediaUserSetting::Group::Device,
863 0,
864 false);
865
866 DeclareUserSettingKeyForDebug(
867 userSettingPtr,
868 __COMMON_DBG_SURF_DUMPER_RESOURCE_LOCK,
869 MediaUserSetting::Group::Device,
870 1,
871 true);
872
873 DeclareUserSettingKeyForDebug(
874 userSettingPtr,
875 __COMMON_DBG_SURF_DUMP_OUTFILE_KEY_NAME,
876 MediaUserSetting::Group::Device,
877 "",
878 true);
879
880 DeclareUserSettingKeyForDebug(
881 userSettingPtr,
882 __COMMON_DBG_DUMP_OUTPUT_DIRECTORY,
883 MediaUserSetting::Group::Device,
884 "",
885 true);
886
887 DeclareUserSettingKeyForDebug( // MCPY Surface_in Dump Location
888 userSettingPtr,
889 __COMMON_DBG_SURF_DUMP_LOCATION_KEY_NAME_IN,
890 MediaUserSetting::Group::Device,
891 "",
892 true);
893
894 DeclareUserSettingKeyForDebug( // MCPY Surface_out Dump Location
895 userSettingPtr,
896 __COMMON_DBG_SURF_DUMP_LOCATION_KEY_NAME_OUT,
897 MediaUserSetting::Group::Device,
898 "",
899 true);
900
901 DeclareUserSettingKeyForDebug(
902 userSettingPtr,
903 __MEDIA_USER_FEATURE_VALUE_MEMORY_NINJA_BEGIN_COUNTER,
904 MediaUserSetting::Group::Device,
905 0,
906 true);
907
908 DeclareUserSettingKeyForDebug(
909 userSettingPtr,
910 __MEDIA_USER_FEATURE_VALUE_MEMORY_NINJA_END_COUNTER,
911 MediaUserSetting::Group::Device,
912 0,
913 true);
914
915 DeclareUserSettingKeyForDebug(
916 userSettingPtr,
917 __MEDIA_USER_FEATURE_VALUE_SIM_IN_USE,
918 MediaUserSetting::Group::Device,
919 int32_t(0),
920 true);
921
922 DeclareUserSettingKeyForDebug(
923 userSettingPtr,
924 __MEDIA_USER_FEATURE_VALUE_MEDIA_RESET_ENABLE,
925 MediaUserSetting::Group::Device,
926 1,
927 true); //"If enabled, media reset will be enabled."
928
929 DeclareUserSettingKeyForDebug(
930 userSettingPtr,
931 __MEDIA_USER_FEATURE_VALUE_FORCE_MEDIA_COMPRESSED_WRITE,
932 MediaUserSetting::Group::Device,
933 0,
934 true); //"If enabled, then to disable Unifined CMF."
935
936 DeclareUserSettingKeyForDebug(
937 userSettingPtr,
938 __MEDIA_USER_FEATURE_VALUE_FORCE_RESET_THRESHOLD,
939 MediaUserSetting::Group::Device,
940 0,
941 true); //"Force set media reset threshold. 1: enabled, 0: not used (default)."
942
943 DeclareUserSettingKeyForDebug(
944 userSettingPtr,
945 __MEDIA_USER_FEATURE_VALUE_MEDIA_PREEMPTION_ENABLE,
946 MediaUserSetting::Group::Device,
947 true,
948 true);
949
950 DeclareUserSettingKeyForDebug(
951 userSettingPtr,
952 __MEDIA_USER_FEATURE_VALUE_MEDIA_RESET_TH,
953 MediaUserSetting::Group::Device,
954 uint32_t(0),
955 true);
956
957 DeclareUserSettingKeyForDebug(
958 userSettingPtr,
959 __MEDIA_USER_FEATURE_VALUE_MEDIA_DEBUG_CFG_GENERATION,
960 MediaUserSetting::Group::Device,
961 false,
962 true);
963
964 DeclareUserSettingKeyForDebug(
965 userSettingPtr,
966 __MEDIA_USER_FEATURE_MCPY_MODE,
967 MediaUserSetting::Group::Device,
968 "",
969 true);
970
971 DeclareUserSettingKeyForDebug(
972 userSettingPtr,
973 __MEDIA_USER_FEATURE_ENABLE_RENDER_ENGINE_MMC,
974 MediaUserSetting::Group::Device,
975 false,
976 true);
977
978 DeclareUserSettingKeyForDebug(
979 userSettingPtr,
980 __MEDIA_USER_FEATURE_VALUE_VEBOX_SPLIT_RATIO,
981 MediaUserSetting::Group::Device,
982 uint32_t(50),
983 true);
984
985 DeclareUserSettingKeyForDebug(
986 userSettingPtr,
987 __MEDIA_USER_FEATURE_VALUE_VDI_MODE,
988 MediaUserSetting::Group::Device,
989 true,
990 true);
991
992 DeclareUserSettingKeyForDebug(
993 userSettingPtr,
994 __MEDIA_USER_FEATURE_VALUE_MEDIA_WALKER_MODE,
995 MediaUserSetting::Group::Device,
996 int32_t(-1),
997 true);
998
999 DeclareUserSettingKeyForDebug(
1000 userSettingPtr,
1001 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_PLATFORM,
1002 MediaUserSetting::Group::Device,
1003 "",
1004 true);
1005
1006 DeclareUserSettingKeyForDebug(
1007 userSettingPtr,
1008 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_STEPPING,
1009 MediaUserSetting::Group::Device,
1010 "",
1011 true);
1012
1013 DeclareUserSettingKeyForDebug(
1014 userSettingPtr,
1015 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_ENABLE_MEM_TRACE,
1016 MediaUserSetting::Group::Device,
1017 false,
1018 true);
1019
1020 DeclareUserSettingKeyForDebug(
1021 userSettingPtr,
1022 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_ENABLE_LOCAL_MEM,
1023 MediaUserSetting::Group::Device,
1024 false,
1025 true);
1026
1027 DeclareUserSettingKeyForDebug(
1028 userSettingPtr,
1029 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_AUBLOAD_DIRECTORY,
1030 MediaUserSetting::Group::Device,
1031 "",
1032 true);
1033
1034 DeclareUserSettingKeyForDebug(
1035 userSettingPtr,
1036 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_OUTPUT_DIRECTORY,
1037 MediaUserSetting::Group::Device,
1038 "",
1039 true);
1040
1041 DeclareUserSettingKeyForDebug(
1042 userSettingPtr,
1043 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_GT_SKU,
1044 MediaUserSetting::Group::Device,
1045 "",
1046 true);
1047
1048 DeclareUserSettingKeyForDebug(
1049 userSettingPtr,
1050 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_DEBUG_OUTPUT_ENABLE,
1051 MediaUserSetting::Group::Device,
1052 int32_t(0),
1053 true);
1054
1055 DeclareUserSettingKeyForDebug(
1056 userSettingPtr,
1057 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_AUBCAPTURE_ENABLE,
1058 MediaUserSetting::Group::Device,
1059 int32_t(0),
1060 true);
1061
1062 DeclareUserSettingKeyForDebug(
1063 userSettingPtr,
1064 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_PATHLIST_ENABLE,
1065 MediaUserSetting::Group::Device,
1066 int32_t(0),
1067 true);
1068
1069 DeclareUserSettingKeyForDebug(
1070 userSettingPtr,
1071 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_RESET_GFXADDR_PER_CONTEXT_DISABLE,
1072 MediaUserSetting::Group::Device,
1073 int32_t(0),
1074 true);
1075
1076 DeclareUserSettingKeyForDebug(
1077 userSettingPtr,
1078 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_MMIO_GT_SETTING,
1079 MediaUserSetting::Group::Device,
1080 uint32_t(0),
1081 true);
1082
1083 DeclareUserSettingKeyForDebug(
1084 userSettingPtr,
1085 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_PERF_TEST_ENABLE,
1086 MediaUserSetting::Group::Device,
1087 int32_t(0),
1088 true);
1089
1090 DeclareUserSettingKeyForDebug(
1091 userSettingPtr,
1092 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_AUBLOAD_COMMAND_LINE_OPTIONS,
1093 MediaUserSetting::Group::Device,
1094 "",
1095 true);
1096
1097 DeclareUserSettingKeyForDebug(
1098 userSettingPtr,
1099 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_VE_SCHEDULE_FIXED_MODE_ENABLE,
1100 MediaUserSetting::Group::Device,
1101 true,
1102 true);
1103
1104 DeclareUserSettingKeyForDebug(
1105 userSettingPtr,
1106 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_AUBCAPTURE_BMP_DUMP_ENABLE,
1107 MediaUserSetting::Group::Device,
1108 int32_t(0),
1109 true);
1110
1111 DeclareUserSettingKeyForDebug(
1112 userSettingPtr,
1113 __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_AUBCAPTURE_RECON_DUMP_ENABLE,
1114 MediaUserSetting::Group::Device,
1115 int32_t(0),
1116 true);
1117
1118 DeclareUserSettingKeyForDebug( // Surface Dump Outfile
1119 userSettingPtr,
1120 __MEDIA_USER_FEATURE_VALUE_CODECHAL_DEBUG_OUTPUT_DIRECTORY,
1121 MediaUserSetting::Group::Device,
1122 "",
1123 true);
1124
1125 DeclareUserSettingKeyForDebug(
1126 userSettingPtr,
1127 "Resource Addr Dump Enable",
1128 MediaUserSetting::Group::Device,
1129 0,
1130 true);
1131
1132 DeclareUserSettingKeyForDebug(
1133 userSettingPtr,
1134 __MEDIA_USER_FEATURE_VALUE_SIM_ENABLE,
1135 MediaUserSetting::Group::Device,
1136 0,
1137 true,
1138 true,
1139 USER_SETTING_CONFIG_PERMANENT_PATH);//"If enabled, specify this is in pre-si simulation/emulation mode."
1140
1141 DeclareUserSettingKeyForDebug(
1142 userSettingPtr,
1143 __MEDIA_USER_FEATURE_VALUE_FORCE_VDBOX,
1144 MediaUserSetting::Group::Device,
1145 0,
1146 true); //"Force the VDBox to be used. (Default 0: FORCE_VDBOX_NONE )"
1147
1148 DeclareUserSettingKeyForDebug(
1149 userSettingPtr,
1150 __MEDIA_USER_FEATURE_VALUE_FORCE_VEBOX,
1151 MediaUserSetting::Group::Device,
1152 0,
1153 true); //"Force the VEBox to be used. (Default 0: FORCE_VEBOX_NONE )"
1154
1155 DeclareUserSettingKeyForDebug(
1156 userSettingPtr,
1157 __MEDIA_USER_FEATURE_VALUE_FORCE_YFYS,
1158 MediaUserSetting::Group::Device,
1159 0,
1160 true); //"Force to allocate internal surface as Yf or Ys"
1161
1162 DeclareUserSettingKeyForDebug(
1163 userSettingPtr,
1164 __MEDIA_USER_FEATURE_VALUE_NULL_HW_ACCELERATION_ENABLE,
1165 MediaUserSetting::Group::Device,
1166 0,
1167 true); //"If enabled, go through the nullptr HW driver. (0: Disable, 1: Null HW enabled)."
1168
1169 DeclareUserSettingKeyForDebug(
1170 userSettingPtr,
1171 __MEDIA_USER_FEATURE_VALUE_ENABLE_VE_DEBUG_OVERRIDE,
1172 MediaUserSetting::Group::Device,
1173 0,
1174 true); //"TRUE for Enabling KMD Virtual Engine Debug Override. (Default FALSE: not override)"
1175
1176 DeclareUserSettingKeyForDebug(
1177 userSettingPtr,
1178 __MEDIA_USER_FEATURE_VALUE_ENABLE_LINUX_FRAME_SPLIT,
1179 MediaUserSetting::Group::Device,
1180 0,
1181 true); //"TRUE for Enabling Frame Split. (Default false: disabled)"
1182
1183 DeclareUserSettingKeyForDebug(
1184 userSettingPtr,
1185 __MEDIA_USER_FEATURE_VALUE_ENABLE_GUC_SUBMISSION,
1186 MediaUserSetting::Group::Device,
1187 1,
1188 true); // "To decide if using guc submission."
1189
1190 DeclareUserSettingKeyForDebug(
1191 userSettingPtr,
1192 __MEDIA_USER_FEATURE_VALUE_SOFT_RESET_ENABLE,
1193 MediaUserSetting::Group::Device,
1194 0,
1195 true); // "If enabled, soft reset will be enabled. This key is not valid on Linux."
1196
1197 DeclareUserSettingKeyForDebug(
1198 userSettingPtr,
1199 __MEDIA_USER_FEATURE_VALUE_SSEU_SETTING_OVERRIDE,
1200 MediaUserSetting::Group::Device,
1201 0xDEADC0DE,
1202 true); // "Override Slice/Sub-Slice/EU request"
1203
1204 DeclareUserSettingKeyForDebug(
1205 userSettingPtr,
1206 __MEDIA_USER_FEATURE_VALUE_ALLOC_MEMORY_FAIL_SIMULATE_MODE,
1207 MediaUserSetting::Group::Device,
1208 0,
1209 true); // "MOS memory alloc fail simulate mode, 0-Disable, 1-Random, 2-Traverse."
1210
1211 DeclareUserSettingKeyForDebug(
1212 userSettingPtr,
1213 __MEDIA_USER_FEATURE_VALUE_ALLOC_MEMORY_FAIL_SIMULATE_FREQ,
1214 MediaUserSetting::Group::Device,
1215 0,
1216 true); // "MOS memory alloc fail simulate frequence."
1217
1218 DeclareUserSettingKeyForDebug(
1219 userSettingPtr,
1220 __MEDIA_USER_FEATURE_VALUE_ALLOC_MEMORY_FAIL_SIMULATE_HINT,
1221 MediaUserSetting::Group::Device,
1222 0,
1223 true); // "MOS memory alloc fail simulate counter."
1224
1225 DeclareUserSettingKeyForDebug(
1226 userSettingPtr,
1227 __MEDIA_USER_FEATURE_VALUE_OS_API_FAIL_SIMULATE_TYPE,
1228 MediaUserSetting::Group::Device,
1229 0,
1230 true); // "the OS API fail type to simulate"
1231
1232 DeclareUserSettingKeyForDebug(
1233 userSettingPtr,
1234 __MEDIA_USER_FEATURE_VALUE_OS_API_FAIL_SIMULATE_MODE,
1235 MediaUserSetting::Group::Device,
1236 0,
1237 true); // "MOS OS API fail simulate mode, 0-Disable, 1-Random, 2-Traverse."
1238
1239 DeclareUserSettingKeyForDebug(
1240 userSettingPtr,
1241 __MEDIA_USER_FEATURE_VALUE_OS_API_FAIL_SIMULATE_FREQ,
1242 MediaUserSetting::Group::Device,
1243 0,
1244 true); // "MOS OS API fail simulate frequence."
1245
1246 DeclareUserSettingKeyForDebug(
1247 userSettingPtr,
1248 __MEDIA_USER_FEATURE_VALUE_OS_API_FAIL_SIMULATE_HINT,
1249 MediaUserSetting::Group::Device,
1250 0,
1251 true); // "MOS OS API fail simulate counter."
1252
1253 DeclareUserSettingKeyForDebug(
1254 userSettingPtr,
1255 __MEDIA_USER_FEATURE_VALUE_ENABLE_DECODE_VE_CTXSCHEDULING,
1256 MediaUserSetting::Group::Device,
1257 0,
1258 true); // "TRUE for Enabling Decode Virtual Engine context based scheduling. (Default false: disabled"
1259
1260 DeclareUserSettingKeyForDebug(
1261 userSettingPtr,
1262 __MEDIA_USER_FEATURE_VALUE_ENABLE_DECODE_VIRTUAL_ENGINE,
1263 MediaUserSetting::Group::Device,
1264 1,
1265 true); // "TRUE for Enabling Decode Virtual Engine. (Default TRUE: enabled)"
1266
1267 DeclareUserSettingKeyForDebug(
1268 userSettingPtr,
1269 __MEDIA_USER_FEATURE_VALUE_ENABLE_ENCODE_VIRTUAL_ENGINE,
1270 MediaUserSetting::Group::Device,
1271 1,
1272 true); // "TRUE for Enabling Encode Virtual Engine. (Default TRUE: enabled)"
1273
1274 DeclareUserSettingKeyForDebug(
1275 userSettingPtr,
1276 __MEDIA_USER_FEATURE_VALUE_MEDIA_TILE_ENCODING_1_DEFAULT,
1277 MediaUserSetting::Group::Device,
1278 0,
1279 true); // "DDI Res tile as 1 default"
1280
1281 DeclareUserSettingKeyForDebug(
1282 userSettingPtr,
1283 __MEDIA_USER_FEATURE_VALUE_TILE_ENCODING_1_INTERNAL_USED,
1284 MediaUserSetting::Group::Device,
1285 0,
1286 true); // "Internal Res tile as 1 used"
1287
1288 DeclareUserSettingKeyForDebug(
1289 userSettingPtr,
1290 __MEDIA_USER_FEATURE_VALUE_TILE_ENCODING_3_INTERNAL_USED,
1291 MediaUserSetting::Group::Device,
1292 0,
1293 true); // "Internal Res tile as 3 used"
1294
1295 DeclareUserSettingKeyForDebug( // Surface Dump Outfile
1296 userSettingPtr,
1297 __VPHAL_DBG_SURF_DUMP_OUTFILE_KEY_NAME,
1298 MediaUserSetting::Group::Device,
1299 "",
1300 true);
1301
1302 DeclareUserSettingKeyForDebug( // VP Surface Dump Location
1303 userSettingPtr,
1304 __VPHAL_DBG_SURF_DUMP_LOCATION_KEY_NAME,
1305 MediaUserSetting::Group::Device,
1306 "",
1307 true);
1308
1309 DeclareUserSettingKeyForDebug( // Manual trigger to start VP Surface Dump
1310 userSettingPtr,
1311 __VPHAL_DBG_SURF_DUMP_MANUAL_TRIGGER_KEY_NAME,
1312 MediaUserSetting::Group::Device,
1313 -1,
1314 true);
1315
1316 DeclareUserSettingKeyForDebug( // VP Surface Dump Start Frame
1317 userSettingPtr,
1318 __VPHAL_DBG_SURF_DUMP_START_FRAME_KEY_NAME,
1319 MediaUserSetting::Group::Device,
1320 0,
1321 true);
1322
1323 DeclareUserSettingKeyForDebug( // VP Surface Dump End Frame
1324 userSettingPtr,
1325 __VPHAL_DBG_SURF_DUMP_END_FRAME_KEY_NAME,
1326 MediaUserSetting::Group::Device,
1327 -1,
1328 true);
1329
1330 DeclareUserSettingKeyForDebug( // VP Surface dump each plance seprately
1331 userSettingPtr,
1332 __VPHAL_DBG_SURF_DUMPER_ENABLE_PLANE_DUMP,
1333 MediaUserSetting::Group::Device,
1334 0,
1335 true);
1336
1337 DeclareUserSettingKeyForDebug( // VP Surface dump aux data enable
1338 userSettingPtr,
1339 __VPHAL_DBG_SURF_DUMP_ENABLE_AUX_DUMP,
1340 MediaUserSetting::Group::Device,
1341 0,
1342 true);
1343
1344 DeclareUserSettingKeyForDebug( // VP Surface Dump: Locking Resource
1345 userSettingPtr,
1346 __VPHAL_DBG_SURF_DUMPER_RESOURCE_LOCK,
1347 MediaUserSetting::Group::Device,
1348 0,
1349 true);
1350
1351 DeclareUserSettingKeyForDebug( // VP State Dump Enable
1352 userSettingPtr,
1353 __VPHAL_DBG_STATE_DUMP_ENABLE,
1354 MediaUserSetting::Group::Device,
1355 0,
1356 true);
1357
1358 DeclareUserSettingKeyForDebug(
1359 userSettingPtr,
1360 __MEDIA_USER_FEATURE_VALUE_SPLIT_SCREEN_DEMO_POSITION,
1361 MediaUserSetting::Group::Device,
1362 0,
1363 true); //Demo position: Disable(0), Left(1), Right(2), Top(3), Bottom(4)
1364
1365 DeclareUserSettingKeyForDebug(
1366 userSettingPtr,
1367 __MEDIA_USER_FEATURE_VALUE_SPLIT_SCREEN_DEMO_PARAMETERS,
1368 MediaUserSetting::Group::Device,
1369 0,
1370 true);
1371 /**********************MOCK ADAPTER**********************************/
1372 DeclareUserSettingKeyForDebug(
1373 userSettingPtr,
1374 __MEDIA_USER_FEATURE_VALUE_NULLHW_ENABLE,
1375 MediaUserSetting::Group::Device,
1376 0,
1377 true); // "Enable NULL HW or not"
1378
1379 DeclareUserSettingKeyForDebug(
1380 userSettingPtr,
1381 __MEDIA_USER_FEATURE_VALUE_MOCKADAPTOR_PLATFORM,
1382 MediaUserSetting::Group::Device,
1383 33,
1384 true); //"Sets the platform for MockAdaptor, default is tgllp"
1385
1386 DeclareUserSettingKeyForDebug(
1387 userSettingPtr,
1388 __MEDIA_USER_FEATURE_VALUE_MOCKADAPTOR_STEPPING,
1389 MediaUserSetting::Group::Device,
1390 "a0",
1391 true); //"Sets the platform stepping for MockAdaptor. (For example a0, b1, c0, etc)"
1392
1393 DeclareUserSettingKeyForDebug(
1394 userSettingPtr,
1395 __MEDIA_USER_FEATURE_VALUE_MOCKADAPTOR_DEVICE,
1396 MediaUserSetting::Group::Device,
1397 39497,
1398 true); //"Device ID of mock device, default is 0x9A49"
1399
1400 //Tile resource info report
1401 DeclareUserSettingKeyForDebug(
1402 userSettingPtr,
1403 __MEDIA_USER_FEATURE_VALUE_TILE_INFO,
1404 MediaUserSetting::Group::Device,
1405 "",
1406 true); //""Report tile infomation including tileID and memory region size"
1407
1408 DeclareUserSettingKeyForDebug(
1409 userSettingPtr,
1410 __MEDIA_USER_FEATURE_VALUE_ENGINE_INSTANCE_RCS,
1411 MediaUserSetting::Group::Device,
1412 "",
1413 true); //"Report RCS instance infomation"
1414
1415 DeclareUserSettingKeyForDebug(
1416 userSettingPtr,
1417 __MEDIA_USER_FEATURE_VALUE_ENGINE_INSTANCE_BLT,
1418 MediaUserSetting::Group::Device,
1419 "",
1420 true); //"Report BLT instance infomation"
1421
1422 DeclareUserSettingKeyForDebug(
1423 userSettingPtr,
1424 __MEDIA_USER_FEATURE_VALUE_ENGINE_INSTANCE_VCS,
1425 MediaUserSetting::Group::Device,
1426 "",
1427 true); //"Report VCS instance infomation."
1428
1429 DeclareUserSettingKeyForDebug(
1430 userSettingPtr,
1431 __MEDIA_USER_FEATURE_VALUE_ENGINE_INSTANCE_VECS,
1432 MediaUserSetting::Group::Device,
1433 "",
1434 true); //"Report VECS instance infomation."
1435
1436 DeclareUserSettingKeyForDebug(
1437 userSettingPtr,
1438 __MEDIA_USER_FEATURE_VALUE_ENGINE_INSTANCE_CCS,
1439 MediaUserSetting::Group::Device,
1440 "",
1441 true); //"Report CCS instance infomation."
1442
1443 DeclareUserSettingKeyForDebug(
1444 userSettingPtr,
1445 __MEDIA_USER_FEATURE_VALUE_LINUX_PERFORMANCETAG_ENABLE,
1446 MediaUserSetting::Group::Device,
1447 0,
1448 true); //"Linux Performance Tag."
1449
1450 DeclareUserSettingKeyForDebug(
1451 userSettingPtr,
1452 "Command Parser Input File Path",
1453 MediaUserSetting::Group::Device,
1454 std::string(),
1455 false);
1456
1457 DeclareUserSettingKeyForDebug(
1458 userSettingPtr,
1459 __MEDIA_USER_FEATURE_SET_MCPY_FORCE_MODE,
1460 MediaUserSetting::Group::Device,
1461 0, // 0 is ignore. 1 blt, 2 render, 3 vebox, 4 bypass copy engine;
1462 true); //"media copy force copy model."
1463
1464 DeclareUserSettingKeyForDebug(
1465 userSettingPtr,
1466 __MEDIA_USER_FEATURE_ENABLE_VECOPY_SMALL_RESOLUTION,
1467 MediaUserSetting::Group::Device,
1468 0,
1469 true);
1470
1471 DeclareUserSettingKeyForDebug(
1472 userSettingPtr,
1473 "Bypass Evict",
1474 MediaUserSetting::Group::Device,
1475 0,
1476 true);
1477 return MOS_STATUS_SUCCESS;
1478 }
1479
1480 #endif
1481