Driver vendor: X.Org Device vendor: AMD Device name: AMD TURKS (DRM 2.42.0, LLVM 3.8.0) draw_info: {indexed = 0, mode = points, start = 0, count = 65536, start_instance = 0, instance_count = 1, vertices_per_patch = 3, index_bias = 0, min_index = 0, max_index = 65535, primitive_restart = 0, restart_index = 0, count_from_stream_output = NULL, indirect = NULL, indirect_offset = 0, } vertex_buffer 0: {stride = 64, buffer_offset = 0, buffer = 0x0151e120, user_buffer = NULL, } buffer: {target = buffer, format = PIPE_FORMAT_R8_UNORM, width0 = 4194304, height0 = 1, depth0 = 1, array_size = 1, last_level = 0, nr_samples = 0, usage = 0, bind = 16, flags = 0, } num vertex elements = 4 vertex_element 0: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } vertex_element 1: {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } vertex_element 2: {src_offset = 32, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } vertex_element 3: {src_offset = 48, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } num stream output targets = 1 stream_output_target 0: {buffer = 0x01960c50, buffer_offset = 0, buffer_size = 12582912, } buffer: {target = buffer, format = PIPE_FORMAT_R8_UNORM, width0 = 12582912, height0 = 1, depth0 = 1, array_size = 1, last_level = 0, nr_samples = 0, usage = 3, bind = 1024, flags = 0, } offset = 0 begin shader: VERTEX shader_state: {tokens = " VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL OUT[0], POSITION DCL OUT[1], GENERIC[9] DCL OUT[2], GENERIC[10] DCL OUT[3], GENERIC[11] DCL CONST[0..3] DCL TEMP[0..12], LOCAL IMM[0] INT32 {0, -1, 1, 2} IMM[1] FLT32 { -1.0000, 9999.9004, 0.0000, 0.5000} IMM[2] FLT32 { -0.0000, 1.0000, 0.2500, 0.0000} IMM[3] FLT32 { -3.0000, 0.0000, -1.0000, 1.5000} IMM[4] FLT32 { 3.0000, -0.0000, 1.0000, 2.2500} IMM[5] FLT32 { 0.0000, 3.0000, -1.0000, 2.0000} IMM[6] FLT32 { -0.0000, -3.0000, 1.0000, -2.0000} IMM[7] INT32 {3, 4, 0, 0} IMM[8] FLT32 { 0.0000, -11.0000, -1.0000, 10.0000} IMM[9] FLT32 { -0.0000, 11.0000, 1.0000, 100.0000} 0: MOV TEMP[0].xyz, IN[1].xyzx 1: MOV TEMP[1].xyz, IN[2].xyzx 2: MOV TEMP[2].x, IN[1].wwww 3: F2I TEMP[3].x, IN[2].wwww 4: F2I TEMP[4].x, IN[3].zzzz 5: MOV TEMP[5].x, TEMP[4].xxxx 6: F2I TEMP[6].x, IN[3].wwww 7: USEQ TEMP[4].x, TEMP[4].xxxx, IMM[0].xxxx 8: UIF TEMP[4].xxxx :0 9: MOV TEMP[4].z, IMM[1].xxxx 10: MOV TEMP[4].x, IN[0].xxxx 11: MOV TEMP[4].y, IN[0].yyyy 12: DP3 TEMP[7].x, TEMP[4].xyzz, CONST[1].xyzz 13: DP3 TEMP[8].x, TEMP[4].xyzz, CONST[2].xyzz 14: MOV TEMP[7].y, TEMP[8].xxxx 15: DP3 TEMP[4].x, TEMP[4].xyzz, CONST[3].xyzz 16: MOV TEMP[7].z, TEMP[4].xxxx 17: DP3 TEMP[4].x, TEMP[7].xyzz, TEMP[7].xyzz 18: RSQ TEMP[4].x, TEMP[4].xxxx 19: MUL TEMP[4].xyz, TEMP[7].xyzz, TEMP[4].xxxx 20: MOV TEMP[0].xyz, CONST[0].xyzx 21: MOV TEMP[1].xyz, TEMP[4].xyzx 22: MOV TEMP[2].x, IMM[1].yyyy 23: MOV TEMP[3].x, IMM[0].yyyy 24: MOV TEMP[5].x, IMM[0].zzzz 25: MOV TEMP[6].x, IMM[0].xxxx 26: MOV TEMP[7].x, IMM[1].yyyy 27: MOV TEMP[8].x, IMM[0].yyyy 28: MOV TEMP[9].xyz, -TEMP[4].xyzx 29: ADD TEMP[10].xyz, IMM[1].zzxx, -CONST[0].xyzz 30: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[9].xyzz 31: DP3 TEMP[9].x, TEMP[9].xyzz, TEMP[4].xyzz 32: RCP TEMP[9].x, TEMP[9].xxxx 33: MUL TEMP[9].x, TEMP[10].xxxx, TEMP[9].xxxx 34: MAD TEMP[10].xyz, TEMP[4].xyzz, TEMP[9].xxxx, CONST[0].xyzz 35: ADD TEMP[10].xyz, TEMP[10].xyzz, IMM[2].xxyy 36: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[10].xyzz 37: SQRT TEMP[10].x, TEMP[10].xxxx 38: FSGE TEMP[11].x, IMM[1].wwww, TEMP[10].xxxx 39: UIF TEMP[11].xxxx :0 40: MUL TEMP[10].x, TEMP[10].xxxx, TEMP[10].xxxx 41: ADD TEMP[10].x, IMM[2].zzzz, -TEMP[10].xxxx 42: SQRT TEMP[10].x, TEMP[10].xxxx 43: ADD TEMP[9].x, TEMP[9].xxxx, -TEMP[10].xxxx 44: FSGE TEMP[10].x, TEMP[9].xxxx, IMM[1].zzzz 45: FSGE TEMP[11].x, TEMP[9].xxxx, IMM[2].wwww 46: AND TEMP[10].x, TEMP[10].xxxx, TEMP[11].xxxx 47: FSGE TEMP[11].x, IMM[1].yyyy, TEMP[9].xxxx 48: AND TEMP[10].x, TEMP[10].xxxx, TEMP[11].xxxx 49: UIF TEMP[10].xxxx :0 50: MOV TEMP[7].x, TEMP[9].xxxx 51: MOV TEMP[8].x, IMM[0].xxxx 52: ENDIF 53: ENDIF 54: MOV TEMP[9].x, TEMP[7].xxxx 55: MOV TEMP[8].x, TEMP[8].xxxx 56: MOV TEMP[10].xyz, -TEMP[4].xyzx 57: ADD TEMP[11].xyz, IMM[3].xyzz, -CONST[0].xyzz 58: DP3 TEMP[11].x, TEMP[11].xyzz, TEMP[10].xyzz 59: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[4].xyzz 60: RCP TEMP[10].x, TEMP[10].xxxx 61: MUL TEMP[10].x, TEMP[11].xxxx, TEMP[10].xxxx 62: MAD TEMP[11].xyz, TEMP[4].xyzz, TEMP[10].xxxx, CONST[0].xyzz 63: ADD TEMP[11].xyz, TEMP[11].xyzz, IMM[4].xyzz 64: DP3 TEMP[11].x, TEMP[11].xyzz, TEMP[11].xyzz 65: SQRT TEMP[11].x, TEMP[11].xxxx 66: FSGE TEMP[12].x, IMM[3].wwww, TEMP[11].xxxx 67: UIF TEMP[12].xxxx :0 68: MUL TEMP[11].x, TEMP[11].xxxx, TEMP[11].xxxx 69: ADD TEMP[11].x, IMM[4].wwww, -TEMP[11].xxxx 70: SQRT TEMP[11].x, TEMP[11].xxxx 71: ADD TEMP[10].x, TEMP[10].xxxx, -TEMP[11].xxxx 72: FSGE TEMP[11].x, TEMP[10].xxxx, IMM[1].zzzz 73: FSGE TEMP[12].x, TEMP[10].xxxx, IMM[2].wwww 74: AND TEMP[11].x, TEMP[11].xxxx, TEMP[12].xxxx 75: FSGE TEMP[7].x, TEMP[7].xxxx, TEMP[10].xxxx 76: AND TEMP[7].x, TEMP[11].xxxx, TEMP[7].xxxx 77: UIF TEMP[7].xxxx :0 78: MOV TEMP[9].x, TEMP[10].xxxx 79: MOV TEMP[8].x, IMM[0].zzzz 80: ENDIF 81: ENDIF 82: MOV TEMP[7].x, TEMP[9].xxxx 83: MOV TEMP[8].x, TEMP[8].xxxx 84: MOV TEMP[10].xyz, -TEMP[4].xyzx 85: ADD TEMP[11].xyz, IMM[5].xyzz, -CONST[0].xyzz 86: DP3 TEMP[11].x, TEMP[11].xyzz, TEMP[10].xyzz 87: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[4].xyzz 88: RCP TEMP[10].x, TEMP[10].xxxx 89: MUL TEMP[10].x, TEMP[11].xxxx, TEMP[10].xxxx 90: MAD TEMP[11].xyz, TEMP[4].xyzz, TEMP[10].xxxx, CONST[0].xyzz 91: ADD TEMP[11].xyz, TEMP[11].xyzz, IMM[6].xyzz 92: DP3 TEMP[11].x, TEMP[11].xyzz, TEMP[11].xyzz 93: SQRT TEMP[11].x, TEMP[11].xxxx 94: FSGE TEMP[12].x, IMM[1].wwww, TEMP[11].xxxx 95: UIF TEMP[12].xxxx :0 96: MUL TEMP[11].x, TEMP[11].xxxx, TEMP[11].xxxx 97: ADD TEMP[11].x, IMM[2].zzzz, -TEMP[11].xxxx 98: SQRT TEMP[11].x, TEMP[11].xxxx 99: ADD TEMP[10].x, TEMP[10].xxxx, -TEMP[11].xxxx 100: FSGE TEMP[11].x, TEMP[10].xxxx, IMM[1].zzzz 101: FSGE TEMP[12].x, TEMP[10].xxxx, IMM[2].wwww 102: AND TEMP[11].x, TEMP[11].xxxx, TEMP[12].xxxx 103: FSGE TEMP[9].x, TEMP[9].xxxx, TEMP[10].xxxx 104: AND TEMP[9].x, TEMP[11].xxxx, TEMP[9].xxxx 105: UIF TEMP[9].xxxx :0 106: MOV TEMP[7].x, TEMP[10].xxxx 107: MOV TEMP[8].x, IMM[0].wwww 108: ENDIF 109: ENDIF 110: MOV TEMP[9].x, TEMP[7].xxxx 111: MOV TEMP[8].x, TEMP[8].xxxx 112: MOV TEMP[10].xyz, -TEMP[4].xyzx 113: ADD TEMP[11].xyz, IMM[5].wxzz, -CONST[0].xyzz 114: DP3 TEMP[11].x, TEMP[11].xyzz, TEMP[10].xyzz 115: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[4].xyzz 116: RCP TEMP[10].x, TEMP[10].xxxx 117: MUL TEMP[10].x, TEMP[11].xxxx, TEMP[10].xxxx 118: MAD TEMP[11].xyz, TEMP[4].xyzz, TEMP[10].xxxx, CONST[0].xyzz 119: ADD TEMP[11].xyz, TEMP[11].xyzz, IMM[6].wxzz 120: DP3 TEMP[11].x, TEMP[11].xyzz, TEMP[11].xyzz 121: SQRT TEMP[11].x, TEMP[11].xxxx 122: FSGE TEMP[12].x, IMM[2].yyyy, TEMP[11].xxxx 123: UIF TEMP[12].xxxx :0 124: MUL TEMP[11].x, TEMP[11].xxxx, TEMP[11].xxxx 125: ADD TEMP[11].x, IMM[2].yyyy, -TEMP[11].xxxx 126: SQRT TEMP[11].x, TEMP[11].xxxx 127: ADD TEMP[10].x, TEMP[10].xxxx, -TEMP[11].xxxx 128: FSGE TEMP[11].x, TEMP[10].xxxx, IMM[1].zzzz 129: FSGE TEMP[12].x, TEMP[10].xxxx, IMM[2].wwww 130: AND TEMP[11].x, TEMP[11].xxxx, TEMP[12].xxxx 131: FSGE TEMP[7].x, TEMP[7].xxxx, TEMP[10].xxxx 132: AND TEMP[7].x, TEMP[11].xxxx, TEMP[7].xxxx 133: UIF TEMP[7].xxxx :0 134: MOV TEMP[9].x, TEMP[10].xxxx 135: MOV TEMP[8].x, IMM[7].xxxx 136: ENDIF 137: ENDIF 138: MOV TEMP[7].x, TEMP[9].xxxx 139: MOV TEMP[8].x, TEMP[8].xxxx 140: MOV TEMP[10].xyz, -TEMP[4].xyzx 141: ADD TEMP[11].xyz, IMM[8].xyzz, -CONST[0].xyzz 142: DP3 TEMP[11].x, TEMP[11].xyzz, TEMP[10].xyzz 143: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[4].xyzz 144: RCP TEMP[10].x, TEMP[10].xxxx 145: MUL TEMP[10].x, TEMP[11].xxxx, TEMP[10].xxxx 146: MAD TEMP[4].xyz, TEMP[4].xyzz, TEMP[10].xxxx, CONST[0].xyzz 147: ADD TEMP[4].xyz, TEMP[4].xyzz, IMM[9].xyzz 148: DP3 TEMP[4].x, TEMP[4].xyzz, TEMP[4].xyzz 149: SQRT TEMP[4].x, TEMP[4].xxxx 150: FSGE TEMP[11].x, IMM[8].wwww, TEMP[4].xxxx 151: UIF TEMP[11].xxxx :0 152: MUL TEMP[4].x, TEMP[4].xxxx, TEMP[4].xxxx 153: ADD TEMP[4].x, IMM[9].wwww, -TEMP[4].xxxx 154: SQRT TEMP[4].x, TEMP[4].xxxx 155: ADD TEMP[4].x, TEMP[10].xxxx, -TEMP[4].xxxx 156: FSGE TEMP[10].x, TEMP[4].xxxx, IMM[1].zzzz 157: FSGE TEMP[11].x, TEMP[4].xxxx, IMM[2].wwww 158: AND TEMP[10].x, TEMP[10].xxxx, TEMP[11].xxxx 159: FSGE TEMP[9].x, TEMP[9].xxxx, TEMP[4].xxxx 160: AND TEMP[9].x, TEMP[10].xxxx, TEMP[9].xxxx 161: UIF TEMP[9].xxxx :0 162: MOV TEMP[7].x, TEMP[4].xxxx 163: MOV TEMP[8].x, IMM[7].yyyy 164: ENDIF 165: ENDIF 166: MOV TEMP[2].x, TEMP[7].xxxx 167: MOV TEMP[3].x, TEMP[8].xxxx 168: ELSE :0 169: USEQ TEMP[4].x, TEMP[5].xxxx, IMM[0].zzzz 170: UIF TEMP[4].xxxx :0 171: MOV TEMP[4].x, TEMP[2].xxxx 172: MOV TEMP[7].x, IMM[0].yyyy 173: MOV TEMP[8].xyz, -TEMP[1].xyzx 174: ADD TEMP[9].xyz, IMM[1].zzxx, -TEMP[0].xyzz 175: DP3 TEMP[9].x, TEMP[9].xyzz, TEMP[8].xyzz 176: DP3 TEMP[8].x, TEMP[8].xyzz, TEMP[1].xyzz 177: RCP TEMP[8].x, TEMP[8].xxxx 178: MUL TEMP[8].x, TEMP[9].xxxx, TEMP[8].xxxx 179: MAD TEMP[9].xyz, TEMP[1].xyzz, TEMP[8].xxxx, TEMP[0].xyzz 180: ADD TEMP[9].xyz, TEMP[9].xyzz, IMM[2].xxyy 181: DP3 TEMP[9].x, TEMP[9].xyzz, TEMP[9].xyzz 182: SQRT TEMP[9].x, TEMP[9].xxxx 183: FSGE TEMP[10].x, IMM[1].wwww, TEMP[9].xxxx 184: UIF TEMP[10].xxxx :0 185: MUL TEMP[9].x, TEMP[9].xxxx, TEMP[9].xxxx 186: ADD TEMP[9].x, IMM[2].zzzz, -TEMP[9].xxxx 187: SQRT TEMP[9].x, TEMP[9].xxxx 188: ADD TEMP[8].x, TEMP[8].xxxx, -TEMP[9].xxxx 189: FSGE TEMP[9].x, TEMP[8].xxxx, IMM[1].zzzz 190: FSGE TEMP[10].x, TEMP[8].xxxx, IMM[2].wwww 191: AND TEMP[9].x, TEMP[9].xxxx, TEMP[10].xxxx 192: FSGE TEMP[10].x, TEMP[2].xxxx, TEMP[8].xxxx 193: AND TEMP[9].x, TEMP[9].xxxx, TEMP[10].xxxx 194: UIF TEMP[9].xxxx :0 195: MOV TEMP[4].x, TEMP[8].xxxx 196: MOV TEMP[7].x, IMM[0].xxxx 197: ENDIF 198: ENDIF 199: MOV TEMP[8].x, TEMP[4].xxxx 200: MOV TEMP[7].x, TEMP[7].xxxx 201: MOV TEMP[9].xyz, -TEMP[1].xyzx 202: ADD TEMP[10].xyz, IMM[3].xyzz, -TEMP[0].xyzz 203: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[9].xyzz 204: DP3 TEMP[9].x, TEMP[9].xyzz, TEMP[1].xyzz 205: RCP TEMP[9].x, TEMP[9].xxxx 206: MUL TEMP[9].x, TEMP[10].xxxx, TEMP[9].xxxx 207: MAD TEMP[10].xyz, TEMP[1].xyzz, TEMP[9].xxxx, TEMP[0].xyzz 208: ADD TEMP[10].xyz, TEMP[10].xyzz, IMM[4].xyzz 209: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[10].xyzz 210: SQRT TEMP[10].x, TEMP[10].xxxx 211: FSGE TEMP[11].x, IMM[3].wwww, TEMP[10].xxxx 212: UIF TEMP[11].xxxx :0 213: MUL TEMP[10].x, TEMP[10].xxxx, TEMP[10].xxxx 214: ADD TEMP[10].x, IMM[4].wwww, -TEMP[10].xxxx 215: SQRT TEMP[10].x, TEMP[10].xxxx 216: ADD TEMP[9].x, TEMP[9].xxxx, -TEMP[10].xxxx 217: FSGE TEMP[10].x, TEMP[9].xxxx, IMM[1].zzzz 218: FSGE TEMP[11].x, TEMP[9].xxxx, IMM[2].wwww 219: AND TEMP[10].x, TEMP[10].xxxx, TEMP[11].xxxx 220: FSGE TEMP[4].x, TEMP[4].xxxx, TEMP[9].xxxx 221: AND TEMP[4].x, TEMP[10].xxxx, TEMP[4].xxxx 222: UIF TEMP[4].xxxx :0 223: MOV TEMP[8].x, TEMP[9].xxxx 224: MOV TEMP[7].x, IMM[0].zzzz 225: ENDIF 226: ENDIF 227: MOV TEMP[4].x, TEMP[8].xxxx 228: MOV TEMP[7].x, TEMP[7].xxxx 229: MOV TEMP[9].xyz, -TEMP[1].xyzx 230: ADD TEMP[10].xyz, IMM[5].xyzz, -TEMP[0].xyzz 231: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[9].xyzz 232: DP3 TEMP[9].x, TEMP[9].xyzz, TEMP[1].xyzz 233: RCP TEMP[9].x, TEMP[9].xxxx 234: MUL TEMP[9].x, TEMP[10].xxxx, TEMP[9].xxxx 235: MAD TEMP[10].xyz, TEMP[1].xyzz, TEMP[9].xxxx, TEMP[0].xyzz 236: ADD TEMP[10].xyz, TEMP[10].xyzz, IMM[6].xyzz 237: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[10].xyzz 238: SQRT TEMP[10].x, TEMP[10].xxxx 239: FSGE TEMP[11].x, IMM[1].wwww, TEMP[10].xxxx 240: UIF TEMP[11].xxxx :0 241: MUL TEMP[10].x, TEMP[10].xxxx, TEMP[10].xxxx 242: ADD TEMP[10].x, IMM[2].zzzz, -TEMP[10].xxxx 243: SQRT TEMP[10].x, TEMP[10].xxxx 244: ADD TEMP[9].x, TEMP[9].xxxx, -TEMP[10].xxxx 245: FSGE TEMP[10].x, TEMP[9].xxxx, IMM[1].zzzz 246: FSGE TEMP[11].x, TEMP[9].xxxx, IMM[2].wwww 247: AND TEMP[10].x, TEMP[10].xxxx, TEMP[11].xxxx 248: FSGE TEMP[8].x, TEMP[8].xxxx, TEMP[9].xxxx 249: AND TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 250: UIF TEMP[8].xxxx :0 251: MOV TEMP[4].x, TEMP[9].xxxx 252: MOV TEMP[7].x, IMM[0].wwww 253: ENDIF 254: ENDIF 255: MOV TEMP[8].x, TEMP[4].xxxx 256: MOV TEMP[7].x, TEMP[7].xxxx 257: MOV TEMP[9].xyz, -TEMP[1].xyzx 258: ADD TEMP[10].xyz, IMM[5].wxzz, -TEMP[0].xyzz 259: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[9].xyzz 260: DP3 TEMP[9].x, TEMP[9].xyzz, TEMP[1].xyzz 261: RCP TEMP[9].x, TEMP[9].xxxx 262: MUL TEMP[9].x, TEMP[10].xxxx, TEMP[9].xxxx 263: MAD TEMP[10].xyz, TEMP[1].xyzz, TEMP[9].xxxx, TEMP[0].xyzz 264: ADD TEMP[10].xyz, TEMP[10].xyzz, IMM[6].wxzz 265: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[10].xyzz 266: SQRT TEMP[10].x, TEMP[10].xxxx 267: FSGE TEMP[11].x, IMM[2].yyyy, TEMP[10].xxxx 268: UIF TEMP[11].xxxx :0 269: MUL TEMP[10].x, TEMP[10].xxxx, TEMP[10].xxxx 270: ADD TEMP[10].x, IMM[2].yyyy, -TEMP[10].xxxx 271: SQRT TEMP[10].x, TEMP[10].xxxx 272: ADD TEMP[9].x, TEMP[9].xxxx, -TEMP[10].xxxx 273: FSGE TEMP[10].x, TEMP[9].xxxx, IMM[1].zzzz 274: FSGE TEMP[11].x, TEMP[9].xxxx, IMM[2].wwww 275: AND TEMP[10].x, TEMP[10].xxxx, TEMP[11].xxxx 276: FSGE TEMP[4].x, TEMP[4].xxxx, TEMP[9].xxxx 277: AND TEMP[4].x, TEMP[10].xxxx, TEMP[4].xxxx 278: UIF TEMP[4].xxxx :0 279: MOV TEMP[8].x, TEMP[9].xxxx 280: MOV TEMP[7].x, IMM[7].xxxx 281: ENDIF 282: ENDIF 283: MOV TEMP[4].x, TEMP[8].xxxx 284: MOV TEMP[7].x, TEMP[7].xxxx 285: MOV TEMP[9].xyz, -TEMP[1].xyzx 286: ADD TEMP[10].xyz, IMM[8].xyzz, -TEMP[0].xyzz 287: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[9].xyzz 288: DP3 TEMP[9].x, TEMP[9].xyzz, TEMP[1].xyzz 289: RCP TEMP[9].x, TEMP[9].xxxx 290: MUL TEMP[9].x, TEMP[10].xxxx, TEMP[9].xxxx 291: MAD TEMP[10].xyz, TEMP[1].xyzz, TEMP[9].xxxx, TEMP[0].xyzz 292: ADD TEMP[10].xyz, TEMP[10].xyzz, IMM[9].xyzz 293: DP3 TEMP[10].x, TEMP[10].xyzz, TEMP[10].xyzz 294: SQRT TEMP[10].x, TEMP[10].xxxx 295: FSGE TEMP[11].x, IMM[8].wwww, TEMP[10].xxxx 296: UIF TEMP[11].xxxx :0 297: MUL TEMP[10].x, TEMP[10].xxxx, TEMP[10].xxxx 298: ADD TEMP[10].x, IMM[9].wwww, -TEMP[10].xxxx 299: SQRT TEMP[10].x, TEMP[10].xxxx 300: ADD TEMP[9].x, TEMP[9].xxxx, -TEMP[10].xxxx 301: FSGE TEMP[10].x, TEMP[9].xxxx, IMM[1].zzzz 302: FSGE TEMP[11].x, TEMP[9].xxxx, IMM[2].wwww 303: AND TEMP[10].x, TEMP[10].xxxx, TEMP[11].xxxx 304: FSGE TEMP[8].x, TEMP[8].xxxx, TEMP[9].xxxx 305: AND TEMP[8].x, TEMP[10].xxxx, TEMP[8].xxxx 306: UIF TEMP[8].xxxx :0 307: MOV TEMP[4].x, TEMP[9].xxxx 308: MOV TEMP[7].x, IMM[7].yyyy 309: ENDIF 310: ENDIF 311: MOV TEMP[2].x, TEMP[4].xxxx 312: MOV TEMP[3].x, TEMP[7].xxxx 313: ENDIF 314: ENDIF 315: MOV TEMP[0].xyz, TEMP[0].xyzx 316: MOV TEMP[0].w, TEMP[2].xxxx 317: MOV TEMP[1].xyz, TEMP[1].xyzx 318: I2F TEMP[2].x, TEMP[3].xxxx 319: MOV TEMP[1].w, TEMP[2].xxxx 320: I2F TEMP[2].x, TEMP[5].xxxx 321: MOV TEMP[2].z, TEMP[2].xxxx 322: I2F TEMP[3].x, TEMP[6].xxxx 323: MOV TEMP[2].w, TEMP[3].xxxx 324: MOV OUT[3], TEMP[2] 325: MOV OUT[1], TEMP[1] 326: MOV OUT[2], TEMP[0] 327: MOV OUT[0], IN[0] 328: END ", stream_output = {num_outputs = 4, {16, 0, 0, 0, }{{register_index = 0, start_component = 0, num_components = 4, output_buffer = 0, }, {register_index = 2, start_component = 0, num_components = 4, output_buffer = 0, }, {register_index = 1, start_component = 0, num_components = 4, output_buffer = 0, }, {register_index = 3, start_component = 0, num_components = 4, output_buffer = 0, }, }}, } constant_buffer 0: {buffer = NULL, buffer_offset = 0, buffer_size = 64, user_buffer = 0x01942550, } end shader: VERTEX viewport_state 0: {scale = {128, -128, 0.5, }, translate = {128, 128, 0.5, }, } rasterizer_state: {flatshade = 0, light_twoside = 0, clamp_vertex_color = 0, clamp_fragment_color = 0, front_ccw = 1, cull_face = 2, fill_front = 0, fill_back = 0, offset_point = 0, offset_line = 0, offset_tri = 0, scissor = 0, poly_smooth = 0, poly_stipple_enable = 0, point_smooth = 0, sprite_coord_enable = 0, sprite_coord_mode = 0, point_quad_rasterization = 1, point_tri_clip = 0, point_size_per_vertex = 0, multisample = 0, line_smooth = 0, line_stipple_enable = 0, line_stipple_factor = 0, line_stipple_pattern = 65535, line_last_pixel = 0, flatshade_first = 0, half_pixel_center = 1, bottom_edge_rule = 1, rasterizer_discard = 0, depth_clip = 1, clip_halfz = 0, clip_plane_enable = 0, line_width = 1, point_size = 1, offset_units = 0, offset_scale = 0, offset_clamp = 0, } begin shader: FRAGMENT shader_state: {tokens = " FRAG DCL IN[0], GENERIC[9], PERSPECTIVE DCL IN[1], GENERIC[10], PERSPECTIVE DCL IN[2], GENERIC[11], PERSPECTIVE DCL OUT[0], COLOR DCL CONST[0..21] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] INT32 {3, 0, -1, 2} IMM[1] FLT32 { 1.0000, 0.0000, 0.7000, -1.0000} IMM[2] INT32 {1, 4, 0, 0} IMM[3] FLT32 { 0.2500, 0.0000, 0.0000, 0.0000} 0: F2I TEMP[0].x, IN[0].wwww 1: F2I TEMP[1].x, IN[2].wwww 2: F2I TEMP[2].x, IN[2].zzzz 3: ISLT TEMP[2].x, TEMP[2].xxxx, IMM[0].xxxx 4: AND TEMP[3].x, TEMP[2].xxxx, IMM[1].xxxx 5: KILL_IF -TEMP[3].xxxx 6: USEQ TEMP[3].x, TEMP[1].xxxx, IMM[0].yyyy 7: UIF TEMP[3].xxxx :0 8: USEQ TEMP[3].x, TEMP[0].xxxx, IMM[0].zzzz 9: UIF TEMP[3].xxxx :0 10: MOV TEMP[3].w, IMM[1].yyyy 11: MOV TEMP[3].xyz, CONST[21].xyzx 12: MOV TEMP[3], TEMP[3] 13: ELSE :0 14: MUL TEMP[4].xyz, IN[0].xyzz, IN[1].wwww 15: ADD TEMP[5].xyz, IN[1].xyzz, TEMP[4].xyzz 16: ADD TEMP[5].xyz, CONST[20].xyzz, -TEMP[5].xyzz 17: UMUL TEMP[6].x, TEMP[0].xxxx, IMM[0].wwww 18: UARL ADDR[0].x, TEMP[6].xxxx 19: MOV TEMP[7].xyz, CONST[ADDR[0].x+10] 20: UARL ADDR[0].x, TEMP[6].xxxx 21: MOV TEMP[6].x, CONST[ADDR[0].x+11] 22: ADD TEMP[4].xyz, IN[1].xyzz, TEMP[4].xyzz 23: ADD TEMP[4].xyz, TEMP[4].xyzz, -TEMP[7].xyzz 24: RCP TEMP[6].x, TEMP[6].xxxx 25: MUL TEMP[4].xyz, TEMP[4].xyzz, TEMP[6].xxxx 26: DP3 TEMP[6].x, TEMP[5].xyzz, TEMP[5].xyzz 27: RSQ TEMP[6].x, TEMP[6].xxxx 28: MUL TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xxxx 29: DP3 TEMP[4].x, TEMP[4].xyzz, TEMP[5].xyzz 30: MAX TEMP[4].x, TEMP[4].xxxx, IMM[1].yyyy 31: USEQ TEMP[5].x, TEMP[0].xxxx, IMM[0].yyyy 32: UIF TEMP[5].xxxx :0 33: MOV TEMP[5].xyz, IMM[1].xyyx 34: ELSE :0 35: USEQ TEMP[6].x, TEMP[0].xxxx, IMM[2].xxxx 36: UIF TEMP[6].xxxx :0 37: MOV TEMP[5].xyz, IMM[1].yxyy 38: ELSE :0 39: USEQ TEMP[6].x, TEMP[0].xxxx, IMM[0].wwww 40: UIF TEMP[6].xxxx :0 41: MOV TEMP[5].xyz, IMM[1].yyxy 42: ELSE :0 43: USEQ TEMP[6].x, TEMP[0].xxxx, IMM[0].xxxx 44: UIF TEMP[6].xxxx :0 45: MOV TEMP[5].xyz, IMM[1].xxyx 46: ELSE :0 47: USEQ TEMP[6].x, TEMP[0].xxxx, IMM[2].yyyy 48: UIF TEMP[6].xxxx :0 49: MOV TEMP[5].xyz, IMM[1].zzzz 50: ENDIF 51: ENDIF 52: ENDIF 53: ENDIF 54: ENDIF 55: MOV TEMP[6].w, IMM[1].xxxx 56: MUL TEMP[6].xyz, TEMP[5].xyzz, TEMP[4].xxxx 57: MOV TEMP[3], TEMP[6] 58: ENDIF 59: ELSE :0 60: ISLT TEMP[1].x, IMM[0].yyyy, TEMP[1].xxxx 61: UIF TEMP[1].xxxx :0 62: USEQ TEMP[2].x, TEMP[0].xxxx, IMM[0].zzzz 63: AND TEMP[1].x, TEMP[2].xxxx, IMM[1].xxxx 64: KILL_IF -TEMP[1].xxxx 65: MOV TEMP[3], IMM[1].wwwy 66: ELSE :0 67: USEQ TEMP[2].x, TEMP[0].xxxx, IMM[0].zzzz 68: AND TEMP[1].x, TEMP[2].xxxx, IMM[1].xxxx 69: KILL_IF -TEMP[1].xxxx 70: MUL TEMP[1].xyz, IN[0].xyzz, IN[1].wwww 71: ADD TEMP[2].xyz, IN[1].xyzz, TEMP[1].xyzz 72: ADD TEMP[2].xyz, CONST[20].xyzz, -TEMP[2].xyzz 73: UMUL TEMP[4].x, TEMP[0].xxxx, IMM[0].wwww 74: UARL ADDR[0].x, TEMP[4].xxxx 75: MOV TEMP[5].xyz, CONST[ADDR[0].x] 76: UARL ADDR[0].x, TEMP[4].xxxx 77: MOV TEMP[4].x, CONST[ADDR[0].x+1] 78: ADD TEMP[1].xyz, IN[1].xyzz, TEMP[1].xyzz 79: ADD TEMP[1].xyz, TEMP[1].xyzz, -TEMP[5].xyzz 80: RCP TEMP[4].x, TEMP[4].xxxx 81: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[4].xxxx 82: DP3 TEMP[4].x, TEMP[2].xyzz, TEMP[2].xyzz 83: RSQ TEMP[4].x, TEMP[4].xxxx 84: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[4].xxxx 85: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[2].xyzz 86: MAX TEMP[1].x, TEMP[1].xxxx, IMM[1].yyyy 87: USEQ TEMP[2].x, TEMP[0].xxxx, IMM[0].yyyy 88: UIF TEMP[2].xxxx :0 89: MOV TEMP[2].xyz, IMM[1].xyyx 90: ELSE :0 91: USEQ TEMP[4].x, TEMP[0].xxxx, IMM[2].xxxx 92: UIF TEMP[4].xxxx :0 93: MOV TEMP[2].xyz, IMM[1].yxyy 94: ELSE :0 95: USEQ TEMP[4].x, TEMP[0].xxxx, IMM[0].wwww 96: UIF TEMP[4].xxxx :0 97: MOV TEMP[2].xyz, IMM[1].yyxy 98: ELSE :0 99: USEQ TEMP[4].x, TEMP[0].xxxx, IMM[0].xxxx 100: UIF TEMP[4].xxxx :0 101: MOV TEMP[2].xyz, IMM[1].xxyx 102: ELSE :0 103: USEQ TEMP[0].x, TEMP[0].xxxx, IMM[2].yyyy 104: UIF TEMP[0].xxxx :0 105: MOV TEMP[2].xyz, IMM[1].zzzz 106: ENDIF 107: ENDIF 108: ENDIF 109: ENDIF 110: ENDIF 111: MOV TEMP[0].w, IMM[1].xxxx 112: MUL TEMP[1].xyz, TEMP[2].xyzz, TEMP[1].xxxx 113: MUL TEMP[0].xyz, TEMP[1].xyzz, IMM[3].xxxx 114: MOV TEMP[3], TEMP[0] 115: ENDIF 116: ENDIF 117: MOV OUT[0], TEMP[3] 118: END ", } constant_buffer 0: {buffer = NULL, buffer_offset = 0, buffer_size = 352, user_buffer = 0x0155f960, } end shader: FRAGMENT begin shader: GEOMETRY shader_state: {tokens = " GEOM PROPERTY GS_INPUT_PRIMITIVE POINTS PROPERTY GS_OUTPUT_PRIMITIVE POINTS PROPERTY GS_MAX_OUTPUT_VERTICES 3 PROPERTY GS_INVOCATIONS 1 DCL IN[][0], POSITION DCL IN[][1], GENERIC[9] DCL IN[][2], GENERIC[10] DCL IN[][3], GENERIC[11] DCL OUT[0], POSITION DCL OUT[1], GENERIC[9] DCL OUT[2], GENERIC[10] DCL OUT[3], GENERIC[11] DCL CONST[0..11] DCL TEMP[0..4], LOCAL DCL ADDR[0] IMM[0] INT32 {1, -1, 0, 2} IMM[1] FLT32 { 3.0000, 0.0000, -1.0000, 1.0000} IMM[2] FLT32 { 9999.9004, 2.0000, 0.0000, 0.0000} 0: F2I TEMP[0].x, IN[0][1].wwww 1: F2I TEMP[1].x, IN[0][3].zzzz 2: F2I TEMP[2].x, IN[0][3].wwww 3: ISGE TEMP[1].x, IMM[0].xxxx, TEMP[1].xxxx 4: USNE TEMP[3].x, TEMP[0].xxxx, IMM[0].yyyy 5: AND TEMP[1].x, TEMP[1].xxxx, TEMP[3].xxxx 6: UIF TEMP[1].xxxx :0 7: MOV TEMP[1].xyw, IN[0][3].xyxw 8: MOV TEMP[1].z, IMM[1].xxxx 9: MOV OUT[3], TEMP[1] 10: MOV OUT[1], IN[0][1] 11: MOV OUT[2], IN[0][2] 12: MOV OUT[0], IN[0][0] 13: EMIT IMM[0].zzzz 14: ENDPRIM IMM[0].zzzz 15: USNE TEMP[1].x, TEMP[2].xxxx, IMM[0].zzzz 16: ISLT TEMP[2].x, IMM[0].zzzz, CONST[11].xxxx 17: OR TEMP[1].x, TEMP[1].xxxx, TEMP[2].xxxx 18: NOT TEMP[1].x, TEMP[1].xxxx 19: UIF TEMP[1].xxxx :0 20: UMUL TEMP[0].x, TEMP[0].xxxx, IMM[0].wwww 21: UARL ADDR[0].x, TEMP[0].xxxx 22: MOV TEMP[1].xyz, CONST[ADDR[0].x] 23: UARL ADDR[0].x, TEMP[0].xxxx 24: MOV TEMP[0].x, CONST[ADDR[0].x+1] 25: MAD TEMP[2].xyz, IN[0][1].xyzz, IN[0][2].wwww, IN[0][2].xyzz 26: ADD TEMP[1].xyz, TEMP[2].xyzz, -TEMP[1].xyzz 27: RCP TEMP[0].x, TEMP[0].xxxx 28: MUL TEMP[0].xyz, TEMP[1].xyzz, TEMP[0].xxxx 29: MAD TEMP[1].xyz, IN[0][1].xyzz, IN[0][2].wwww, IN[0][2].xyzz 30: MAD TEMP[1].xyz, TEMP[0].xyzz, IMM[1].yyyy, TEMP[1].xyzz 31: ADD TEMP[2].xyz, CONST[10].xyzz, -TEMP[1].xyzz 32: DP3 TEMP[3].x, TEMP[2].xyzz, TEMP[2].xyzz 33: SQRT TEMP[3].x, TEMP[3].xxxx 34: MOV TEMP[4].xyz, TEMP[1].xyzx 35: MOV TEMP[4].w, TEMP[3].xxxx 36: RCP TEMP[3].x, TEMP[3].xxxx 37: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[3].xxxx 38: MOV TEMP[2].w, IMM[1].zzzz 39: MOV TEMP[3].z, IMM[1].wwww 40: MOV TEMP[3].w, IMM[1].wwww 41: MOV OUT[3], TEMP[3] 42: MOV OUT[1], TEMP[2] 43: MOV OUT[2], TEMP[4] 44: MOV OUT[0], IN[0][0] 45: EMIT IMM[0].zzzz 46: ENDPRIM IMM[0].zzzz 47: MOV TEMP[1].xyz, TEMP[1].xyzx 48: MOV TEMP[1].w, IMM[2].xxxx 49: DP3 TEMP[2].x, TEMP[0].xyzz, IN[0][1].xyzz 50: MUL TEMP[0].xyz, TEMP[2].xxxx, TEMP[0].xyzz 51: MUL TEMP[0].xyz, IMM[2].yyyy, TEMP[0].xyzz 52: ADD TEMP[0].xyz, IN[0][1].xyzz, -TEMP[0].xyzz 53: MOV TEMP[0].w, IMM[1].zzzz 54: MOV TEMP[2].z, IMM[1].wwww 55: MOV TEMP[2].w, IMM[1].zzzz 56: MOV OUT[3], TEMP[2] 57: MOV OUT[1], TEMP[0] 58: MOV OUT[2], TEMP[1] 59: MOV OUT[0], IN[0][0] 60: EMIT IMM[0].zzzz 61: ENDPRIM IMM[0].zzzz 62: ENDIF 63: ENDIF 64: END ", stream_output = {num_outputs = 4, {16, 0, 0, 0, }{{register_index = 0, start_component = 0, num_components = 4, output_buffer = 0, }, {register_index = 2, start_component = 0, num_components = 4, output_buffer = 0, }, {register_index = 1, start_component = 0, num_components = 4, output_buffer = 0, }, {register_index = 3, start_component = 0, num_components = 4, output_buffer = 0, }, }}, } constant_buffer 0: {buffer = NULL, buffer_offset = 0, buffer_size = 192, user_buffer = 0x019687d0, } end shader: GEOMETRY depth_stencil_alpha_state: {depth = {enabled = 0, }, stencil = {{enabled = 0, }, {enabled = 0, }, }, alpha = {enabled = 0, }, } stencil_ref: {ref_value = {0, 0, }, } blend_state: {dither = 1, alpha_to_coverage = 0, alpha_to_one = 0, logicop_enable = 0, independent_blend_enable = 0, rt = {{blend_enable = 0, colormask = 15, }, }, } blend_color: {color = {0, 0, 0, 0, }, } min_samples = 1 sample_mask = 0xffffffff framebuffer_state: {width = 256, height = 256, nr_cbufs = 1, cbufs = {0x01513f30, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, zsbuf = 0x01513ff0, } cbufs[0]: surface: {format = PIPE_FORMAT_B8G8R8X8_UNORM, width = 256, height = 256, texture = 0x01511e30, u.tex.level = 0, u.tex.first_layer = 0, u.tex.last_layer = 0, } resource: {target = 2d, format = PIPE_FORMAT_B8G8R8X8_UNORM, width0 = 256, height0 = 256, depth0 = 1, array_size = 1, last_level = 0, nr_samples = 0, usage = 0, bind = 786442, flags = 0, } zsbuf: surface: {format = PIPE_FORMAT_Z24X8_UNORM, width = 256, height = 256, texture = 0x01512dc0, u.tex.level = 0, u.tex.first_layer = 0, u.tex.last_layer = 0, } resource: {target = 2d, format = PIPE_FORMAT_Z24X8_UNORM, width0 = 256, height0 = 256, depth0 = 1, array_size = 1, last_level = 0, nr_samples = 0, usage = 0, bind = 1, flags = 0, }