<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>1282</bug_id>
          
          <creation_ts>2016-01-10 14:04:49 +0100</creation_ts>
          <short_desc>&quot;&apos;gl_FragColor&apos; : undeclared identifier&quot; thrown during fragment shader compilation with GL2ES2</short_desc>
          <delta_ts>2019-03-29 14:19:17 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>awt</component>
          <version>2.4.0</version>
          <rep_platform>pc_x86_64</rep_platform>
          <op_sys>windows</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>webermax2004</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>FEATURE</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>5509</commentid>
    <comment_count>0</comment_count>
      <attachid>769</attachid>
    <who name="">webermax2004</who>
    <bug_when>2016-01-10 14:04:49 +0100</bug_when>
    <thetext>Created attachment 769
Source file

Noticed using 2.3.2. as available on http://jogamp.org/deployment/jogamp-current/archive/.

The following code in a GLEventListener produces an error :

public class MyGLEventListener implements GLEventListener {
public void display (GLAutoDrawable drawable) {
GL2ES2 gl = drawable.getGL ().getGL2ES2();
ShaderCode fs;
String[][] fsCode = {{&quot;void main (void) { gl_FragColor = vec4 (1.0, 0.0, 0.0, 1.0); }&quot;}}; 
fs = new ShaderCode (GL2ES2.GL_FRAGMENT_SHADER, 1, fsCode);
fs.compile (gl, System.out);
}
//...
}

The error message is :

Shader status invalid:
ERROR: 0:1: &apos;gl_FragColor&apos; : undeclared identifier
ERROR: 0:1: &apos;assign&apos; :  cannot convert from &apos;const 4-component vector of float&apos; to &apos;float&apos;

But it works fine when using GL2 instead of GL2ES2 :

public class MyGLEventListener implements GLEventListener {
public void display (GLAutoDrawable drawable) {
GL2 gl = drawable.getGL ().getGL2();
ShaderCode fs;
String[][] fsCode = {{&quot;void main (void) { gl_FragColor = vec4 (1.0, 0.0, 0.0, 1.0); }&quot;}}; 
fs = new ShaderCode (GL2.GL_FRAGMENT_SHADER, 1, fsCode);
fs.compile (gl, System.out);
}
//...
}

Full code attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5510</commentid>
    <comment_count>1</comment_count>
    <who name="">webermax2004</who>
    <bug_when>2016-01-10 20:37:56 +0100</bug_when>
    <thetext>Problem is not with JOGL, but with the driver which doesn&apos;t consider using GLSL 1.0 by default even if the GLSL #version directive is not used in the fragment shader code.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>769</attachid>
            <date>2016-01-10 14:04:49 +0100</date>
            <delta_ts>2016-01-10 14:04:49 +0100</delta_ts>
            <desc>Source file</desc>
            <filename>MyProgram.java</filename>
            <type>text/plain</type>
            <size>1795</size>
            <attacher>webermax2004</attacher>
            
              <data encoding="base64">aW1wb3J0IGphdmEuYXd0Lio7DQppbXBvcnQgamF2YS5hd3QuZXZlbnQuKjsNCmltcG9ydCBjb20u
am9nYW1wLm9wZW5nbC5hd3QuR0xDYW52YXM7DQppbXBvcnQgY29tLmpvZ2FtcC5vcGVuZ2wuR0xQ
cm9maWxlOw0KaW1wb3J0IGNvbS5qb2dhbXAub3BlbmdsLkdMQ2FwYWJpbGl0aWVzOw0KaW1wb3J0
IGNvbS5qb2dhbXAub3BlbmdsLkdMQXV0b0RyYXdhYmxlOw0KaW1wb3J0IGNvbS5qb2dhbXAub3Bl
bmdsLkdMRXZlbnRMaXN0ZW5lcjsNCmltcG9ydCBjb20uam9nYW1wLm9wZW5nbC51dGlsLmdsc2wu
U2hhZGVyQ29kZTsNCmltcG9ydCBjb20uam9nYW1wLm9wZW5nbC5HTDJFUzI7DQppbXBvcnQgY29t
LmpvZ2FtcC5vcGVuZ2wudXRpbC5nbHNsLlNoYWRlclByb2dyYW07DQoNCnB1YmxpYyBjbGFzcyBN
eVByb2dyYW0gew0KCXB1YmxpYyBNeVByb2dyYW0gKCkgew0KCQlGcmFtZSBmID0gbmV3IEZyYW1l
ICgiVGVzdCBmcmFtZSIpOw0KCQlmLmFkZFdpbmRvd0xpc3RlbmVyIChuZXcgTXlXaW5kb3dBZGFw
dGVyICgpKTsNCiAgICAgICAgR0xQcm9maWxlIGdsUHJvZmlsZSA9IEdMUHJvZmlsZS5nZXQgKEdM
UHJvZmlsZS5HTDJFUzIpOw0KICAgICAgICBHTENhcGFiaWxpdGllcyBnbENhcGFiaWxpdGllcyA9
IG5ldyBHTENhcGFiaWxpdGllcyAoZ2xQcm9maWxlKTsNCiAgICAgICAgR0xDYW52YXMgZ2xDYW52
YXMgPSBuZXcgR0xDYW52YXMgKGdsQ2FwYWJpbGl0aWVzKTsNCgkJZ2xDYW52YXMuYWRkR0xFdmVu
dExpc3RlbmVyIChuZXcgTXlHTEV2ZW50TGlzdGVuZXIgKCkpOw0KCQlmLmFkZCAoZ2xDYW52YXMp
Ow0KCQlmLnNldFNpemUgKDMwMCwgMzAwKTsNCgkJZi5zZXRWaXNpYmxlICh0cnVlKTsNCgl9DQoN
CglwdWJsaWMgY2xhc3MgTXlXaW5kb3dBZGFwdGVyIGV4dGVuZHMgV2luZG93QWRhcHRlciB7DQoJ
CXB1YmxpYyB2b2lkIHdpbmRvd0Nsb3NpbmcgKFdpbmRvd0V2ZW50IGUpIHsNCgkJCVN5c3RlbS5l
eGl0ICgwKTsNCgkJfQ0KCX0NCg0KCXB1YmxpYyBjbGFzcyBNeUdMRXZlbnRMaXN0ZW5lciBpbXBs
ZW1lbnRzIEdMRXZlbnRMaXN0ZW5lciB7DQoJCXB1YmxpYyB2b2lkIGRpc3BsYXkgKEdMQXV0b0Ry
YXdhYmxlIGRyYXdhYmxlKSB7DQoJCQlTeXN0ZW0ub3V0LnByaW50bG4gKCJkaXNwbGF5ICgpIik7
DQoJCQlHTDJFUzIgZ2wgPSBkcmF3YWJsZS5nZXRHTCAoKS5nZXRHTDJFUzIoKTsNCgkJCVNoYWRl
ckNvZGUgZnM7DQoJCQlTdHJpbmdbXVtdIGZzQ29kZSA9IHt7InZvaWQgbWFpbiAodm9pZCkgeyBn
bF9GcmFnQ29sb3IgPSB2ZWM0ICgxLjAsIDAuMCwgMC4wLCAxLjApOyB9In19OyAvLyBRdWFuZCBv
biB1dGlsaXNlIEdMMkVTMiA9PiAnZ2xfRnJhZ0NvbG9yJyA6IHVuZGVjbGFyZWQgaWRlbnRpZmll
ciANCgkJCWZzID0gbmV3IFNoYWRlckNvZGUgKEdMMkVTMi5HTF9GUkFHTUVOVF9TSEFERVIsIDEs
IGZzQ29kZSk7DQoJCQlmcy5jb21waWxlIChnbCwgU3lzdGVtLm91dCk7DQoJCX0NCgkJcHVibGlj
IHZvaWQgZGlzcG9zZSAoR0xBdXRvRHJhd2FibGUgZHJhd2FibGUpIHsNCgkJCVN5c3RlbS5vdXQu
cHJpbnRsbiAoImRpc3Bvc2UgKCkiKTsNCgkJfQ0KCQlwdWJsaWMgdm9pZCBpbml0IChHTEF1dG9E
cmF3YWJsZSBkcmF3YWJsZSkgew0KCQkJU3lzdGVtLm91dC5wcmludGxuICgiaW5pdCAoKSIpOw0K
CQl9DQoJCXB1YmxpYyB2b2lkIHJlc2hhcGUgKEdMQXV0b0RyYXdhYmxlIGRyYXdhYmxlLCBpbnQg
eCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkgew0KCQkJU3lzdGVtLm91dC5wcmludGxu
ICgicmVzaGFwZSAoKSIpOw0KCQl9DQoJfQ0KfQ==
</data>

          </attachment>
      

    </bug>

</bugzilla>