diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/host_shaders/astc_decoder.comp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/video_core/host_shaders/astc_decoder.comp b/src/video_core/host_shaders/astc_decoder.comp index 547cd881f..9d9532a98 100644 --- a/src/video_core/host_shaders/astc_decoder.comp +++ b/src/video_core/host_shaders/astc_decoder.comp | |||
| @@ -809,18 +809,15 @@ uint UnquantizeTexelWeight(EncodingData val) { | |||
| 809 | const uint A = ReplicateBitTo7((bitval & 1)); | 809 | const uint A = ReplicateBitTo7((bitval & 1)); |
| 810 | uint B = 0, C = 0, D = 0; | 810 | uint B = 0, C = 0, D = 0; |
| 811 | uint result = 0; | 811 | uint result = 0; |
| 812 | const uint bitlen_0_results[5] = {0, 16, 32, 48, 64}; | ||
| 812 | switch (encoding) { | 813 | switch (encoding) { |
| 813 | case JUST_BITS: | 814 | case JUST_BITS: |
| 814 | result = FastReplicateTo6(bitval, bitlen); | 815 | return FastReplicateTo6(bitval, bitlen); |
| 815 | break; | ||
| 816 | case TRIT: { | 816 | case TRIT: { |
| 817 | D = QuintTritValue(val); | 817 | D = QuintTritValue(val); |
| 818 | switch (bitlen) { | 818 | switch (bitlen) { |
| 819 | case 0: { | 819 | case 0: |
| 820 | const uint results[3] = {0, 32, 63}; | 820 | return bitlen_0_results[D * 2]; |
| 821 | result = results[D]; | ||
| 822 | break; | ||
| 823 | } | ||
| 824 | case 1: { | 821 | case 1: { |
| 825 | C = 50; | 822 | C = 50; |
| 826 | break; | 823 | break; |
| @@ -845,11 +842,8 @@ uint UnquantizeTexelWeight(EncodingData val) { | |||
| 845 | case QUINT: { | 842 | case QUINT: { |
| 846 | D = QuintTritValue(val); | 843 | D = QuintTritValue(val); |
| 847 | switch (bitlen) { | 844 | switch (bitlen) { |
| 848 | case 0: { | 845 | case 0: |
| 849 | const uint results[5] = {0, 16, 32, 47, 63}; | 846 | return bitlen_0_results[D]; |
| 850 | result = results[D]; | ||
| 851 | break; | ||
| 852 | } | ||
| 853 | case 1: { | 847 | case 1: { |
| 854 | C = 28; | 848 | C = 28; |
| 855 | break; | 849 | break; |