dawn-cmake/test/tint/buffer/uniform/dynamic_index/read.wgsl.expected.fxc.hlsl

138 lines
6.4 KiB
HLSL

cbuffer cbuffer_ub : register(b0, space0) {
uint4 ub[272];
};
struct tint_symbol_1 {
uint idx : SV_GroupIndex;
};
float2x2 ub_load_12(uint offset) {
const uint scalar_offset = ((offset + 0u)) / 4;
uint4 ubo_load = ub[scalar_offset / 4];
const uint scalar_offset_1 = ((offset + 8u)) / 4;
uint4 ubo_load_1 = ub[scalar_offset_1 / 4];
return float2x2(asfloat(((scalar_offset & 2) ? ubo_load.zw : ubo_load.xy)), asfloat(((scalar_offset_1 & 2) ? ubo_load_1.zw : ubo_load_1.xy)));
}
float2x3 ub_load_13(uint offset) {
const uint scalar_offset_2 = ((offset + 0u)) / 4;
const uint scalar_offset_3 = ((offset + 16u)) / 4;
return float2x3(asfloat(ub[scalar_offset_2 / 4].xyz), asfloat(ub[scalar_offset_3 / 4].xyz));
}
float2x4 ub_load_14(uint offset) {
const uint scalar_offset_4 = ((offset + 0u)) / 4;
const uint scalar_offset_5 = ((offset + 16u)) / 4;
return float2x4(asfloat(ub[scalar_offset_4 / 4]), asfloat(ub[scalar_offset_5 / 4]));
}
float3x2 ub_load_15(uint offset) {
const uint scalar_offset_6 = ((offset + 0u)) / 4;
uint4 ubo_load_2 = ub[scalar_offset_6 / 4];
const uint scalar_offset_7 = ((offset + 8u)) / 4;
uint4 ubo_load_3 = ub[scalar_offset_7 / 4];
const uint scalar_offset_8 = ((offset + 16u)) / 4;
uint4 ubo_load_4 = ub[scalar_offset_8 / 4];
return float3x2(asfloat(((scalar_offset_6 & 2) ? ubo_load_2.zw : ubo_load_2.xy)), asfloat(((scalar_offset_7 & 2) ? ubo_load_3.zw : ubo_load_3.xy)), asfloat(((scalar_offset_8 & 2) ? ubo_load_4.zw : ubo_load_4.xy)));
}
float3x3 ub_load_16(uint offset) {
const uint scalar_offset_9 = ((offset + 0u)) / 4;
const uint scalar_offset_10 = ((offset + 16u)) / 4;
const uint scalar_offset_11 = ((offset + 32u)) / 4;
return float3x3(asfloat(ub[scalar_offset_9 / 4].xyz), asfloat(ub[scalar_offset_10 / 4].xyz), asfloat(ub[scalar_offset_11 / 4].xyz));
}
float3x4 ub_load_17(uint offset) {
const uint scalar_offset_12 = ((offset + 0u)) / 4;
const uint scalar_offset_13 = ((offset + 16u)) / 4;
const uint scalar_offset_14 = ((offset + 32u)) / 4;
return float3x4(asfloat(ub[scalar_offset_12 / 4]), asfloat(ub[scalar_offset_13 / 4]), asfloat(ub[scalar_offset_14 / 4]));
}
float4x2 ub_load_18(uint offset) {
const uint scalar_offset_15 = ((offset + 0u)) / 4;
uint4 ubo_load_5 = ub[scalar_offset_15 / 4];
const uint scalar_offset_16 = ((offset + 8u)) / 4;
uint4 ubo_load_6 = ub[scalar_offset_16 / 4];
const uint scalar_offset_17 = ((offset + 16u)) / 4;
uint4 ubo_load_7 = ub[scalar_offset_17 / 4];
const uint scalar_offset_18 = ((offset + 24u)) / 4;
uint4 ubo_load_8 = ub[scalar_offset_18 / 4];
return float4x2(asfloat(((scalar_offset_15 & 2) ? ubo_load_5.zw : ubo_load_5.xy)), asfloat(((scalar_offset_16 & 2) ? ubo_load_6.zw : ubo_load_6.xy)), asfloat(((scalar_offset_17 & 2) ? ubo_load_7.zw : ubo_load_7.xy)), asfloat(((scalar_offset_18 & 2) ? ubo_load_8.zw : ubo_load_8.xy)));
}
float4x3 ub_load_19(uint offset) {
const uint scalar_offset_19 = ((offset + 0u)) / 4;
const uint scalar_offset_20 = ((offset + 16u)) / 4;
const uint scalar_offset_21 = ((offset + 32u)) / 4;
const uint scalar_offset_22 = ((offset + 48u)) / 4;
return float4x3(asfloat(ub[scalar_offset_19 / 4].xyz), asfloat(ub[scalar_offset_20 / 4].xyz), asfloat(ub[scalar_offset_21 / 4].xyz), asfloat(ub[scalar_offset_22 / 4].xyz));
}
float4x4 ub_load_20(uint offset) {
const uint scalar_offset_23 = ((offset + 0u)) / 4;
const uint scalar_offset_24 = ((offset + 16u)) / 4;
const uint scalar_offset_25 = ((offset + 32u)) / 4;
const uint scalar_offset_26 = ((offset + 48u)) / 4;
return float4x4(asfloat(ub[scalar_offset_23 / 4]), asfloat(ub[scalar_offset_24 / 4]), asfloat(ub[scalar_offset_25 / 4]), asfloat(ub[scalar_offset_26 / 4]));
}
typedef float3 ub_load_21_ret[2];
ub_load_21_ret ub_load_21(uint offset) {
float3 arr_1[2] = (float3[2])0;
{
for(uint i = 0u; (i < 2u); i = (i + 1u)) {
const uint scalar_offset_27 = ((offset + (i * 16u))) / 4;
arr_1[i] = asfloat(ub[scalar_offset_27 / 4].xyz);
}
}
return arr_1;
}
void main_inner(uint idx) {
const uint scalar_offset_28 = ((544u * idx)) / 4;
const float scalar_f32 = asfloat(ub[scalar_offset_28 / 4][scalar_offset_28 % 4]);
const uint scalar_offset_29 = (((544u * idx) + 4u)) / 4;
const int scalar_i32 = asint(ub[scalar_offset_29 / 4][scalar_offset_29 % 4]);
const uint scalar_offset_30 = (((544u * idx) + 8u)) / 4;
const uint scalar_u32 = ub[scalar_offset_30 / 4][scalar_offset_30 % 4];
const uint scalar_offset_31 = (((544u * idx) + 16u)) / 4;
uint4 ubo_load_9 = ub[scalar_offset_31 / 4];
const float2 vec2_f32 = asfloat(((scalar_offset_31 & 2) ? ubo_load_9.zw : ubo_load_9.xy));
const uint scalar_offset_32 = (((544u * idx) + 24u)) / 4;
uint4 ubo_load_10 = ub[scalar_offset_32 / 4];
const int2 vec2_i32 = asint(((scalar_offset_32 & 2) ? ubo_load_10.zw : ubo_load_10.xy));
const uint scalar_offset_33 = (((544u * idx) + 32u)) / 4;
uint4 ubo_load_11 = ub[scalar_offset_33 / 4];
const uint2 vec2_u32 = ((scalar_offset_33 & 2) ? ubo_load_11.zw : ubo_load_11.xy);
const uint scalar_offset_34 = (((544u * idx) + 48u)) / 4;
const float3 vec3_f32 = asfloat(ub[scalar_offset_34 / 4].xyz);
const uint scalar_offset_35 = (((544u * idx) + 64u)) / 4;
const int3 vec3_i32 = asint(ub[scalar_offset_35 / 4].xyz);
const uint scalar_offset_36 = (((544u * idx) + 80u)) / 4;
const uint3 vec3_u32 = ub[scalar_offset_36 / 4].xyz;
const uint scalar_offset_37 = (((544u * idx) + 96u)) / 4;
const float4 vec4_f32 = asfloat(ub[scalar_offset_37 / 4]);
const uint scalar_offset_38 = (((544u * idx) + 112u)) / 4;
const int4 vec4_i32 = asint(ub[scalar_offset_38 / 4]);
const uint scalar_offset_39 = (((544u * idx) + 128u)) / 4;
const uint4 vec4_u32 = ub[scalar_offset_39 / 4];
const float2x2 mat2x2_f32 = ub_load_12(((544u * idx) + 144u));
const float2x3 mat2x3_f32 = ub_load_13(((544u * idx) + 160u));
const float2x4 mat2x4_f32 = ub_load_14(((544u * idx) + 192u));
const float3x2 mat3x2_f32 = ub_load_15(((544u * idx) + 224u));
const float3x3 mat3x3_f32 = ub_load_16(((544u * idx) + 256u));
const float3x4 mat3x4_f32 = ub_load_17(((544u * idx) + 304u));
const float4x2 mat4x2_f32 = ub_load_18(((544u * idx) + 352u));
const float4x3 mat4x3_f32 = ub_load_19(((544u * idx) + 384u));
const float4x4 mat4x4_f32 = ub_load_20(((544u * idx) + 448u));
const float3 arr2_vec3_f32[2] = ub_load_21(((544u * idx) + 512u));
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.idx);
return;
}