<?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>1384</bug_id>
          
          <creation_ts>2019-08-21 02:13:27 +0200</creation_ts>
          <short_desc>Allow GLRendererQuirks to be overridden by user properties</short_desc>
          <delta_ts>2019-08-23 07:31:52 +0200</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>opengl</component>
          <version>2.4.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>1383</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>FEATURE</cf_type>
          <cf_scm_refs>209bb2f0dc3418d168dc6887802bf4368b6d6f4e
2c4114b50f4023843073acf6d4cea223fb491e7e</cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>6280</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-08-21 02:13:27 +0200</bug_when>
    <thetext>Allow GLRendererQuirks to be overridden by user properties,
allowing to either force (inject) a quirk by a user property 
or to ignore a quirk by a user property.

This helps:
- debugging certain quirk behavior (See Bug 1383)
- allowing a user to customize the quirk setting

Proposal:
    /**
     * Allow overriding any quirk settings
     * via the two properties:
     * &lt;ul&gt;
     *   &lt;li&gt;jogl.quirks.force&lt;/li&gt;
     *   &lt;li&gt;jogl.quirks.ignore&lt;/li&gt;
     * &lt;/ul&gt;
     * Both contain a list of capital sensitive quirk names separated by comma.
     * Example:
     * &lt;pre&gt;
     * java -Djogl.quirks.force=GL3CompatNonCompliant,NoFullFBOSupport -cp my_classpath some.main.Class
     * &lt;/pre&gt;
     * &lt;p&gt;
     * Naturally, one quirk can only be listed in one override list.
     * Hence the two override sets force and ignore are unique.
     * &lt;/p&gt;
     */
    public static enum Override {
        /**
         * No override.
         */
        NONE,
        /**
         * Enforce the quirk, i.e. allowing the code path to be injected w/o actual cause.
         */
        FORCE,
        /**
         * Ignore the quirk, i.e. don&apos;t set the quirk if otherwise caused.
         */
        IGNORE
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6281</commentid>
    <comment_count>1</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-08-21 02:20:43 +0200</bug_when>
    <thetext>commit 209bb2f0dc3418d168dc6887802bf4368b6d6f4e
adds this feature plus:

    +++
    
    This patch also refines the quirk: GLNonCompliant -&gt; GL3CompatNonCompliant,
    i.e. constraints its semantics to GL3 compatible context.
    
    +++
    
    This patch also removed useless code of GLRendererQuirk,
    i.e. the &apos;int[] quirk&apos; array arguments which are nonsense
    or wasteful, as we operate with bitmasks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6286</commentid>
    <comment_count>2</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2019-08-23 07:31:52 +0200</bug_when>
    <thetext>
commit 2c4114b50f4023843073acf6d4cea223fb491e7e
Move remaining &apos;lose&apos; property quirks into GLRendererQuirks.Override</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>