[GPU] Synchronize GPU frontend with the D3D12 branch

This commit is contained in:
Triang3l
2018-10-22 23:28:52 +03:00
parent 1ae9b8263d
commit 2b03a9e095
11 changed files with 129 additions and 56 deletions

View File

@@ -640,6 +640,10 @@ struct TextureFetchInstruction {
SampleLocation sample_location() const {
return static_cast<SampleLocation>(data_.sample_location);
}
float lod_bias() const {
// http://web.archive.org/web/20090514012026/http://msdn.microsoft.com:80/en-us/library/bb313957.aspx
return ((static_cast<int>(data_.lod_bias) << 25) >> 25) / 16.0f;
}
float offset_x() const {
return ((static_cast<int>(data_.offset_x) << 27) >> 27) / 2.0f;
}
@@ -1009,17 +1013,17 @@ enum class AluScalarOpcode {
// dest.xyzw = sqrt(src0.a);
kSqrt = 40,
// mulsc dest, src0.a, src0.b
// mulsc dest, src0.a, src1.a
kMulsc0 = 42,
// mulsc dest, src0.a, src0.b
// mulsc dest, src0.a, src1.a
kMulsc1 = 43,
// addsc dest, src0.a, src0.b
// addsc dest, src0.a, src1.a
kAddsc0 = 44,
// addsc dest, src0.a, src0.b
// addsc dest, src0.a, src1.a
kAddsc1 = 45,
// subsc dest, src0.a, src0.b
// subsc dest, src0.a, src1.a
kSubsc0 = 46,
// subsc dest, src0.a, src0.b
// subsc dest, src0.a, src1.a
kSubsc1 = 47,
// Scalar Sin