Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Narann

Pages: [1]
1
General Discussion / Re: Help new_dynarec
« on: January 03, 2015, 08:32:49 PM »
On another note, thanks to Santa Claus, I should receive an ARM device soon :)
Which one which one? :D

2
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 15, 2014, 04:12:25 PM »
After some (too?) time trying to make my PowerVR SDK env working I realize something: PowerVR debugger need the .so to be dynamically lined to libEGL. But it seems that SDL2 obfuscate EGL so I can't connect the debugger to it directly. I will maybe need your your windows_egl. I will dig more to see if I can "ask" SDL to use libEGL. :)

3
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 06, 2014, 07:19:44 AM »
I've pushed new commits that should solve the problems Gillou encounter out of the box.

Please test and report. :)

4
General Discussion / Re: Help new_dynarec
« on: December 03, 2014, 11:17:15 PM »
Haha! I just see this thread! Too bad I've called for Gillou here.

Anyway, cool to see you here! :)

5
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 03, 2014, 11:14:50 PM »
@Gillou, one of the core contributor seems to break some of your dynarec work with it's memory module refactor: https://github.com/mupen64plus/mupen64plus-core/pull/47

Another reason to work on the main core first? :D

6
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 03, 2014, 01:12:38 PM »
Thanks retroben. I will take a note about the mod you are talking about to see how it run. To be honest I'm more focused on how "my" Rice code run on various games. From my perspective, Rice code is quite fast except for Textures reading, allocation and transfer (something I need to investigate one day...). If you could compile my code and run it on various games that would be awesome. I'm not looking for tiny bugs now, mainly crash or big troubles. :)

7
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 03, 2014, 09:38:28 AM »
I'm still using SD1.2 ;D I haven't checked SDL2 but if it deals with EGL this is indead not relevant.
Ok!
Work in progress 8)
https://github.com/Gillou68310/mupen64plus-ae/issues/1

mupen64plus will definitely gain a step forward with this good mindset! Good job!

8
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 03, 2014, 09:14:27 AM »
I just tested your branch on my Note3, it doesn't looks faster but it's definitely not slower than before.
https://github.com/Gillou68310/mupen64plus-ae/tree/Narann_rice
Great! This mean I've not did bad design choices. That's cool! :)

Thanks a lot for such tests, it make me confident I've done the good choice. My code is ten time simpler than the old one. I will continue the move to have a perfect OGL2.1 OGLES2 compliant code.

Just in case you don't already have this, I wrote this piece of code a while back in order to initialize an EGL context inside an SDL windows. (check HAVE_EGL in vidext.c)
http://pastebin.com/Sn8xAKUD
http://pastebin.com/UxiWcN6E
http://pastebin.com/BjRMdbJ1
Thanks! I will try to figure out how I could generate a local OGLES only branch with this.

Just to be sure: As SDL2 deal with EGL, is this still relevant? We should use SDL2 for such right? I'm just curious. :)

Side note for you Gillou: I see you are working on dynarec. This seems very cool! Do you think this could be done in the official repo then moved to AE after? I have the impression that, since AE is the most active dev scene for mupen64plus the upstream is sometime put behind and I think it's sad.

9
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 03, 2014, 07:08:21 AM »
Hi Gillou68310 and thanks for PowerVR SDK! I will give a try!

If it's only add "precision lowp float;" it should be trivial.

It's amazing you have true OGLES drawing! :'-) #emotion.

About the color (notice it's texture color), IIRC the code transfering textures to GPU was dealing with BGR textures (dunno why) and the GLSL fragment shader was doing the conversion. I've changed this but I guess the OGLES code path still send textures in BGR, I need to check. But I'm sure it's trivial to change.

I will prepare my OGLES env dev with PowerVR asap.

I guess it's not so easy but just in case: I'm very afraid of performance on weak hardwares. If any of you could do true hardware test performance with my Rice version to ensure we don't loose anything. I still have in mind to make Rice compatible with RPi (wich would be a good hardware to test) but I'm focusing to make OGLES code easy to compile and bug free.

EDIT: Yeah! I'm now a based byte with an avatar!

10
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 03, 2014, 12:28:26 AM »
Thanks littleguy!

I've done some fixes and now USE_GLES compilation is working. I've tried to test it on Linux but I think my OpenGLES 2.0 env doesn't work because this functions:
Code: [Select]
glGetString(GL_RENDERER);
glGetString(GL_EXTENSIONS);
glGetString(GL_VERSION);
glGetString(GL_VENDOR);
Always return NULL...

Such functions should always work...

Bypassing stuff the bad way, I finally have the combiner working but:

Code: [Select]
Linker failure: @
Compile failure in (null) shader:
@
This are supposed to be debugging infos provided by the OpenGL ES driver... It doesn't seems to work...

So I can't get any info on what fail on the GLSL shader.

I know GLSL ES is different from GLSL but as I can't get the error I will never know why it fail and how to fix them.

How you guys are working with OGLES debugging?

The combiner GLSL pattern code is quite simple and often look like:
Code: [Select]
#version 100
uniform vec4 uBlendColor;                         
uniform vec4 uPrimColor;                         
uniform vec4 uEnvColor;                         
uniform vec3 uChromaKeyCenter;                   
uniform vec3 uChromaKeyScale;                   
uniform vec3 uChromaKeyWidth;                   
uniform float uLodFrac;                         
uniform float uPrimLodFrac;                         
uniform float uK5;                         
uniform float uK4;                         
uniform sampler2D uTex0;                         
uniform sampler2D uTex1;                         
uniform vec4 uFogColor;                         
                                                           
varying vec2 vertexTexCoord0;                         
varying vec2 vertexTexCoord1;                         
varying float vertexFog;                         
varying vec4 vertexShadeColor;                         
                                                           
                                                           
void main()                                               
{                                                         
vec4 outColor;                                             
vec3 AColor = vec3(0.0);
vec3 BColor = vec3(0.0);
vec3 CColor = vec3(0.0);
vec3 DColor = texture2D(uTex0,vertexTexCoord0).rgb;
float AAlpha = 0.0;
float BAlpha = 0.0;
float CAlpha = 0.0;
float DAlpha = texture2D(uTex0,vertexTexCoord0).a;
vec3 cycle1Color = (AColor - BColor) * CColor + DColor;
float cycle1Alpha = (AAlpha - BAlpha) * CAlpha + DAlpha;
outColor.rgb = cycle1Color;
outColor.a = cycle1Alpha;
float coverage = 1.0;
coverage = coverage * outColor.a;
coverage = step( 0.5, coverage );
outColor.a = coverage;
if( coverage < 0.1 ) discard;
    gl_FragColor = outColor;                               
}

If you have any experience with N64 RDP you would recognize the data flow.

If any of you is able to compile and run with my latest commits

Please provide as much log as possible. It truly help me. :)

11
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 02, 2014, 08:00:17 PM »
Thanks a lot! I will try to reproduce this on my side.

The OGLES2FragmentShaders.h and OGLES2FragmentShaders.cpp are not supposed to be there anymore (as "the new way" is supposed to have the same code path). I guess they are in the repo but not used. I think I forgot to remove them from the Makefile and as it compile well on my side I didn't see the potential problem.

Notice I don't have SDL_opengles2.h (I have actually no idea how to prepare a GLES cross compilation env yet). I guess the OpenGL function pointer error are related to the OGLES2FragmentShaders.h.

EDIT: Aaaaah! I think I understand! Let me some time and I should fix the problem on my side. A lot of this #ifndef USE_GLES should not be relevant anymore.

Anyway, any point to help me to have a nice OpenGL ES 2 linux build env is welcome.

12
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 02, 2014, 05:16:22 PM »
I tried with USE_GLES but I remember I've done some tiny modifications after. I will check asap (sorry).

Don't hesitate to provide compile error message in case I could not reproduce the problem. :(

13
Other Support / Re: Uploading avatar?
« on: December 02, 2014, 12:38:31 PM »
Ready?

Hahaha!

 ;D

14
Other Support / Re: Uploading avatar?
« on: December 01, 2014, 11:56:25 PM »
10 posts for the byte group? That should be eight!  ;D

Thanks Paul!

15
General Discussion / Re: Rice to OpenGL2.1 and OpenGL ES 2
« on: December 01, 2014, 11:54:17 PM »
And I finally finished the merging stuff. Not so easy actually as some modifications where made on files which doesn't exists anymore.

I'm almost sure there is some modifications to do on the GLES side. I know GLES need to specify float precisions. This is not something I've done as I wasn't aware what the good choice would have been.

I don't know if fayvel/Gillou68310/krnlyng are on the mupen64plus mailing list but there is a lack of communication (I try to always announce what I'm working on on the mailing list).

That's why, if everybody confirm me my Rice improvements are working fine I will definitely push them to the master and we will not have such situation anymore. :)

Pages: [1]