Announcement

Collapse
No announcement yet.

RSXGL: OpenGL 3.1 Support For The PlayStation 3

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • phoronix
    started a topic RSXGL: OpenGL 3.1 Support For The PlayStation 3

    RSXGL: OpenGL 3.1 Support For The PlayStation 3

    Phoronix: RSXGL: OpenGL 3.1 Support For The PlayStation 3

    According to a developer that began working on a PlayStation 3 graphics driver, which he's calling RSXGL, he reportedly got OpenGL 3.1 working from this Sony gaming console...

    http://www.phoronix.com/vr.php?view=MTE5MTg

  • Squarepusher
    replied
    Wanted to correct some (mis)information here:

    http://pc.watch.impress.co.jp/docs/2.../kaigai104.htm

    that it seems Sony claims "OpenGL ES 2.0" support for Playstation3. so, i guess they do the same, i.e. read "OpenGLES 1.0 + some GLES 2.0 " what is actually the case as you said, as "OpenGL ES 2.0 support", when technically there is no full ES 2.0 support. also, in another link that i lost, i read that graphic libraries that Sony developed for OpenGL support on Playstation3 use not only the RSX (nVidia graphic chip), but also the "Synergistic Processing Elements (SPE)" in the CellBE CPU - that i guess adds even more features compared to using just the graphic RSX processor, because SPE are 7-cores in CellBE CPU and very fast, i.e. like software emulation of graphic features.
    Let's get a couple of things straight.

    Technically, the RSX doesn't support 'jack' regardless of what tech specs tell you. PSGL is just a wrapper library for libgcm (the lower-level graphics API available for the PS3). Developers have the option of using it or not and must do so by either linking in precompiled static libraries or compiling the (bundled) source themselves (advantages being they can customize it themselves to meet their performance requirements).

    In terms of conformance, it's conformant with OpenGL ES 1.1 (plus some extensions). There are also some Sony-specific extensions such as texture references and attribute sets but this falls outside the scope of this discussion.

    PSGL has been abandoned since 2007 and hasn't been updated since - originally the plan was to go for OpenGL ES 2.0 conformance but developers were so disappointed by the performance they were getting out of it that they simply cut their losses and create raw libgcm drivers instead of going through a GL wrapper.

    About the CPU (it stuns me that there are still people out there that think this processor is 'powerful', but whatever - it might be they never coded for it):

    so, could it be that Alexander Betts work really implements parts of OpenGL 3.1 and they are really supported by Playstation3 hardware, because of its strange architecture, i.e. "RSX (nVidia chip)+PowerPC 2-core CPU+7 cores of SPE inside the PowerPC CPU" and how Sony drivers and libraries tied together those parts to achieve what is called "PSGL for PS3"?
    Wrong - it is a 1-core PowerPC design with 2 hardware threads. Second correction with regards to the CPU -

    but also the "Synergistic Processing Elements (SPE)" in the CellBE CPU - that i guess adds even more features compared to using just the graphic RSX processor, because SPE are 7-cores in CellBE CPU and very fast, i.e. like software emulation of graphic features.
    Those 7 SPU cores are not meant for scalar code at all - and while those SPUs are very fast, they only have 256K RAM each available to them. If you don't have enough workload to offload to those 7, you'll find you are wasting more CPU time on IPC overhead than the gains you will be able to achieve by going multithreaded in this way.

    Overall, the Cell architecture was a nice design on paper but it's really quite the failure - the 1-core in-order PowerPC CPU performs like a Pentium 4 2.4GHz for scalar code (on a good sunny day) and those 7 SPUs aren't really as flexible as you seem to think.

    Leave a comment:


  • curaga
    replied
    Originally posted by const View Post
    ok, but if that's the case could you care to explain the tremendous performance difference:
    Perhaps it's simply: psl1ght sucks, his work is better?

    Performance is unrelated to calling it "GL X".

    Leave a comment:


  • const
    replied
    Originally posted by Lynxeye View Post
    The RSX is just a regular NV4x class chip. The only differences are in the number of execution engines and different memory access. The featureset is exactly the same. We already have a relatively good running driver for this chips MESA, it's called nv30 and implements OpenGL 2.1 + extensions.

    I definitely don't want to downplay his achievements, all I'm saying is that he should really call it what it is and that he could have achieved even more if he would have taken the MESA infrastructure and driver we have today and implement missing/wrong bits.
    ok, but if that's the case could you care to explain the tremendous performance difference:

    * without RSXGL: http://dl.dropbox.com/u/22642664/expedite_psl1ght.log

    * with RSXGL: http://dl.dropbox.com/u/22642664/expedite_rsxgl.log

    that's the main reason i can't agree with you that until now there was anything for Playstation3 that do the same thing or at least do it with awful performance.

    Leave a comment:


  • Lynxeye
    replied
    The RSX is just a regular NV4x class chip. The only differences are in the number of execution engines and different memory access. The featureset is exactly the same. We already have a relatively good running driver for this chips MESA, it's called nv30 and implements OpenGL 2.1 + extensions.

    I definitely don't want to downplay his achievements, all I'm saying is that he should really call it what it is and that he could have achieved even more if he would have taken the MESA infrastructure and driver we have today and implement missing/wrong bits.

    Leave a comment:


  • const
    replied
    Originally posted by airlied View Post
    PSGL is OpenGLES 1.0 + some GLES 2.0 bits in it, so yeah it might not be able to pull of desktop GL at all, so why bother tackling desktop GL on it, just use mesa to implement the GLES bits.

    so eyah he should aim even lower than I suggest!
    Dave.
    Dave, thanks to clarifying things, but i've just found in Japanese (even before i read your reply):

    http://pc.watch.impress.co.jp/docs/2.../kaigai104.htm

    that it seems Sony claims "OpenGL ES 2.0" support for Playstation3. so, i guess they do the same, i.e. read "OpenGLES 1.0 + some GLES 2.0 " what is actually the case as you said, as "OpenGL ES 2.0 support", when technically there is no full ES 2.0 support. also, in another link that i lost, i read that graphic libraries that Sony developed for OpenGL support on Playstation3 use not only the RSX (nVidia graphic chip), but also the "Synergistic Processing Elements (SPE)" in the CellBE CPU - that i guess adds even more features compared to using just the graphic RSX processor, because SPE are 7-cores in CellBE CPU and very fast, i.e. like software emulation of graphic features.

    so, could it be that Alexander Betts work really implements parts of OpenGL 3.1 and they are really supported by Playstation3 hardware, because of its strange architecture, i.e. "RSX (nVidia chip)+PowerPC 2-core CPU+7 cores of SPE inside the PowerPC CPU" and how Sony drivers and libraries tied together those parts to achieve what is called "PSGL for PS3"? i hope you follow me - i mean maybe what can be supported by Playstation3 hardware includes different features of different OpenGL versions including OpenGL 3.1 and that mix is actually "PSGL for PS3". as far as i understand Dave's opinion that entirely technically correct should be called as "OpenGL core version which features are fully covered + this and that extensions", but in any case in my opinion the work that Alexander Betts did is significant progress.
    Last edited by const; 09-26-2012, 05:48 AM.

    Leave a comment:


  • airlied
    replied
    Originally posted by const View Post
    i think we all are missing the point, because RSX doesn't even support OpenGL 2.1 - it supports "PSGL", which is "PlayStation GL" and it's subset of OpenGL for PlayStation. so, if Alexander Betts called OpenGL 2.x then it would be again wrong and probably cause people criticizing again. that's why i think what Alexander Betts did is support of "PSGL" as subset of OpenGL 3.1, i.e. it's not full OpenGL 3.1 and it's not even full OpenGL 2.x - it's just what's necessary for "PSGL" as subset of the highest possible OpenGL version. we all just miss too much knowledge to fully understand and i think Dave Airlie that commented earlier as respected Xord developer is not that familiar with "PlayStation3" platform and architecture too and judges from not entirely correct point of view.
    PSGL is OpenGLES 1.0 + some GLES 2.0 bits in it, so yeah it might not be able to pull of desktop GL at all, so why bother tackling desktop GL on it, just use mesa to implement the GLES bits.

    so eyah he should aim even lower than I suggest!
    Dave.

    Leave a comment:


  • const
    replied
    Originally posted by DebianLinuxero View Post
    The RSX chip today hasn't secrets : [url]http://en.wikipedia.org/wiki/RSX_%27Reality_Synthesizer%27[/url
    i think we all are missing the point, because RSX doesn't even support OpenGL 2.1 - it supports "PSGL", which is "PlayStation GL" and it's subset of OpenGL for PlayStation. so, if Alexander Betts called OpenGL 2.x then it would be again wrong and probably cause people criticizing again. that's why i think what Alexander Betts did is support of "PSGL" as subset of OpenGL 3.1, i.e. it's not full OpenGL 3.1 and it's not even full OpenGL 2.x - it's just what's necessary for "PSGL" as subset of the highest possible OpenGL version. we all just miss too much knowledge to fully understand and i think Dave Airlie that commented earlier as respected Xord developer is not that familiar with "PlayStation3" platform and architecture too and judges from not entirely correct point of view.

    Leave a comment:


  • przemoli
    replied
    You are all wrong.

    Dev in question do not pretend to implement whole OpenGL 3.1 core profile.

    But to treat it as a goal IF hardware support it (and if mesa support GLSL 1.40 :P ).

    On the github is STATUS file go and read it.



    On the other hand OpenGL 2.1 =\= OpenGL ES, so there is no guarantee that there would be full OpenGL 2.1 on PS3 either.

    Leave a comment:


  • DebianLinuxero
    replied
    Originally posted by const View Post
    Alexander Betts is not a "freak", but apparently quite talented developer and he did excellent job
    First of all, my apologize for been rude speaking of this man, Alexander Betts.

    Sorry. I didn't mean to offend.


    you maybe not buying it and if it's OpenGL 2.x or OpenGL 3.x doesn't really matter to me considering the performance improvement his work brought as per above numbers
    Well, but this is precisely the point of the article : A programer, a man, a talented guy (put whatever-you-want except "freak"), claimed that a RSX could do OpenGL 3.1 with his driver.


    Also, no one knows what are the specifications of the "RSX" chip inside PS3 - it's just rumored that it's close to "7800 GTX", but no one except Sony and nVidia really know. in any case.
    The RSX chip today hasn't secrets : http://en.wikipedia.org/wiki/RSX_%27...Synthesizer%27

    In any case, even if it keeps a little secret, what it's clear is that :

    Independent pixel/vertex shader architecture
    OpenGL 3.x and further need a chip that supports unified shader architecture by hardware.
    This is true for nVidia chips, for AMD/ATI's, for Intel's ...


    it could be CellBE provides additional computational power to the "RSX" chip for what's necessary additionally to OpenGL 2.x in order to have OpenGL 3.x. so, do you "DebianLinuxero" happen to know those things for sure and based on that make statements?
    I really doubt it. I haven't seen an OpenGL implementation (nor Direct 3D) that by support of the CPU improved or emulated such architectural lack of features like unified shaders.

    And I could say the same to you; you don't seem to know how the implementation is, or if Cell really matters, but you are wondering too.


    Summary : I don't critiquize the effort of making a better driver, a more efficient or with much features/extensions.
    Simply, I don't buy the OpenGL 3.1 claim of that man, cause the hardware architecture limitations.

    Leave a comment:

Working...
X