{
reg = v[i];
}
- else if(src.rel.type == Shader::PARAMETER_LOOP)
- {
- Int aL = this->aL[loopDepth];
-
- reg = v[i + aL];
- }
else
{
Int a = relativeAddress(src);
return Extract(c, 0) * var.rel.scale;
}
+ else if(var.rel.type == Shader::PARAMETER_LOOP)
+ {
+ return aL[loopDepth];
+ }
else ASSERT(false);
return 0;
if(dst.z) pDst.z = r.o[dst.index].z;
if(dst.w) pDst.w = r.o[dst.index].w;
}
- else if(dst.rel.type == Shader::PARAMETER_LOOP)
- {
- Int aL = r.aL[r.loopDepth];
-
- if(dst.x) pDst.x = r.o[dst.index + aL].x;
- if(dst.y) pDst.y = r.o[dst.index + aL].y;
- if(dst.z) pDst.z = r.o[dst.index + aL].z;
- if(dst.w) pDst.w = r.o[dst.index + aL].w;
- }
else
{
Int a = relativeAddress(dst);
if(dst.z) r.o[dst.index].z = d.z;
if(dst.w) r.o[dst.index].w = d.w;
}
- else if(dst.rel.type == Shader::PARAMETER_LOOP)
- {
- Int aL = r.aL[r.loopDepth];
-
- if(dst.x) r.o[dst.index + aL].x = d.x;
- if(dst.y) r.o[dst.index + aL].y = d.y;
- if(dst.z) r.o[dst.index + aL].z = d.z;
- if(dst.w) r.o[dst.index + aL].w = d.w;
- }
else
{
Int a = relativeAddress(dst);
return Extract(c, 0) * var.rel.scale;
}
+ else if(var.rel.type == Shader::PARAMETER_LOOP)
+ {
+ return r.aL[r.loopDepth];
+ }
else ASSERT(false);
return 0;