diff options
author | Sven Göthel <[email protected]> | 2024-01-22 22:01:59 +0100 |
---|---|---|
committer | Sven Göthel <[email protected]> | 2024-01-22 22:01:59 +0100 |
commit | 1dcfdf71c09c6d774ac47012c05e09da4a085d7b (patch) | |
tree | 54952adc1bb001fdac105884c2b664814f67e163 /src/jogl/classes/jogamp/opengl/util/av | |
parent | 19fac36ae64ffb219fb40449b537219d74a1f000 (diff) |
Bug 1488 - Graph RegionRenderer: Use a more deterministic 64-bit shaderKey: [0-31] bit values and state, [32-63] colorTexSeqHash
This leaves only room for a key collision on the 32-bit colorTexSeqHash value
and hence should be save within our shader-code environment.
+ // # | s |
+ // 0 | 1 | isTwoPass
+ // 1 | 1 | pass1
+ // 2 | 5 | ShaderModeSelector1
+ // 7 | 1 | hasFrustumClipping
+ // 8 | 1 | hasColorChannel
+ // 9 | 1 | hasColorTexture
+ // 32 | 32 | colorTexSeqHash
+ long hash = ( isTwoPass ? 1 : 0 );
+ hash = ( hash << 1 ) | ( pass1 ? 1 : 0 ) ;
+ hash = ( hash << 1 ) | sms.ordinal(); // incl. pass2Quality + sampleCount
+ hash = ( hash << 5 ) | ( hasFrustumClipping ? 1 : 0 );
+ hash = ( hash << 1 ) | ( hasColorChannel ? 1 : 0 );
+ hash = ( hash << 1 ) | ( hasColorTexture ? 1 : 0 );
+ hash = ( hash << 1 ) | ( ( colorTexSeqHash & 0xFFFFFFL ) << 32 );
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/util/av')
0 files changed, 0 insertions, 0 deletions