Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New device] Samsung Note 10+ #39

Merged
merged 1 commit into from
Oct 24, 2019
Merged

[New device] Samsung Note 10+ #39

merged 1 commit into from
Oct 24, 2019

Conversation

06Games
Copy link
Contributor

@06Games 06Games commented Sep 4, 2019

Adds the Samsung Note 10+ to the simulation database thanks to information retrieved by MiNiKooNG (#2).

In addition, I would like your opinion on the redesign of simulation data storage.
I think adding new devices can be a little complicated for some users. That's why, I think each device should have its own file containing all its information (model, brand, safeAera, cutouts, etc.)
One could thus add a button for automatic generation of these data directly in the debug scene.

Add the Samsung Note 10+ to the simulation database thanks to information retrieved by MiNiKooNG
@5argon 5argon merged commit 202c750 into 5argon:master Oct 24, 2019
@5argon
Copy link
Owner

5argon commented Oct 24, 2019

@06Games I have been waiting for the Copenhagen talk to arrive. The relevant section is here : https://youtu.be/KFJcMG3mlDA?t=718 it is super good.

But it only handles simulation which somehow it could hijack Screen.___ and SystemInfo to change at edit time, and add overlay. So it would supercede Notch Simulator part. I would like to make sure the UGUI component parts plays along with the simulator (a matter of detecting if simulator is active then just skip data coming from Notch Simulator at edit mode)

But for 2019.1 and .2, along with .3 or over with no Device Simulator package we may still keep using Notch Simulator. And we have got the answer about device definition format. I think it is best to comply to what Unity Device Simulator uses because in the talk they said in the future they will let you store the definition file in your own project and have them appear on the list of available devices. It is a json file looking like this below. I don't know if any fields is missing what would happen, but when I got time I will try to migrate all of them. Also these are built-in devices they got now :

Screenshot 2019-10-24 17 14 50

They have overlay offset which is nice, they can add outer borders.

{
  "Meta": {
    "friendlyName": "Samsung Galaxy S10+",
    "overlay": "SamsungGalaxyS10Plus_Overlay.png",
    "overlayOffset": {
      "x": 30.0,
      "y": 60.0,
      "z": 30.0,
      "w": 100.0
    },
    "overlayImage": {
      "instanceID": 0
    }
  },
  "Screens": [
    {
      "width": 1440,
      "height": 3040,
      "navigationBarHeight": 172,
      "dpi": 560.0,
      "orientationKeys": [
        1,
        2,
        3,
        4
      ],
      "orientationValues": [
        {
          "safeArea": {
            "serializedVersion": "2",
            "x": 0.0,
            "y": 0.0,
            "width": 1440.0,
            "height": 2898.0
          },
          "cutouts": [
            {
              "serializedVersion": "2",
              "x": 1114.0,
              "y": 2898.0,
              "width": 326.0,
              "height": 142.0
            }
          ]
        },
        {
          "safeArea": {
            "serializedVersion": "2",
            "x": 0.0,
            "y": 142.0,
            "width": 1440.0,
            "height": 2898.0
          },
          "cutouts": [
            {
              "serializedVersion": "2",
              "x": 1.0,
              "y": 0.0,
              "width": 325.0,
              "height": 142.0
            }
          ]
        },
        {
          "safeArea": {
            "serializedVersion": "2",
            "x": 142.0,
            "y": 0.0,
            "width": 2898.0,
            "height": 1440.0
          },
          "cutouts": [
            {
              "serializedVersion": "2",
              "x": 0.0,
              "y": 1114.0,
              "width": 142.0,
              "height": 326.0
            }
          ]
        },
        {
          "safeArea": {
            "serializedVersion": "2",
            "x": 0.0,
            "y": 0.0,
            "width": 2898.0,
            "height": 1440.0
          },
          "cutouts": [
            {
              "serializedVersion": "2",
              "x": 2898.0,
              "y": 0.0,
              "width": 142.0,
              "height": 326.0
            }
          ]
        }
      ]
    }
  ],
  "SystemInfo": {
    "deviceModel": "samsung SM-G975F",
    "deviceType": 1,
    "operatingSystem": "Android OS 9 / API-28 (PPR1.180610.011/G975FXXS3ASH1)",
    "operatingSystemFamily": 0,
    "processorCount": 8,
    "processorFrequency": 2730,
    "processorType": "ARM64 FP ASIMD AES",
    "supportsAccelerometer": true,
    "supportsAudio": true,
    "supportsGyroscope": true,
    "supportsLocationService": true,
    "supportsVibration": true,
    "systemMemorySize": 7408,
    "unsupportedIdentifier": "n/a",
    "GraphicsDependentData": [
      {
        "graphicsDeviceType": 21,
        "graphicsMemorySize": 7398,
        "graphicsDeviceName": "Mali-G76",
        "graphicsDeviceVendor": "ARM",
        "graphicsDeviceID": 1913716736,
        "graphicsDeviceVendorID": 5045,
        "graphicsUVStartsAtTop": true,
        "graphicsDeviceVersion": "Vulkan 1.0.97 [0x04000000]",
        "graphicsShaderLevel": 50,
        "graphicsMultiThreaded": true,
        "renderingThreadingMode": 0,
        "hasHiddenSurfaceRemovalOnGPU": false,
        "hasDynamicUniformArrayIndexingInFragmentShaders": true,
        "supportsShadows": true,
        "supportsRawShadowDepthSampling": true,
        "supportsMotionVectors": true,
        "supports3DTextures": true,
        "supports2DArrayTextures": true,
        "supports3DRenderTextures": true,
        "supportsCubemapArrayTextures": true,
        "copyTextureSupport": 31,
        "supportsComputeShaders": true,
        "supportsGeometryShaders": true,
        "supportsTessellationShaders": true,
        "supportsInstancing": true,
        "supportsHardwareQuadTopology": false,
        "supports32bitsIndexBuffer": true,
        "supportsSparseTextures": false,
        "supportedRenderTargetCount": 8,
        "supportsSeparatedRenderTargetsBlend": true,
        "supportedRandomWriteTargetCount": 8,
        "supportsMultisampledTextures": 1,
        "supportsMultisampleAutoResolve": true,
        "supportsTextureWrapMirrorOnce": 0,
        "usesReversedZBuffer": true,
        "npotSupport": 2,
        "maxTextureSize": 8192,
        "maxCubemapSize": 8192,
        "maxComputeBufferInputsVertex": 35,
        "maxComputeBufferInputsFragment": 35,
        "maxComputeBufferInputsGeometry": 35,
        "maxComputeBufferInputsDomain": 35,
        "maxComputeBufferInputsHull": 35,
        "maxComputeBufferInputsCompute": 32,
        "maxComputeWorkGroupSize": 384,
        "maxComputeWorkGroupSizeX": 384,
        "maxComputeWorkGroupSizeY": 384,
        "maxComputeWorkGroupSizeZ": 384,
        "supportsAsyncCompute": false,
        "supportsGraphicsFence": true,
        "supportsAsyncGPUReadback": true,
        "supportsRayTracing": false,
        "supportsSetConstantBuffer": true,
        "minConstantBufferOffsetAlignment": true,
        "hasMipMaxLevel": true,
        "supportsMipStreaming": true,
        "usesLoadStoreActions": true
      },
      {
        "graphicsDeviceType": 11,
        "graphicsMemorySize": 2048,
        "graphicsDeviceName": "Mali-G76",
        "graphicsDeviceVendor": "ARM",
        "graphicsDeviceID": 0,
        "graphicsDeviceVendorID": 0,
        "graphicsUVStartsAtTop": false,
        "graphicsDeviceVersion": "OpenGL ES 3.2 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0###",
        "graphicsShaderLevel": 50,
        "graphicsMultiThreaded": true,
        "renderingThreadingMode": 0,
        "hasHiddenSurfaceRemovalOnGPU": false,
        "hasDynamicUniformArrayIndexingInFragmentShaders": true,
        "supportsShadows": true,
        "supportsRawShadowDepthSampling": true,
        "supportsMotionVectors": true,
        "supports3DTextures": true,
        "supports2DArrayTextures": true,
        "supports3DRenderTextures": true,
        "supportsCubemapArrayTextures": true,
        "copyTextureSupport": 31,
        "supportsComputeShaders": true,
        "supportsGeometryShaders": true,
        "supportsTessellationShaders": true,
        "supportsInstancing": true,
        "supportsHardwareQuadTopology": false,
        "supports32bitsIndexBuffer": true,
        "supportsSparseTextures": false,
        "supportedRenderTargetCount": 4,
        "supportsSeparatedRenderTargetsBlend": true,
        "supportedRandomWriteTargetCount": 8,
        "supportsMultisampledTextures": 1,
        "supportsMultisampleAutoResolve": true,
        "supportsTextureWrapMirrorOnce": 0,
        "usesReversedZBuffer": false,
        "npotSupport": 2,
        "maxTextureSize": 8192,
        "maxCubemapSize": 4096,
        "maxComputeBufferInputsVertex": 0,
        "maxComputeBufferInputsFragment": 24,
        "maxComputeBufferInputsGeometry": 0,
        "maxComputeBufferInputsDomain": 0,
        "maxComputeBufferInputsHull": 0,
        "maxComputeBufferInputsCompute": 24,
        "maxComputeWorkGroupSize": 128,
        "maxComputeWorkGroupSizeX": 128,
        "maxComputeWorkGroupSizeY": 128,
        "maxComputeWorkGroupSizeZ": 128,
        "supportsAsyncCompute": false,
        "supportsGraphicsFence": true,
        "supportsAsyncGPUReadback": false,
        "supportsRayTracing": false,
        "supportsSetConstantBuffer": true,
        "minConstantBufferOffsetAlignment": true,
        "hasMipMaxLevel": true,
        "supportsMipStreaming": true,
        "usesLoadStoreActions": true
      },
      {
        "graphicsDeviceType": 8,
        "graphicsMemorySize": 2048,
        "graphicsDeviceName": "Mali-G76",
        "graphicsDeviceVendor": "ARM",
        "graphicsDeviceID": 0,
        "graphicsDeviceVendorID": 0,
        "graphicsUVStartsAtTop": false,
        "graphicsDeviceVersion": "OpenGL ES 3.2 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0###",
        "graphicsShaderLevel": 46,
        "graphicsMultiThreaded": true,
        "renderingThreadingMode": 0,
        "hasHiddenSurfaceRemovalOnGPU": false,
        "hasDynamicUniformArrayIndexingInFragmentShaders": true,
        "supportsShadows": true,
        "supportsRawShadowDepthSampling": true,
        "supportsMotionVectors": true,
        "supports3DTextures": true,
        "supports2DArrayTextures": false,
        "supports3DRenderTextures": false,
        "supportsCubemapArrayTextures": false,
        "copyTextureSupport": 31,
        "supportsComputeShaders": false,
        "supportsGeometryShaders": true,
        "supportsTessellationShaders": true,
        "supportsInstancing": false,
        "supportsHardwareQuadTopology": false,
        "supports32bitsIndexBuffer": true,
        "supportsSparseTextures": false,
        "supportedRenderTargetCount": 1,
        "supportsSeparatedRenderTargetsBlend": false,
        "supportedRandomWriteTargetCount": 0,
        "supportsMultisampledTextures": 0,
        "supportsMultisampleAutoResolve": true,
        "supportsTextureWrapMirrorOnce": 0,
        "usesReversedZBuffer": false,
        "npotSupport": 2,
        "maxTextureSize": 8192,
        "maxCubemapSize": 4096,
        "maxComputeBufferInputsVertex": 0,
        "maxComputeBufferInputsFragment": 0,
        "maxComputeBufferInputsGeometry": 0,
        "maxComputeBufferInputsDomain": 0,
        "maxComputeBufferInputsHull": 0,
        "maxComputeBufferInputsCompute": 0,
        "maxComputeWorkGroupSize": 0,
        "maxComputeWorkGroupSizeX": 0,
        "maxComputeWorkGroupSizeY": 0,
        "maxComputeWorkGroupSizeZ": 0,
        "supportsAsyncCompute": false,
        "supportsGraphicsFence": true,
        "supportsAsyncGPUReadback": false,
        "supportsRayTracing": false,
        "supportsSetConstantBuffer": false,
        "minConstantBufferOffsetAlignment": false,
        "hasMipMaxLevel": false,
        "supportsMipStreaming": true,
        "usesLoadStoreActions": true
      }
    ]
  }
}

@06Games
Copy link
Contributor Author

06Games commented Oct 24, 2019

This news seems interesting to me.
I am for the idea of conforming to their format which corresponds to the idea that I had of the operation of the Simulator.
We could also modify the Debugging scene so that it can automatically extract the information needed for the simulation.

@06Games 06Games deleted the patch-5 branch October 24, 2019 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants