diff options
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_glsl_instructions.h')
| -rw-r--r-- | src/shader_recompiler/backend/glsl/emit_glsl_instructions.h | 162 |
1 files changed, 81 insertions, 81 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_instructions.h b/src/shader_recompiler/backend/glsl/emit_glsl_instructions.h index 550193dc3..681e0bdb9 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_instructions.h +++ b/src/shader_recompiler/backend/glsl/emit_glsl_instructions.h | |||
| @@ -25,9 +25,9 @@ inline void EmitSetLoopSafetyVariable(EmitContext&) {} | |||
| 25 | inline void EmitGetLoopSafetyVariable(EmitContext&) {} | 25 | inline void EmitGetLoopSafetyVariable(EmitContext&) {} |
| 26 | 26 | ||
| 27 | // Microinstruction emitters | 27 | // Microinstruction emitters |
| 28 | void EmitPhi(EmitContext& ctx, IR::Inst* inst); | 28 | void EmitPhi(EmitContext& ctx, IR::Inst& inst); |
| 29 | void EmitVoid(EmitContext& ctx); | 29 | void EmitVoid(EmitContext& ctx); |
| 30 | void EmitIdentity(EmitContext& ctx, IR::Inst* inst, const IR::Value& value); | 30 | void EmitIdentity(EmitContext& ctx, IR::Inst& inst, const IR::Value& value); |
| 31 | void EmitConditionRef(EmitContext& ctx, IR::Inst& inst, const IR::Value& value); | 31 | void EmitConditionRef(EmitContext& ctx, IR::Inst& inst, const IR::Value& value); |
| 32 | void EmitReference(EmitContext&); | 32 | void EmitReference(EmitContext&); |
| 33 | void EmitPhiMove(EmitContext& ctx, const IR::Value& phi, const IR::Value& value); | 33 | void EmitPhiMove(EmitContext& ctx, const IR::Value& phi, const IR::Value& value); |
| @@ -59,7 +59,7 @@ void EmitGetCbufU8(EmitContext& ctx, const IR::Value& binding, const IR::Value& | |||
| 59 | void EmitGetCbufS8(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); | 59 | void EmitGetCbufS8(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); |
| 60 | void EmitGetCbufU16(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); | 60 | void EmitGetCbufU16(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); |
| 61 | void EmitGetCbufS16(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); | 61 | void EmitGetCbufS16(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); |
| 62 | void EmitGetCbufU32(EmitContext& ctx, IR::Inst* inst, const IR::Value& binding, | 62 | void EmitGetCbufU32(EmitContext& ctx, IR::Inst& inst, const IR::Value& binding, |
| 63 | const IR::Value& offset); | 63 | const IR::Value& offset); |
| 64 | void EmitGetCbufF32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); | 64 | void EmitGetCbufF32(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); |
| 65 | void EmitGetCbufU32x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); | 65 | void EmitGetCbufU32x2(EmitContext& ctx, const IR::Value& binding, const IR::Value& offset); |
| @@ -231,19 +231,19 @@ void EmitGetInBoundsFromOp(EmitContext& ctx); | |||
| 231 | void EmitFPAbs16(EmitContext& ctx, std::string value); | 231 | void EmitFPAbs16(EmitContext& ctx, std::string value); |
| 232 | void EmitFPAbs32(EmitContext& ctx, std::string value); | 232 | void EmitFPAbs32(EmitContext& ctx, std::string value); |
| 233 | void EmitFPAbs64(EmitContext& ctx, std::string value); | 233 | void EmitFPAbs64(EmitContext& ctx, std::string value); |
| 234 | void EmitFPAdd16(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 234 | void EmitFPAdd16(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 235 | void EmitFPAdd32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 235 | void EmitFPAdd32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 236 | void EmitFPAdd64(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 236 | void EmitFPAdd64(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 237 | void EmitFPFma16(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b, std::string c); | 237 | void EmitFPFma16(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b, std::string c); |
| 238 | void EmitFPFma32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b, std::string c); | 238 | void EmitFPFma32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b, std::string c); |
| 239 | void EmitFPFma64(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b, std::string c); | 239 | void EmitFPFma64(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b, std::string c); |
| 240 | void EmitFPMax32(EmitContext& ctx, std::string a, std::string b); | 240 | void EmitFPMax32(EmitContext& ctx, std::string a, std::string b); |
| 241 | void EmitFPMax64(EmitContext& ctx, std::string a, std::string b); | 241 | void EmitFPMax64(EmitContext& ctx, std::string a, std::string b); |
| 242 | void EmitFPMin32(EmitContext& ctx, std::string a, std::string b); | 242 | void EmitFPMin32(EmitContext& ctx, std::string a, std::string b); |
| 243 | void EmitFPMin64(EmitContext& ctx, std::string a, std::string b); | 243 | void EmitFPMin64(EmitContext& ctx, std::string a, std::string b); |
| 244 | void EmitFPMul16(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 244 | void EmitFPMul16(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 245 | void EmitFPMul32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 245 | void EmitFPMul32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 246 | void EmitFPMul64(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 246 | void EmitFPMul64(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 247 | void EmitFPNeg16(EmitContext& ctx, std::string value); | 247 | void EmitFPNeg16(EmitContext& ctx, std::string value); |
| 248 | void EmitFPNeg32(EmitContext& ctx, std::string value); | 248 | void EmitFPNeg32(EmitContext& ctx, std::string value); |
| 249 | void EmitFPNeg64(EmitContext& ctx, std::string value); | 249 | void EmitFPNeg64(EmitContext& ctx, std::string value); |
| @@ -316,55 +316,55 @@ void EmitFPUnordGreaterThanEqual64(EmitContext& ctx, std::string lhs, std::strin | |||
| 316 | void EmitFPIsNan16(EmitContext& ctx, std::string value); | 316 | void EmitFPIsNan16(EmitContext& ctx, std::string value); |
| 317 | void EmitFPIsNan32(EmitContext& ctx, std::string value); | 317 | void EmitFPIsNan32(EmitContext& ctx, std::string value); |
| 318 | void EmitFPIsNan64(EmitContext& ctx, std::string value); | 318 | void EmitFPIsNan64(EmitContext& ctx, std::string value); |
| 319 | void EmitIAdd32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 319 | void EmitIAdd32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 320 | void EmitIAdd64(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 320 | void EmitIAdd64(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 321 | void EmitISub32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 321 | void EmitISub32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 322 | void EmitISub64(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 322 | void EmitISub64(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 323 | void EmitIMul32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 323 | void EmitIMul32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 324 | void EmitINeg32(EmitContext& ctx, IR::Inst* inst, std::string value); | 324 | void EmitINeg32(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 325 | void EmitINeg64(EmitContext& ctx, IR::Inst* inst, std::string value); | 325 | void EmitINeg64(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 326 | void EmitIAbs32(EmitContext& ctx, IR::Inst* inst, std::string value); | 326 | void EmitIAbs32(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 327 | void EmitIAbs64(EmitContext& ctx, IR::Inst* inst, std::string value); | 327 | void EmitIAbs64(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 328 | void EmitShiftLeftLogical32(EmitContext& ctx, IR::Inst* inst, std::string base, std::string shift); | 328 | void EmitShiftLeftLogical32(EmitContext& ctx, IR::Inst& inst, std::string base, std::string shift); |
| 329 | void EmitShiftLeftLogical64(EmitContext& ctx, IR::Inst* inst, std::string base, std::string shift); | 329 | void EmitShiftLeftLogical64(EmitContext& ctx, IR::Inst& inst, std::string base, std::string shift); |
| 330 | void EmitShiftRightLogical32(EmitContext& ctx, IR::Inst* inst, std::string base, std::string shift); | 330 | void EmitShiftRightLogical32(EmitContext& ctx, IR::Inst& inst, std::string base, std::string shift); |
| 331 | void EmitShiftRightLogical64(EmitContext& ctx, IR::Inst* inst, std::string base, std::string shift); | 331 | void EmitShiftRightLogical64(EmitContext& ctx, IR::Inst& inst, std::string base, std::string shift); |
| 332 | void EmitShiftRightArithmetic32(EmitContext& ctx, IR::Inst* inst, std::string base, | 332 | void EmitShiftRightArithmetic32(EmitContext& ctx, IR::Inst& inst, std::string base, |
| 333 | std::string shift); | 333 | std::string shift); |
| 334 | void EmitShiftRightArithmetic64(EmitContext& ctx, IR::Inst* inst, std::string base, | 334 | void EmitShiftRightArithmetic64(EmitContext& ctx, IR::Inst& inst, std::string base, |
| 335 | std::string shift); | 335 | std::string shift); |
| 336 | void EmitBitwiseAnd32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 336 | void EmitBitwiseAnd32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 337 | void EmitBitwiseOr32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 337 | void EmitBitwiseOr32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 338 | void EmitBitwiseXor32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 338 | void EmitBitwiseXor32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 339 | void EmitBitFieldInsert(EmitContext& ctx, IR::Inst* inst, std::string base, std::string insert, | 339 | void EmitBitFieldInsert(EmitContext& ctx, IR::Inst& inst, std::string base, std::string insert, |
| 340 | std::string offset, std::string count); | 340 | std::string offset, std::string count); |
| 341 | void EmitBitFieldSExtract(EmitContext& ctx, IR::Inst* inst, std::string base, std::string offset, | 341 | void EmitBitFieldSExtract(EmitContext& ctx, IR::Inst& inst, std::string base, std::string offset, |
| 342 | std::string count); | 342 | std::string count); |
| 343 | void EmitBitFieldUExtract(EmitContext& ctx, IR::Inst* inst, std::string base, std::string offset, | 343 | void EmitBitFieldUExtract(EmitContext& ctx, IR::Inst& inst, std::string base, std::string offset, |
| 344 | std::string count); | 344 | std::string count); |
| 345 | void EmitBitReverse32(EmitContext& ctx, IR::Inst* inst, std::string value); | 345 | void EmitBitReverse32(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 346 | void EmitBitCount32(EmitContext& ctx, IR::Inst* inst, std::string value); | 346 | void EmitBitCount32(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 347 | void EmitBitwiseNot32(EmitContext& ctx, IR::Inst* inst, std::string value); | 347 | void EmitBitwiseNot32(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 348 | void EmitFindSMsb32(EmitContext& ctx, IR::Inst* inst, std::string value); | 348 | void EmitFindSMsb32(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 349 | void EmitFindUMsb32(EmitContext& ctx, IR::Inst* inst, std::string value); | 349 | void EmitFindUMsb32(EmitContext& ctx, IR::Inst& inst, std::string value); |
| 350 | void EmitSMin32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 350 | void EmitSMin32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 351 | void EmitUMin32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 351 | void EmitUMin32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 352 | void EmitSMax32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 352 | void EmitSMax32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 353 | void EmitUMax32(EmitContext& ctx, IR::Inst* inst, std::string a, std::string b); | 353 | void EmitUMax32(EmitContext& ctx, IR::Inst& inst, std::string a, std::string b); |
| 354 | void EmitSClamp32(EmitContext& ctx, IR::Inst* inst, std::string value, std::string min, | 354 | void EmitSClamp32(EmitContext& ctx, IR::Inst& inst, std::string value, std::string min, |
| 355 | std::string max); | 355 | std::string max); |
| 356 | void EmitUClamp32(EmitContext& ctx, IR::Inst* inst, std::string value, std::string min, | 356 | void EmitUClamp32(EmitContext& ctx, IR::Inst& inst, std::string value, std::string min, |
| 357 | std::string max); | 357 | std::string max); |
| 358 | void EmitSLessThan(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 358 | void EmitSLessThan(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 359 | void EmitULessThan(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 359 | void EmitULessThan(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 360 | void EmitIEqual(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 360 | void EmitIEqual(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 361 | void EmitSLessThanEqual(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 361 | void EmitSLessThanEqual(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 362 | void EmitULessThanEqual(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 362 | void EmitULessThanEqual(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 363 | void EmitSGreaterThan(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 363 | void EmitSGreaterThan(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 364 | void EmitUGreaterThan(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 364 | void EmitUGreaterThan(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 365 | void EmitINotEqual(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 365 | void EmitINotEqual(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 366 | void EmitSGreaterThanEqual(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 366 | void EmitSGreaterThanEqual(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 367 | void EmitUGreaterThanEqual(EmitContext& ctx, IR::Inst* inst, std::string lhs, std::string rhs); | 367 | void EmitUGreaterThanEqual(EmitContext& ctx, IR::Inst& inst, std::string lhs, std::string rhs); |
| 368 | void EmitSharedAtomicIAdd32(EmitContext& ctx, std::string pointer_offset, std::string value); | 368 | void EmitSharedAtomicIAdd32(EmitContext& ctx, std::string pointer_offset, std::string value); |
| 369 | void EmitSharedAtomicSMin32(EmitContext& ctx, std::string pointer_offset, std::string value); | 369 | void EmitSharedAtomicSMin32(EmitContext& ctx, std::string pointer_offset, std::string value); |
| 370 | void EmitSharedAtomicUMin32(EmitContext& ctx, std::string pointer_offset, std::string value); | 370 | void EmitSharedAtomicUMin32(EmitContext& ctx, std::string pointer_offset, std::string value); |
| @@ -536,31 +536,31 @@ void EmitBoundImageQueryLod(EmitContext&); | |||
| 536 | void EmitBoundImageGradient(EmitContext&); | 536 | void EmitBoundImageGradient(EmitContext&); |
| 537 | void EmitBoundImageRead(EmitContext&); | 537 | void EmitBoundImageRead(EmitContext&); |
| 538 | void EmitBoundImageWrite(EmitContext&); | 538 | void EmitBoundImageWrite(EmitContext&); |
| 539 | void EmitImageSampleImplicitLod(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 539 | void EmitImageSampleImplicitLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 540 | std::string coords, std::string bias_lc, const IR::Value& offset); | 540 | std::string coords, std::string bias_lc, const IR::Value& offset); |
| 541 | void EmitImageSampleExplicitLod(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 541 | void EmitImageSampleExplicitLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 542 | std::string coords, std::string lod_lc, const IR::Value& offset); | 542 | std::string coords, std::string lod_lc, const IR::Value& offset); |
| 543 | void EmitImageSampleDrefImplicitLod(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 543 | void EmitImageSampleDrefImplicitLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 544 | std::string coords, std::string dref, std::string bias_lc, | 544 | std::string coords, std::string dref, std::string bias_lc, |
| 545 | const IR::Value& offset); | 545 | const IR::Value& offset); |
| 546 | void EmitImageSampleDrefExplicitLod(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 546 | void EmitImageSampleDrefExplicitLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 547 | std::string coords, std::string dref, std::string lod_lc, | 547 | std::string coords, std::string dref, std::string lod_lc, |
| 548 | const IR::Value& offset); | 548 | const IR::Value& offset); |
| 549 | void EmitImageGather(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, std::string coords, | 549 | void EmitImageGather(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, std::string coords, |
| 550 | const IR::Value& offset, const IR::Value& offset2); | 550 | const IR::Value& offset, const IR::Value& offset2); |
| 551 | void EmitImageGatherDref(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 551 | void EmitImageGatherDref(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 552 | std::string coords, const IR::Value& offset, const IR::Value& offset2, | 552 | std::string coords, const IR::Value& offset, const IR::Value& offset2, |
| 553 | std::string dref); | 553 | std::string dref); |
| 554 | void EmitImageFetch(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, std::string coords, | 554 | void EmitImageFetch(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, std::string coords, |
| 555 | std::string offset, std::string lod, std::string ms); | 555 | std::string offset, std::string lod, std::string ms); |
| 556 | void EmitImageQueryDimensions(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 556 | void EmitImageQueryDimensions(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 557 | std::string lod); | 557 | std::string lod); |
| 558 | void EmitImageQueryLod(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 558 | void EmitImageQueryLod(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 559 | std::string coords); | 559 | std::string coords); |
| 560 | void EmitImageGradient(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, std::string coords, | 560 | void EmitImageGradient(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, std::string coords, |
| 561 | std::string derivates, std::string offset, std::string lod_clamp); | 561 | std::string derivates, std::string offset, std::string lod_clamp); |
| 562 | void EmitImageRead(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, std::string coords); | 562 | void EmitImageRead(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, std::string coords); |
| 563 | void EmitImageWrite(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, std::string coords, | 563 | void EmitImageWrite(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, std::string coords, |
| 564 | std::string color); | 564 | std::string color); |
| 565 | void EmitBindlessImageAtomicIAdd32(EmitContext&); | 565 | void EmitBindlessImageAtomicIAdd32(EmitContext&); |
| 566 | void EmitBindlessImageAtomicSMin32(EmitContext&); | 566 | void EmitBindlessImageAtomicSMin32(EmitContext&); |
| @@ -584,27 +584,27 @@ void EmitBoundImageAtomicAnd32(EmitContext&); | |||
| 584 | void EmitBoundImageAtomicOr32(EmitContext&); | 584 | void EmitBoundImageAtomicOr32(EmitContext&); |
| 585 | void EmitBoundImageAtomicXor32(EmitContext&); | 585 | void EmitBoundImageAtomicXor32(EmitContext&); |
| 586 | void EmitBoundImageAtomicExchange32(EmitContext&); | 586 | void EmitBoundImageAtomicExchange32(EmitContext&); |
| 587 | void EmitImageAtomicIAdd32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 587 | void EmitImageAtomicIAdd32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 588 | std::string coords, std::string value); | 588 | std::string coords, std::string value); |
| 589 | void EmitImageAtomicSMin32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 589 | void EmitImageAtomicSMin32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 590 | std::string coords, std::string value); | 590 | std::string coords, std::string value); |
| 591 | void EmitImageAtomicUMin32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 591 | void EmitImageAtomicUMin32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 592 | std::string coords, std::string value); | 592 | std::string coords, std::string value); |
| 593 | void EmitImageAtomicSMax32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 593 | void EmitImageAtomicSMax32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 594 | std::string coords, std::string value); | 594 | std::string coords, std::string value); |
| 595 | void EmitImageAtomicUMax32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 595 | void EmitImageAtomicUMax32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 596 | std::string coords, std::string value); | 596 | std::string coords, std::string value); |
| 597 | void EmitImageAtomicInc32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 597 | void EmitImageAtomicInc32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 598 | std::string coords, std::string value); | 598 | std::string coords, std::string value); |
| 599 | void EmitImageAtomicDec32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 599 | void EmitImageAtomicDec32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 600 | std::string coords, std::string value); | 600 | std::string coords, std::string value); |
| 601 | void EmitImageAtomicAnd32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 601 | void EmitImageAtomicAnd32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 602 | std::string coords, std::string value); | 602 | std::string coords, std::string value); |
| 603 | void EmitImageAtomicOr32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 603 | void EmitImageAtomicOr32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 604 | std::string coords, std::string value); | 604 | std::string coords, std::string value); |
| 605 | void EmitImageAtomicXor32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 605 | void EmitImageAtomicXor32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 606 | std::string coords, std::string value); | 606 | std::string coords, std::string value); |
| 607 | void EmitImageAtomicExchange32(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, | 607 | void EmitImageAtomicExchange32(EmitContext& ctx, IR::Inst& inst, const IR::Value& index, |
| 608 | std::string coords, std::string value); | 608 | std::string coords, std::string value); |
| 609 | void EmitLaneId(EmitContext& ctx); | 609 | void EmitLaneId(EmitContext& ctx); |
| 610 | void EmitVoteAll(EmitContext& ctx, std::string pred); | 610 | void EmitVoteAll(EmitContext& ctx, std::string pred); |
| @@ -616,13 +616,13 @@ void EmitSubgroupLtMask(EmitContext& ctx); | |||
| 616 | void EmitSubgroupLeMask(EmitContext& ctx); | 616 | void EmitSubgroupLeMask(EmitContext& ctx); |
| 617 | void EmitSubgroupGtMask(EmitContext& ctx); | 617 | void EmitSubgroupGtMask(EmitContext& ctx); |
| 618 | void EmitSubgroupGeMask(EmitContext& ctx); | 618 | void EmitSubgroupGeMask(EmitContext& ctx); |
| 619 | void EmitShuffleIndex(EmitContext& ctx, IR::Inst* inst, std::string value, std::string index, | 619 | void EmitShuffleIndex(EmitContext& ctx, IR::Inst& inst, std::string value, std::string index, |
| 620 | std::string clamp, std::string segmentation_mask); | 620 | std::string clamp, std::string segmentation_mask); |
| 621 | void EmitShuffleUp(EmitContext& ctx, IR::Inst* inst, std::string value, std::string index, | 621 | void EmitShuffleUp(EmitContext& ctx, IR::Inst& inst, std::string value, std::string index, |
| 622 | std::string clamp, std::string segmentation_mask); | 622 | std::string clamp, std::string segmentation_mask); |
| 623 | void EmitShuffleDown(EmitContext& ctx, IR::Inst* inst, std::string value, std::string index, | 623 | void EmitShuffleDown(EmitContext& ctx, IR::Inst& inst, std::string value, std::string index, |
| 624 | std::string clamp, std::string segmentation_mask); | 624 | std::string clamp, std::string segmentation_mask); |
| 625 | void EmitShuffleButterfly(EmitContext& ctx, IR::Inst* inst, std::string value, std::string index, | 625 | void EmitShuffleButterfly(EmitContext& ctx, IR::Inst& inst, std::string value, std::string index, |
| 626 | std::string clamp, std::string segmentation_mask); | 626 | std::string clamp, std::string segmentation_mask); |
| 627 | void EmitFSwizzleAdd(EmitContext& ctx, std::string op_a, std::string op_b, std::string swizzle); | 627 | void EmitFSwizzleAdd(EmitContext& ctx, std::string op_a, std::string op_b, std::string swizzle); |
| 628 | void EmitDPdxFine(EmitContext& ctx, std::string op_a); | 628 | void EmitDPdxFine(EmitContext& ctx, std::string op_a); |