From c9930ea56ce0d3d9783d4d2482edb91cb765109e Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 27 Mar 2019 12:25:43 -0400 Subject: GLSL half texture access (#931) * * Added $c macro - that will do casting to target type. Used here to cast texture reads back to half. Works in tandem with $z which will close parens. * half-texture.slang test * Make binding failing if TextureView fails * Simplify logic around parens. * Improve comment around $c macro. * Test against hlsl output to avoid error on CI. --- tests/compute/half-texture.slang.1.expected | 51 +++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 tests/compute/half-texture.slang.1.expected (limited to 'tests/compute/half-texture.slang.1.expected') diff --git a/tests/compute/half-texture.slang.1.expected b/tests/compute/half-texture.slang.1.expected new file mode 100644 index 000000000..5d3f84e74 --- /dev/null +++ b/tests/compute/half-texture.slang.1.expected @@ -0,0 +1,51 @@ +result code = 0 +standard error = { +} +standard output = { +#pragma pack_matrix(column_major) + +#line 18 "tests/compute/half-texture.slang" +RWTexture2D halfTexture_0 : register(u1); + + +#line 30 +RWTexture2D > halfTexture2_0 : register(u2); + + +#line 31 +RWTexture2D > halfTexture4_0 : register(u3); + + +#line 40 +RWStructuredBuffer outputBuffer_0 : register(u0); + + +#line 18 +[shader("compute")][numthreads(4, 4, 1)] +void computeMain(vector dispatchThreadID_0 : SV_DISPATCHTHREADID) +{ + +#line 20 + vector pos_0 = (vector) dispatchThreadID_0.xy; + float _S1 = 1.00000000000000000000 / 3.00000000000000000000; + vector pos2_0 = vector(3 - pos_0.y, 3 - pos_0.x); + +#line 29 + half h_0 = halfTexture_0[(vector) pos2_0]; + vector h2_0 = halfTexture2_0[(vector) pos2_0]; + vector h4_0 = halfTexture4_0[(vector) pos2_0]; + + + + halfTexture_0[(vector) pos_0] = h2_0.x + h2_0.y; + halfTexture2_0[(vector) pos_0] = h4_0.xy; + halfTexture4_0[(vector) pos_0] = vector(h2_0, h_0, h_0); + + int index_0 = pos_0.x + pos_0.y * 4; + outputBuffer_0[(uint) index_0] = index_0; + +#line 18 + return; +} + +} -- cgit v1.2.3