Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
93 user(s) are online (85 user(s) are browsing Forums)

Members: 0
Guests: 93

more...

Support us!

Headlines

 
  Register To Post  

« 1 ... 15 16 17 (18) 19 20 21 ... 43 »
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@all

Do OpenGL and OpenGLES2 exclude themselves?
If one is used the other can't be used?

Or is OpenGLES just an addition to OpenGL and without OpenGL it wouldn't work for itself?

Trying to understand some basics...

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Just can't stay away
Just can't stay away


See User information
@Raziel

On OS4 there should be no exclusion in a sense that you should be able to run both OGLES2 and MiniGL apps at the same time, if you have the necessary drivers. Programmer makes a decision which one (MiniGL or OGLES2) is opened and used.

There are different versions of OpenGL ES: https://en.wikipedia.org/wiki/OpenGL_ES

If you compare OpenGL ES and OpenGL, ES version has less functionality as some legacy features have been removed.


Edited by Capehill on 2018/11/11 11:37:36
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Raziel
Quote:

Do OpenGL and OpenGLES2 exclude themselves?


Its 2 different realisations (different libraries, different fucntions). OpenGLES2 is limited set of OpenGL2. I.e. there is full OpenGL2 and OpenGLES2, its reduced versions of OpenGL2 with less functions, no fixed pipiline, some more legacy removed (for easy work on mobile devices, etc)

On os4 we have 1 realisation of full opengl : minigl. Which is also limited, but not because of standard as opengles2, but just some fucntions not implemnted, and minigl is just opengl 1.5.


Quote:

If one is used the other can't be used?


As 2 different programms at the same time: yes.
As one programm which use both: no (as context different).

You can open minigl.library, create context of minigl (opengl) and use opengl functions. Or, you can open ogles2.library, and use its context (which by logic alos opengl context, but different anyway, as different library , etc). Some functions of opengl are the same as in ogles2 (of course, as ogles2 its opengl, just with less fucntions).


Quote:

Or is OpenGLES just an addition to OpenGL and without OpenGL it wouldn't work for itself?


Its 2 differetn realisation of opengl standard. Full opengl are full, and opengles are opengl with less fucntions.

In terms of SDL, you choice from SDL app what one to use.

In the net, you can find sources which use opengl, or opengles, and they will be different. Of course, it possible to write opengl code , which will works "as it" over opengles , but most time it will not, as full opengl will use one or another function which not present in ogles2.


Because of that, we worry about that gl4es : to have full opengl. I.e. again making jumbo mambo, to have full opengl via something else (in our case it is gl4es->ogles2.library->warp3dnova.library).

Of course , if we have in first place just some mesa opengl driver for full opengl, there wasn't needs not for ogles2.library, not for gl4es. But as writing full opengl driver is much harder than ogles2 driver, we have what we have.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Thank you for the explanation.

The opengles2 implementation is "complete", isn't it?
Nothing left out from the "official" opengles2?

Because then it's a matter of supporting it correctly or dig a little deeper as to why it kind of work, but not completely (e.g. wrong colors on moveable objects etc.).

Maybe there are functions (ab)used that we don't have?

EDIT:
I have a project where it tries to compile with "-lGLESv2" instead of "-lGLES2"...so what is the correct way?
Nevermind...seems i need to use "-logles2" to make it link correctly


Edited by Raziel on 2018/11/11 12:24:55
Edited by Raziel on 2018/11/11 12:27:06
Edited by Raziel on 2018/11/11 13:00:58
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Do the opengles2 examples from the Enhancer SDK directory crash on exit for you too?

They run fine, but whenever i close the window, it's nirvana for me, that bad, that i have to unplug the X1000 for 10 seconds to make it come back to life.


Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Problem:

Could not compile shader box.vertexERRORCode generation failed.
Error log:
Boolean uniforms aren't supported yet:
    offset: 24, size: 1, Bool flipY
INTERNAL ERROR: OpBranchConditional instruction'
s source parameters are missing

!


Help?

Thank you

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Not too shy to talk
Not too shy to talk


See User information
@Raziel
Simply change
Bool flipy;
To
int flipy
In the shaders and in C sources (and .h headers if necessary)

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@thellier

Could not compile shader box.vertexERROR13:1'' boolean expression expected 
ERROR
17:0'' compilation terminated 
ERROR
2 compilation errors.  No code generated.

!

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Just popping in
Just popping in


See User information
Hi,

As it expects any boolean result, maybe you need to define flipy to 0 or 1.

Regards,

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Raziel
Quote:

The opengles2 implementation is "complete", isn't it?
Nothing left out from the "official" opengles2?


As far as i know : yes, it is fully complete, and even some functionality added from opengles3 (a little, but still).

In the Warp3dnova itself missing at moment (taken from Daniel's ogles2.library readme): sample coverage, dithering, compressed textures and render-to-texture, which mean it also missing in ogles2 because of that. I.e all functions of opengles2 standard are in, just when this kind of functionality used, it probabaly return "true" without doing anything. But for example in gl4es (which is real big thing), none of that feature used, so my bet they at moment missing as really unimportant (except probabaly those 2 about textures).

Hans and Daniel know things better about of course, but i think i not mistaken anything there.

Quote:

Because then it's a matter of supporting it correctly or dig a little deeper as to why it kind of work, but not completely (e.g. wrong colors on moveable objects etc.).


I can tell from all my tests with gl4es and bug reports to ogles2 and warp3dnova : that at moment it's all complete enough and all works as should. Some bugs still left in warp3dnova, but Hans works on them.


Quote:

Maybe there are functions (ab)used that we don't have?


In terms of realisation of opengles2 our Daniel's ogles2.library is "full", with even some bits from opengles3 standard.

Quote:

I have a project where it tries to compile with "-lGLESv2" instead of "-lGLES2"...so what is the correct way?
Nevermind...seems i need to use "-logles2" to make it link correctly


Yeah, its just matter of naming. I doing tests on all oses where i have opengles2 support, and -lGLESv2 happens to be on win32 for me as well. On os4 we just use -logles2, yep. But name of fucntions, headers, etc, all of course about the same.

Quote:

Could not compile shader box.vertex: ERROR: Code generation failed.
Error log:
Boolean uniforms aren't supported yet:
offset: 24, size: 1, Bool flipY
INTERNAL ERROR: OpBranchConditional instruction's source parameters are missing


Can you upload that shader somewhere ?

Usually, when i want to know, if shader works at all, or if it works on our warp3dnova, i do that:

1. I use glslangvalidator (latest version from Daniel), placed there:

http://www.amiga.org/developer/bugrep ... .php?file_id=230&type=bug

So, via that glslangvalidator i check, if shader is working at all (glslanvvalidator check shader for be "normal one" at all, does not matter on what OS and on which drivers). If it compiles fine, then it mean that shader by itself ok.

Command:

ram:> glslangvalidator -G -o test.vert.spv test.vert

2. Then i use Warp3DNovaShaderInfo utility which come with warp3dnova sdk, and take the converted shader from glslangvalidator as input for warp3dnovashaderinfo.

Then, if there is no error : then shader also works over warp3dnova. But if there is error, then its bug in the warp3dnova, which need to be reported, and Hans will fix it.


Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

I wouldn't know where to get that shader, should it be part of the source?
Can i extract it somehow?

Sorry, noob here, help needed

EDIT:

Ok, i see, this seems to be part of the source

No promises that i got the correct one here
in vec2 position;
in vec2 texcoord;

uniform vec2 texOffsetXY;
uniform vec2 texSizeWH;
uniform vec2 verOffsetXY;
uniform vec2 verSizeWH;

out vec2 Texcoord;

void main()
{
    
Texcoord texOffsetXY texcoord texSizeWH;
    
// Coordinates are [0.0;1.0], transform to [-1.0; 1.0]
    
vec2 pos verOffsetXY position verSizeWH;
    
pos.pos.2.0 1.0;
    
pos.= -1.0 * (pos.2.0 1.0);

    
gl_Position vec4(pos0.01.0);
}

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Raziel
I also do not know shader's language, but i tested your one: and glslangvalidator errors on it with errors 'in for stage inputs': no supported for this version or enabled extensions.

I do not know what it all mean, but i can only say from test that its issue in the shader itself, and not related to ogles2.library or warp3dnova.

glslangvalidator its kind of "de facto" tool from the those ones who made standard, and if it didn't works over it, then something wrong in shader.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

That would be starnge as that shader works on dozens of other platforms, just not on AmigaOS4...i highly doubt that it's an issue with the shader.

The folks over at the app say that it needs boolean uniforms, which seem to be not supported in our version.

Maybe Hans or Daytona could comment on that issue?

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Raziel
Then why it didn't works over glslangvalidator ? If only it is something very new, and even new glslangvalidator from Daniel are too old for :) But yep, there need Daniel or Hans.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Well, first of all, i don't even know if that is the correct shader (or if it even *IS* a shader), i just found it under the same name in the source, but that doesn't really mean anything

Maybe it's just some kind of handshake code for the real shader?

Anyway, thank you for time and help so far

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Raziel
It is for sure shader, and are vertex one (see at end gl_position word). Also structured like usual shader: init stuff at top, then main with gl_position. It just seems something at top can be missing, or our new glslangvalidator too old (code of which also in ogles2.library)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Hmm, or maybe the shader is "optimized" for more modern versions of opengles2, leaving out stuff that is now missing, just like you assumed?

Too bad, that glslangvalidator doesn't tell what is wrong.

Could you maybe post the output here, so i can pass it on to the app devs?

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Quote:
As far as i know : yes, it is fully complete, and even some functionality added from opengles3 (a little, but still).

Not quite. There are a few shader instructions/features missing still, like the uniform booleans that Raziel has hit.

Quote:
In the Warp3dnova itself missing at moment (taken from Daniel's ogles2.library readme): sample coverage, dithering, compressed textures and render-to-texture, which mean it also missing in ogles2 because of that.

Correction, render-to-texture has been in there for ages now (over a year).

@Raziel (& @kas1e)
Quote:
That would be starnge as that shader works on dozens of other platforms, just not on AmigaOS4...i highly doubt that it's an issue with the shader.

GLSLangValidator is stricter than most OpenGL implementations. As "validator" and reference compiler, it checks whether the GLSL code is fully GLSL compliant. Most OpenGL implementations relax the rules and are more tolerant of mixing code from different GLSL versions.

The shader you posted uses GLSL v1.40+ features without specifying the GLSL version. That's why GLSLangValidator is giving "not supported in this version" errors. Adding "#version 140" at the top (without the quotes) should be enough to make GLSLangValidator accept it.

That shader isn't the one giving you the "Boolean uniforms aren't supported yet" error message, though. Look for a shader that has "uniform bool" in it.

To workaround the missing uniform bool support, change the uniform bools to integers as kas1e suggested, and then you need to go through the code and cast the variable to a bool.

For example, if you had:
uniform bool someBool;

Then you'd go through the code below, replacing someBool with bool(someBool).

Boolean uniforms aren't supported yet because booleans aren't 32-bit, and will need special handling to implement.

Hans

Join Kea Campus' Amiga Corner and support Amiga content creation
https://keasigmadelta.com/ - see more of my work
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Not too shy to talk
Not too shy to talk


See User information
Hello

>boolean expression expected
I already had this error too with a boolean (converted to int) like this
if(FlatColor)
Colour=CurrentColor;
was fixed this way
if(FlatColor==1)
Colour=CurrentColor;

As kas1e said your shader is not the one that contain Bool flipY
Simply use a search tool for files containing flipY in your sources and change it from bool to int



Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Hans

Quote:

Quote:

As far as i know : yes, it is fully complete, and even some functionality added from opengles3 (a little, but still).

Not quite. There are a few shader instructions/features missing still, like the uniform booleans that Raziel has hit.

Thank you for the confirmation.

Quote:

That shader isn't the one giving you the "Boolean uniforms aren't supported yet" error message, though. Look for a shader that has "uniform bool" in it.

To workaround the missing uniform bool support, change the uniform bools to integers as kas1e suggested, and then you need to go through the code and cast the variable to a bool.

For example, if you had:
uniform bool someBool;

Then you'd go through the code below, replacing someBool with bool(someBool).

I already did go through the code, but with my obvious limited (rather non-existant) coding skills, i was simply exchanging every "bool" i found with "int", which is wrong

I'll try again with your example.

Quote:

Boolean uniforms aren't supported yet because booleans aren't 32-bit, and will need special handling to implement.

Of course i know it's always pretty much impossible to give time frames, but what includes this "special handling" and how long do you think will it take to support them properly?

Thanks a lot for the feedback

Go to top

  Register To Post
« 1 ... 15 16 17 (18) 19 20 21 ... 43 »

 




Currently Active Users Viewing This Thread: 3 ( 0 members and 3 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project