writeout_rgb requires that all subgroups are active.
Unified · Split
| @@ -56,6 +56,11 @@ int get_isymbol(inout RangeCoder c, uint state_off) · 55 unmodified lines | |||
| 56 | 56 | ||
| 57 | void decode_line_pcm(inout SliceContext sc, ivec2 sp, int w, int y, int p, int bits) | 57 | void decode_line_pcm(inout SliceContext sc, ivec2 sp, int w, int y, int p, int bits) |
| 58 | { | 58 | { |
| 59 | #ifdef CACHED_SYMBOL_READER | ||
| 60 | if (gl_LocalInvocationID.x > 0) | ||
| 61 | return; | ||
| 62 | #endif | ||
| 63 | |||
| 59 | #ifndef RGB | 64 | #ifndef RGB |
| 60 | if (p > 0 && p < 3) { | 65 | if (p > 0 && p < 3) { |
| 61 | w >>= chroma_shift.x; | 66 | w >>= chroma_shift.x; |
| @@ -235,8 +240,6 @@ void decode_slice(inout SliceContext sc, const uint slice_idx) · 173 unmodified lines | |||
| 235 | /* PCM coding */ | 240 | /* PCM coding */ |
| 236 | #ifndef GOLOMB | 241 | #ifndef GOLOMB |
| 237 | if (sc.slice_coding_mode == 1) { | 242 | if (sc.slice_coding_mode == 1) { |
| 238 | if (gl_LocalInvocationID.x > 0) | ||
| 239 | return; | ||
| 240 | #ifndef RGB | 243 | #ifndef RGB |
| 241 | for (int p = 0; p < planes; p++) { | 244 | for (int p = 0; p < planes; p++) { |
| 242 | int h = sc.slice_dim.y; | 245 | int h = sc.slice_dim.y; |