getGPUKnownDataDetails.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import type {KnownDataDetails} from 'sentry/components/events/contexts/utils';
  2. import {t} from 'sentry/locale';
  3. import formatMemory from './formatMemory';
  4. import type {GPUData} from './types';
  5. import {GPUKnownDataType} from './types';
  6. type Props = {
  7. data: GPUData;
  8. type: GPUKnownDataType;
  9. };
  10. export function getGPUKnownDataDetails({data, type}: Props): KnownDataDetails {
  11. switch (type) {
  12. case GPUKnownDataType.NAME:
  13. return {
  14. subject: t('Name'),
  15. value: data.name,
  16. };
  17. case GPUKnownDataType.VERSION:
  18. return {
  19. subject: t('Version'),
  20. value: data.version,
  21. };
  22. case GPUKnownDataType.MEMORY_SIZE:
  23. return {
  24. subject: t('Memory'),
  25. value: data.memory_size ? formatMemory(data.memory_size) : undefined,
  26. };
  27. case GPUKnownDataType.NPOT_SUPPORT:
  28. return {
  29. subject: t('NPOT Support'),
  30. value: data.npot_support,
  31. };
  32. case GPUKnownDataType.VENDOR_NAME:
  33. return {
  34. subject: t('Vendor Name'),
  35. value: data.vendor_name,
  36. };
  37. case GPUKnownDataType.MULTI_THREAD_RENDERING:
  38. return {
  39. subject: t('Multi-Thread rendering'),
  40. value: data.multi_threaded_rendering,
  41. };
  42. case GPUKnownDataType.API_TYPE:
  43. return {
  44. subject: t('API Type'),
  45. value: data.api_type,
  46. };
  47. case GPUKnownDataType.VENDOR_ID:
  48. return {
  49. subject: t('Vendor ID'),
  50. value: data.vendor_id,
  51. };
  52. case GPUKnownDataType.ID:
  53. return {
  54. subject: t('GPU ID'),
  55. value: data.id,
  56. };
  57. default:
  58. return undefined;
  59. }
  60. }