Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
29 user(s) are online (19 user(s) are browsing Forums)

Members: 0
Guests: 29

more...

Support us!

Headlines

 
  Register To Post  

« 1 (2) 3 4 5 ... 43 »
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
@Hans

Quote:
I've already got >= 13 tests covering various if/else use-cases, so it's likely to be some obscure issue.

Hehehe, the famous last words of every programmer, including me, of course
Or as I prefer to say: "it works for me TM"

However, here is a simple freezing vertex-shader example.
With "if" it freezes. Without it works.
I think it can't be more minimal and obvious.

attribute vec4 vPosition;
uniform float freezer;
void main()
{
   
gl_Position vPosition;
   
// use the following line to experience a Nova freeze
   // if(freezer>0.0)
   
gl_Position.+=freezer;
}


Here's an archive with two exes with the respective variants plus source (sorry, ugly, my std. messy modified mini test).

EDIT:
Digged out my serial cable and this is what I get if I wait a couple of seconds before doing a hard reset:

RadeonHD.chip (0): wait for 8 fifo entries failed (5 available).
Status:
RadeonHD.chip (0): GRBM_STATUS0xA01014A5
RadeonHD
.chip (0):      FIFO_AVAIL5
RadeonHD
.chip (0):      SRBM_RQ_PENDING_bit
RadeonHD
.chip (0):      CF_RQ_PENDING_bit
RadeonHD
.chip (0):      GRBM_EE_BUSY_bit
RadeonHD
.chip (0):      DB03_CLEAN_bit
RadeonHD
.chip (0):      SX_BUSY_bit
RadeonHD
.chip (0):      GRBM_STATUS__CP_BUSY_bit
RadeonHD
.chip (0):      GUI_ACTIVE_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): GRBM_STATUS20x04000002
RadeonHD
.chip (0):      SMX_CLEAN_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): SRBM_STATUS0x200000C0
RadeonHD
.chip (0): VGT_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_CL_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SU_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): VC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): TC_STATUS0x00000000
RadeonHD
.chip (0): TD0_STATUS0x00000000
RadeonHD
.chip (0): TA0_STATUS0x00000000
RadeonHD
.chip (0): TA1_STATUS0x00000000
RadeonHD
.chip (0): TA2_STATUS0x00000000
RadeonHD
.chip (0): TA3_STATUS0x00000000
RadeonHD
.chip (0): wait idle failedStatus:
RadeonHD.chip (0): GRBM_STATUS0xA01014A5
RadeonHD
.chip (0):      FIFO_AVAIL5
RadeonHD
.chip (0):      SRBM_RQ_PENDING_bit
RadeonHD
.chip (0):      CF_RQ_PENDING_bit
RadeonHD
.chip (0):      GRBM_EE_BUSY_bit
RadeonHD
.chip (0):      DB03_CLEAN_bit
RadeonHD
.chip (0):      SX_BUSY_bit
RadeonHD
.chip (0):      GRBM_STATUS__CP_BUSY_bit
RadeonHD
.chip (0):      GUI_ACTIVE_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): GRBM_STATUS20x04000002
RadeonHD
.chip (0):      SMX_CLEAN_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): SRBM_STATUS0x20000AC0
RadeonHD
.chip (0): VGT_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_CL_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SU_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): VC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): TC_STATUS0x00000000
RadeonHD
.chip (0): TD0_STATUS0x00000000
RadeonHD
.chip (0): TA0_STATUS0x00000000
RadeonHD
.chip (0): TA1_STATUS0x00000000
RadeonHD
.chip (0): TA2_STATUS0x00000000
RadeonHD
.chip (0): TA3_STATUS0x00000000


When using the no-if-no-freeze shader variant then nothing is put on the serial.

RadeonHD.chip version 1.17
Warp3DNova.library version 1.43
Those are the latest versions I got from Matthew. If you have newer ones, please mail them to me.

Cheers,
Daniel


Edited by Daytona675x on 2018/2/20 14:02:18
Edited by Daytona675x on 2018/2/20 14:03:04
Edited by Daytona675x on 2018/2/20 14:17:21
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
@Daniel
Checked you test arhive, right, everything as you say.

@Hans
Is info Daniel provide enough to fix issue ?

All i can add to Daniel's info, is that my tests done on:

RadeonHD.chip 3.4 (12/28/2017)
Warp3DNova.library 1.43 (08/03/2017)

And the same problem.

Join us to improve dopus5!
AmigaOS4 on youtube
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
Hello,

Here the debug log from my system (A1X1000 - R9 280X- RadeonHD.chip 2.22 - Warp3DNova.library 1.43), using the test "Freezing" demo from Daniel.

RadeonHD.chip (0): wait for 8 fifo entries failed (5 available).
Status:
RadeonHD.chip (0): GRBM_STATUS0xA01014A5
RadeonHD
.chip (0):      FIFO_AVAIL5
RadeonHD
.chip (0):      SRBM_RQ_PENDING_bit
RadeonHD
.chip (0):      CF_RQ_PENDING_bit
RadeonHD
.chip (0):      GRBM_EE_BUSY_bit
RadeonHD
.chip (0):      DB03_CLEAN_bit
RadeonHD
.chip (0):      SX_BUSY_bit
RadeonHD
.chip (0):      GRBM_STATUS__CP_BUSY_bit
RadeonHD
.chip (0):      GUI_ACTIVE_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): GRBM_STATUS20x00000002
RadeonHD
.chip (0):      SMX_CLEAN_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): SRBM_STATUS0x200000C0
RadeonHD
.chip (0): VGT_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_CL_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SU_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): VC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): TC_STATUS0x00000000
RadeonHD
.chip (0): TD0_STATUS0x00000000
RadeonHD
.chip (0): TA0_STATUS0x00000000
RadeonHD
.chip (0): TA1_STATUS0x00000000
RadeonHD
.chip (0): TA2_STATUS0x00000000
RadeonHD
.chip (0): TA3_STATUS0x00000000
RadeonHD
.chip (0): wait idle failedStatus:
RadeonHD.chip (0): GRBM_STATUS0xA01014A5
RadeonHD
.chip (0):      FIFO_AVAIL5
RadeonHD
.chip (0):      SRBM_RQ_PENDING_bit
RadeonHD
.chip (0):      CF_RQ_PENDING_bit
RadeonHD
.chip (0):      GRBM_EE_BUSY_bit
RadeonHD
.chip (0):      DB03_CLEAN_bit
RadeonHD
.chip (0):      SX_BUSY_bit
RadeonHD
.chip (0):      GRBM_STATUS__CP_BUSY_bit
RadeonHD
.chip (0):      GUI_ACTIVE_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): GRBM_STATUS20x00000002
RadeonHD
.chip (0):      SMX_CLEAN_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): SRBM_STATUS0x200000C0
RadeonHD
.chip (0): VGT_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_CL_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SU_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): VC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): TC_STATUS0x00000000
RadeonHD
.chip (0): TD0_STATUS0x00000000
RadeonHD
.chip (0): TA0_STATUS0x00000000
RadeonHD
.chip (0): TA1_STATUS0x00000000
RadeonHD
.chip (0): TA2_STATUS0x00000000
RadeonHD
.chip (0): TA3_STATUS0x00000000
RadeonHD
.chip (0): wait for 8 fifo entries failed (7 available).
Status:
RadeonHD.chip (0): GRBM_STATUS0xA00030A7
RadeonHD
.chip (0):      FIFO_AVAIL7
RadeonHD
.chip (0):      SRBM_RQ_PENDING_bit
RadeonHD
.chip (0):      CF_RQ_PENDING_bit
RadeonHD
.chip (0):      DB03_CLEAN_bit
RadeonHD
.chip (0):      CB03_CLEAN_bit
RadeonHD
.chip (0):      GRBM_STATUS__CP_BUSY_bit
RadeonHD
.chip (0):      GUI_ACTIVE_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): GRBM_STATUS20x00000006
RadeonHD
.chip (0):      GRBM_STATUS2
RadeonHD
.chip (0):      SMX_CLEAN_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): SRBM_STATUS0x200000C0
RadeonHD
.chip (0): VGT_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_CL_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SU_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): VC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): TC_STATUS0x00000000
RadeonHD
.chip (0): TD0_STATUS0x00000000
RadeonHD
.chip (0): TA0_STATUS0x00000000
RadeonHD
.chip (0): TA1_STATUS0x00000000
RadeonHD
.chip (0): TA2_STATUS0x00000000
RadeonHD
.chip (0): TA3_STATUS0x00000000
RadeonHD
.chip (0): wait idle failedStatus:
RadeonHD.chip (0): GRBM_STATUS0xA00030A7
RadeonHD
.chip (0):      FIFO_AVAIL7
RadeonHD
.chip (0):      SRBM_RQ_PENDING_bit
RadeonHD
.chip (0):      CF_RQ_PENDING_bit
RadeonHD
.chip (0):      DB03_CLEAN_bit
RadeonHD
.chip (0):      CB03_CLEAN_bit
RadeonHD
.chip (0):      GRBM_STATUS__CP_BUSY_bit
RadeonHD
.chip (0):      GUI_ACTIVE_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): GRBM_STATUS20x00000006
RadeonHD
.chip (0):      GRBM_STATUS2
RadeonHD
.chip (0):      SMX_CLEAN_bit
RadeonHD
.chip (0):
RadeonHD.chip (0): SRBM_STATUS0x200000C0
RadeonHD
.chip (0): VGT_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_CL_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SU_CNTL_STATUS0x00000000
RadeonHD
.chip (0): PA_SC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): VC_CNTL_STATUS0x00000000
RadeonHD
.chip (0): TC_STATUS0x00000000
RadeonHD
.chip (0): TD0_STATUS0x00000000
RadeonHD
.chip (0): TA0_STATUS0x00000000
RadeonHD
.chip (0): TA1_STATUS0x00000000
RadeonHD
.chip (0): TA2_STATUS0x00000000
RadeonHD
.chip (0): TA3_STATUS0x00000000

Regards,
Petrol

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:
Is info Daniel provide enough to fix issue ?

Should be. The debug log confirms that the GPU is hanging, and the minimal shader will make tracking down why a lot easier.

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
Home away from home
Home away from home


See User information
@Hans
Just strange why it lockups, as it looks very basic. Maybe just all the ifs/else/? code was broken at some point and even didn't works for now in NOVA ?

Because if those lines freezes:

if(X>0.0)

X = (Y>0.)?(Y * X * Z.A):vec3(0.);

X = (Y>0. && Y2>0.)?(Z.A):vec3(0.);

Its all didn't looks like only one obscure case.

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
Quote:
Just strange why it lockups, as it looks very basic. Maybe just all the ifs/else/? code was broken at some point and even didn't works for now in NOVA ?

Nope.

I run my test suite before every release, and all tests pass, including one that looks remarkably similar to Daniel's test shader (except it's a fragment shader not a vertex one).

I just reran it again, and all tests are passing as expected. I've also had a look at the generated shader assembly, and haven't seen anything wrong yet. Will have more time to analyse it later...

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
Home away from home
Home away from home


See User information
@Hans
Maybe just swap in your tests fragment shader on vertex one, maybe it will lockup ?

Quote:

Will have more time to analyse it later..


Thanks, gl4es wait for it (and Regal too). Should i create official bz for you, or it enough of what we disscus here ?

Join us to improve dopus5!
AmigaOS4 on youtube
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
@Hans
Quote:
including one that looks remarkably similar to Daniel's test shader (except it's a fragment shader not a vertex one).

Remarkably similar is not identical and fragment- is not vertex-shader

Quote:
I just reran it again, and all tests are passing as expected.

For even more simplicity and so you don't have ogles2 in the middle and no other uniform and no other client code than your own, please do the following (and probably add the result to your list of std. tests):
Take your own W3DNHelloTriangle example that ships with Nova. Don't modify anything but the ColourArray2D.vert shader.

Here's the original shader:

#version 140
in vec3 vertPos;
in vec4 vertCol;
out vec4 colour;

void main() {
    
colour vertCol;
    
gl_Position vec4(vertPos,1.0);
}


Just change that to:

#version 140
in vec3 vertPos;
in vec4 vertCol;
out vec4 colour;

void main() {
    
colour vertCol;
    
gl_Position vec4(vertPos,1.0);
    if(
vertCol.x>0.0) {
        
gl_Position.+= vertCol.x;
    }
}


Compile it using
glslangvalidator -G -o ColourArray2D.vert.spv ColourArray2D.vert
(which is what your makefile does), start the triangle-example -> Freeze.
Needless to say it's the "if" only. If you remove the condition-check and always do gl_Position.x += vertCol.x , then it works.

Preprepared download of this is available here.
Curious what your working test-shaders look like. Can you please put them online?

Good luck!
Daniel

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:
Should i create official bz for you, or it enough of what we disscus here ?

Yes, create a bug ticket. You can keep it brief and add a link to the first post in this thread about the issue.

@Daytona675x
Quote:
Remarkably similar is not identical and fragment- is not vertex-shader

Very true. Here's my test frag shader:
#version 140

in vec2 Pos;

void main()
{
    
gl_FragColor vec4(0.0);
    
    if(
Pos.<= 0) {
        
gl_FragColor vec4(0.5);
    }
    
    
gl_FragColor.1.0;
}


I'll add a vertex shader equivalent to my test suite as soon as I can.

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
Home away from home
Home away from home


See User information
@Hans
Quote:

Yes, create a bug ticket. You can keep it brief and add a link to the first post in this thread about the issue.


Done!

Just hope it can't take long, as it really problem which make it hard to port regal and gl4es. Polaris drivers are good, but well.. Fingers crossed ! :)

Join us to improve dopus5!
AmigaOS4 on youtube
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
@Hans
Quote:
I'll add a vertex shader equivalent to my test suite as soon as I can.

Sounds as if there's no vertex-shader-with-if test in your suite at all so far?
Okay, that explains why this one slipped through, because if-handling in vertex-shaders is apparently broken so hard that it seems to be impossible to come up with a working one.
And it also explains why your other tests pass - because they all miss the topic

As being said: just use your HelloTriangle example with the modified shader as outlined above and already prepared for you, then you have your vertex-shader-equivalent for your test suite, you don't need to waste time coming up with sth. new.

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
@all
In meantime, with fast-hacked sdl1 to be build with gl4es instead of minigl, have first primitive game runs on it !

Through, colors is swapped, so time to deal with Endianes in the gl4es (probably).

Legacy MiniGL original:

Resized Image

GL4ES:

Resized Image

To those ones who think now "wtf, why need all those copies of minigl based apps" : that all for tests. Once all minigl based , but compiled over gl4es will works as over minigl, then it will mean that gl4es ready for some ports which minigl can't do, but gl4es at this time will works without bugs => yeah.


Edited by kas1e on 2018/2/23 22:27:23
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Quite a regular
Quite a regular


See User information
@kas1e

Really great work and wonderful progress !!

When I am back in the U.K. on weekend i will send you an email.

amigakit.com - the Amiga store
Links: www.amigakit.com | New Products | Enhancer Software
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

Niiice

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
@all
First round of Endian fixes in GL4ES done! First game which works fully over GL4ES (so OGLES2, but legacy OpenGL call):

Resized Image

Resized Image


Now to something more heavy ..

ps. who can imagine that we can go that far.. If not GL4ES author, i doubt we ever have all that.

Join us to improve dopus5!
AmigaOS4 on youtube
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
Yeah ! Thanks to him.

Let's hope you are not doing all this for nothing and that it will improve speed over MiniGL.

--
AmigaONE X1000 and Radeon RX 560
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
@K-L
Whole amiga work it work for nothing :)

Even if speed will worse, and all will be shit and crap, because of work on gl4es we fix issues in ogles2 and nova, which, will help to all other stuff, even not to gl4es.

And, speed of simple things will not be better, it will be the same. But speed of "heavy" things should be better. In theory :)) As well as can be ported big things which can't be ported on MiniGL.

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
@all
Bloboats have fps counter, so:

minigl: 123fps
gl4es: 113fps


So, gl4es slower (!) on 10 fps. Through, whole game code of Bloboats its just big chunks of glbegin/glend , and almost no textures, etc => not GPU intensive. We can say it "almost" the same as minigl. For seing real differences, need big, GPU intensive games.


Edited by kas1e on 2018/2/24 22:24:13
Edited by kas1e on 2018/2/24 22:24:57
Join us to improve dopus5!
AmigaOS4 on youtube
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
@Hans
I have encountered too the 'if' problem when coding the NovaOnda demo in a frag shader

if(pos.y < waterlevel)
Fail
But if transmitting only a float from vert to frag shader it was working

in float depth;
....
if(depth<waterlevel)

So i mean test on float works but test on struct like vec3 fails

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
Hans fixed "if" problem already

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top

  Register To Post
« 1 (2) 3 4 5 ... 43 »

 




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




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project