| Conformance Test |
| |
| CTS_ARB_shader_atomic_counter_ops |
| |
| Contributors |
| |
| Filip Demczewski, Mobica |
| |
| Contacts |
| |
| Filip Demczewski, Mobica (filip.demczewski 'at' mobica.com) |
| |
| Status |
| |
| In review |
| |
| Version |
| |
| February 17, 2017 (version 1) |
| |
| Dependencies |
| |
| OpenGL 4.2 is required. |
| |
| ARB_shader_atomic_counter extension is required. |
| ARB_shader_atomic_counter_ops extension is required. |
| |
| This specification is written against: |
| - ARB_shader_atomic_counter_ops specification, |
| - OpenGL 4.5 (core) specification. |
| |
| Overview |
| |
| Test is validating new build-in functions that can operate on atomic counters |
| by comparing results to calculations done out of the shader code. |
| Tested operations: |
| - Addition and subtraction |
| - Minimum and maximum |
| - Bitwise operations |
| - Exchange operation, compare and exchange operation |
| |
| New Tests |
| |
| All test cases are composed from following steps: |
| - create a buffer for atomic counters (GL_ATOMIC_COUNTER_BUFFER) and fill it |
| with initial values |
| - perform atomic operations on buffer values in the shader |
| - validate shader output values against values calculated in the test code |
| |
| Addition and subtraction test |
| * Test atomicCounterAddARB function |
| * Test atomicCounterSubtractARB function |
| * Additionally test values returned from functions listed above as we can be |
| sure that they should differ from the counter buffer values |
| |
| Minimum and maximum test |
| * Test atomicCounterMinARB function |
| * Test atomicCounterMaxARB function |
| |
| Bitwise operations test |
| * Test atomicCounterAndARB function |
| * Test atomicCounterOrARB function |
| * Test atomicCounterXorARB function |
| |
| Exchange operations test |
| * Test atomicCounterExchangeARB function |
| * Test atomicCounterCompSwapARB function |
| |
| Revision History |
| |
| Revision 1, 17 February, 2017 (Filip Demczewski) |
| - Intial version; |