|
@@ -4837,6 +4837,8 @@ struct DxilInst_InstanceID {
|
|
|
if (1 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
};
|
|
|
|
|
|
/// This instruction The autogenerated index of the current instance in the top-level structure
|
|
@@ -4853,6 +4855,8 @@ struct DxilInst_InstanceIndex {
|
|
|
if (1 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
};
|
|
|
|
|
|
/// This instruction Returns the value passed as HitKind in ReportIntersection(). If intersection was reported by fixed-function triangle intersection, HitKind will be one of HIT_KIND_TRIANGLE_FRONT_FACE or HIT_KIND_TRIANGLE_BACK_FACE.
|
|
@@ -4869,6 +4873,8 @@ struct DxilInst_HitKind {
|
|
|
if (1 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
};
|
|
|
|
|
|
/// This instruction uint containing the current ray flags.
|
|
@@ -4885,6 +4891,8 @@ struct DxilInst_RayFlags {
|
|
|
if (1 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
};
|
|
|
|
|
|
/// This instruction The current x and y location within the Width and Height
|
|
@@ -4901,6 +4909,8 @@ struct DxilInst_DispatchRaysIndex {
|
|
|
if (2 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_col = 1,
|
|
@@ -4924,6 +4934,8 @@ struct DxilInst_DispatchRaysDimensions {
|
|
|
if (2 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_col = 1,
|
|
@@ -4947,6 +4959,8 @@ struct DxilInst_WorldRayOrigin {
|
|
|
if (2 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_col = 1,
|
|
@@ -4970,6 +4984,8 @@ struct DxilInst_WorldRayDirection {
|
|
|
if (2 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_col = 1,
|
|
@@ -4993,6 +5009,8 @@ struct DxilInst_ObjectRayOrigin {
|
|
|
if (2 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_col = 1,
|
|
@@ -5016,6 +5034,8 @@ struct DxilInst_ObjectRayDirection {
|
|
|
if (2 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_col = 1,
|
|
@@ -5039,6 +5059,8 @@ struct DxilInst_ObjectToWorld {
|
|
|
if (3 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_row = 1,
|
|
@@ -5065,6 +5087,8 @@ struct DxilInst_WorldToObject {
|
|
|
if (3 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_row = 1,
|
|
@@ -5091,6 +5115,8 @@ struct DxilInst_RayTMin {
|
|
|
if (1 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
};
|
|
|
|
|
|
/// This instruction float representing the current parametric ending point for the ray
|
|
@@ -5107,6 +5133,8 @@ struct DxilInst_RayTCurrent {
|
|
|
if (1 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
};
|
|
|
|
|
|
/// This instruction Used in an any hit shader to reject an intersection and terminate the shader
|
|
@@ -5123,6 +5151,8 @@ struct DxilInst_IgnoreHit {
|
|
|
if (1 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
};
|
|
|
|
|
|
/// This instruction Used in an any hit shader to abort the ray query and the intersection shader (if any). The current hit is committed and execution passes to the closest hit shader with the closest hit recorded so far
|
|
@@ -5139,6 +5169,8 @@ struct DxilInst_AcceptHitAndEndSearch {
|
|
|
if (1 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
};
|
|
|
|
|
|
/// This instruction returns the view index
|
|
@@ -5155,6 +5187,8 @@ struct DxilInst_TraceRay {
|
|
|
if (16 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_AccelerationStructure = 1,
|
|
@@ -5220,6 +5254,8 @@ struct DxilInst_ReportHit {
|
|
|
if (4 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_THit = 1,
|
|
@@ -5249,6 +5285,8 @@ struct DxilInst_CallShader {
|
|
|
if (3 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_ShaderIndex = 1,
|
|
@@ -5275,6 +5313,8 @@ struct DxilInst_CreateHandleFromResourceStructForLib {
|
|
|
if (2 != llvm::dyn_cast<llvm::CallInst>(Instr)->getNumArgOperands()) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+ // Metadata
|
|
|
+ bool requiresUniformInputs() const { return false; }
|
|
|
// Operand indexes
|
|
|
enum OperandIdx {
|
|
|
arg_Resource = 1,
|