diff options
Diffstat (limited to 'tests/cases/debugger_hlsl_basic_fragment.amber')
-rw-r--r-- | tests/cases/debugger_hlsl_basic_fragment.amber | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/tests/cases/debugger_hlsl_basic_fragment.amber b/tests/cases/debugger_hlsl_basic_fragment.amber new file mode 100644 index 0000000..331a592 --- /dev/null +++ b/tests/cases/debugger_hlsl_basic_fragment.amber @@ -0,0 +1,104 @@ +#!amber +# Copyright 2020 The Amber Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https:#www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +SET ENGINE_DATA fence_timeout_ms 1000000 + +VIRTUAL_FILE "vs.hlsl" +struct VS_OUTPUT { + float4 pos : SV_POSITION; + float4 color : COLOR; +}; + +VS_OUTPUT main(float4 pos : POSITION) { + VS_OUTPUT vout; + vout.pos = pos; + vout.color = float4(25.1 / 255.0, 50.1 / 255.0, 100.1 / 255.0, 1.0); + return vout; +} +END + +VIRTUAL_FILE "fs.hlsl" +float4 main(float4 color : COLOR) : SV_TARGET { + int r = color.r * 255; + int g = color.g * 255; + int b = color.b * 255; + int a = color.a * 255; + return color; +} +END + +SHADER vertex vtex_shader HLSL VIRTUAL_FILE "vs.hlsl" +SHADER fragment frag_shader HLSL VIRTUAL_FILE "fs.hlsl" + +BUFFER position_buf DATA_TYPE R8G8_SNORM DATA +# Full frame +-128 -128 + 127 127 +-128 127 +-128 -128 + 127 127 + 127 -128 +END + +BUFFER framebuffer FORMAT B8G8R8A8_UNORM + +PIPELINE graphics pipeline + FRAMEBUFFER_SIZE 32 32 + + ATTACH vtex_shader + SHADER_OPTIMIZATION vtex_shader + --inline-entry-points-exhaustive + --eliminate-dead-functions + END + + ATTACH frag_shader + SHADER_OPTIMIZATION frag_shader + --inline-entry-points-exhaustive + --eliminate-dead-functions + END + + VERTEX_DATA position_buf LOCATION 0 + + BIND BUFFER framebuffer AS color LOCATION 0 +END + +CLEAR pipeline + +DEBUG pipeline DRAW_ARRAY AS TRIANGLE_LIST START_IDX 0 COUNT 6 + THREAD FRAGMENT_WINDOW_SPACE_POSITION 10 10 + EXPECT LOCATION "fs.hlsl" 2 " int r = color.r * 255;" + STEP_IN + EXPECT LOCAL "r" EQ 25 + EXPECT LOCATION "fs.hlsl" 3 " int g = color.g * 255;" + STEP_IN + EXPECT LOCAL "r" EQ 25 + EXPECT LOCAL "g" EQ 50 + EXPECT LOCATION "fs.hlsl" 4 " int b = color.b * 255;" + STEP_IN + EXPECT LOCAL "r" EQ 25 + EXPECT LOCAL "g" EQ 50 + EXPECT LOCAL "b" EQ 100 + EXPECT LOCATION "fs.hlsl" 5 " int a = color.a * 255;" + STEP_IN + EXPECT LOCAL "r" EQ 25 + EXPECT LOCAL "g" EQ 50 + EXPECT LOCAL "b" EQ 100 + EXPECT LOCAL "a" EQ 255 + EXPECT LOCATION "fs.hlsl" 6 " return color;" + CONTINUE + END +END + +EXPECT framebuffer IDX 0 0 SIZE 32 32 EQ_RGB 25 50 100 |