intrinsics: textureDimensions for cubes return vec2

See: https://github.com/gpuweb/gpuweb/pull/1754

Fixed: tint:882
Change-Id: Ibb48722dbaf6a7b200158bb87bc71c282056ed5e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55259
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
This commit is contained in:
Ben Clayton 2021-06-21 16:44:26 +00:00 committed by Tint LUCI CQ
parent 663271dca4
commit b96ed7bda4
95 changed files with 923 additions and 952 deletions

View File

@ -266,7 +266,7 @@ std::vector<TextureOverloadCase> TextureOverloadCase::ValidCases() {
},
{
ValidTextureOverload::kDimensionsCube,
"textureDimensions(t : texture_cube<f32>) -> vec3<i32>",
"textureDimensions(t : texture_cube<f32>) -> vec2<i32>",
TextureKind::kRegular,
ast::SamplerKind::kSampler,
ast::TextureDimension::kCube,
@ -277,7 +277,7 @@ std::vector<TextureOverloadCase> TextureOverloadCase::ValidCases() {
{
ValidTextureOverload::kDimensionsCubeLevel,
"textureDimensions(t : texture_cube<f32>,\n"
" level : i32) -> vec3<i32>",
" level : i32) -> vec2<i32>",
TextureKind::kRegular,
ast::SamplerKind::kSampler,
ast::TextureDimension::kCube,
@ -287,7 +287,7 @@ std::vector<TextureOverloadCase> TextureOverloadCase::ValidCases() {
},
{
ValidTextureOverload::kDimensionsCubeArray,
"textureDimensions(t : texture_cube_array<f32>) -> vec3<i32>",
"textureDimensions(t : texture_cube_array<f32>) -> vec2<i32>",
TextureKind::kRegular,
ast::SamplerKind::kSampler,
ast::TextureDimension::kCubeArray,
@ -298,7 +298,7 @@ std::vector<TextureOverloadCase> TextureOverloadCase::ValidCases() {
{
ValidTextureOverload::kDimensionsCubeArrayLevel,
"textureDimensions(t : texture_cube_array<f32>,\n"
" level : i32) -> vec3<i32>",
" level : i32) -> vec2<i32>",
TextureKind::kRegular,
ast::SamplerKind::kSampler,
ast::TextureDimension::kCubeArray,
@ -360,7 +360,7 @@ std::vector<TextureOverloadCase> TextureOverloadCase::ValidCases() {
},
{
ValidTextureOverload::kDimensionsDepthCube,
"textureDimensions(t : texture_depth_cube) -> vec3<i32>",
"textureDimensions(t : texture_depth_cube) -> vec2<i32>",
TextureKind::kDepth,
ast::SamplerKind::kSampler,
ast::TextureDimension::kCube,
@ -371,7 +371,7 @@ std::vector<TextureOverloadCase> TextureOverloadCase::ValidCases() {
{
ValidTextureOverload::kDimensionsDepthCubeLevel,
"textureDimensions(t : texture_depth_cube,\n"
" level : i32) -> vec3<i32>",
" level : i32) -> vec2<i32>",
TextureKind::kDepth,
ast::SamplerKind::kSampler,
ast::TextureDimension::kCube,
@ -381,7 +381,7 @@ std::vector<TextureOverloadCase> TextureOverloadCase::ValidCases() {
},
{
ValidTextureOverload::kDimensionsDepthCubeArray,
"textureDimensions(t : texture_depth_cube_array) -> vec3<i32>",
"textureDimensions(t : texture_depth_cube_array) -> vec2<i32>",
TextureKind::kDepth,
ast::SamplerKind::kSampler,
ast::TextureDimension::kCubeArray,
@ -392,7 +392,7 @@ std::vector<TextureOverloadCase> TextureOverloadCase::ValidCases() {
{
ValidTextureOverload::kDimensionsDepthCubeArrayLevel,
"textureDimensions(t : texture_depth_cube_array,\n"
" level : i32) -> vec3<i32>",
" level : i32) -> vec2<i32>",
TextureKind::kDepth,
ast::SamplerKind::kSampler,
ast::TextureDimension::kCubeArray,

View File

@ -4874,7 +4874,7 @@ constexpr OverloadInfo kOverloads[] = {
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[505],
/* return matcher indices */ &kMatcherIndices[138],
/* return matcher indices */ &kMatcherIndices[132],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@ -4886,7 +4886,7 @@ constexpr OverloadInfo kOverloads[] = {
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[467],
/* return matcher indices */ &kMatcherIndices[138],
/* return matcher indices */ &kMatcherIndices[132],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@ -4898,7 +4898,7 @@ constexpr OverloadInfo kOverloads[] = {
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[484],
/* return matcher indices */ &kMatcherIndices[138],
/* return matcher indices */ &kMatcherIndices[132],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@ -4910,7 +4910,7 @@ constexpr OverloadInfo kOverloads[] = {
/* open types */ &kOpenTypes[1],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[471],
/* return matcher indices */ &kMatcherIndices[138],
/* return matcher indices */ &kMatcherIndices[132],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@ -4982,7 +4982,7 @@ constexpr OverloadInfo kOverloads[] = {
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[481],
/* return matcher indices */ &kMatcherIndices[138],
/* return matcher indices */ &kMatcherIndices[132],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@ -4994,7 +4994,7 @@ constexpr OverloadInfo kOverloads[] = {
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[473],
/* return matcher indices */ &kMatcherIndices[138],
/* return matcher indices */ &kMatcherIndices[132],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@ -5006,7 +5006,7 @@ constexpr OverloadInfo kOverloads[] = {
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[483],
/* return matcher indices */ &kMatcherIndices[138],
/* return matcher indices */ &kMatcherIndices[132],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@ -5018,7 +5018,7 @@ constexpr OverloadInfo kOverloads[] = {
/* open types */ &kOpenTypes[4],
/* open numbers */ &kOpenNumbers[7],
/* parameters */ &kParameters[469],
/* return matcher indices */ &kMatcherIndices[138],
/* return matcher indices */ &kMatcherIndices[132],
/* supported_stages */ PipelineStageSet(PipelineStage::kVertex, PipelineStage::kFragment, PipelineStage::kCompute),
/* is_deprecated */ false,
},
@ -8538,19 +8538,19 @@ constexpr IntrinsicInfo kIntrinsics[] = {
/* fn textureDimensions<T : fiu32>(texture: texture_2d_array<T>, level: i32) -> vec2<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_3d<T>) -> vec3<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_3d<T>, level: i32) -> vec3<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_cube<T>) -> vec3<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_cube<T>, level: i32) -> vec3<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_cube_array<T>) -> vec3<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_cube_array<T>, level: i32) -> vec3<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_cube<T>) -> vec2<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_cube<T>, level: i32) -> vec2<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_cube_array<T>) -> vec2<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_cube_array<T>, level: i32) -> vec2<i32> */
/* fn textureDimensions<T : fiu32>(texture: texture_multisampled_2d<T>) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_2d) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_2d, level: i32) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_2d_array) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_2d_array, level: i32) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_cube) -> vec3<i32> */
/* fn textureDimensions(texture: texture_depth_cube, level: i32) -> vec3<i32> */
/* fn textureDimensions(texture: texture_depth_cube_array) -> vec3<i32> */
/* fn textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec3<i32> */
/* fn textureDimensions(texture: texture_depth_cube) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_cube, level: i32) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_cube_array) -> vec2<i32> */
/* fn textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec2<i32> */
/* fn textureDimensions<F : texel_format, A : read_or_write>(texture: texture_storage_1d<F, A>) -> i32 */
/* fn textureDimensions<F : texel_format, A : read_or_write>(texture: texture_storage_2d<F, A>) -> vec2<i32> */
/* fn textureDimensions<F : texel_format, A : read_or_write>(texture: texture_storage_2d_array<F, A>) -> vec2<i32> */

View File

@ -484,23 +484,23 @@ TEST_F(IntrinsicTableTest, OverloadOrderByNumberOfParameters) {
textureDimensions(texture: texture_2d<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_2d_array<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_3d<T>, level: i32) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube<T>, level: i32) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube_array<T>, level: i32) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube_array<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_depth_2d, level: i32) -> vec2<i32>
textureDimensions(texture: texture_depth_2d_array, level: i32) -> vec2<i32>
textureDimensions(texture: texture_depth_cube, level: i32) -> vec3<i32>
textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec3<i32>
textureDimensions(texture: texture_depth_cube, level: i32) -> vec2<i32>
textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec2<i32>
textureDimensions(texture: texture_1d<T>) -> i32 where: T is f32, i32 or u32
textureDimensions(texture: texture_2d<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_2d_array<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_3d<T>) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube<T>) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube_array<T>) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube_array<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_multisampled_2d<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_depth_2d) -> vec2<i32>
textureDimensions(texture: texture_depth_2d_array) -> vec2<i32>
textureDimensions(texture: texture_depth_cube) -> vec3<i32>
textureDimensions(texture: texture_depth_cube_array) -> vec3<i32>
textureDimensions(texture: texture_depth_cube) -> vec2<i32>
textureDimensions(texture: texture_depth_cube_array) -> vec2<i32>
textureDimensions(texture: texture_storage_1d<F, A>) -> i32 where: A is read or write
textureDimensions(texture: texture_storage_2d<F, A>) -> vec2<i32> where: A is read or write
textureDimensions(texture: texture_storage_2d_array<F, A>) -> vec2<i32> where: A is read or write
@ -523,21 +523,21 @@ TEST_F(IntrinsicTableTest, OverloadOrderByMatchingParameter) {
textureDimensions(texture: texture_2d<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_2d_array<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_3d<T>, level: i32) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube<T>, level: i32) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube_array<T>, level: i32) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube_array<T>, level: i32) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_depth_2d_array, level: i32) -> vec2<i32>
textureDimensions(texture: texture_depth_cube, level: i32) -> vec3<i32>
textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec3<i32>
textureDimensions(texture: texture_depth_cube, level: i32) -> vec2<i32>
textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec2<i32>
textureDimensions(texture: texture_1d<T>) -> i32 where: T is f32, i32 or u32
textureDimensions(texture: texture_2d<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_2d_array<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_3d<T>) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube<T>) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube_array<T>) -> vec3<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_cube_array<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_multisampled_2d<T>) -> vec2<i32> where: T is f32, i32 or u32
textureDimensions(texture: texture_depth_2d_array) -> vec2<i32>
textureDimensions(texture: texture_depth_cube) -> vec3<i32>
textureDimensions(texture: texture_depth_cube_array) -> vec3<i32>
textureDimensions(texture: texture_depth_cube) -> vec2<i32>
textureDimensions(texture: texture_depth_cube_array) -> vec2<i32>
textureDimensions(texture: texture_storage_1d<F, A>) -> i32 where: A is read or write
textureDimensions(texture: texture_storage_2d<F, A>) -> vec2<i32> where: A is read or write
textureDimensions(texture: texture_storage_2d_array<F, A>) -> vec2<i32> where: A is read or write

View File

@ -394,19 +394,19 @@ fn textureDimensions<T: fiu32>(texture: texture_2d_array<T>) -> vec2<i32>
fn textureDimensions<T: fiu32>(texture: texture_2d_array<T>, level: i32) -> vec2<i32>
fn textureDimensions<T: fiu32>(texture: texture_3d<T>) -> vec3<i32>
fn textureDimensions<T: fiu32>(texture: texture_3d<T>, level: i32) -> vec3<i32>
fn textureDimensions<T: fiu32>(texture: texture_cube<T>) -> vec3<i32>
fn textureDimensions<T: fiu32>(texture: texture_cube<T>, level: i32) -> vec3<i32>
fn textureDimensions<T: fiu32>(texture: texture_cube_array<T>) -> vec3<i32>
fn textureDimensions<T: fiu32>(texture: texture_cube_array<T>, level: i32) -> vec3<i32>
fn textureDimensions<T: fiu32>(texture: texture_cube<T>) -> vec2<i32>
fn textureDimensions<T: fiu32>(texture: texture_cube<T>, level: i32) -> vec2<i32>
fn textureDimensions<T: fiu32>(texture: texture_cube_array<T>) -> vec2<i32>
fn textureDimensions<T: fiu32>(texture: texture_cube_array<T>, level: i32) -> vec2<i32>
fn textureDimensions<T: fiu32>(texture: texture_multisampled_2d<T>) -> vec2<i32>
fn textureDimensions(texture: texture_depth_2d) -> vec2<i32>
fn textureDimensions(texture: texture_depth_2d, level: i32) -> vec2<i32>
fn textureDimensions(texture: texture_depth_2d_array) -> vec2<i32>
fn textureDimensions(texture: texture_depth_2d_array, level: i32) -> vec2<i32>
fn textureDimensions(texture: texture_depth_cube) -> vec3<i32>
fn textureDimensions(texture: texture_depth_cube, level: i32) -> vec3<i32>
fn textureDimensions(texture: texture_depth_cube_array) -> vec3<i32>
fn textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec3<i32>
fn textureDimensions(texture: texture_depth_cube) -> vec2<i32>
fn textureDimensions(texture: texture_depth_cube, level: i32) -> vec2<i32>
fn textureDimensions(texture: texture_depth_cube_array) -> vec2<i32>
fn textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec2<i32>
fn textureDimensions<F: texel_format, A: read_or_write>(texture: texture_storage_1d<F, A>) -> i32
fn textureDimensions<F: texel_format, A: read_or_write>(texture: texture_storage_2d<F, A>) -> vec2<i32>
fn textureDimensions<F: texel_format, A: read_or_write>(texture: texture_storage_2d_array<F, A>) -> vec2<i32>

View File

@ -1969,16 +1969,16 @@ TEST_P(ResolverIntrinsicTest_Texture, Call) {
EXPECT_TRUE(TypeOf(call)->Is<sem::I32>());
break;
case ast::TextureDimension::k2d:
case ast::TextureDimension::k2dArray: {
case ast::TextureDimension::k2dArray:
case ast::TextureDimension::kCube:
case ast::TextureDimension::kCubeArray: {
auto* vec = As<sem::Vector>(TypeOf(call));
ASSERT_NE(vec, nullptr);
EXPECT_EQ(vec->size(), 2u);
EXPECT_TRUE(vec->type()->Is<sem::I32>());
break;
}
case ast::TextureDimension::k3d:
case ast::TextureDimension::kCube:
case ast::TextureDimension::kCubeArray: {
case ast::TextureDimension::k3d: {
auto* vec = As<sem::Vector>(TypeOf(call));
ASSERT_NE(vec, nullptr);
EXPECT_EQ(vec->size(), 3u);

View File

@ -1415,16 +1415,11 @@ bool GeneratorImpl::EmitTextureCall(std::ostream& pre,
num_dimensions = 3;
break;
case ast::TextureDimension::kCube:
// width == height == depth for cubes
// See https://github.com/gpuweb/gpuweb/issues/1345
num_dimensions = 2;
swizzle = ".xyy"; // [width, height, height]
break;
case ast::TextureDimension::kCubeArray:
// width == height == depth for cubes
// See https://github.com/gpuweb/gpuweb/issues/1345
num_dimensions = 3;
swizzle = ".xyy"; // [width, height, height]
swizzle = ".xy";
break;
}
break;

View File

@ -89,7 +89,7 @@ ExpectedResult expected_texture_overload(
R"(int2 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y);
)",
"tint_tmp.xyy",
"tint_tmp",
};
case ValidTextureOverload::kDimensionsCubeArray:
case ValidTextureOverload::kDimensionsDepthCubeArray:
@ -97,7 +97,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
)",
"tint_tmp.xyy",
"tint_tmp.xy",
};
case ValidTextureOverload::kDimensions2dLevel:
case ValidTextureOverload::kDimensionsDepth2dLevel:
@ -128,7 +128,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp;
tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z);
)",
"tint_tmp.xyy",
"tint_tmp.xy",
};
case ValidTextureOverload::kDimensionsCubeArrayLevel:
case ValidTextureOverload::kDimensionsDepthCubeArrayLevel:
@ -136,7 +136,7 @@ ExpectedResult expected_texture_overload(
R"(int4 tint_tmp;
tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
)",
"tint_tmp.xyy",
"tint_tmp.xy",
};
case ValidTextureOverload::kNumLayers2dArray:
case ValidTextureOverload::kNumLayersDepth2dArray:

View File

@ -464,17 +464,13 @@ bool GeneratorImpl::EmitTextureCall(ast::CallExpression* expr,
break;
case ast::TextureDimension::k2d:
case ast::TextureDimension::k2dArray:
case ast::TextureDimension::kCube:
case ast::TextureDimension::kCubeArray:
dims = {"width", "height"};
break;
case ast::TextureDimension::k3d:
dims = {"width", "height", "depth"};
break;
case ast::TextureDimension::kCube:
case ast::TextureDimension::kCubeArray:
// width == height == depth for cubes
// See https://github.com/gpuweb/gpuweb/issues/1345
dims = {"width", "height", "height"};
break;
}
auto get_dim = [&](const char* name) {

View File

@ -31,9 +31,13 @@ std::string expected_texture_overload(
return R"(int(texture.get_width()))";
case ValidTextureOverload::kDimensions2d:
case ValidTextureOverload::kDimensions2dArray:
case ValidTextureOverload::kDimensionsCube:
case ValidTextureOverload::kDimensionsCubeArray:
case ValidTextureOverload::kDimensionsMultisampled2d:
case ValidTextureOverload::kDimensionsDepth2d:
case ValidTextureOverload::kDimensionsDepth2dArray:
case ValidTextureOverload::kDimensionsDepthCube:
case ValidTextureOverload::kDimensionsDepthCubeArray:
case ValidTextureOverload::kDimensionsStorageRO2d:
case ValidTextureOverload::kDimensionsStorageRO2dArray:
case ValidTextureOverload::kDimensionsStorageWO2d:
@ -43,23 +47,17 @@ std::string expected_texture_overload(
case ValidTextureOverload::kDimensionsStorageRO3d:
case ValidTextureOverload::kDimensionsStorageWO3d:
return R"(int3(texture.get_width(), texture.get_height(), texture.get_depth()))";
case ValidTextureOverload::kDimensionsCube:
case ValidTextureOverload::kDimensionsCubeArray:
case ValidTextureOverload::kDimensionsDepthCube:
case ValidTextureOverload::kDimensionsDepthCubeArray:
return R"(int3(texture.get_width(), texture.get_height(), texture.get_height()))";
case ValidTextureOverload::kDimensions2dLevel:
case ValidTextureOverload::kDimensionsCubeLevel:
case ValidTextureOverload::kDimensionsCubeArrayLevel:
case ValidTextureOverload::kDimensions2dArrayLevel:
case ValidTextureOverload::kDimensionsDepth2dLevel:
case ValidTextureOverload::kDimensionsDepth2dArrayLevel:
case ValidTextureOverload::kDimensionsDepthCubeLevel:
case ValidTextureOverload::kDimensionsDepthCubeArrayLevel:
return R"(int2(texture.get_width(1), texture.get_height(1)))";
case ValidTextureOverload::kDimensions3dLevel:
return R"(int3(texture.get_width(1), texture.get_height(1), texture.get_depth(1)))";
case ValidTextureOverload::kDimensionsCubeLevel:
case ValidTextureOverload::kDimensionsCubeArrayLevel:
case ValidTextureOverload::kDimensionsDepthCubeLevel:
case ValidTextureOverload::kDimensionsDepthCubeArrayLevel:
return R"(int3(texture.get_width(1), texture.get_height(1), texture.get_height(1)))";
case ValidTextureOverload::kNumLayers2dArray:
case ValidTextureOverload::kNumLayersCubeArray:
case ValidTextureOverload::kNumLayersDepth2dArray:

View File

@ -2662,19 +2662,13 @@ bool Builder::GenerateTextureIntrinsic(ast::CallExpression* call,
case ast::TextureDimension::k1d:
case ast::TextureDimension::k2d:
case ast::TextureDimension::k3d:
break; // No swizzle needed
case ast::TextureDimension::kCube:
swizzle = {0, 1, 1}; // Duplicate height for depth
spirv_dims = 2; // [width, height]
break;
break; // No swizzle needed
case ast::TextureDimension::kCubeArray:
case ast::TextureDimension::k2dArray:
swizzle = {0, 1}; // Strip array index
spirv_dims = 3; // [width, height, array_count]
break;
case ast::TextureDimension::kCubeArray:
swizzle = {0, 1, 1}; // Strip array index, duplicate height for depth
spirv_dims = 3; // [width, height, array_count]
break;
}
if (!append_result_type_and_id_to_spirv_params_swizzled(spirv_dims,

View File

@ -196,14 +196,12 @@ OpCapability ImageQuery
%6 = OpTypePointer UniformConstant %7
%5 = OpVariable %6 UniformConstant
%10 = OpTypeInt 32 1
%9 = OpTypeVector %10 3
%12 = OpTypeVector %10 2
%14 = OpConstant %10 0
%9 = OpTypeVector %10 2
%12 = OpConstant %10 0
)",
R"(
%13 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %12 %13 %14
%8 = OpVectorShuffle %9 %11 %11 0 1 1
%11 = OpLoad %3 %1
%8 = OpImageQuerySizeLod %9 %11 %12
)",
R"(
OpCapability ImageQuery
@ -219,14 +217,12 @@ OpCapability ImageQuery
%6 = OpTypePointer UniformConstant %7
%5 = OpVariable %6 UniformConstant
%10 = OpTypeInt 32 1
%9 = OpTypeVector %10 3
%12 = OpTypeVector %10 2
%14 = OpConstant %10 1
%9 = OpTypeVector %10 2
%12 = OpConstant %10 1
)",
R"(
%13 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %12 %13 %14
%8 = OpVectorShuffle %9 %11 %11 0 1 1
%11 = OpLoad %3 %1
%8 = OpImageQuerySizeLod %9 %11 %12
)",
R"(
OpCapability ImageQuery
@ -242,13 +238,14 @@ OpCapability ImageQuery
%6 = OpTypePointer UniformConstant %7
%5 = OpVariable %6 UniformConstant
%10 = OpTypeInt 32 1
%9 = OpTypeVector %10 3
%13 = OpConstant %10 0
%9 = OpTypeVector %10 2
%12 = OpTypeVector %10 3
%14 = OpConstant %10 0
)",
R"(
%12 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %9 %12 %13
%8 = OpVectorShuffle %9 %11 %11 0 1 1
%13 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %12 %13 %14
%8 = OpVectorShuffle %9 %11 %11 0 1
)",
R"(
OpCapability SampledCubeArray
@ -265,13 +262,14 @@ OpCapability ImageQuery
%6 = OpTypePointer UniformConstant %7
%5 = OpVariable %6 UniformConstant
%10 = OpTypeInt 32 1
%9 = OpTypeVector %10 3
%13 = OpConstant %10 1
%9 = OpTypeVector %10 2
%12 = OpTypeVector %10 3
%14 = OpConstant %10 1
)",
R"(
%12 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %9 %12 %13
%8 = OpVectorShuffle %9 %11 %11 0 1 1
%13 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %12 %13 %14
%8 = OpVectorShuffle %9 %11 %11 0 1
)",
R"(
OpCapability SampledCubeArray
@ -396,14 +394,12 @@ OpCapability ImageQuery
%6 = OpTypePointer UniformConstant %7
%5 = OpVariable %6 UniformConstant
%10 = OpTypeInt 32 1
%9 = OpTypeVector %10 3
%12 = OpTypeVector %10 2
%14 = OpConstant %10 0
%9 = OpTypeVector %10 2
%12 = OpConstant %10 0
)",
R"(
%13 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %12 %13 %14
%8 = OpVectorShuffle %9 %11 %11 0 1 1
%11 = OpLoad %3 %1
%8 = OpImageQuerySizeLod %9 %11 %12
)",
R"(
OpCapability ImageQuery
@ -419,14 +415,12 @@ OpCapability ImageQuery
%6 = OpTypePointer UniformConstant %7
%5 = OpVariable %6 UniformConstant
%10 = OpTypeInt 32 1
%9 = OpTypeVector %10 3
%12 = OpTypeVector %10 2
%14 = OpConstant %10 1
%9 = OpTypeVector %10 2
%12 = OpConstant %10 1
)",
R"(
%13 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %12 %13 %14
%8 = OpVectorShuffle %9 %11 %11 0 1 1
%11 = OpLoad %3 %1
%8 = OpImageQuerySizeLod %9 %11 %12
)",
R"(
OpCapability ImageQuery
@ -442,13 +436,14 @@ OpCapability ImageQuery
%6 = OpTypePointer UniformConstant %7
%5 = OpVariable %6 UniformConstant
%10 = OpTypeInt 32 1
%9 = OpTypeVector %10 3
%13 = OpConstant %10 0
%9 = OpTypeVector %10 2
%12 = OpTypeVector %10 3
%14 = OpConstant %10 0
)",
R"(
%12 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %9 %12 %13
%8 = OpVectorShuffle %9 %11 %11 0 1 1
%13 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %12 %13 %14
%8 = OpVectorShuffle %9 %11 %11 0 1
)",
R"(
OpCapability SampledCubeArray
@ -465,13 +460,14 @@ OpCapability ImageQuery
%6 = OpTypePointer UniformConstant %7
%5 = OpVariable %6 UniformConstant
%10 = OpTypeInt 32 1
%9 = OpTypeVector %10 3
%13 = OpConstant %10 1
%9 = OpTypeVector %10 2
%12 = OpTypeVector %10 3
%14 = OpConstant %10 1
)",
R"(
%12 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %9 %12 %13
%8 = OpVectorShuffle %9 %11 %11 0 1 1
%13 = OpLoad %3 %1
%11 = OpImageQuerySizeLod %12 %13 %14
%8 = OpVectorShuffle %9 %11 %11 0 1
)",
R"(
OpCapability SampledCubeArray

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube_array<i32>;
// fn textureDimensions(texture: texture_cube_array<i32>, level: i32) -> vec3<i32>
fn textureDimensions_e22247() {
var res: vec3<i32> = textureDimensions(arg_0, 1);
// fn textureDimensions(texture: texture_cube_array<i32>, level: i32) -> vec2<i32>
fn textureDimensions_221f22() {
var res: vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_e22247();
textureDimensions_221f22();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_e22247();
textureDimensions_221f22();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_e22247();
textureDimensions_221f22();
}

View File

@ -1,9 +1,9 @@
TextureCubeArray<int4> arg_0 : register(t0, space1);
void textureDimensions_e22247() {
void textureDimensions_221f22() {
int4 tint_tmp;
arg_0.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_e22247();
textureDimensions_221f22();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_e22247();
textureDimensions_221f22();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_e22247();
textureDimensions_221f22();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_f70326(texturecube_array<int, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(), tint_symbol_2.get_height(), tint_symbol_2.get_height());
void textureDimensions_221f22(texturecube_array<int, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1));
}
vertex tint_symbol vertex_main(texturecube_array<int, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_f70326(tint_symbol_3);
textureDimensions_221f22(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube_array<int, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_f70326(tint_symbol_4);
textureDimensions_221f22(tint_symbol_4);
return;
}
kernel void compute_main(texturecube_array<int, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_f70326(tint_symbol_5);
textureDimensions_221f22(tint_symbol_5);
return;
}

View File

@ -15,7 +15,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_91f42d "textureDimensions_91f42d"
OpName %textureDimensions_221f22 "textureDimensions_221f22"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -30,8 +30,8 @@
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%uint = OpTypeInt 32 0
%7 = OpTypeImage %uint Cube 0 1 0 1 Unknown
%int = OpTypeInt 32 1
%7 = OpTypeImage %int Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -40,19 +40,19 @@
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
%void = OpTypeVoid
%13 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%int_1 = OpConstant %int 1
%_ptr_Function_v3int = OpTypePointer Function %v3int
%25 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%25 = OpConstantNull %v2int
%26 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_91f42d = OpFunction %void None %13
%textureDimensions_221f22 = OpFunction %void None %13
%16 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %25
%res = OpVariable %_ptr_Function_v2int Function %25
%21 = OpLoad %7 %arg_0
%20 = OpImageQuerySizeLod %v3int %21 %int_1
%17 = OpVectorShuffle %v3int %20 %20 0 1 1
%19 = OpImageQuerySizeLod %v3int %21 %int_1
%17 = OpVectorShuffle %v2int %19 %19 0 1
OpStore %res %17
OpReturn
OpFunctionEnd
@ -65,17 +65,17 @@
%vertex_main = OpFunction %void None %13
%31 = OpLabel
OpStore %tint_pointsize %float_1
%33 = OpFunctionCall %void %textureDimensions_91f42d
%33 = OpFunctionCall %void %textureDimensions_221f22
%34 = OpFunctionCall %void %tint_symbol_2 %12
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureDimensions_91f42d
%37 = OpFunctionCall %void %textureDimensions_221f22
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%39 = OpLabel
%40 = OpFunctionCall %void %textureDimensions_91f42d
%40 = OpFunctionCall %void %textureDimensions_221f22
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube_array<i32>;
fn textureDimensions_e22247() {
var res : vec3<i32> = textureDimensions(arg_0, 1);
fn textureDimensions_221f22() {
var res : vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_e22247();
textureDimensions_221f22();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_e22247();
textureDimensions_221f22();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_e22247();
textureDimensions_221f22();
}

View File

@ -1,80 +0,0 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_3e0403 "textureDimensions_3e0403"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
OpDecorate %tint_symbol_1 BuiltIn Position
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%int_0 = OpConstant %int 0
%_ptr_Function_v3int = OpTypePointer Function %v3int
%24 = OpConstantNull %v3int
%25 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_3e0403 = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %24
%20 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v3int %20 %int_0
%16 = OpVectorShuffle %v3int %19 %19 0 1 1
OpStore %res %16
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %25
%tint_symbol = OpFunctionParameter %v4float
%28 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %12
%30 = OpLabel
OpStore %tint_pointsize %float_1
%32 = OpFunctionCall %void %textureDimensions_3e0403
%33 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%35 = OpLabel
%36 = OpFunctionCall %void %textureDimensions_3e0403
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%38 = OpLabel
%39 = OpFunctionCall %void %textureDimensions_3e0403
OpReturn
OpFunctionEnd

View File

@ -1,80 +0,0 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_3e626d "textureDimensions_3e626d"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
OpDecorate %tint_symbol_1 BuiltIn Position
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 1 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%int_1 = OpConstant %int 1
%_ptr_Function_v3int = OpTypePointer Function %v3int
%24 = OpConstantNull %v3int
%25 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_3e626d = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %24
%20 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v3int %20 %int_1
%16 = OpVectorShuffle %v3int %19 %19 0 1 1
OpStore %res %16
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %25
%tint_symbol = OpFunctionParameter %v4float
%28 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %12
%30 = OpLabel
OpStore %tint_pointsize %float_1
%32 = OpFunctionCall %void %textureDimensions_3e626d
%33 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%35 = OpLabel
%36 = OpFunctionCall %void %textureDimensions_3e626d
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%38 = OpLabel
%39 = OpFunctionCall %void %textureDimensions_3e626d
OpReturn
OpFunctionEnd

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube_array<u32>;
// fn textureDimensions(texture: texture_cube_array<u32>) -> vec3<i32>
fn textureDimensions_183b3e() {
var res: vec3<i32> = textureDimensions(arg_0);
// fn textureDimensions(texture: texture_cube_array<u32>) -> vec2<i32>
fn textureDimensions_4152a6() {
var res: vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_183b3e();
textureDimensions_4152a6();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_183b3e();
textureDimensions_4152a6();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_183b3e();
textureDimensions_4152a6();
}

View File

@ -1,9 +1,9 @@
TextureCubeArray<uint4> arg_0 : register(t0, space1);
void textureDimensions_183b3e() {
void textureDimensions_4152a6() {
int3 tint_tmp;
arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_183b3e();
textureDimensions_4152a6();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_183b3e();
textureDimensions_4152a6();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_183b3e();
textureDimensions_4152a6();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_183b3e(texturecube_array<uint, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(), tint_symbol_2.get_height(), tint_symbol_2.get_height());
void textureDimensions_4152a6(texturecube_array<uint, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
}
vertex tint_symbol vertex_main(texturecube_array<uint, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_183b3e(tint_symbol_3);
textureDimensions_4152a6(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube_array<uint, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_183b3e(tint_symbol_4);
textureDimensions_4152a6(tint_symbol_4);
return;
}
kernel void compute_main(texturecube_array<uint, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_183b3e(tint_symbol_5);
textureDimensions_4152a6(tint_symbol_5);
return;
}

View File

@ -4,6 +4,7 @@
; Bound: 42
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
@ -14,7 +15,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_1ebd6a "textureDimensions_1ebd6a"
OpName %textureDimensions_4152a6 "textureDimensions_4152a6"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -30,7 +31,7 @@
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%uint = OpTypeInt 32 0
%7 = OpTypeImage %uint Cube 0 0 0 1 Unknown
%7 = OpTypeImage %uint Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -40,19 +41,19 @@
%void = OpTypeVoid
%13 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%int_0 = OpConstant %int 0
%_ptr_Function_v3int = OpTypePointer Function %v3int
%26 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%26 = OpConstantNull %v2int
%27 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_1ebd6a = OpFunction %void None %13
%textureDimensions_4152a6 = OpFunction %void None %13
%16 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %26
%res = OpVariable %_ptr_Function_v2int Function %26
%22 = OpLoad %7 %arg_0
%20 = OpImageQuerySizeLod %v2int %22 %int_0
%17 = OpVectorShuffle %v3int %20 %20 0 1 1
%20 = OpImageQuerySizeLod %v3int %22 %int_0
%17 = OpVectorShuffle %v2int %20 %20 0 1
OpStore %res %17
OpReturn
OpFunctionEnd
@ -65,17 +66,17 @@
%vertex_main = OpFunction %void None %13
%32 = OpLabel
OpStore %tint_pointsize %float_1
%34 = OpFunctionCall %void %textureDimensions_1ebd6a
%34 = OpFunctionCall %void %textureDimensions_4152a6
%35 = OpFunctionCall %void %tint_symbol_2 %12
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%37 = OpLabel
%38 = OpFunctionCall %void %textureDimensions_1ebd6a
%38 = OpFunctionCall %void %textureDimensions_4152a6
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%40 = OpLabel
%41 = OpFunctionCall %void %textureDimensions_1ebd6a
%41 = OpFunctionCall %void %textureDimensions_4152a6
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube_array<u32>;
fn textureDimensions_183b3e() {
var res : vec3<i32> = textureDimensions(arg_0);
fn textureDimensions_4152a6() {
var res : vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_183b3e();
textureDimensions_4152a6();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_183b3e();
textureDimensions_4152a6();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_183b3e();
textureDimensions_4152a6();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube_array<f32>;
// fn textureDimensions(texture: texture_cube_array<f32>, level: i32) -> vec3<i32>
fn textureDimensions_eda4e3() {
var res: vec3<i32> = textureDimensions(arg_0, 1);
// fn textureDimensions(texture: texture_cube_array<f32>, level: i32) -> vec2<i32>
fn textureDimensions_50a9ee() {
var res: vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
}

View File

@ -1,9 +1,9 @@
TextureCubeArray<float4> arg_0 : register(t0, space1);
void textureDimensions_eda4e3() {
void textureDimensions_50a9ee() {
int4 tint_tmp;
arg_0.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_3e0403(texturecube_array<float, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(), tint_symbol_2.get_height(), tint_symbol_2.get_height());
void textureDimensions_50a9ee(texturecube_array<float, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1));
}
vertex tint_symbol vertex_main(texturecube_array<float, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_3e0403(tint_symbol_3);
textureDimensions_50a9ee(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_3e0403(tint_symbol_4);
textureDimensions_50a9ee(tint_symbol_4);
return;
}
kernel void compute_main(texturecube_array<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_3e0403(tint_symbol_5);
textureDimensions_50a9ee(tint_symbol_5);
return;
}

View File

@ -4,6 +4,7 @@
; Bound: 41
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
@ -14,7 +15,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_75be9d "textureDimensions_75be9d"
OpName %textureDimensions_50a9ee "textureDimensions_50a9ee"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -29,7 +30,7 @@
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 0 0 0 1 Unknown
%7 = OpTypeImage %float Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -39,19 +40,19 @@
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%int_1 = OpConstant %int 1
%_ptr_Function_v3int = OpTypePointer Function %v3int
%25 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%25 = OpConstantNull %v2int
%26 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_75be9d = OpFunction %void None %12
%textureDimensions_50a9ee = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %25
%res = OpVariable %_ptr_Function_v2int Function %25
%21 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v2int %21 %int_1
%16 = OpVectorShuffle %v3int %19 %19 0 1 1
%19 = OpImageQuerySizeLod %v3int %21 %int_1
%16 = OpVectorShuffle %v2int %19 %19 0 1
OpStore %res %16
OpReturn
OpFunctionEnd
@ -64,17 +65,17 @@
%vertex_main = OpFunction %void None %12
%31 = OpLabel
OpStore %tint_pointsize %float_1
%33 = OpFunctionCall %void %textureDimensions_75be9d
%33 = OpFunctionCall %void %textureDimensions_50a9ee
%34 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%36 = OpLabel
%37 = OpFunctionCall %void %textureDimensions_75be9d
%37 = OpFunctionCall %void %textureDimensions_50a9ee
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%39 = OpLabel
%40 = OpFunctionCall %void %textureDimensions_75be9d
%40 = OpFunctionCall %void %textureDimensions_50a9ee
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube_array<f32>;
fn textureDimensions_eda4e3() {
var res : vec3<i32> = textureDimensions(arg_0, 1);
fn textureDimensions_50a9ee() {
var res : vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_eda4e3();
textureDimensions_50a9ee();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_depth_cube;
// fn textureDimensions(texture: texture_depth_cube) -> vec3<i32>
fn textureDimensions_76e722() {
var res: vec3<i32> = textureDimensions(arg_0);
// fn textureDimensions(texture: texture_depth_cube) -> vec2<i32>
fn textureDimensions_57e28f() {
var res: vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_76e722();
textureDimensions_57e28f();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_76e722();
textureDimensions_57e28f();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_76e722();
textureDimensions_57e28f();
}

View File

@ -1,9 +1,9 @@
TextureCube arg_0 : register(t0, space1);
void textureDimensions_76e722() {
void textureDimensions_57e28f() {
int2 tint_tmp;
arg_0.GetDimensions(tint_tmp.x, tint_tmp.y);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_76e722();
textureDimensions_57e28f();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_76e722();
textureDimensions_57e28f();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_76e722();
textureDimensions_57e28f();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_76e722(depthcube<float, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(), tint_symbol_2.get_height(), tint_symbol_2.get_height());
void textureDimensions_57e28f(depthcube<float, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
}
vertex tint_symbol vertex_main(depthcube<float, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_76e722(tint_symbol_3);
textureDimensions_57e28f(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_76e722(tint_symbol_4);
textureDimensions_57e28f(tint_symbol_4);
return;
}
kernel void compute_main(depthcube<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_76e722(tint_symbol_5);
textureDimensions_57e28f(tint_symbol_5);
return;
}

View File

@ -0,0 +1,78 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 39
; Schema: 0
OpCapability Shader
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_57e28f "textureDimensions_57e28f"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
OpDecorate %tint_symbol_1 BuiltIn Position
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 1 0 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%int_0 = OpConstant %int 0
%_ptr_Function_v2int = OpTypePointer Function %v2int
%23 = OpConstantNull %v2int
%24 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_57e28f = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v2int Function %23
%19 = OpLoad %7 %arg_0
%16 = OpImageQuerySizeLod %v2int %19 %int_0
OpStore %res %16
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %24
%tint_symbol = OpFunctionParameter %v4float
%27 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %12
%29 = OpLabel
OpStore %tint_pointsize %float_1
%31 = OpFunctionCall %void %textureDimensions_57e28f
%32 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%34 = OpLabel
%35 = OpFunctionCall %void %textureDimensions_57e28f
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%37 = OpLabel
%38 = OpFunctionCall %void %textureDimensions_57e28f
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_depth_cube;
fn textureDimensions_76e722() {
var res : vec3<i32> = textureDimensions(arg_0);
fn textureDimensions_57e28f() {
var res : vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_76e722();
textureDimensions_57e28f();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_76e722();
textureDimensions_57e28f();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_76e722();
textureDimensions_57e28f();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube<i32>;
// fn textureDimensions(texture: texture_cube<i32>, level: i32) -> vec3<i32>
fn textureDimensions_7bb707() {
var res: vec3<i32> = textureDimensions(arg_0, 1);
// fn textureDimensions(texture: texture_cube<i32>, level: i32) -> vec2<i32>
fn textureDimensions_686ef2() {
var res: vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_7bb707();
textureDimensions_686ef2();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_7bb707();
textureDimensions_686ef2();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_7bb707();
textureDimensions_686ef2();
}

View File

@ -1,9 +1,9 @@
TextureCube<int4> arg_0 : register(t0, space1);
void textureDimensions_7bb707() {
void textureDimensions_686ef2() {
int3 tint_tmp;
arg_0.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_7bb707();
textureDimensions_686ef2();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_7bb707();
textureDimensions_686ef2();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_7bb707();
textureDimensions_686ef2();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_cccc17(texturecube<int, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(), tint_symbol_2.get_height(), tint_symbol_2.get_height());
void textureDimensions_686ef2(texturecube<int, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1));
}
vertex tint_symbol vertex_main(texturecube<int, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_cccc17(tint_symbol_3);
textureDimensions_686ef2(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube<int, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_cccc17(tint_symbol_4);
textureDimensions_686ef2(tint_symbol_4);
return;
}
kernel void compute_main(texturecube<int, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_cccc17(tint_symbol_5);
textureDimensions_686ef2(tint_symbol_5);
return;
}

View File

@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 41
; Bound: 39
; Schema: 0
OpCapability Shader
OpCapability ImageQuery
@ -14,7 +14,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_7bb707 "textureDimensions_7bb707"
OpName %textureDimensions_686ef2 "textureDimensions_686ef2"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -39,42 +39,40 @@
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3int = OpTypeVector %int 3
%v2int = OpTypeVector %int 2
%int_1 = OpConstant %int 1
%_ptr_Function_v3int = OpTypePointer Function %v3int
%25 = OpConstantNull %v3int
%26 = OpTypeFunction %void %v4float
%_ptr_Function_v2int = OpTypePointer Function %v2int
%23 = OpConstantNull %v2int
%24 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_7bb707 = OpFunction %void None %13
%textureDimensions_686ef2 = OpFunction %void None %13
%16 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %25
%21 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v2int %21 %int_1
%17 = OpVectorShuffle %v3int %19 %19 0 1 1
%res = OpVariable %_ptr_Function_v2int Function %23
%19 = OpLoad %7 %arg_0
%17 = OpImageQuerySizeLod %v2int %19 %int_1
OpStore %res %17
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %26
%tint_symbol_2 = OpFunction %void None %24
%tint_symbol = OpFunctionParameter %v4float
%29 = OpLabel
%27 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%31 = OpLabel
%29 = OpLabel
OpStore %tint_pointsize %float_1
%33 = OpFunctionCall %void %textureDimensions_7bb707
%34 = OpFunctionCall %void %tint_symbol_2 %12
%31 = OpFunctionCall %void %textureDimensions_686ef2
%32 = OpFunctionCall %void %tint_symbol_2 %12
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureDimensions_7bb707
%34 = OpLabel
%35 = OpFunctionCall %void %textureDimensions_686ef2
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%39 = OpLabel
%40 = OpFunctionCall %void %textureDimensions_7bb707
%37 = OpLabel
%38 = OpFunctionCall %void %textureDimensions_686ef2
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube<i32>;
fn textureDimensions_7bb707() {
var res : vec3<i32> = textureDimensions(arg_0, 1);
fn textureDimensions_686ef2() {
var res : vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_7bb707();
textureDimensions_686ef2();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_7bb707();
textureDimensions_686ef2();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_7bb707();
textureDimensions_686ef2();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube<u32>;
// fn textureDimensions(texture: texture_cube<u32>, level: i32) -> vec3<i32>
fn textureDimensions_5ec4e1() {
var res: vec3<i32> = textureDimensions(arg_0, 1);
// fn textureDimensions(texture: texture_cube<u32>, level: i32) -> vec2<i32>
fn textureDimensions_88ad17() {
var res: vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
}

View File

@ -1,9 +1,9 @@
TextureCube<uint4> arg_0 : register(t0, space1);
void textureDimensions_5ec4e1() {
void textureDimensions_88ad17() {
int3 tint_tmp;
arg_0.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_1ebd6a(texturecube<uint, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(), tint_symbol_2.get_height(), tint_symbol_2.get_height());
void textureDimensions_88ad17(texturecube<uint, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1));
}
vertex tint_symbol vertex_main(texturecube<uint, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_1ebd6a(tint_symbol_3);
textureDimensions_88ad17(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube<uint, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_1ebd6a(tint_symbol_4);
textureDimensions_88ad17(tint_symbol_4);
return;
}
kernel void compute_main(texturecube<uint, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_1ebd6a(tint_symbol_5);
textureDimensions_88ad17(tint_symbol_5);
return;
}

View File

@ -4,7 +4,6 @@
; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
@ -15,7 +14,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_e22247 "textureDimensions_e22247"
OpName %textureDimensions_88ad17 "textureDimensions_88ad17"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -30,8 +29,8 @@
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%int = OpTypeInt 32 1
%7 = OpTypeImage %int Cube 0 1 0 1 Unknown
%uint = OpTypeInt 32 0
%7 = OpTypeImage %uint Cube 0 0 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -40,18 +39,18 @@
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3int = OpTypeVector %int 3
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%int_1 = OpConstant %int 1
%_ptr_Function_v3int = OpTypePointer Function %v3int
%24 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%24 = OpConstantNull %v2int
%25 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_e22247 = OpFunction %void None %13
%textureDimensions_88ad17 = OpFunction %void None %13
%16 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %24
%res = OpVariable %_ptr_Function_v2int Function %24
%20 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v3int %20 %int_1
%17 = OpVectorShuffle %v3int %19 %19 0 1 1
%17 = OpImageQuerySizeLod %v2int %20 %int_1
OpStore %res %17
OpReturn
OpFunctionEnd
@ -64,17 +63,17 @@
%vertex_main = OpFunction %void None %13
%30 = OpLabel
OpStore %tint_pointsize %float_1
%32 = OpFunctionCall %void %textureDimensions_e22247
%32 = OpFunctionCall %void %textureDimensions_88ad17
%33 = OpFunctionCall %void %tint_symbol_2 %12
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%35 = OpLabel
%36 = OpFunctionCall %void %textureDimensions_e22247
%36 = OpFunctionCall %void %textureDimensions_88ad17
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%38 = OpLabel
%39 = OpFunctionCall %void %textureDimensions_e22247
%39 = OpFunctionCall %void %textureDimensions_88ad17
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube<u32>;
fn textureDimensions_5ec4e1() {
var res : vec3<i32> = textureDimensions(arg_0, 1);
fn textureDimensions_88ad17() {
var res : vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_5ec4e1();
textureDimensions_88ad17();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube_array<f32>;
// fn textureDimensions(texture: texture_cube_array<f32>) -> vec3<i32>
fn textureDimensions_3e0403() {
var res: vec3<i32> = textureDimensions(arg_0);
// fn textureDimensions(texture: texture_cube_array<f32>) -> vec2<i32>
fn textureDimensions_8f20bf() {
var res: vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_3e0403();
textureDimensions_8f20bf();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_3e0403();
textureDimensions_8f20bf();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_3e0403();
textureDimensions_8f20bf();
}

View File

@ -1,9 +1,9 @@
TextureCubeArray<float4> arg_0 : register(t0, space1);
void textureDimensions_3e0403() {
void textureDimensions_8f20bf() {
int3 tint_tmp;
arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_3e0403();
textureDimensions_8f20bf();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_3e0403();
textureDimensions_8f20bf();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_3e0403();
textureDimensions_8f20bf();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_eda4e3(texturecube_array<float, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1), tint_symbol_2.get_height(1));
void textureDimensions_8f20bf(texturecube_array<float, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
}
vertex tint_symbol vertex_main(texturecube_array<float, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_eda4e3(tint_symbol_3);
textureDimensions_8f20bf(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_eda4e3(tint_symbol_4);
textureDimensions_8f20bf(tint_symbol_4);
return;
}
kernel void compute_main(texturecube_array<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_eda4e3(tint_symbol_5);
textureDimensions_8f20bf(tint_symbol_5);
return;
}

View File

@ -4,6 +4,7 @@
; Bound: 41
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
@ -14,7 +15,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_f507c9 "textureDimensions_f507c9"
OpName %textureDimensions_8f20bf "textureDimensions_8f20bf"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -29,7 +30,7 @@
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 0 0 0 1 Unknown
%7 = OpTypeImage %float Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -39,19 +40,19 @@
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%int_0 = OpConstant %int 0
%_ptr_Function_v3int = OpTypePointer Function %v3int
%25 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%25 = OpConstantNull %v2int
%26 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_f507c9 = OpFunction %void None %12
%textureDimensions_8f20bf = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %25
%res = OpVariable %_ptr_Function_v2int Function %25
%21 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v2int %21 %int_0
%16 = OpVectorShuffle %v3int %19 %19 0 1 1
%19 = OpImageQuerySizeLod %v3int %21 %int_0
%16 = OpVectorShuffle %v2int %19 %19 0 1
OpStore %res %16
OpReturn
OpFunctionEnd
@ -64,17 +65,17 @@
%vertex_main = OpFunction %void None %12
%31 = OpLabel
OpStore %tint_pointsize %float_1
%33 = OpFunctionCall %void %textureDimensions_f507c9
%33 = OpFunctionCall %void %textureDimensions_8f20bf
%34 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%36 = OpLabel
%37 = OpFunctionCall %void %textureDimensions_f507c9
%37 = OpFunctionCall %void %textureDimensions_8f20bf
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%39 = OpLabel
%40 = OpFunctionCall %void %textureDimensions_f507c9
%40 = OpFunctionCall %void %textureDimensions_8f20bf
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube_array<f32>;
fn textureDimensions_3e0403() {
var res : vec3<i32> = textureDimensions(arg_0);
fn textureDimensions_8f20bf() {
var res : vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_3e0403();
textureDimensions_8f20bf();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_3e0403();
textureDimensions_8f20bf();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_3e0403();
textureDimensions_8f20bf();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_depth_cube_array;
// fn textureDimensions(texture: texture_depth_cube_array) -> vec3<i32>
fn textureDimensions_bdf2ee() {
var res: vec3<i32> = textureDimensions(arg_0);
// fn textureDimensions(texture: texture_depth_cube_array) -> vec2<i32>
fn textureDimensions_90340b() {
var res: vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_bdf2ee();
textureDimensions_90340b();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_bdf2ee();
textureDimensions_90340b();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_bdf2ee();
textureDimensions_90340b();
}

View File

@ -1,9 +1,9 @@
TextureCubeArray arg_0 : register(t0, space1);
void textureDimensions_bdf2ee() {
void textureDimensions_90340b() {
int3 tint_tmp;
arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_bdf2ee();
textureDimensions_90340b();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_bdf2ee();
textureDimensions_90340b();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_bdf2ee();
textureDimensions_90340b();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_bdf2ee(depthcube_array<float, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(), tint_symbol_2.get_height(), tint_symbol_2.get_height());
void textureDimensions_90340b(depthcube_array<float, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
}
vertex tint_symbol vertex_main(depthcube_array<float, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_bdf2ee(tint_symbol_3);
textureDimensions_90340b(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_bdf2ee(tint_symbol_4);
textureDimensions_90340b(tint_symbol_4);
return;
}
kernel void compute_main(depthcube_array<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_bdf2ee(tint_symbol_5);
textureDimensions_90340b(tint_symbol_5);
return;
}

View File

@ -4,6 +4,7 @@
; Bound: 41
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
@ -14,7 +15,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_76e722 "textureDimensions_76e722"
OpName %textureDimensions_90340b "textureDimensions_90340b"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -29,7 +30,7 @@
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 1 0 0 1 Unknown
%7 = OpTypeImage %float Cube 1 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -39,19 +40,19 @@
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%int_0 = OpConstant %int 0
%_ptr_Function_v3int = OpTypePointer Function %v3int
%25 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%25 = OpConstantNull %v2int
%26 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_76e722 = OpFunction %void None %12
%textureDimensions_90340b = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %25
%res = OpVariable %_ptr_Function_v2int Function %25
%21 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v2int %21 %int_0
%16 = OpVectorShuffle %v3int %19 %19 0 1 1
%19 = OpImageQuerySizeLod %v3int %21 %int_0
%16 = OpVectorShuffle %v2int %19 %19 0 1
OpStore %res %16
OpReturn
OpFunctionEnd
@ -64,17 +65,17 @@
%vertex_main = OpFunction %void None %12
%31 = OpLabel
OpStore %tint_pointsize %float_1
%33 = OpFunctionCall %void %textureDimensions_76e722
%33 = OpFunctionCall %void %textureDimensions_90340b
%34 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%36 = OpLabel
%37 = OpFunctionCall %void %textureDimensions_76e722
%37 = OpFunctionCall %void %textureDimensions_90340b
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%39 = OpLabel
%40 = OpFunctionCall %void %textureDimensions_76e722
%40 = OpFunctionCall %void %textureDimensions_90340b
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_depth_cube_array;
fn textureDimensions_bdf2ee() {
var res : vec3<i32> = textureDimensions(arg_0);
fn textureDimensions_90340b() {
var res : vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_bdf2ee();
textureDimensions_90340b();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_bdf2ee();
textureDimensions_90340b();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_bdf2ee();
textureDimensions_90340b();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_depth_cube;
// fn textureDimensions(texture: texture_depth_cube, level: i32) -> vec3<i32>
fn textureDimensions_a6ca1c() {
var res: vec3<i32> = textureDimensions(arg_0, 1);
// fn textureDimensions(texture: texture_depth_cube, level: i32) -> vec2<i32>
fn textureDimensions_9393b0() {
var res: vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
}

View File

@ -1,9 +1,9 @@
TextureCube arg_0 : register(t0, space1);
void textureDimensions_a6ca1c() {
void textureDimensions_9393b0() {
int3 tint_tmp;
arg_0.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_a6ca1c(depthcube<float, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1), tint_symbol_2.get_height(1));
void textureDimensions_9393b0(depthcube<float, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1));
}
vertex tint_symbol vertex_main(depthcube<float, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_a6ca1c(tint_symbol_3);
textureDimensions_9393b0(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_a6ca1c(tint_symbol_4);
textureDimensions_9393b0(tint_symbol_4);
return;
}
kernel void compute_main(depthcube<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_a6ca1c(tint_symbol_5);
textureDimensions_9393b0(tint_symbol_5);
return;
}

View File

@ -0,0 +1,78 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 39
; Schema: 0
OpCapability Shader
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_9393b0 "textureDimensions_9393b0"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
OpDecorate %tint_symbol_1 BuiltIn Position
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 1 0 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%int_1 = OpConstant %int 1
%_ptr_Function_v2int = OpTypePointer Function %v2int
%23 = OpConstantNull %v2int
%24 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_9393b0 = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v2int Function %23
%19 = OpLoad %7 %arg_0
%16 = OpImageQuerySizeLod %v2int %19 %int_1
OpStore %res %16
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %24
%tint_symbol = OpFunctionParameter %v4float
%27 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %12
%29 = OpLabel
OpStore %tint_pointsize %float_1
%31 = OpFunctionCall %void %textureDimensions_9393b0
%32 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%34 = OpLabel
%35 = OpFunctionCall %void %textureDimensions_9393b0
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%37 = OpLabel
%38 = OpFunctionCall %void %textureDimensions_9393b0
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_depth_cube;
fn textureDimensions_a6ca1c() {
var res : vec3<i32> = textureDimensions(arg_0, 1);
fn textureDimensions_9393b0() {
var res : vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_a6ca1c();
textureDimensions_9393b0();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube<i32>;
// fn textureDimensions(texture: texture_cube<i32>) -> vec3<i32>
fn textureDimensions_cccc17() {
var res: vec3<i32> = textureDimensions(arg_0);
// fn textureDimensions(texture: texture_cube<i32>) -> vec2<i32>
fn textureDimensions_962dcd() {
var res: vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_cccc17();
textureDimensions_962dcd();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_cccc17();
textureDimensions_962dcd();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_cccc17();
textureDimensions_962dcd();
}

View File

@ -1,9 +1,9 @@
TextureCube<int4> arg_0 : register(t0, space1);
void textureDimensions_cccc17() {
void textureDimensions_962dcd() {
int2 tint_tmp;
arg_0.GetDimensions(tint_tmp.x, tint_tmp.y);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_cccc17();
textureDimensions_962dcd();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_cccc17();
textureDimensions_962dcd();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_cccc17();
textureDimensions_962dcd();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_7bb707(texturecube<int, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1), tint_symbol_2.get_height(1));
void textureDimensions_962dcd(texturecube<int, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
}
vertex tint_symbol vertex_main(texturecube<int, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_7bb707(tint_symbol_3);
textureDimensions_962dcd(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube<int, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_7bb707(tint_symbol_4);
textureDimensions_962dcd(tint_symbol_4);
return;
}
kernel void compute_main(texturecube<int, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_7bb707(tint_symbol_5);
textureDimensions_962dcd(tint_symbol_5);
return;
}

View File

@ -1,7 +1,7 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 41
; Bound: 39
; Schema: 0
OpCapability Shader
OpCapability ImageQuery
@ -14,7 +14,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_cccc17 "textureDimensions_cccc17"
OpName %textureDimensions_962dcd "textureDimensions_962dcd"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -39,42 +39,40 @@
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3int = OpTypeVector %int 3
%v2int = OpTypeVector %int 2
%int_0 = OpConstant %int 0
%_ptr_Function_v3int = OpTypePointer Function %v3int
%25 = OpConstantNull %v3int
%26 = OpTypeFunction %void %v4float
%_ptr_Function_v2int = OpTypePointer Function %v2int
%23 = OpConstantNull %v2int
%24 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_cccc17 = OpFunction %void None %13
%textureDimensions_962dcd = OpFunction %void None %13
%16 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %25
%21 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v2int %21 %int_0
%17 = OpVectorShuffle %v3int %19 %19 0 1 1
%res = OpVariable %_ptr_Function_v2int Function %23
%19 = OpLoad %7 %arg_0
%17 = OpImageQuerySizeLod %v2int %19 %int_0
OpStore %res %17
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %26
%tint_symbol_2 = OpFunction %void None %24
%tint_symbol = OpFunctionParameter %v4float
%29 = OpLabel
%27 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%31 = OpLabel
%29 = OpLabel
OpStore %tint_pointsize %float_1
%33 = OpFunctionCall %void %textureDimensions_cccc17
%34 = OpFunctionCall %void %tint_symbol_2 %12
%31 = OpFunctionCall %void %textureDimensions_962dcd
%32 = OpFunctionCall %void %tint_symbol_2 %12
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureDimensions_cccc17
%34 = OpLabel
%35 = OpFunctionCall %void %textureDimensions_962dcd
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%39 = OpLabel
%40 = OpFunctionCall %void %textureDimensions_cccc17
%37 = OpLabel
%38 = OpFunctionCall %void %textureDimensions_962dcd
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube<i32>;
fn textureDimensions_cccc17() {
var res : vec3<i32> = textureDimensions(arg_0);
fn textureDimensions_962dcd() {
var res : vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_cccc17();
textureDimensions_962dcd();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_cccc17();
textureDimensions_962dcd();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_cccc17();
textureDimensions_962dcd();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_depth_cube_array;
// fn textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec3<i32>
fn textureDimensions_3e626d() {
var res: vec3<i32> = textureDimensions(arg_0, 1);
// fn textureDimensions(texture: texture_depth_cube_array, level: i32) -> vec2<i32>
fn textureDimensions_a01845() {
var res: vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_3e626d();
textureDimensions_a01845();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_3e626d();
textureDimensions_a01845();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_3e626d();
textureDimensions_a01845();
}

View File

@ -1,9 +1,9 @@
TextureCubeArray arg_0 : register(t0, space1);
void textureDimensions_3e626d() {
void textureDimensions_a01845() {
int4 tint_tmp;
arg_0.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_3e626d();
textureDimensions_a01845();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_3e626d();
textureDimensions_a01845();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_3e626d();
textureDimensions_a01845();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_3e626d(depthcube_array<float, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1), tint_symbol_2.get_height(1));
void textureDimensions_a01845(depthcube_array<float, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1));
}
vertex tint_symbol vertex_main(depthcube_array<float, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_3e626d(tint_symbol_3);
textureDimensions_a01845(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_3e626d(tint_symbol_4);
textureDimensions_a01845(tint_symbol_4);
return;
}
kernel void compute_main(depthcube_array<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_3e626d(tint_symbol_5);
textureDimensions_a01845(tint_symbol_5);
return;
}

View File

@ -4,6 +4,7 @@
; Bound: 41
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
@ -14,7 +15,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_a6ca1c "textureDimensions_a6ca1c"
OpName %textureDimensions_a01845 "textureDimensions_a01845"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -29,7 +30,7 @@
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 1 0 0 1 Unknown
%7 = OpTypeImage %float Cube 1 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -39,19 +40,19 @@
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%int_1 = OpConstant %int 1
%_ptr_Function_v3int = OpTypePointer Function %v3int
%25 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%25 = OpConstantNull %v2int
%26 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_a6ca1c = OpFunction %void None %12
%textureDimensions_a01845 = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %25
%res = OpVariable %_ptr_Function_v2int Function %25
%21 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v2int %21 %int_1
%16 = OpVectorShuffle %v3int %19 %19 0 1 1
%19 = OpImageQuerySizeLod %v3int %21 %int_1
%16 = OpVectorShuffle %v2int %19 %19 0 1
OpStore %res %16
OpReturn
OpFunctionEnd
@ -64,17 +65,17 @@
%vertex_main = OpFunction %void None %12
%31 = OpLabel
OpStore %tint_pointsize %float_1
%33 = OpFunctionCall %void %textureDimensions_a6ca1c
%33 = OpFunctionCall %void %textureDimensions_a01845
%34 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%36 = OpLabel
%37 = OpFunctionCall %void %textureDimensions_a6ca1c
%37 = OpFunctionCall %void %textureDimensions_a01845
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%39 = OpLabel
%40 = OpFunctionCall %void %textureDimensions_a6ca1c
%40 = OpFunctionCall %void %textureDimensions_a01845
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_depth_cube_array;
fn textureDimensions_3e626d() {
var res : vec3<i32> = textureDimensions(arg_0, 1);
fn textureDimensions_a01845() {
var res : vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_3e626d();
textureDimensions_a01845();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_3e626d();
textureDimensions_a01845();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_3e626d();
textureDimensions_a01845();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube<f32>;
// fn textureDimensions(texture: texture_cube<f32>, level: i32) -> vec3<i32>
fn textureDimensions_75be9d() {
var res: vec3<i32> = textureDimensions(arg_0, 1);
// fn textureDimensions(texture: texture_cube<f32>, level: i32) -> vec2<i32>
fn textureDimensions_a9c9c1() {
var res: vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
}

View File

@ -1,9 +1,9 @@
TextureCube<float4> arg_0 : register(t0, space1);
void textureDimensions_75be9d() {
void textureDimensions_a9c9c1() {
int3 tint_tmp;
arg_0.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_f507c9(texturecube<float, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(), tint_symbol_2.get_height(), tint_symbol_2.get_height());
void textureDimensions_a9c9c1(texturecube<float, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1));
}
vertex tint_symbol vertex_main(texturecube<float, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_f507c9(tint_symbol_3);
textureDimensions_a9c9c1(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_f507c9(tint_symbol_4);
textureDimensions_a9c9c1(tint_symbol_4);
return;
}
kernel void compute_main(texturecube<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_f507c9(tint_symbol_5);
textureDimensions_a9c9c1(tint_symbol_5);
return;
}

View File

@ -0,0 +1,78 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 39
; Schema: 0
OpCapability Shader
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_a9c9c1 "textureDimensions_a9c9c1"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
OpDecorate %tint_symbol_1 BuiltIn Position
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 0 0 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%int_1 = OpConstant %int 1
%_ptr_Function_v2int = OpTypePointer Function %v2int
%23 = OpConstantNull %v2int
%24 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_a9c9c1 = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v2int Function %23
%19 = OpLoad %7 %arg_0
%16 = OpImageQuerySizeLod %v2int %19 %int_1
OpStore %res %16
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %24
%tint_symbol = OpFunctionParameter %v4float
%27 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %12
%29 = OpLabel
OpStore %tint_pointsize %float_1
%31 = OpFunctionCall %void %textureDimensions_a9c9c1
%32 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%34 = OpLabel
%35 = OpFunctionCall %void %textureDimensions_a9c9c1
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%37 = OpLabel
%38 = OpFunctionCall %void %textureDimensions_a9c9c1
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube<f32>;
fn textureDimensions_75be9d() {
var res : vec3<i32> = textureDimensions(arg_0, 1);
fn textureDimensions_a9c9c1() {
var res : vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_75be9d();
textureDimensions_a9c9c1();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube<u32>;
// fn textureDimensions(texture: texture_cube<u32>) -> vec3<i32>
fn textureDimensions_1ebd6a() {
var res: vec3<i32> = textureDimensions(arg_0);
// fn textureDimensions(texture: texture_cube<u32>) -> vec2<i32>
fn textureDimensions_b3c954() {
var res: vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
}

View File

@ -1,9 +1,9 @@
TextureCube<uint4> arg_0 : register(t0, space1);
void textureDimensions_1ebd6a() {
void textureDimensions_b3c954() {
int2 tint_tmp;
arg_0.GetDimensions(tint_tmp.x, tint_tmp.y);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_5ec4e1(texturecube<uint, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1), tint_symbol_2.get_height(1));
void textureDimensions_b3c954(texturecube<uint, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
}
vertex tint_symbol vertex_main(texturecube<uint, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_5ec4e1(tint_symbol_3);
textureDimensions_b3c954(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube<uint, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_5ec4e1(tint_symbol_4);
textureDimensions_b3c954(tint_symbol_4);
return;
}
kernel void compute_main(texturecube<uint, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_5ec4e1(tint_symbol_5);
textureDimensions_b3c954(tint_symbol_5);
return;
}

View File

@ -4,7 +4,6 @@
; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
@ -15,7 +14,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_f70326 "textureDimensions_f70326"
OpName %textureDimensions_b3c954 "textureDimensions_b3c954"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -30,8 +29,8 @@
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%int = OpTypeInt 32 1
%7 = OpTypeImage %int Cube 0 1 0 1 Unknown
%uint = OpTypeInt 32 0
%7 = OpTypeImage %uint Cube 0 0 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -40,18 +39,18 @@
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3int = OpTypeVector %int 3
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%int_0 = OpConstant %int 0
%_ptr_Function_v3int = OpTypePointer Function %v3int
%24 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%24 = OpConstantNull %v2int
%25 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_f70326 = OpFunction %void None %13
%textureDimensions_b3c954 = OpFunction %void None %13
%16 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %24
%res = OpVariable %_ptr_Function_v2int Function %24
%20 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v3int %20 %int_0
%17 = OpVectorShuffle %v3int %19 %19 0 1 1
%17 = OpImageQuerySizeLod %v2int %20 %int_0
OpStore %res %17
OpReturn
OpFunctionEnd
@ -64,17 +63,17 @@
%vertex_main = OpFunction %void None %13
%30 = OpLabel
OpStore %tint_pointsize %float_1
%32 = OpFunctionCall %void %textureDimensions_f70326
%32 = OpFunctionCall %void %textureDimensions_b3c954
%33 = OpFunctionCall %void %tint_symbol_2 %12
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%35 = OpLabel
%36 = OpFunctionCall %void %textureDimensions_f70326
%36 = OpFunctionCall %void %textureDimensions_b3c954
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%38 = OpLabel
%39 = OpFunctionCall %void %textureDimensions_f70326
%39 = OpFunctionCall %void %textureDimensions_b3c954
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube<u32>;
fn textureDimensions_1ebd6a() {
var res : vec3<i32> = textureDimensions(arg_0);
fn textureDimensions_b3c954() {
var res : vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_1ebd6a();
textureDimensions_b3c954();
}

View File

@ -1,80 +0,0 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_bdf2ee "textureDimensions_bdf2ee"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
OpDecorate %tint_symbol_1 BuiltIn Position
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 1 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%int_0 = OpConstant %int 0
%_ptr_Function_v3int = OpTypePointer Function %v3int
%24 = OpConstantNull %v3int
%25 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_bdf2ee = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %24
%20 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v3int %20 %int_0
%16 = OpVectorShuffle %v3int %19 %19 0 1 1
OpStore %res %16
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %25
%tint_symbol = OpFunctionParameter %v4float
%28 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %12
%30 = OpLabel
OpStore %tint_pointsize %float_1
%32 = OpFunctionCall %void %textureDimensions_bdf2ee
%33 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%35 = OpLabel
%36 = OpFunctionCall %void %textureDimensions_bdf2ee
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%38 = OpLabel
%39 = OpFunctionCall %void %textureDimensions_bdf2ee
OpReturn
OpFunctionEnd

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube<f32>;
// fn textureDimensions(texture: texture_cube<f32>) -> vec3<i32>
fn textureDimensions_f507c9() {
var res: vec3<i32> = textureDimensions(arg_0);
// fn textureDimensions(texture: texture_cube<f32>) -> vec2<i32>
fn textureDimensions_d125bc() {
var res: vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_f507c9();
textureDimensions_d125bc();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_f507c9();
textureDimensions_d125bc();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_f507c9();
textureDimensions_d125bc();
}

View File

@ -1,9 +1,9 @@
TextureCube<float4> arg_0 : register(t0, space1);
void textureDimensions_f507c9() {
void textureDimensions_d125bc() {
int2 tint_tmp;
arg_0.GetDimensions(tint_tmp.x, tint_tmp.y);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_f507c9();
textureDimensions_d125bc();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_f507c9();
textureDimensions_d125bc();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_f507c9();
textureDimensions_d125bc();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_75be9d(texturecube<float, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1), tint_symbol_2.get_height(1));
void textureDimensions_d125bc(texturecube<float, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
}
vertex tint_symbol vertex_main(texturecube<float, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_75be9d(tint_symbol_3);
textureDimensions_d125bc(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_75be9d(tint_symbol_4);
textureDimensions_d125bc(tint_symbol_4);
return;
}
kernel void compute_main(texturecube<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_75be9d(tint_symbol_5);
textureDimensions_d125bc(tint_symbol_5);
return;
}

View File

@ -0,0 +1,78 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 39
; Schema: 0
OpCapability Shader
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_d125bc "textureDimensions_d125bc"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
OpDecorate %tint_symbol_1 BuiltIn Position
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 0 0 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%int_0 = OpConstant %int 0
%_ptr_Function_v2int = OpTypePointer Function %v2int
%23 = OpConstantNull %v2int
%24 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_d125bc = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v2int Function %23
%19 = OpLoad %7 %arg_0
%16 = OpImageQuerySizeLod %v2int %19 %int_0
OpStore %res %16
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %24
%tint_symbol = OpFunctionParameter %v4float
%27 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %12
%29 = OpLabel
OpStore %tint_pointsize %float_1
%31 = OpFunctionCall %void %textureDimensions_d125bc
%32 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%34 = OpLabel
%35 = OpFunctionCall %void %textureDimensions_d125bc
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%37 = OpLabel
%38 = OpFunctionCall %void %textureDimensions_d125bc
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube<f32>;
fn textureDimensions_f507c9() {
var res : vec3<i32> = textureDimensions(arg_0);
fn textureDimensions_d125bc() {
var res : vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_f507c9();
textureDimensions_d125bc();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_f507c9();
textureDimensions_d125bc();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_f507c9();
textureDimensions_d125bc();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube_array<u32>;
// fn textureDimensions(texture: texture_cube_array<u32>, level: i32) -> vec3<i32>
fn textureDimensions_91f42d() {
var res: vec3<i32> = textureDimensions(arg_0, 1);
// fn textureDimensions(texture: texture_cube_array<u32>, level: i32) -> vec2<i32>
fn textureDimensions_d83c45() {
var res: vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_91f42d();
textureDimensions_d83c45();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_91f42d();
textureDimensions_d83c45();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_91f42d();
textureDimensions_d83c45();
}

View File

@ -1,9 +1,9 @@
TextureCubeArray<uint4> arg_0 : register(t0, space1);
void textureDimensions_91f42d() {
void textureDimensions_d83c45() {
int4 tint_tmp;
arg_0.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_91f42d();
textureDimensions_d83c45();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_91f42d();
textureDimensions_d83c45();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_91f42d();
textureDimensions_d83c45();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_91f42d(texturecube_array<uint, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1), tint_symbol_2.get_height(1));
void textureDimensions_d83c45(texturecube_array<uint, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1));
}
vertex tint_symbol vertex_main(texturecube_array<uint, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_91f42d(tint_symbol_3);
textureDimensions_d83c45(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube_array<uint, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_91f42d(tint_symbol_4);
textureDimensions_d83c45(tint_symbol_4);
return;
}
kernel void compute_main(texturecube_array<uint, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_91f42d(tint_symbol_5);
textureDimensions_d83c45(tint_symbol_5);
return;
}

View File

@ -4,6 +4,7 @@
; Bound: 42
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
@ -14,7 +15,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_5ec4e1 "textureDimensions_5ec4e1"
OpName %textureDimensions_d83c45 "textureDimensions_d83c45"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -30,7 +31,7 @@
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%uint = OpTypeInt 32 0
%7 = OpTypeImage %uint Cube 0 0 0 1 Unknown
%7 = OpTypeImage %uint Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -40,19 +41,19 @@
%void = OpTypeVoid
%13 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%int_1 = OpConstant %int 1
%_ptr_Function_v3int = OpTypePointer Function %v3int
%26 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%26 = OpConstantNull %v2int
%27 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_5ec4e1 = OpFunction %void None %13
%textureDimensions_d83c45 = OpFunction %void None %13
%16 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %26
%res = OpVariable %_ptr_Function_v2int Function %26
%22 = OpLoad %7 %arg_0
%20 = OpImageQuerySizeLod %v2int %22 %int_1
%17 = OpVectorShuffle %v3int %20 %20 0 1 1
%20 = OpImageQuerySizeLod %v3int %22 %int_1
%17 = OpVectorShuffle %v2int %20 %20 0 1
OpStore %res %17
OpReturn
OpFunctionEnd
@ -65,17 +66,17 @@
%vertex_main = OpFunction %void None %13
%32 = OpLabel
OpStore %tint_pointsize %float_1
%34 = OpFunctionCall %void %textureDimensions_5ec4e1
%34 = OpFunctionCall %void %textureDimensions_d83c45
%35 = OpFunctionCall %void %tint_symbol_2 %12
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%37 = OpLabel
%38 = OpFunctionCall %void %textureDimensions_5ec4e1
%38 = OpFunctionCall %void %textureDimensions_d83c45
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%40 = OpLabel
%41 = OpFunctionCall %void %textureDimensions_5ec4e1
%41 = OpFunctionCall %void %textureDimensions_d83c45
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube_array<u32>;
fn textureDimensions_91f42d() {
var res : vec3<i32> = textureDimensions(arg_0, 1);
fn textureDimensions_d83c45() {
var res : vec2<i32> = textureDimensions(arg_0, 1);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_91f42d();
textureDimensions_d83c45();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_91f42d();
textureDimensions_d83c45();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_91f42d();
textureDimensions_d83c45();
}

View File

@ -24,23 +24,23 @@
[[group(1), binding(0)]] var arg_0: texture_cube_array<i32>;
// fn textureDimensions(texture: texture_cube_array<i32>) -> vec3<i32>
fn textureDimensions_f70326() {
var res: vec3<i32> = textureDimensions(arg_0);
// fn textureDimensions(texture: texture_cube_array<i32>) -> vec2<i32>
fn textureDimensions_e927be() {
var res: vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_f70326();
textureDimensions_e927be();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_f70326();
textureDimensions_e927be();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_f70326();
textureDimensions_e927be();
}

View File

@ -1,9 +1,9 @@
TextureCubeArray<int4> arg_0 : register(t0, space1);
void textureDimensions_f70326() {
void textureDimensions_e927be() {
int3 tint_tmp;
arg_0.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
int3 res = tint_tmp.xyy;
int2 res = tint_tmp.xy;
}
struct tint_symbol {
@ -11,18 +11,18 @@ struct tint_symbol {
};
tint_symbol vertex_main() {
textureDimensions_f70326();
textureDimensions_e927be();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
}
void fragment_main() {
textureDimensions_f70326();
textureDimensions_e927be();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureDimensions_f70326();
textureDimensions_e927be();
return;
}

View File

@ -5,23 +5,23 @@ struct tint_symbol {
float4 value [[position]];
};
void textureDimensions_e22247(texturecube_array<int, access::sample> tint_symbol_2) {
int3 res = int3(tint_symbol_2.get_width(1), tint_symbol_2.get_height(1), tint_symbol_2.get_height(1));
void textureDimensions_e927be(texturecube_array<int, access::sample> tint_symbol_2) {
int2 res = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
}
vertex tint_symbol vertex_main(texturecube_array<int, access::sample> tint_symbol_3 [[texture(0)]]) {
textureDimensions_e22247(tint_symbol_3);
textureDimensions_e927be(tint_symbol_3);
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
}
fragment void fragment_main(texturecube_array<int, access::sample> tint_symbol_4 [[texture(0)]]) {
textureDimensions_e22247(tint_symbol_4);
textureDimensions_e927be(tint_symbol_4);
return;
}
kernel void compute_main(texturecube_array<int, access::sample> tint_symbol_5 [[texture(0)]]) {
textureDimensions_e22247(tint_symbol_5);
textureDimensions_e927be(tint_symbol_5);
return;
}

View File

@ -15,7 +15,7 @@
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_183b3e "textureDimensions_183b3e"
OpName %textureDimensions_e927be "textureDimensions_e927be"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
@ -30,8 +30,8 @@
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%uint = OpTypeInt 32 0
%7 = OpTypeImage %uint Cube 0 1 0 1 Unknown
%int = OpTypeInt 32 1
%7 = OpTypeImage %int Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
@ -40,19 +40,19 @@
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
%void = OpTypeVoid
%13 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%v3int = OpTypeVector %int 3
%int_0 = OpConstant %int 0
%_ptr_Function_v3int = OpTypePointer Function %v3int
%25 = OpConstantNull %v3int
%_ptr_Function_v2int = OpTypePointer Function %v2int
%25 = OpConstantNull %v2int
%26 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_183b3e = OpFunction %void None %13
%textureDimensions_e927be = OpFunction %void None %13
%16 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %25
%res = OpVariable %_ptr_Function_v2int Function %25
%21 = OpLoad %7 %arg_0
%20 = OpImageQuerySizeLod %v3int %21 %int_0
%17 = OpVectorShuffle %v3int %20 %20 0 1 1
%19 = OpImageQuerySizeLod %v3int %21 %int_0
%17 = OpVectorShuffle %v2int %19 %19 0 1
OpStore %res %17
OpReturn
OpFunctionEnd
@ -65,17 +65,17 @@
%vertex_main = OpFunction %void None %13
%31 = OpLabel
OpStore %tint_pointsize %float_1
%33 = OpFunctionCall %void %textureDimensions_183b3e
%33 = OpFunctionCall %void %textureDimensions_e927be
%34 = OpFunctionCall %void %tint_symbol_2 %12
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureDimensions_183b3e
%37 = OpFunctionCall %void %textureDimensions_e927be
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%39 = OpLabel
%40 = OpFunctionCall %void %textureDimensions_183b3e
%40 = OpFunctionCall %void %textureDimensions_e927be
OpReturn
OpFunctionEnd

View File

@ -1,21 +1,21 @@
[[group(1), binding(0)]] var arg_0 : texture_cube_array<i32>;
fn textureDimensions_f70326() {
var res : vec3<i32> = textureDimensions(arg_0);
fn textureDimensions_e927be() {
var res : vec2<i32> = textureDimensions(arg_0);
}
[[stage(vertex)]]
fn vertex_main() -> [[builtin(position)]] vec4<f32> {
textureDimensions_f70326();
textureDimensions_e927be();
return vec4<f32>();
}
[[stage(fragment)]]
fn fragment_main() {
textureDimensions_f70326();
textureDimensions_e927be();
}
[[stage(compute)]]
fn compute_main() {
textureDimensions_f70326();
textureDimensions_e927be();
}

View File

@ -1,80 +0,0 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 40
; Schema: 0
OpCapability Shader
OpCapability SampledCubeArray
OpCapability ImageQuery
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %tint_pointsize "tint_pointsize"
OpName %arg_0 "arg_0"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %textureDimensions_eda4e3 "textureDimensions_eda4e3"
OpName %res "res"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %tint_pointsize BuiltIn PointSize
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
OpDecorate %tint_symbol_1 BuiltIn Position
%float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
%4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
%7 = OpTypeImage %float Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
%arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%11 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %11
%void = OpTypeVoid
%12 = OpTypeFunction %void
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%int_1 = OpConstant %int 1
%_ptr_Function_v3int = OpTypePointer Function %v3int
%24 = OpConstantNull %v3int
%25 = OpTypeFunction %void %v4float
%float_1 = OpConstant %float 1
%textureDimensions_eda4e3 = OpFunction %void None %12
%15 = OpLabel
%res = OpVariable %_ptr_Function_v3int Function %24
%20 = OpLoad %7 %arg_0
%19 = OpImageQuerySizeLod %v3int %20 %int_1
%16 = OpVectorShuffle %v3int %19 %19 0 1 1
OpStore %res %16
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %25
%tint_symbol = OpFunctionParameter %v4float
%28 = OpLabel
OpStore %tint_symbol_1 %tint_symbol
OpReturn
OpFunctionEnd
%vertex_main = OpFunction %void None %12
%30 = OpLabel
OpStore %tint_pointsize %float_1
%32 = OpFunctionCall %void %textureDimensions_eda4e3
%33 = OpFunctionCall %void %tint_symbol_2 %11
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %12
%35 = OpLabel
%36 = OpFunctionCall %void %textureDimensions_eda4e3
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %12
%38 = OpLabel
%39 = OpFunctionCall %void %textureDimensions_eda4e3
OpReturn
OpFunctionEnd