159 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 450
 | |
| #extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
 | |
| #extension GL_EXT_shader_explicit_arithmetic_types_float32 : enable
 | |
| #extension GL_EXT_shader_explicit_arithmetic_types_float64 : enable
 | |
| #extension GL_EXT_shader_explicit_arithmetic_types_int8 : enable
 | |
| #extension GL_EXT_shader_explicit_arithmetic_types_int16 : enable
 | |
| #extension GL_EXT_shader_explicit_arithmetic_types_int32 : enable
 | |
| #extension GL_EXT_shader_explicit_arithmetic_types_int64 : enable
 | |
| 
 | |
| precision highp float;
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     float16_t(float16_t(0x1));
 | |
|     float16_t(float32_t(0x2));
 | |
|     float16_t(float64_t(0x3));
 | |
|     float16_t(int8_t   (0x4));
 | |
|     float16_t(int16_t  (0x5));
 | |
|     float16_t(int32_t  (0x6));
 | |
|     float16_t(int64_t  (0x7));
 | |
|     float16_t(uint8_t  (0x8));
 | |
|     float16_t(uint16_t (0x9));
 | |
|     float16_t(uint32_t (0xA));
 | |
|     float16_t(uint64_t (0xB));
 | |
|     float16_t(bool     (0xC));
 | |
|     float32_t(float16_t(0x11));
 | |
|     float32_t(float32_t(0x12));
 | |
|     float32_t(float64_t(0x13));
 | |
|     float32_t(int8_t   (0x14));
 | |
|     float32_t(int16_t  (0x15));
 | |
|     float32_t(int32_t  (0x16));
 | |
|     float32_t(int64_t  (0x17));
 | |
|     float32_t(uint8_t  (0x18));
 | |
|     float32_t(uint16_t (0x19));
 | |
|     float32_t(uint32_t (0x1A));
 | |
|     float32_t(uint64_t (0x1B));
 | |
|     float32_t(bool     (0x1C));
 | |
|     float64_t(float16_t(0x21));
 | |
|     float64_t(float32_t(0x22));
 | |
|     float64_t(float64_t(0x23));
 | |
|     float64_t(int8_t   (0x24));
 | |
|     float64_t(int16_t  (0x25));
 | |
|     float64_t(int32_t  (0x26));
 | |
|     float64_t(int64_t  (0x27));
 | |
|     float64_t(uint8_t  (0x28));
 | |
|     float64_t(uint16_t (0x29));
 | |
|     float64_t(uint32_t (0x2A));
 | |
|     float64_t(uint64_t (0x2B));
 | |
|     float64_t(bool     (0x2C));
 | |
|     int8_t(float16_t(0x31));
 | |
|     int8_t(float32_t(0x32));
 | |
|     int8_t(float64_t(0x33));
 | |
|     int8_t(int8_t   (0x34));
 | |
|     int8_t(int16_t  (0x35));
 | |
|     int8_t(int32_t  (0x36));
 | |
|     int8_t(int64_t  (0x37));
 | |
|     int8_t(uint8_t  (0x38));
 | |
|     int8_t(uint16_t (0x39));
 | |
|     int8_t(uint32_t (0x3A));
 | |
|     int8_t(uint64_t (0x3B));
 | |
|     int8_t(bool     (0x3C));
 | |
|     int16_t(float16_t(0x41));
 | |
|     int16_t(float32_t(0x42));
 | |
|     int16_t(float64_t(0x43));
 | |
|     int16_t(int8_t   (0x44));
 | |
|     int16_t(int16_t  (0x45));
 | |
|     int16_t(int32_t  (0x46));
 | |
|     int16_t(int64_t  (0x47));
 | |
|     int16_t(uint8_t  (0x48));
 | |
|     int16_t(uint16_t (0x49));
 | |
|     int16_t(uint32_t (0x4A));
 | |
|     int16_t(uint64_t (0x4B));
 | |
|     int16_t(bool     (0x4C));
 | |
|     int32_t(float16_t(0x51));
 | |
|     int32_t(float32_t(0x52));
 | |
|     int32_t(float64_t(0x53));
 | |
|     int32_t(int8_t   (0x54));
 | |
|     int32_t(int16_t  (0x55));
 | |
|     int32_t(int32_t  (0x56));
 | |
|     int32_t(int64_t  (0x57));
 | |
|     int32_t(uint8_t  (0x58));
 | |
|     int32_t(uint16_t (0x59));
 | |
|     int32_t(uint32_t (0x5A));
 | |
|     int32_t(uint64_t (0x5B));
 | |
|     int32_t(bool     (0x5C));
 | |
|     int64_t(float16_t(0x61));
 | |
|     int64_t(float32_t(0x62));
 | |
|     int64_t(float64_t(0x63));
 | |
|     int64_t(int8_t   (0x64));
 | |
|     int64_t(int16_t  (0x65));
 | |
|     int64_t(int32_t  (0x66));
 | |
|     int64_t(int64_t  (0x67));
 | |
|     int64_t(uint8_t  (0x68));
 | |
|     int64_t(uint16_t (0x69));
 | |
|     int64_t(uint32_t (0x6A));
 | |
|     int64_t(uint64_t (0x6B));
 | |
|     int64_t(bool     (0x6C));
 | |
|     uint8_t(float16_t(0x71));
 | |
|     uint8_t(float32_t(0x72));
 | |
|     uint8_t(float64_t(0x73));
 | |
|     uint8_t(int8_t   (0x74));
 | |
|     uint8_t(int16_t  (0x75));
 | |
|     uint8_t(int32_t  (0x76));
 | |
|     uint8_t(int64_t  (0x77));
 | |
|     uint8_t(uint8_t  (0x78));
 | |
|     uint8_t(uint16_t (0x79));
 | |
|     uint8_t(uint32_t (0x7A));
 | |
|     uint8_t(uint64_t (0x7B));
 | |
|     uint8_t(bool     (0x7C));
 | |
|     uint16_t(float16_t(0x81));
 | |
|     uint16_t(float32_t(0x82));
 | |
|     uint16_t(float64_t(0x83));
 | |
|     uint16_t(int8_t   (0x84));
 | |
|     uint16_t(int16_t  (0x85));
 | |
|     uint16_t(int32_t  (0x86));
 | |
|     uint16_t(int64_t  (0x87));
 | |
|     uint16_t(uint8_t  (0x88));
 | |
|     uint16_t(uint16_t (0x89));
 | |
|     uint16_t(uint32_t (0x8A));
 | |
|     uint16_t(uint64_t (0x8B));
 | |
|     uint16_t(bool     (0x8C));
 | |
|     uint32_t(float16_t(0x91));
 | |
|     uint32_t(float32_t(0x92));
 | |
|     uint32_t(float64_t(0x93));
 | |
|     uint32_t(int8_t   (0x94));
 | |
|     uint32_t(int16_t  (0x95));
 | |
|     uint32_t(int32_t  (0x96));
 | |
|     uint32_t(int64_t  (0x97));
 | |
|     uint32_t(uint8_t  (0x98));
 | |
|     uint32_t(uint16_t (0x99));
 | |
|     uint32_t(uint32_t (0x9A));
 | |
|     uint32_t(uint64_t (0x9B));
 | |
|     uint32_t(bool     (0x9C));
 | |
|     uint64_t(float16_t(0xA1));
 | |
|     uint64_t(float32_t(0xA2));
 | |
|     uint64_t(float64_t(0xA3));
 | |
|     uint64_t(int8_t   (0xA4));
 | |
|     uint64_t(int16_t  (0xA5));
 | |
|     uint64_t(int32_t  (0xA6));
 | |
|     uint64_t(int64_t  (0xA7));
 | |
|     uint64_t(uint8_t  (0xA8));
 | |
|     uint64_t(uint16_t (0xA9));
 | |
|     uint64_t(uint32_t (0xAA));
 | |
|     uint64_t(uint64_t (0xAB));
 | |
|     uint64_t(bool     (0xAC));
 | |
|     bool(float16_t(0xB1));
 | |
|     bool(float32_t(0xB2));
 | |
|     bool(float64_t(0xB3));
 | |
|     bool(int8_t   (0xB4));
 | |
|     bool(int16_t  (0xB5));
 | |
|     bool(int32_t  (0xB6));
 | |
|     bool(int64_t  (0xB7));
 | |
|     bool(uint8_t  (0xB8));
 | |
|     bool(uint16_t (0xB9));
 | |
|     bool(uint32_t (0xBA));
 | |
|     bool(uint64_t (0xBB));
 | |
|     bool(bool     (0xBC));
 | |
| }
 | 
