View Issue Details

IDProjectCategoryView StatusLast Update
0016064Runner[All Projects] ShadersPublic2021-07-23 15:31
ReporterneodroidAssigned ToCoreTech 
PriorityMediumSeverityC - GeneralReproducibility100%
Status ResolvedResolutionFixed 
PlatformAndroidOS OS Version
Product Version 
Target VersionFixed in Version 
Summary0016064: Shaders: shaders/android: you can't use/retrieve a uniform twice (in the vertex and the fragment program)
DescriptionIf you retrieve the SAME uniform in the vertex and the fragment program of a shader, the uniform is not properly retrieved in the fragment program (only inside the vertex program).

This cause the shader fails to compile in any Android device.
However it works perfectly ok on windows.

Steps to reproduce:

1) Open a project where you are able to visualize a shader.

2) Assign a new uniform to the shader during the shader declaration inside the GML code.

3) Then, inside the GLSL code, retrieve the uniform inside the VERTEX program and operate with it.

4) After that, inside the GLSL code, retrieve the uniform inside the FRAGMENT program and operate with it.

5) Compile the app and test it on an Android device using Android YYC. Note how the shader fails to compile.

However if you run the app under windows OS it's working perfectly.
Additional InformationOriginal helpdesk ticket:
Tagsandroid, Runner, Shaders
1.4 Found In1.99.182
2.x Runtime Found In
2.x Runtime Verified In


Peter Carr

2014-10-01 13:59


shaderUniformFail.gmz (2,957,565 bytes)

Neil Wicker

2014-10-14 10:25

Updater   ~0033163

Definitely something going on here, different results on three platforms. Windows compiles fine, Android runs but doesn't appear to display the shader and Android (YYC) generates an asset compiler crash. Happens in both 1.4.1451 and EA232. Assigned.

Russell Kay

2018-05-03 21:22

Manager   ~0059045

I am pretty sure that a pixel shader cannot fetch uniforms in a cross platform manner... windows can probably do it but Mobile platforms will have problems.


2021-07-23 15:31

Developer   ~0066494

No longer reproduces in v2.3.3. Closing.