Search Issue Tracker

By Design

Votes

0

Found in

2018.3.0a1

2018.3.7f1

Issue ID

1132297

Regression

Yes

Shader code fails to be Generated when Graphics API set on OpenGLES20

OpenGL

-

To reproduce:

1. Download attached project and open it in Unity
2. Open "SampleScene" scene
3. In the Project window select "test.shader"
4. In Inspector window on "Compile and show code" button press dropdown button
5. In opened dropdown menu select only OpenGLES20 option
6. Press "Compile and show code" button

Expected results: Compilation succeeds and Shader Code is opened
Actual results: OpenGLES20 fails to generate the Shader and throws Error:

Input signature parameter SV_VertexID (1-based Entry 0) type must be a scalar uint. at line 19 (on gles)

Compiling Vertex program
Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_MOBILE UNITY_COLORSPACE_GAMMA UNITY_LIGHTMAP_FULL_HDR

Notes:
- This issue appears on both Windows and macOS
- On D3D11, OpenGLES30, Metal, OpenGLCore, and Vulkan everything works as Expected

Reproduced on Unity 2018.3.0a1, 2018.3.7f1, 2019.1.0b5 and 2019.2.0a6
Not reproduced on Unity 2018.2.20f1
Regression on Unity 2018.3.0a1

  1. Resolution Note (2019.2.X):

    https://docs.unity3d.com/Manual/SL-ShaderSemantics.html states that GLES20 is not supported for SV_VertexID semantics.
    The shader requires the #pragma target 3.5 compilation directive.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.