Search Issue Tracker
Won't Fix
Votes
0
Found in
5.6.0b9
Issue ID
886294
Regression
No
[OSX][iOS] If OpenGL is used, InstanceID always runs from 0 regardless of start instance location in DrawMeshInstancedIndirect
Reproduction Steps:
1. Import attached project.
2. Open "MainScene" scene.
3. Select OpenGL as the Graphics API.
4. Select "TestObject" in Hierarchy.
5. Set the I Arg Offset property to 1.
6. Enter Play Mode.
7. Observe the color of the meshes.
8. Set the I Arg Offset property to 0.
9. Observe the color of the meshes.
Expected result: With iArgOffset set to 0, there should be a green and a red mesh, whereas 1 should produce a green and a cyan mesh. (Image attached)
Actual result: In both cases, a green and a red mesh is produced.
Note #1: If the Graphics API is set to Metal, the expected results are produced.
Note #2: If the Graphics API is set to OpenGL on iOS, in both cases no meshes are produced.
Reproducible with: 5.6.0b10, 2017.1.0a3
Machine used: MacBook Pro (OS X 10.11.4)
Note: Feature does not appear in previous versions.
Comments (1)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
aveva_pag001
Jul 04, 2017 10:04
While I understand the difficulty of fixing the issue as described performantly, the lack of resolution does mean that DrawMeshInstancedIndirect cannot be used in the same way as DrawInstancedIndexedIndirect in DX (the original issue was reported for DX incidentally). In fact there would appear to be no option available in Unity that would allow for the use of instance data at any other offset than 0. In DX this is addressed by the use of the D3D11_INPUT_PER_INSTANCE_DATA input slot class. Are there any plans to implement something similar in Unity in future?