Lines Matching refs:ss

87   std::ostringstream ss;
88 ss << R"(
96 ss << capabilities_and_extensions;
97 ss << "%extinst = OpExtInstImport \"GLSL.std.450\"\n";
98 ss << "OpMemoryModel Logical GLSL450\n";
99 ss << "OpEntryPoint " << execution_model << " %main \"main\""
112 ss << "OpExecutionMode %main OriginUpperLeft\n";
115 ss << R"(
254 ss << body;
256 ss << R"(
260 return ss.str();
267 std::ostringstream ss;
268 ss << R"(
282 ss << capabilities_and_extensions;
283 ss << "%extinst = OpExtInstImport \"OpenCL.std\"\n";
284 ss << "OpMemoryModel " << memory_model << " OpenCL\n";
286 ss << R"(
455 ss << body;
457 ss << R"(
461 return ss.str();
466 std::ostringstream ss;
467 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name << " %f32_0\n";
468 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
470 ss << "%val3 = OpExtInst %f64 %extinst " << ext_inst_name << " %f64_0\n";
471 CompileSuccessfully(GenerateShaderCode(ss.str()));
518 std::ostringstream ss;
519 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
521 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
523 ss << "%val3 = OpExtInst %f64 %extinst " << ext_inst_name
525 CompileSuccessfully(GenerateShaderCode(ss.str()));
580 std::ostringstream ss;
581 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
583 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
585 ss << "%val3 = OpExtInst %f64 %extinst " << ext_inst_name
587 CompileSuccessfully(GenerateShaderCode(ss.str()));
655 std::ostringstream ss;
656 ss << "%val1 = OpExtInst %s32 %extinst " << ext_inst_name << " %u32_1\n";
657 ss << "%val2 = OpExtInst %s32 %extinst " << ext_inst_name << " %s32_1\n";
658 ss << "%val3 = OpExtInst %u32 %extinst " << ext_inst_name << " %u32_1\n";
659 ss << "%val4 = OpExtInst %u32 %extinst " << ext_inst_name << " %s32_1\n";
660 ss << "%val5 = OpExtInst %s32vec2 %extinst " << ext_inst_name
662 ss << "%val6 = OpExtInst %u32vec2 %extinst " << ext_inst_name
664 ss << "%val7 = OpExtInst %u32vec2 %extinst " << ext_inst_name
666 ss << "%val8 = OpExtInst %s32vec2 %extinst " << ext_inst_name
668 CompileSuccessfully(GenerateShaderCode(ss.str()));
772 std::ostringstream ss;
773 ss << "%val1 = OpExtInst %s32 %extinst " << ext_inst_name
775 ss << "%val2 = OpExtInst %s32 %extinst " << ext_inst_name
777 ss << "%val3 = OpExtInst %u32 %extinst " << ext_inst_name
779 ss << "%val4 = OpExtInst %u32 %extinst " << ext_inst_name
781 ss << "%val5 = OpExtInst %s32vec2 %extinst " << ext_inst_name
783 ss << "%val6 = OpExtInst %u32vec2 %extinst " << ext_inst_name
785 ss << "%val7 = OpExtInst %u32vec2 %extinst " << ext_inst_name
787 ss << "%val8 = OpExtInst %s32vec2 %extinst " << ext_inst_name
789 ss << "%val9 = OpExtInst %s64 %extinst " << ext_inst_name
791 CompileSuccessfully(GenerateShaderCode(ss.str()));
909 std::ostringstream ss;
910 ss << "%val1 = OpExtInst %s32 %extinst " << ext_inst_name
912 ss << "%val2 = OpExtInst %s32 %extinst " << ext_inst_name
914 ss << "%val3 = OpExtInst %u32 %extinst " << ext_inst_name
916 ss << "%val4 = OpExtInst %u32 %extinst " << ext_inst_name
918 ss << "%val5 = OpExtInst %s32vec2 %extinst " << ext_inst_name
920 ss << "%val6 = OpExtInst %u32vec2 %extinst " << ext_inst_name
922 ss << "%val7 = OpExtInst %u32vec2 %extinst " << ext_inst_name
924 ss << "%val8 = OpExtInst %s32vec2 %extinst " << ext_inst_name
926 ss << "%val9 = OpExtInst %s64 %extinst " << ext_inst_name
928 CompileSuccessfully(GenerateShaderCode(ss.str()));
1083 std::ostringstream ss;
1084 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name << " %f32_0\n";
1085 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
1087 CompileSuccessfully(GenerateShaderCode(ss.str()));
1154 std::ostringstream ss;
1155 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
1157 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
1159 CompileSuccessfully(GenerateShaderCode(ss.str()));
2983 std::ostringstream ss;
2984 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name << " %f32_0\n";
2985 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
2987 ss << "%val3 = OpExtInst %f32vec4 %extinst " << ext_inst_name
2989 ss << "%val4 = OpExtInst %f64 %extinst " << ext_inst_name << " %f64_0\n";
2990 CompileSuccessfully(GenerateKernelCode(ss.str()));
3044 std::ostringstream ss;
3045 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
3047 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
3049 ss << "%val3 = OpExtInst %f64 %extinst " << ext_inst_name
3051 CompileSuccessfully(GenerateKernelCode(ss.str()));
3107 std::ostringstream ss;
3108 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
3110 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
3112 ss << "%val3 = OpExtInst %f64 %extinst " << ext_inst_name
3114 CompileSuccessfully(GenerateKernelCode(ss.str()));
3181 std::ostringstream ss;
3182 ss << "%val1 = OpExtInst %u32 %extinst " << ext_inst_name << " %u32_1\n";
3183 ss << "%val2 = OpExtInst %u32 %extinst " << ext_inst_name << " %u32_1\n";
3184 ss << "%val3 = OpExtInst %u32 %extinst " << ext_inst_name << " %u32_1\n";
3185 ss << "%val4 = OpExtInst %u32 %extinst " << ext_inst_name << " %u32_1\n";
3186 ss << "%val5 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3188 ss << "%val6 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3190 ss << "%val7 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3192 ss << "%val8 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3194 CompileSuccessfully(GenerateKernelCode(ss.str()));
3248 std::ostringstream ss;
3249 ss << "%val1 = OpExtInst %u32 %extinst " << ext_inst_name
3251 ss << "%val2 = OpExtInst %u32 %extinst " << ext_inst_name
3253 ss << "%val3 = OpExtInst %u32 %extinst " << ext_inst_name
3255 ss << "%val4 = OpExtInst %u32 %extinst " << ext_inst_name
3257 ss << "%val5 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3259 ss << "%val6 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3261 ss << "%val7 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3263 ss << "%val8 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3265 ss << "%val9 = OpExtInst %u64 %extinst " << ext_inst_name
3267 CompileSuccessfully(GenerateKernelCode(ss.str()));
3359 std::ostringstream ss;
3360 ss << "%val1 = OpExtInst %u32 %extinst " << ext_inst_name
3362 ss << "%val2 = OpExtInst %u32 %extinst " << ext_inst_name
3364 ss << "%val3 = OpExtInst %u32 %extinst " << ext_inst_name
3366 ss << "%val4 = OpExtInst %u32 %extinst " << ext_inst_name
3368 ss << "%val5 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3370 ss << "%val6 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3372 ss << "%val7 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3374 ss << "%val8 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3376 ss << "%val9 = OpExtInst %u64 %extinst " << ext_inst_name
3378 CompileSuccessfully(GenerateKernelCode(ss.str()));
3486 std::ostringstream ss;
3487 ss << "%val1 = OpExtInst %u32 %extinst " << ext_inst_name
3489 ss << "%val2 = OpExtInst %u32 %extinst " << ext_inst_name
3491 ss << "%val3 = OpExtInst %u32 %extinst " << ext_inst_name
3493 ss << "%val4 = OpExtInst %u32 %extinst " << ext_inst_name
3495 ss << "%val5 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3497 ss << "%val6 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3499 ss << "%val7 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3501 ss << "%val8 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3503 CompileSuccessfully(GenerateKernelCode(ss.str()));
3595 std::ostringstream ss;
3596 ss << "%val1 = OpExtInst %u32 %extinst " << ext_inst_name
3598 ss << "%val2 = OpExtInst %u32 %extinst " << ext_inst_name
3600 ss << "%val3 = OpExtInst %u32 %extinst " << ext_inst_name
3602 ss << "%val4 = OpExtInst %u32 %extinst " << ext_inst_name
3604 ss << "%val5 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3606 ss << "%val6 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3608 ss << "%val7 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3610 ss << "%val8 = OpExtInst %u32vec2 %extinst " << ext_inst_name
3612 CompileSuccessfully(GenerateKernelCode(ss.str()));
3788 std::ostringstream ss;
3789 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name << " %f32vec2_01\n";
3790 ss << "%val2 = OpExtInst %f32 %extinst " << ext_inst_name
3793 CompileSuccessfully(GenerateKernelCode(ss.str()));
3859 std::ostringstream ss;
3860 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
3862 ss << "%val2 = OpExtInst %f32 %extinst " << ext_inst_name
3864 ss << "%val3 = OpExtInst %f32 %extinst " << ext_inst_name
3867 CompileSuccessfully(GenerateKernelCode(ss.str()));
3948 std::ostringstream ss;
3949 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
3951 ss << "%val2 = OpExtInst %f32vec4 %extinst " << ext_inst_name
3953 ss << "%val3 = OpExtInst %f32 %extinst " << ext_inst_name << " %f32_2\n";
3955 CompileSuccessfully(GenerateKernelCode(ss.str()));
4167 std::ostringstream ss;
4168 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4170 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4172 ss << "%val2 = OpExtInst %void %extinst " << ext_inst_name
4175 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4177 ss << "%val2 = OpExtInst %void %extinst " << ext_inst_name
4179 ss << "%val3 = OpExtInst %void %extinst " << ext_inst_name
4183 CompileSuccessfully(GenerateKernelCode(ss.str()));
4192 std::ostringstream ss;
4193 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4195 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4197 ss << "%val2 = OpExtInst %void %extinst " << ext_inst_name
4200 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4202 ss << "%val2 = OpExtInst %void %extinst " << ext_inst_name
4204 ss << "%val3 = OpExtInst %void %extinst " << ext_inst_name
4208 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4217 std::ostringstream ss;
4218 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4220 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
4223 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
4227 CompileSuccessfully(GenerateKernelCode(ss.str()));
4239 std::ostringstream ss;
4240 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4242 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4244 CompileSuccessfully(GenerateKernelCode(ss.str()));
4250 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4252 CompileSuccessfully(GenerateKernelCode(ss.str()));
4265 std::ostringstream ss;
4266 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4268 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4271 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4275 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Logical"));
4287 std::ostringstream ss;
4288 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4290 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4293 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4297 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4312 std::ostringstream ss;
4314 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4317 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4321 CompileSuccessfully(GenerateKernelCode(ss.str()));
4332 std::ostringstream ss;
4333 ss << "%ptr = OpAccessChain %f16_ptr_uniform_constant "
4336 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4339 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4343 CompileSuccessfully(GenerateKernelCode(ss.str()));
4356 std::ostringstream ss;
4357 ss << "%ptr = OpAccessChain %u32_ptr_workgroup %u32vec8_workgroup %u32_1\n";
4359 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4362 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4366 CompileSuccessfully(GenerateKernelCode(ss.str()));
4379 std::ostringstream ss;
4380 ss << "%ptr = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4382 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4385 ss << "%val1 = OpExtInst %void %extinst " << ext_inst_name
4389 CompileSuccessfully(GenerateKernelCode(ss.str()));
4410 std::ostringstream ss;
4411 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4412 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4414 ss << "%val2 = OpExtInst %f32vec3 %extinst " << ext_inst_name
4416 ss << "%val3 = OpExtInst %f32vec4 %extinst " << ext_inst_name
4419 CompileSuccessfully(GenerateKernelCode(ss.str()));
4426 std::ostringstream ss;
4427 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4428 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4430 ss << "%val2 = OpExtInst %f32vec3 %extinst " << ext_inst_name
4432 ss << "%val3 = OpExtInst %f32vec4 %extinst " << ext_inst_name
4435 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4442 std::ostringstream ss;
4443 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4444 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
4447 CompileSuccessfully(GenerateKernelCode(ss.str()));
4457 std::ostringstream ss;
4458 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4459 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4462 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Logical"));
4472 std::ostringstream ss;
4473 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4474 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4477 CompileSuccessfully(GenerateKernelCode(ss.str()));
4489 std::ostringstream ss;
4490 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4493 CompileSuccessfully(GenerateKernelCode(ss.str()));
4502 std::ostringstream ss;
4503 ss << "%ptr = OpAccessChain %f16_ptr_input %f16vec8_input %u32_1\n";
4504 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4507 CompileSuccessfully(GenerateKernelCode(ss.str()));
4519 std::ostringstream ss;
4520 ss << "%ptr = OpAccessChain %u32_ptr_workgroup %u32vec8_workgroup %u32_1\n";
4521 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4524 CompileSuccessfully(GenerateKernelCode(ss.str()));
4535 std::ostringstream ss;
4536 ss << "%ptr = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4537 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4540 CompileSuccessfully(GenerateKernelCode(ss.str()));
4551 std::ostringstream ss;
4552 ss << "%ptr = OpAccessChain %f16_ptr_workgroup %f16vec8_workgroup %u32_1\n";
4553 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
4556 CompileSuccessfully(GenerateKernelCode(ss.str()));
4571 std::ostringstream ss;
4572 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
4574 ss << "%val1 = OpExtInst %f32vec2 %extinst vloadn %u32_1 %ptr 2\n";
4575 ss << "%val2 = OpExtInst %f32vec3 %extinst vloadn %u32_1 %ptr 3\n";
4576 ss << "%val3 = OpExtInst %f32vec4 %extinst vloadn %u32_1 %ptr 4\n";
4578 CompileSuccessfully(GenerateKernelCode(ss.str()));
4583 std::ostringstream ss;
4584 ss << "%ptr = OpAccessChain %u32_ptr_uniform_constant "
4586 ss << "%val1 = OpExtInst %u32vec2 %extinst vloadn %u32_1 %ptr 2\n";
4587 ss << "%val2 = OpExtInst %u32vec3 %extinst vloadn %u32_1 %ptr 3\n";
4588 ss << "%val3 = OpExtInst %u32vec4 %extinst vloadn %u32_1 %ptr 4\n";
4590 CompileSuccessfully(GenerateKernelCode(ss.str()));
4595 std::ostringstream ss;
4596 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
4598 ss << "%val1 = OpExtInst %f32vec2 %extinst vloadn %u64_1 %ptr 2\n";
4599 ss << "%val2 = OpExtInst %f32vec3 %extinst vloadn %u64_1 %ptr 3\n";
4600 ss << "%val3 = OpExtInst %f32vec4 %extinst vloadn %u64_1 %ptr 4\n";
4602 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4607 std::ostringstream ss;
4608 ss << "%ptr = OpAccessChain %u32_ptr_uniform_constant "
4610 ss << "%val1 = OpExtInst %u32vec2 %extinst vloadn %u64_1 %ptr 2\n";
4611 ss << "%val2 = OpExtInst %u32vec3 %extinst vloadn %u64_1 %ptr 3\n";
4612 ss << "%val3 = OpExtInst %u32vec4 %extinst vloadn %u64_1 %ptr 4\n";
4614 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4619 std::ostringstream ss;
4620 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
4622 ss << "%val1 = OpExtInst %f32 %extinst vloadn %u32_1 %ptr 2\n";
4624 CompileSuccessfully(GenerateKernelCode(ss.str()));
4633 std::ostringstream ss;
4634 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
4636 ss << "%val1 = OpExtInst %f32vec2 %extinst vloadn %u32_1 %ptr 2\n";
4638 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Logical"));
4646 std::ostringstream ss;
4647 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
4649 ss << "%val1 = OpExtInst %f32vec2 %extinst vloadn %u64_1 %ptr 2\n";
4651 CompileSuccessfully(GenerateKernelCode(ss.str()));
4661 std::ostringstream ss;
4662 ss << "%val1 = OpExtInst %f32vec2 %extinst vloadn %u32_1 "
4665 CompileSuccessfully(GenerateKernelCode(ss.str()));
4674 std::ostringstream ss;
4675 ss << "%ptr = OpAccessChain %u32_ptr_input %u32vec8_input %u32_1\n";
4676 ss << "%val1 = OpExtInst %u32vec2 %extinst vloadn %u32_1 %ptr 2\n";
4678 CompileSuccessfully(GenerateKernelCode(ss.str()));
4687 std::ostringstream ss;
4688 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
4690 ss << "%val1 = OpExtInst %u32vec2 %extinst vloadn %u32_1 %ptr 2\n";
4692 CompileSuccessfully(GenerateKernelCode(ss.str()));
4700 std::ostringstream ss;
4701 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
4703 ss << "%val1 = OpExtInst %f32vec2 %extinst vloadn %u32_1 %ptr 3\n";
4705 CompileSuccessfully(GenerateKernelCode(ss.str()));
4713 std::ostringstream ss;
4714 ss << "%ptr = OpAccessChain %f16_ptr_uniform_constant "
4716 ss << "%val1 = OpExtInst %f32 %extinst vload_half %u32_1 %ptr\n";
4717 ss << "%val2 = OpExtInst %f64 %extinst vload_half %u32_1 %ptr\n";
4719 CompileSuccessfully(GenerateKernelCode(ss.str()));
4724 std::ostringstream ss;
4725 ss << "%ptr = OpAccessChain %f16_ptr_uniform_constant "
4727 ss << "%val1 = OpExtInst %f32 %extinst vload_half %u64_1 %ptr\n";
4728 ss << "%val2 = OpExtInst %f64 %extinst vload_half %u64_1 %ptr\n";
4730 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4735 std::ostringstream ss;
4736 ss << "%ptr = OpAccessChain %f16_ptr_uniform_constant "
4738 ss << "%val1 = OpExtInst %u32 %extinst vload_half %u32_1 %ptr\n";
4740 CompileSuccessfully(GenerateKernelCode(ss.str()));
4748 std::ostringstream ss;
4749 ss << "%ptr = OpAccessChain %f16_ptr_uniform_constant "
4751 ss << "%val1 = OpExtInst %f32 %extinst vload_half %u32_1 %ptr\n";
4753 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Logical"));
4761 std::ostringstream ss;
4762 ss << "%ptr = OpAccessChain %f16_ptr_uniform_constant "
4764 ss << "%val1 = OpExtInst %f32 %extinst vload_half %u64_1 %ptr\n";
4766 CompileSuccessfully(GenerateKernelCode(ss.str()));
4776 std::ostringstream ss;
4777 ss << "%val1 = OpExtInst %f32 %extinst vload_half %u32_1 "
4780 CompileSuccessfully(GenerateKernelCode(ss.str()));
4788 std::ostringstream ss;
4789 ss << "%ptr = OpAccessChain %f16_ptr_input %f16vec8_input %u32_1\n";
4790 ss << "%val1 = OpExtInst %f32 %extinst vload_half %u32_1 %ptr\n";
4792 CompileSuccessfully(GenerateKernelCode(ss.str()));
4802 std::ostringstream ss;
4803 ss << "%ptr = OpAccessChain %u32_ptr_uniform_constant "
4805 ss << "%val1 = OpExtInst %f32 %extinst vload_half %u32_1 %ptr\n";
4807 CompileSuccessfully(GenerateKernelCode(ss.str()));
4815 std::ostringstream ss;
4816 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
4818 ss << "%val1 = OpExtInst %f32 %extinst vload_half %u32_1 %ptr\n";
4820 CompileSuccessfully(GenerateKernelCode(ss.str()));
4828 std::ostringstream ss;
4829 ss << "%ptr_w = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4830 ss << "%ptr_g = OpPtrCastToGeneric %f32_ptr_generic %ptr_w\n";
4831 ss << "%val1 = OpExtInst %void %extinst vstoren %f32vec2_01 %u32_1 %ptr_g\n";
4832 ss << "%val2 = OpExtInst %void %extinst vstoren %f32vec4_0123 %u32_1 "
4835 CompileSuccessfully(GenerateKernelCode(ss.str()));
4840 std::ostringstream ss;
4841 ss << "%ptr_w = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4842 ss << "%ptr_g = OpPtrCastToGeneric %f32_ptr_generic %ptr_w\n";
4843 ss << "%val1 = OpExtInst %void %extinst vstoren %f32vec2_01 %u64_1 %ptr_g\n";
4844 ss << "%val2 = OpExtInst %void %extinst vstoren %f32vec4_0123 %u64_1 "
4847 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4852 std::ostringstream ss;
4853 ss << "%ptr_w = OpAccessChain %u32_ptr_workgroup %u32vec8_workgroup %u32_1\n";
4854 ss << "%ptr_g = OpPtrCastToGeneric %u32_ptr_generic %ptr_w\n";
4855 ss << "%val1 = OpExtInst %void %extinst vstoren %u32vec2_01 %u32_1 %ptr_g\n";
4856 ss << "%val2 = OpExtInst %void %extinst vstoren %u32vec4_0123 %u32_1 "
4859 CompileSuccessfully(GenerateKernelCode(ss.str()));
4864 std::ostringstream ss;
4865 ss << "%ptr_w = OpAccessChain %u32_ptr_workgroup %u32vec8_workgroup %u32_1\n";
4866 ss << "%ptr_g = OpPtrCastToGeneric %u32_ptr_generic %ptr_w\n";
4867 ss << "%val1 = OpExtInst %void %extinst vstoren %u32vec2_01 %u64_1 %ptr_g\n";
4868 ss << "%val2 = OpExtInst %void %extinst vstoren %u32vec4_0123 %u64_1 "
4871 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4876 std::ostringstream ss;
4877 ss << "%ptr_w = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4878 ss << "%ptr_g = OpPtrCastToGeneric %f32_ptr_generic %ptr_w\n";
4879 ss << "%val1 = OpExtInst %f32 %extinst vstoren %f32vec2_01 %u32_1 %ptr_g\n";
4881 CompileSuccessfully(GenerateKernelCode(ss.str()));
4888 std::ostringstream ss;
4889 ss << "%ptr_w = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4890 ss << "%ptr_g = OpPtrCastToGeneric %f32_ptr_generic %ptr_w\n";
4891 ss << "%val1 = OpExtInst %void %extinst vstoren %f32_1 %u32_1 %ptr_g\n";
4893 CompileSuccessfully(GenerateKernelCode(ss.str()));
4902 std::ostringstream ss;
4903 ss << "%ptr_w = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4904 ss << "%ptr_g = OpPtrCastToGeneric %f32_ptr_generic %ptr_w\n";
4905 ss << "%val1 = OpExtInst %void %extinst vstoren %f32vec2_01 %u32_1 %ptr_g\n";
4907 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Logical"));
4915 std::ostringstream ss;
4916 ss << "%ptr_w = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4917 ss << "%ptr_g = OpPtrCastToGeneric %f32_ptr_generic %ptr_w\n";
4918 ss << "%val1 = OpExtInst %void %extinst vstoren %f32vec2_01 %u32_1 %ptr_g\n";
4920 CompileSuccessfully(GenerateKernelCode(ss.str(), "", "Physical64"));
4930 std::ostringstream ss;
4931 ss << "%val1 = OpExtInst %void %extinst vstoren %f32vec2_01 %u32_1 "
4934 CompileSuccessfully(GenerateKernelCode(ss.str()));
4941 std::ostringstream ss;
4942 ss << "%ptr_w = OpAccessChain %f32_ptr_uniform_constant "
4944 ss << "%val1 = OpExtInst %void %extinst vstoren %f32vec2_01 %u32_1 %ptr_w\n";
4946 CompileSuccessfully(GenerateKernelCode(ss.str()));
4955 std::ostringstream ss;
4956 ss << "%ptr_w = OpAccessChain %f32_ptr_workgroup %f32vec8_workgroup %u32_1\n";
4957 ss << "%ptr_g = OpPtrCastToGeneric %f32_ptr_generic %ptr_w\n";
4958 ss << "%val1 = OpExtInst %void %extinst vstoren %u32vec2_01 %u32_1 %ptr_g\n";
4960 CompileSuccessfully(GenerateKernelCode(ss.str()));
5406 std::ostringstream ss;
5407 ss << "%var_f32 = OpVariable %f32_ptr_function Function\n";
5408 ss << "%var_f32vec2 = OpVariable %f32vec2_ptr_function Function\n";
5409 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5411 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
5414 CompileSuccessfully(GenerateKernelCode(ss.str()));
5420 std::ostringstream ss;
5421 ss << "%var_f32 = OpVariable %f32_ptr_function Function\n";
5422 ss << "%val1 = OpExtInst %u32 %extinst " << ext_inst_name
5425 CompileSuccessfully(GenerateKernelCode(ss.str()));
5435 std::ostringstream ss;
5436 ss << "%var_f32 = OpVariable %f32_ptr_function Function\n";
5437 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5440 CompileSuccessfully(GenerateKernelCode(ss.str()));
5450 std::ostringstream ss;
5451 ss << "%var_f32 = OpVariable %f32_ptr_function Function\n";
5452 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5455 CompileSuccessfully(GenerateKernelCode(ss.str()));
5464 std::ostringstream ss;
5465 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
5467 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name << " %f32_0 %ptr\n";
5469 CompileSuccessfully(GenerateKernelCode(ss.str()));
5479 std::ostringstream ss;
5480 ss << "%var_u32 = OpVariable %u32_ptr_function Function\n";
5481 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5484 CompileSuccessfully(GenerateKernelCode(ss.str()));
5624 std::ostringstream ss;
5625 ss << "%var_u32 = OpVariable %u32_ptr_function Function\n";
5626 ss << "%var_u32vec2 = OpVariable %u32vec2_ptr_function Function\n";
5627 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5629 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
5632 CompileSuccessfully(GenerateKernelCode(ss.str()));
5638 std::ostringstream ss;
5639 ss << "%var_u32 = OpVariable %u32_ptr_function Function\n";
5640 ss << "%val1 = OpExtInst %u32 %extinst " << ext_inst_name
5643 CompileSuccessfully(GenerateKernelCode(ss.str()));
5653 std::ostringstream ss;
5654 ss << "%var_u32 = OpVariable %u32_ptr_function Function\n";
5655 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5658 CompileSuccessfully(GenerateKernelCode(ss.str()));
5668 std::ostringstream ss;
5669 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5672 CompileSuccessfully(GenerateKernelCode(ss.str()));
5681 std::ostringstream ss;
5682 ss << "%ptr = OpAccessChain %f32_ptr_uniform_constant "
5684 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name << " %f32_0 %ptr\n";
5686 CompileSuccessfully(GenerateKernelCode(ss.str()));
5696 std::ostringstream ss;
5697 ss << "%var_f32 = OpVariable %f32_ptr_function Function\n";
5698 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5701 CompileSuccessfully(GenerateKernelCode(ss.str()));
5711 std::ostringstream ss;
5712 ss << "%var_u64 = OpVariable %u64_ptr_function Function\n";
5713 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5716 CompileSuccessfully(GenerateKernelCode(ss.str()));
5726 std::ostringstream ss;
5727 ss << "%var_u32 = OpVariable %u32_ptr_function Function\n";
5728 ss << "%val1 = OpExtInst %f32vec2 %extinst " << ext_inst_name
5731 CompileSuccessfully(GenerateKernelCode(ss.str()));
5857 std::ostringstream ss;
5858 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5860 ss << "%val2 = OpExtInst %f32vec2 %extinst " << ext_inst_name
5863 CompileSuccessfully(GenerateKernelCode(ss.str()));
5869 std::ostringstream ss;
5870 ss << "%val1 = OpExtInst %u32 %extinst " << ext_inst_name
5873 CompileSuccessfully(GenerateKernelCode(ss.str()));
5883 std::ostringstream ss;
5884 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5887 CompileSuccessfully(GenerateKernelCode(ss.str()));
5897 std::ostringstream ss;
5898 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5901 CompileSuccessfully(GenerateKernelCode(ss.str()));
5911 std::ostringstream ss;
5912 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5915 CompileSuccessfully(GenerateKernelCode(ss.str()));
5925 std::ostringstream ss;
5926 ss << "%val1 = OpExtInst %f32 %extinst " << ext_inst_name
5929 CompileSuccessfully(GenerateKernelCode(ss.str()));
5946 std::ostringstream ss;
5947 ss << "%val1 = OpExtInst %u16 %extinst " << ext_inst_name << " %u8_1 %u8_2\n";
5948 ss << "%val2 = OpExtInst %u32 %extinst " << ext_inst_name
5950 ss << "%val3 = OpExtInst %u64 %extinst " << ext_inst_name
5952 ss << "%val4 = OpExtInst %u64vec2 %extinst " << ext_inst_name
5955 CompileSuccessfully(GenerateKernelCode(ss.str()));
5961 std::ostringstream ss;
5962 ss << "%val1 = OpExtInst %f64 %extinst " << ext_inst_name
5965 CompileSuccessfully(GenerateKernelCode(ss.str()));
5975 std::ostringstream ss;
5976 ss << "%val1 = OpExtInst %u8 %extinst " << ext_inst_name << " %u8_1 %u8_2\n";
5978 CompileSuccessfully(GenerateKernelCode(ss.str()));
5989 std::ostringstream ss;
5990 ss << "%val1 = OpExtInst %u64 %extinst " << ext_inst_name
5993 CompileSuccessfully(GenerateKernelCode(ss.str()));
6002 std::ostringstream ss;
6003 ss << "%val1 = OpExtInst %u64vec2 %extinst " << ext_inst_name
6006 CompileSuccessfully(GenerateKernelCode(ss.str()));
6016 std::ostringstream ss;
6017 ss << "%val1 = OpExtInst %u64 %extinst " << ext_inst_name
6020 CompileSuccessfully(GenerateKernelCode(ss.str()));