Implement the extension GL_AMD_shader_fragment_mask
This commit is contained in:
parent
d004e5ca4c
commit
05506bb874
12 changed files with 288 additions and 8 deletions
|
|
@ -653,6 +653,8 @@ enum TOperator {
|
|||
EOpTextureGatherLod,
|
||||
EOpTextureGatherLodOffset,
|
||||
EOpTextureGatherLodOffsets,
|
||||
EOpFragmentMaskFetch,
|
||||
EOpFragmentFetch,
|
||||
#endif
|
||||
|
||||
EOpSparseTextureGuardBegin,
|
||||
|
|
@ -1032,6 +1034,9 @@ struct TCrackedTextureOp {
|
|||
bool grad;
|
||||
bool subpass;
|
||||
bool lodClamp;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
bool fragMask;
|
||||
#endif
|
||||
};
|
||||
|
||||
//
|
||||
|
|
@ -1079,6 +1084,9 @@ public:
|
|||
cracked.grad = false;
|
||||
cracked.subpass = false;
|
||||
cracked.lodClamp = false;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
cracked.fragMask = false;
|
||||
#endif
|
||||
|
||||
switch (op) {
|
||||
case EOpImageQuerySize:
|
||||
|
|
@ -1210,6 +1218,14 @@ public:
|
|||
case EOpSparseImageLoadLod:
|
||||
cracked.lod = true;
|
||||
break;
|
||||
case EOpFragmentMaskFetch:
|
||||
cracked.subpass = sampler.dim == EsdSubpass;
|
||||
cracked.fragMask = true;
|
||||
break;
|
||||
case EOpFragmentFetch:
|
||||
cracked.subpass = sampler.dim == EsdSubpass;
|
||||
cracked.fragMask = true;
|
||||
break;
|
||||
#endif
|
||||
case EOpSubpassLoad:
|
||||
case EOpSubpassLoadMS:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue