Added a test for gather/load of textures of 16-bit types. (#1689)

Fixes #739
This commit is contained in:
Tristan Labelle 2018-11-12 11:47:08 -08:00 коммит произвёл GitHub
Родитель de62ed4fe3
Коммит 4d83bb4cce
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 27 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,27 @@
// RUN: %dxc -E main -T ps_6_2 -enable-16bit-types %s
Texture2D<half> tex_f16;
Texture2D<int16_t> tex_i16;
SamplerState samp;
SamplerComparisonState sampcmp;
float cmpval;
float isHalf(float); // Overload resolution shouldn't pick this
float isHalf(half) { return 0; }
float isInt16(int); // Overload resolution shouldn't pick this
float isInt16(int16_t) { return 0; }
float main() : SV_Target
{
return isHalf(tex_f16.Gather(samp, 0).x) + isInt16(tex_i16.Gather(samp, 0).x)
+ isHalf(tex_f16.GatherRed(samp, 0).x) + isInt16(tex_i16.GatherRed(samp, 0).x)
+ isHalf(tex_f16.GatherGreen(samp, 0).x) + isInt16(tex_i16.GatherGreen(samp, 0).x)
+ isHalf(tex_f16.GatherBlue(samp, 0).x) + isInt16(tex_i16.GatherBlue(samp, 0).x)
+ isHalf(tex_f16.GatherAlpha(samp, 0).x) + isInt16(tex_i16.GatherAlpha(samp, 0).x)
+ isHalf(tex_f16.GatherCmp(sampcmp, 0, cmpval).x) + isInt16(tex_i16.GatherCmp(sampcmp, 0, cmpval).x)
+ isHalf(tex_f16.GatherCmpRed(sampcmp, 0, cmpval).x) + isInt16(tex_i16.GatherCmpRed(sampcmp, 0, cmpval).x)
+ isHalf(tex_f16.GatherCmpGreen(sampcmp, 0, cmpval).x) + isInt16(tex_i16.GatherCmpGreen(sampcmp, 0, cmpval).x)
+ isHalf(tex_f16.GatherCmpBlue(sampcmp, 0, cmpval).x) + isInt16(tex_i16.GatherCmpBlue(sampcmp, 0, cmpval).x)
+ isHalf(tex_f16.GatherCmpAlpha(sampcmp, 0, cmpval).x) + isInt16(tex_i16.GatherCmpAlpha(sampcmp, 0, cmpval).x)
+ isHalf(tex_f16.Load(0).x) + isInt16(tex_i16.Load(0).x);
}