Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
83 user(s) are online (62 user(s) are browsing Forums)

Members: 1
Guests: 82

TiredOfLife, more...

Support us!

Headlines




« 1 2 3 4 (5)


Re: The OpenGL ES 2.0 thread
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6452
@Capehill, Daniel
Yeah seems some mess: in howto, the say "float", in the shader inputs its all ints.

@Capehill
Quote:

if (iFrame > 5.0)

Does it help?


Yeah, it then compiles, but just fail because of missing OpImage/OpmageFetch instructions from Nova, I reported that some time ago: http://www.amiga.org/developer/bugreports/view.php?id=620

Quote:

Same thing for BufferB/line 103:

if (iFrame <= 4.0 ...


Yeah, compile too, but can't make that multipass one to work as expected, messed with all possible channels/buffers and co :)

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites
   Report Go to top

Re: The OpenGL ES 2.0 thread
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6452
@Petrol
Btw, about that on imac's safari:

Quote:

int nextIdx = min(prevIdx+1, 3);
'min' : no matching overloaded function found
'=' : cannot convert from 'const mediump float' to 'highp int'


I found lately about 30-40 shaders which fail on our setups as well, with the same "min': no matching overloaded function found, and throw them at Daniel in the hope it only our setups bring this, but seems iMac/safari WebGL guilty for this error too, just in another shader. Or maybe it will fail the same on our setups too, just currently to make it compiles it ask for 2 missing instructions, and if check on instructions come first, then it can explain all.

Can you also check those ones (which bring us that 'min' errors on our setups):

Quote:

Did they all will fail on iMac/safari the same as for us ?

I tried to find what is common between them, and find out that they all have some re-define of min(iFrame,0). Like:

Quote:

#define ZERO min(iFrame,0)


or

Quote:

#define motionBlurSteps 10 + min(0,iFrame)


or

Quote:

#define VAR_ZERO min (iFrame, 0)


Not sure though if it that redefines are the culprit.


@Daniel
Btw, seeing log output from iMac/Safari where they print guilty line before error: can we do the same? Or we better to print just line number by opStore/etc stuff ?


Edited by kas1e on 2020/10/25 18:30:34
_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites
   Report Go to top

Re: The OpenGL ES 2.0 thread
Just popping in
Joined:
2017/5/18 11:12
From Audruicq, France
Posts: 73
Just tested all of them, and yeah they're not working on Safari.
Same error in most cases, sometimes it also complains about unsupported operators:

Quote:
'>>' : bit-wise operator supported in GLSL ES 3.00 and above only
'&' : bit-wise operator supported in GLSL ES 3.00 and above only


Flying Centipede shader (https://www.shadertoy.com/view/ttlGR4) complains about lines 217 to 239:

Quote:
// find the two closest points
217
vec3[2] closestParmDistIndex = vec3[2](vec3(0, 9e9, 0), vec3(0, 9e9, 0));
'first-class array' : not supported
'[]' : array constructor supported in GLSL ES 3.00 and above only
'=' : array / non-array mismatch
'=' : cannot convert from 'const array[2] of 3-component vector of float' to 'highp 3-component vector of float'
218
float currentParm = 0.0;
219
for (int i = Z ; i < SEGMENTS ; i++) {
'min' : no matching overloaded function found
'=' : cannot convert from 'const mediump float' to 'highp int'
220
vec3 current = path(currentParm);
221
vec3 currentD = p - current;
222
float currentDist = dot(currentD, currentD);
223
if (currentDist < closestParmDistIndex[0].y) {
'y' : field selection requires structure or vector on left hand side
224
closestParmDistIndex[1] = closestParmDistIndex[0];
225
closestParmDistIndex[0] = vec3(currentParm,currentDist,float(i));
'=' : dimension mismatch
'assign' : cannot convert from 'highp 3-component vector of float' to 'highp float'
226
} else if (currentDist < closestParmDistIndex[1].y) {
'y' : field selection requires structure or vector on left hand side
227
closestParmDistIndex[1] = vec3(currentParm,currentDist,float(i));
'=' : dimension mismatch
'assign' : cannot convert from 'highp 3-component vector of float' to 'highp float'
228
}
229
currentParm -= 0.17 / length(pathd(currentParm)) * paths(currentParm);
230
}
231

232
float dOrg = 8.0;
233
float dShe = 8.0;
234

235
albedo = COLOR_SHELL;
236

237
for (int i = Z; i < 2 ; i++) {
'min' : no matching overloaded function found
'=' : cannot convert from 'const mediump float' to 'highp int'
238
float centerParm = closestParmDistIndex[i].x;
'x' : field selection requires structure or vector on left hand side
239
int centerIndex = int(closestParmDistIndex[i].z);
'z' : field selection requires structure or vector on left hand side


Happy jumping one (https://www.shadertoy.com/view/3lsSzf) complains about mat2x2 also:

Quote:
'mat2x2' : no matching overloaded function found


One of them, Shuto Highway 83(https://www.shadertoy.com/view/XdyyDV), has ONLY this error on line 134:

Quote:
uint k = 1103515245U; // GLIB C
'uint' : undeclared identifier
'k' : syntax error


ForgottenLand (https://www.shadertoy.com/view/4tdcWn) and others are giving this error several times:

Quote:
303 for(int i=0; i < min(0,iFrame)+6; i++)
'min' : no matching overloaded function found
'+' : wrong operand types - no operation '+' exists that takes a left-hand operand of type 'const mediump float' and a right operand of type 'const int' (or there is no acceptable conversion)
'<' : wrong operand types - no operation '<' exists that takes a left-hand operand of type 'highp int' and a right operand of type 'const mediump float' (or there is no acceptable conversion)


Robotic Arm Hunting Ligths (https://www.shadertoy.com/view/tlSSDV) complains at several lines:

Quote:
39 vec2[2] activeSpheres;
'first-class array' : not supported
40 vec2[3] joints;
'first-class array' : not supported
...
1
activeSpheres[0] = activeSphereGrid(time);
'=' : dimension mismatch
'assign' : cannot convert from 'highp 2-component vector of float' to 'highp float'
242
activeSpheres[1] = activeSphereGrid(time+1.);
'=' : dimension mismatch
'assign' : cannot convert from 'highp 2-component vector of float' to 'highp float'
243

244
vec3 ta0 = sphereCenter(activeSpheres[0]);
'sphereCenter' : no matching overloaded function found
'=' : dimension mismatch
'=' : cannot convert from 'const mediump float' to 'highp 3-component vector of float'
245
vec3 ta1 = sphereCenter(activeSpheres[1]);
'sphereCenter' : no matching overloaded function found
'=' : dimension mismatch
'=' : cannot convert from 'const mediump float' to 'highp 3-component vector of float'


Day 187 (https://www.shadertoy.com/view/ttfyDj) at several lines too:

Quote:

float env = smease(t/scenes[1],2.);
'scenes' : left of '[' is not of type array, matrix, or vector


Regards,
Petrol


Edited by Petrol on 2020/10/25 21:42:06
   Report Go to top

Re: The OpenGL ES 2.0 thread
Not too shy to talk
Joined:
2011/6/3 13:49
Posts: 266
Perhaps is it possible to add some kinda "include" to the shaders : a text file containing all (Nova) missing fonctions like min(), noise(), etc.. defined as macros
This "include" then just need to be concatenated with the shader
macro.txt + shader.frag = tmp.frag
Then compile/use tmp.frag

   Report Go to top

Re: The OpenGL ES 2.0 thread
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6452
@thellier
I think in our case "min()" is not missing from Nova. Just when it redefined to something else it didn't work.

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites
   Report Go to top

Re: The OpenGL ES 2.0 thread
Just can't stay away
Joined:
2007/7/14 21:30
From Lothric
Posts: 1155
@kas1e

With the current Shaderjoy iFrame is float, so you would need to convert all 0 to 0.0 and so on. But the next Shaderjoy version uses integer iFrame so these problems will go away.

   Report Go to top


« 1 2 3 4 (5)



[Advanced Search]



Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project