[require] shader model >= 4.0 shader model < 6.0 [pixel shader fail] float4 main() : sv_target { float4 teChnique = {0, 0, 0, 0}; return teChnique; } [pixel shader fail] float4 main() : sv_target { float4 fxgroup = {0, 0, 0, 0}; return fxgroup; } [pixel shader] float4 main() : sv_target { float4 teChnique10 = {0, 0, 0, 0}; return teChnique10; } [pixel shader] float4 main() : sv_target { float4 teChnique11 = {0, 0, 0, 0}; return teChnique11; } [pixel shader] float4 main() : sv_target { float4 fxGroup = {0, 0, 0, 0}; return fxGroup; } [effect todo] technique { } technique10 { } % Effects without techniques are allowed for fx_4_0+ [effect todo] float4 f; % fx_2_0 keyword is allowed with fx_4_0+ profiles [effect todo] technique { } technique11 { } [effect fail] technique { } tEchnique10 { } [effect fail] technique { } tEchnique11 { } [effect fail] float4 technique; [effect fail] float4 technIque; [effect fail] float4 technique10; [effect fail] float4 technique11; [effect todo] float4 technIque10; [effect todo] float4 technIque11; % Regular shaders with technique blocks [vertex shader] float4 main() : sv_position { return 0; } technique { } technique10 { } technique11 { } fxgroup group { technique10 {} } [pixel shader] float4 main() : sv_target { return 0; } tEchnique { } technique10 { } technique11 { } fxgroup group { technique10 {} }